Custom Query (627 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


Ticket Created Resolution Component Reporter Owner Modified
#3748 9 days ago fixed lib/dl Chris Johns Chris Johns <chrisj@…> 35 hours ago
Summary

libdl uses a linear symbol search on object file symbols

Description

Symbol searching has two parts, searching the object file and searching the global symbol table. Currently the object file search is linear and the global table search uses a hash table.

A large incrementally linked object file can have a large local and global set of symbols and this can slow the loading process. This issue does not show up for small object files with a few symbols which is typically how our libraries are made.

Change the object file symbol search to a binary search (bsearch). A hash table for each object file would increase the in memory object file footprint by a significant amount and would harm the small object file use case that only have a few symbols. A binary search is a suitable compromise.

#3747 10 days ago fixed arch/arm Sebastian Huber Sebastian Huber 2 days ago
Summary

Address Cortex-M3 Errata 602117

Description

While testing on a NXP LPC1788 it found that this chip is affected by the Cortex-M3 Errata 602117. NXP didn't bother to document this in their errata sheet for the chip:

https://www.nxp.com/docs/en/errata/ES_LPC177X_8X.pdf

To avoid the issues, you have to compile everything with -mfix-cortex-m3-ldrd. This option is enabled by default, if you use -mcpu=cortex-m3.

I think we have to change our GCC multilibs to account for this errata. For example:

diff --git a/gcc/config/arm/t-rtems b/gcc/config/arm/t-rtems
index 026a5895662..e276b4f3e57 100644
--- a/gcc/config/arm/t-rtems
+++ b/gcc/config/arm/t-rtems
@@ -1,7 +1,7 @@
 # Custom RTEMS multilibs for ARM

-MULTILIB_OPTIONS  = mbig-endian mthumb march=armv6-m/march=armv7-a/march=armv7-r/march=armv7-m/mcpu=cortex-m7 mfpu=neon/mfpu=vfp/mfpu=vfpv3-d16/mfpu=fpv4-sp-d16/mfpu=fpv5-d16 mfloat-abi=hard
-MULTILIB_DIRNAMES = eb thumb armv6-m armv7-a armv7-r armv7-m cortex-m7 neon vfp vfpv3-d16 fpv4-sp-d16 fpv5-d16 hard
+MULTILIB_OPTIONS  = mbig-endian mthumb march=armv6-m/march=armv7-a/march=armv7-r/mcpu=cortex-m3/mcpu=cortex-m4/mcpu=cortex-m7 mfpu=neon/mfpu=vfp/mfpu=vfpv3-d16/mfpu=fpv4-sp-d16/mfpu=fpv5-d16 mfloat-abi=hard
+MULTILIB_DIRNAMES = eb thumb armv6-m armv7-a armv7-r cortex-m3 cortex-m4 cortex-m7 neon vfp vfpv3-d16 fpv4-sp-d16 fpv5-d16 hard

 # Enumeration of multilibs

@@ -16,7 +16,8 @@ MULTILIB_REQUIRED += mthumb/march=armv7-a/mfpu=neon/mfloat-abi=hard
 MULTILIB_REQUIRED += mthumb/march=armv7-a
 MULTILIB_REQUIRED += mthumb/march=armv7-r/mfpu=vfpv3-d16/mfloat-abi=hard
 MULTILIB_REQUIRED += mthumb/march=armv7-r
-MULTILIB_REQUIRED += mthumb/march=armv7-m/mfpu=fpv4-sp-d16/mfloat-abi=hard
+MULTILIB_REQUIRED += mthumb/mcpu=cortex-m3
+MULTILIB_REQUIRED += mthumb/mcpu=cortex-m4
+MULTILIB_REQUIRED += mthumb/mcpu=cortex-m4/mfpu=fpv4-sp-d16/mfloat-abi=hard
 MULTILIB_REQUIRED += mthumb/mcpu=cortex-m7/mfpu=fpv5-d16/mfloat-abi=hard
-MULTILIB_REQUIRED += mthumb/march=armv7-m
 MULTILIB_REQUIRED += mthumb
#3746 10 days ago fixed lib/dl Chris Johns Chris Johns <chrisj@…> 9 days ago
Summary

libdl test dl05.exe failing

Description

This test is failing because the second stage of the symbol loading does not check if a section referenced by a symbol has been loaded.

It is not clear yet if the lack of support in libdl for group sections is a factor.

#3743 2 weeks ago fixed tool/rsb Chris Johns Chris Johns 2 weeks ago
Summary

RSB os and arch config logic is broken

Description

The config file processing of conditionals:

  • %ifos
  • %ifnos
  • %ifarch

do not correctly process lists of arguments. The argument list is split in 2 with the first element correct handled and the remaining treated as a lump. The argument list needs to be split evenly.

#3742 3 weeks ago fixed test Chris Johns joel@… 2 weeks ago
Summary

T_config conflicting type qualifiers for 'config'

Description

Running the rtems-bsp-builder on FreeBSD is give an error in ttest01 for bsps:

  • arm/csb336
  • arm/csb337
  • arm/csb637
  • arm/kit637_v6
  • mips/csb350

The error being reported is:

error: testsuites/libtests/ttest01/init.c:146:23: error: conflicting type qualifiers for 'config'

The builder command line is:

/opt/work/chris/rtems/rt/rtems-tools.git/tester/rtems-bsp-builder \
 --rtems-tools=/opt/work/rtems/5 \
 --rtems=/opt/work/chris/rtems/kernel/rtems.git \
 --log=everything-tests \
 --profile=everything \
 --build=tests \
 --jobs=7/6

A BSP configure command line is:

/opt/work/chris/rtems/kernel/rtems.git/configure \
  --target=mips-rtems5 --enable-rtemsbsp=csb350 --prefix=/opt/rtems/5 \
  --enable-tests --disable-smp
#3741 4 weeks ago fixed lib/dl dufault Chris Johns 3 weeks ago
Summary

libdl loading ELF objects from libbsd NFS file system ends in a deadlock

Description

For ELF files the run-time loader calls this chain:

  • rtems_rtl_elf_file_load()
  • rtems_rtl_alloc_lock()
  • rtems_rtl_alloc_heap()
  • _RTEMS_Lock_allocator()

_RTEMS_Lock_allocator() locks all heap operations. RTL then calls read() and for NFS file systems the NFS threads try to use the heap, locking up the system.

#3736 6 weeks ago fixed admin Chris Johns Sebastian Huber <sebastian.huber@…> 2 weeks ago
Summary

PowerPC Beatnik BSP C++ exceptions broken

Description

Running cdtest.exe fails. I am wondering if there is an issue in the linkcmd scripts this BSP uses. The psim works.

The trace is:

config addr is 0xf1000cf8                                                
config data is 0xf1000cfc                                                
Welcome to RTEMS rtems-5.0.0 (PowerPC/Generic (classic FPU)/beatnik)     
CPU: MPC7457                                                             
Board Type: MVME5500-0161 (S/N E1712C9)                                  
Bus Clock Freq:   133333333 Hz                                           
CPU Clock Freq:  1000000000 Hz                                           
Memory:           536870912 bytes                                        
-----------------------------------------                                
Now BSP_mem_size = 0x1fe00000                                            
Configuration.work_space_size = a170                                     
Page table setup finished; will activate it NOW...                       
Going to start PCI buses scanning and initialization                     
Number of PCI buses found is : 3                                         
MSR 0x2003032                                                            
Exit from bspstart                                                       
Universe II PCI-VME bridge detected at 0x82000000, IRQ 76                
Universe Master Ports:                                                   
Port  VME-Addr   Size       PCI-Adrs   Mode:                             
0:    0x20000000 0x0e000000 0x90000000 A32, D64 [MBLT], Dat, Sup         
1:    0x00000000 0x00ff0000 0x9f000000 A24, D64 [MBLT], Dat, Sup         
2:    0x00000000 0x00010000 0x9fff0000 A16, D64, Dat, Sup                
7:    0x00000000 0x01000000 0x9e000000 CSR, D64, Dat, Sup                
Universe Slave Ports:                                                    
Port  VME-Addr   Size       PCI-Adrs   Mode:                             
0:    0x90000000 0x1fe00000 0x00000000 A32, Pgm, Dat, Sup, Usr, PWEN, PRE
N                                                                        
vmeUniverse IRQ manager: looking for registers on VME...                 
Trying to find CRG on VME...                                             
vmeUniverse IRQ manager - registers not found on VME; falling back to PCI
                                                                         
                                                                         
*** BEGIN OF TEST CONSTRUCTOR/DESTRUCTOR ***                             
*** TEST VERSION: 5.0.0.8a8b95aa1d6932ba9d2acd7a785100f7d0919205-modified
*** TEST STATE: EXPECTED-PASS                                            
*** TEST BUILD: RTEMS_NETWORKING RTEMS_POSIX_API                         
*** TEST TOOLS: 7.4.0 20181206 (RTEMS 5, RSB 9a3e12e5820918057633798c3fe2
a1f952fb4e56, Newlib 1d35a003f)                                          
GLOBAL: Hey I'm in base class constructor number 1 for 0x5c404.          
GLOBAL: Hey I'm in base class constructor number 2 for 0x5c410.          
GLOBAL: Hey I'm in derived class constructor number 3 for 0x5c410.       
LOCAL: Hey I'm in base class constructor number 4 for 0x6cbdc.           
LOCAL: Hey I'm in base class constructor number 5 for 0x6cbd0.           
LOCAL: Hey I'm in base class constructor number 6 for 0x6cbc4.           
LOCAL: Hey I'm in base class constructor number 7 for 0x6cbb8.           
LOCAL: Hey I'm in derived class constructor number 8 for 0x6cbb8.        
IO Stream not tested                                                     
LOCAL: Hey I'm in derived class destructor number 8 for 0x6cbb8.         
Derived class - Instantiation order 8                                    
LOCAL: Hey I'm in base class destructor number 7 for 0x6cbb8.            
Derived class - Instantiation order 8                                    
LOCAL: Hey I'm in base class destructor number 6 for 0x6cbc4.            
Derived class - Instantiation order 6                                    
LOCAL: Hey I'm in base class destructor number 5 for 0x6cbd0.            
Derived class - Instantiation order 5                                    
LOCAL: Hey I'm in base class destructor number 4 for 0x6cbdc.            
Derived class - Instantiation order 5                                    
*** TESTING C++ EXCEPTIONS ***                                           
                                                                         
fatal source: RTEMS_FATAL_SOURCE_EXIT                                    
bsp_fatal_extension(): RTEMS terminated
#3734 7 weeks ago fixed score Sebastian Huber Sebastian Huber 6 weeks ago
Summary

Add RTEMS_CONST attribute

Description

Add RTEMS_CONST attribute to make the compiler specific attribute ((const)) available.

#3733 7 weeks ago fixed lib/debugger Chris Johns Chris Johns 6 weeks ago
Summary

Add general reg support to libdebugger

Description

Testing master on a Zynq reports:

(gdb) target remote 10.10.5.45:1122                        
Remote debugging using 10.10.5.45:1122             
Truncated register 19 in remote 'g' packet

It looks to me like gdb is now smart enough to know this ARM arch has a NEON and floating point registers:

(gdb) maint print registers
Name         Nr  Rel Offset    Size  Type
 r0            0    0      0       4 uint32_t
 r1            1    1      4       4 uint32_t
 r2            2    2      8       4 uint32_t
 r3            3    3     12       4 uint32_t
 r4            4    4     16       4 uint32_t
 r5            5    5     20       4 uint32_t
 r6            6    6     24       4 uint32_t
 r7            7    7     28       4 uint32_t
 r8            8    8     32       4 uint32_t
 r9            9    9     36       4 uint32_t
 r10          10   10     40       4 uint32_t
 r11          11   11     44       4 uint32_t
 r12          12   12     48       4 uint32_t
 sp           13   13     52       4 *1
 lr           14   14     56       4 uint32_t
 pc           15   15     60       4 *1
 f0           16   16     64      12 _arm_ext
 f1           17   17     76      12 _arm_ext
 f2           18   18     88      12 _arm_ext
 f3           19   19    100      12 _arm_ext
 f4           20   20    112      12 _arm_ext
 f5           21   21    124      12 _arm_ext
 f6           22   22    136      12 _arm_ext
 f7           23   23    148      12 _arm_ext
 fps          24   24    160       4 uint32_t
 cpsr         25   25    164       4 uint32_t

The target support in libdebugger is a simple array of 32bit ints. This needs to change to handle registers at various offsets. The lack of fp regs was a simplification at the time I first implement this server. Loos like I need to sort this out.

#3732 7 weeks ago fixed rtems Sebastian Huber Sebastian Huber 6 weeks ago
Summary

Add rtems_scheduler_get_processor_maximum()

Description

Add rtems_scheduler_get_processor_maximum() as a replacement for rtems_get_processor_count(). The rtems_get_processor_count() is a bit orphaned. Adopt it by the Scheduler Manager. The count is also misleading, since the processor set may have gaps and the actual count of online processors may be less than the value returned by rtems_get_processor_count().

#3731 7 weeks ago fixed rtems Sebastian Huber Sebastian Huber 6 weeks ago
Summary

Add rtems_scheduler_get_processor()

Description

Add rtems_scheduler_get_processor() as a replacement for rtems_get_current_processor(). The rtems_get_current_processor() is a bit orphaned. Adopt it by the Scheduler Manager. This is in line with the glibc sched_getcpu() function.

#3728 8 weeks ago fixed bsps Chris Johns Chris Johns 7 weeks ago
Summary

Set small data seciton to max size for mvme5500 and motorola_powerpc BSPs

Description

These are large memory targets that can support libdl. Make the small data memory the maximum size.

#3725 2 months ago fixed arch/arm Sebastian Huber Sebastian Huber 2 weeks ago
Summary

bsp/lpc24xx: Convert I2C driver to Linux API

Description
#3724 2 months ago fixed arch/arm Sebastian Huber Sebastian Huber 2 months ago
Summary

bsp/lpc24xx: Convert SSP driver to Linux API

#3720 3 months ago fixed shell Sebastian Huber Sebastian Huber 3 months ago
Summary

mfill shell command uses the wrong arguments for the memset()

#3699 3 months ago fixed arch/arm Kinsey Moore Sebastian Huber 3 months ago
Summary

Wrong system register specified for ARM virtual timer value retrieval

Description

In arm_cp15_get_counter_pl1_virtual_timer_value() in cpukit/score/cpu/arm/include/libcpu/arm-cp15.h, the system register specified by "p15, 0, %[val], c14, c2, 0" is actually the system register for the physical timer value. This should be "p15, 0, %[val], c14, c3, 0" for the virtual timer value as used in the setter.

#3694 3 months ago fixed fs Joel Sherrill Gedare Bloom 2 months ago
Summary

shm_open has logically unreachable code (Coverity ID: 1399706, 1399714)

Description

Coverity ID: 1399706 and 1399714 File: shmopen.c Method: shm_open for first

   	dead_error_condition: The condition oflag & 0 cannot be true.
289  if ( oflag & O_RDONLY ) {
   	
CID 1399706 (#1 of 1): Logically dead code (DEADCODE)
dead_error_line: Execution cannot reach this statement: flags |= 2U;.
290    flags |= LIBIO_FLAGS_READ;
291  } else {

URL: https://scan5.coverity.com/reports.htm#v29811/p10069/fileInstanceId=153084281&defectInstanceId=42558012&mergedDefectId=1399706&fileStart=1&fileEnd=250

Same issue at other place in same file:

197  int flags;
   	dead_error_condition: The condition oflag & 0 cannot be true.
198  if ( oflag & O_RDONLY ) {
   	
CID 1399714 (#1 of 1): Logically dead code (DEADCODE)
dead_error_line: Execution cannot reach this statement: flags = 4;.
199    flags = RTEMS_FS_PERMS_READ;
200  } else {
#3692 3 months ago fixed lib/dl Chris Johns Chris Johns 3 months ago
Summary

libdl does not honour write unlock/lock for sections

Description

The allocator does no honour write unlock and lock for read-only sections as it should. This can used to write protect executable memory.

#3684 4 months ago fixed lib Chris Johns Chris Johns 3 months ago
Summary

rtems_print_buffer is broken

Description

Consider this call:

#include <rtems/dumpbuf.h>
rtems_print_buffer ((const unsigned char *) "\x12\x23\x56\x78", 4);

On psim you get:

1f 2f 5f 7f                                     |.#Vx            |
#3677 4 months ago wontfix tool/gcc Chris Johns 4 months ago
Summary

ARM BSP contains ARM code in THUMB only build

Description

The xilinx_zynq_a9_qemu BSP contains a memcpy that is ARM mode code and not THUMB. This can be seen with hello.exe and vlan01.exe in the libbsd examples.

The script run with the command that follows shows there is a single ARM function in the executable. The python script is:

from __future__ import print_function
import sys
for line in sys.stdin:
    ls = line.split()
    if len(ls) == 8 and ls[0][-1] == ':' and ls[3] == 'FUNC':
        addr = int(ls[1], 16)
        if addr & 1 == 0:
            print(ls[7])

Command with output:

$ arm-rtems5-readelf -a `find . -name hello.exe` | python ./arm-thumb.py
memcpy

The presence of this single function makes me wonder why and if something is wrong in the building of the memcpy function. Examination with rtems-exeinfo shows the code is built by GNU AS from the file memcpy-armv7a.S while other asm files are not generating ARM code. The section of the output from:

$ rtems-exeinfo -a `find . -name hello.exe`

is:

  GNU AS 2.31.1: 14 objects  
   | arm_exc_interrupt.S        
   | armv4-exception-default.S
   | bpabi.S        
   | bpabi.S           
   | bsp-start-memcpy.S
   | cpu_asm.S     
   | lib1funcs.S     
   | lib1funcs.S              
   | lib1funcs.S   
   | memchr.S    
   | memcpy-armv7a.S
   | start.S         
   | strcmp-armv7.S       
   | strlen-armv7.S   

GNU LD is correctly managing the interworking and the code runs however is this behavior expected and understood? Note, the existence of this code breaks libdl's loading of dhcpcd.c as section .rel.text.dhcpcd_handle_hwaddr contains a R_ARM_THM_JUMP24 relocation record which requires a veneer in large memory application as well as bl to blx support. This support could be added but I am not currently in favor of having this support for something that should not happen.

#3675 4 months ago fixed tool/rsb Sebastian Huber Sebastian Huber 3 months ago
Summary

RSB: Change default prefix to OS prefix + "rtems" + $rtems_version

Description

The user manual contains this about prefixes:

"A further reason not to use the standard prefix is to allow more than one version of RTEMS to exist on your host machine at a time. The autoconf and automake tools required by RTEMS are not versioned and vary between the various versions of RTEMS. If you use a single prefix such as the standard prefix there is a chance parts from a package of different versions may interact. This should not happen but it can.

For POSIX or Unix hosts, the RTEMS Project uses /opt/rtems as it’s standard prefix. We view this prefix as a production level path, and we prefer to place development versions under a different prefix away from the production versions. Under this top level prefix we place the various versions we need for development. For example the version 4.11.0 prefix would be /opt/rtems/4.11.0. If an update called 4.11.1 is released the prefix would be /opt/rtems/4.11.1. These are recommendations and the choice of what you use is entirely yours. You may decide to have a single path for all RTEMS 4.11 releases of /opt/rtems/4.11."

The default prefix selected by the RSB should take this into account. Use OS prefix + "rtems" + $rtems_version, e.g. on Linux for RTEMS 5: "/opt/rtems/5".

#3674 4 months ago fixed arch/arm Joel Sherrill Sebastian Huber 4 months ago
Summary

Raspberry Pi Fails to Build

Description

../../../../../../../../rtems/c/src/lib/libbsp/arm/raspberrypi/../../../../../../bsps/arm/shared/cache/cache-v7ar-disable-data.S: Assembler messages: ../../../../../../../../rtems/c/src/lib/libbsp/arm/raspberrypi/../../../../../../bsps/arm/shared/cache/cache-v7ar-disable-data.S:47: Error: selected processor does not support `dmb' in ARM mode ../../../../../../../../rtems/c/src/lib/libbsp/arm/raspberrypi/../../../../../../bsps/arm/shared/cache/cache-v7ar-disable-data.S:53: Error: selected processor does not support `isb' in ARM mode ../../../../../../../../rtems/c/src/lib/libbsp/arm/raspberrypi/../../../../../../bsps/arm/shared/cache/cache-v7ar-disable-data.S:77: Error: selected processor does not support `isb' in ARM mode ../../../../../../../../rtems/c/src/lib/libbsp/arm/raspberrypi/../../../../../../bsps/arm/shared/cache/cache-v7ar-disable-data.S:85: Error: invalid constant (3ff) after fixup ../../../../../../../../rtems/c/src/lib/libbsp/arm/raspberrypi/../../../../../../bsps/arm/shared/cache/cache-v7ar-disable-data.S:92: Error: invalid constant (7fff) after fixup gmake[6]: * [cache-v7ar-disable-data.o] Error 1

#3673 4 months ago fixed arch/arm Joel Sherrill Sebastian Huber 4 months ago
Summary

xilinx_zynq_a9_qemu - fails to link psxconfig01

Description

This is with POSIX disabled.

/home/joel/rtems-work/rtems-testing/rtems/build-arm-xilinx_zynq_a9_qemu-rtems/arm-rtems5/c/xilinx_zynq_a9_qemu/testsuites/psxtests/../../../../../../rtems/c/src/../../testsuites/psxtests/psxconfig01/init.c:499: undefined reference to `timer_create' collect2: error: ld returned 1 exit status

#3672 4 months ago fixed arch/i386 Joel Sherrill 4 months ago
Summary

No i386 BSP can link all tests after cache manager changes

Description

/data/home/joel/rtems-work/tools/5/bin/../lib/gcc/i386-rtems5/7.4.0/../../../../i386-rtems5/bin/ld: ./../../lib/libbsp/i386/pc386/librtemsbsp.a(cache.o): in function `rtems_cache_invalidate_entire_instruction': /home/joel/rtems-work/rtems-testing/rtems/build-i386-pc486-rtems/i386-rtems5/c/pc486/lib/libbsp/i386/pc386/../../../../../../../../rtems/c/src/lib/libbsp/i386/pc386/../../../../../../bsps/i386/shared/cache/../../../shared/cache/cacheimpl.h:350: undefined reference to `_CPU_cache_invalidate_entire_instruction'

#3670 5 months ago fixed examples Chris Johns joel@… 5 months ago
Summary

examples-v2 uses deprecated or obsolete RTEMS interfaces

Description

The examples need to be change to use what ever is the newer method of doing something.

../../filesystem/fat_ramdisk/init.c:46:3: warning: 'rtems_blkdev_generic_open' is deprecated [-Wdeprecated-declarations] 
   open_entry:           rtems_blkdev_generic_open,
   ^~~~~~~~~~
In file included from /opt/work/chris/rtems/kernel/5/arm-rtems5/xilinx_zynq_zedboard/lib/include/rtems/ramdisk.h:17:0,
                 from ../../filesystem/fat_ramdisk/init.c:16:
/opt/work/chris/rtems/kernel/5/arm-rtems5/xilinx_zynq_zedboard/lib/include/rtems/blkdev.h:408:1: note: declared here
 rtems_blkdev_generic_open( 
 ^~~~~~~~~~~~~~~~~~~~~~~~~ 
../../filesystem/fat_ramdisk/init.c:47:3: warning: 'rtems_blkdev_generic_close' is deprecated [-Wdeprecated-declarations]
   close_entry:          rtems_blkdev_generic_close,                                        
   ^~~~~~~~~~~                          
In file included from ../../ticker/low_ticker/init.c:88:0:
/opt/work/chris/rtems/kernel/5/arm-rtems5/xilinx_zynq_zedboard/lib/include/rtems/confdefs.h:3276:4: warning: #warning "The CONFIGURE_TERMIOS_DISABLED configuration option is obsolete since RTEMS 5.1" [-Wcpp]
   #warning "The CONFIGURE_TERMIOS_DISABLED configuration option is obsolete since RTEMS 5.1"
    ^~~~~~~
#3669 5 months ago fixed doc Chris Johns Amar Takhar 4 months ago
Summary

rtems-docs.git does not build with Sphinx 1.8.2 and 1.8.3

Description

The docs do not build with Sphinx 1.8. Recent posts indicate some changes to support unicode indexes via xindy have caused this and the solution being discussed is to use the generate Makefile ...

https://github.com/rtfd/readthedocs.org/issues/4454

The need to use the Makefile is debatable however what it contains is important as it defines what needs to happen.

This recent issue can be seen in the Tex generated file for the User Manual (user.tex). It contains:

\item[{Waf\index{Waf@\spxentry{Waf}|spxpagem}\phantomsection\label{\detokenize{glossary/index:term-waf}}}] \leavevmode
Waf build system.  For more information see \sphinxurl{http://www.waf.io/}

Our current build uses pdflatex directly and there is an error as spxpagem is not defined.

If you inspect a version 1.8 generated Makefile the command latexmk is used. This wraps the PDF generation so the correct number of passes are performed. Using this tool should be considered.

The Makefile contains:

export XINDYOPTS = -L english -C utf8  -M sphinx.xdy

The sphinx.xdy contains the needed spxpagem. I can only conclude sphinx needs to be built with xindy because the reference is always generated.

The problem for building FreeBSD is xindy is not an available command.

#3667 5 months ago fixed arch/arm Sebastian Huber Sebastian Huber 4 months ago
Summary

Support data cache disable on ARMv7-AR

#3666 5 months ago fixed lib Sebastian Huber Sebastian Huber 4 months ago
Summary

Add support for C++17 std::aligned_alloc

Description

In C++17 there is a std::aligned_alloc():

https://en.cppreference.com/w/cpp/memory/c/aligned_alloc

Unfortunately, it doesn't work with RTEMS currently:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85904

Provide aligned_alloc() and memalign() (as a strong alias to aligned_alloo()) by RTEMS.

#3664 5 months ago fixed tool/rsb Chris Johns Chris Johns 5 months ago
Summary

RSB config parsing slow on python3

Description

The execute support on python3 is slow and this slows the config file parsing.

#3649 5 months ago fixed admin Joel Sherrill Amar Takhar 3 months ago
Summary

Error with IRC anouncing in examples-v2 commits.

Description
remote: 1: mail vc@rtems.org 
remote: 2: update github 
remote: 4: IRC 
remote: usage: <file with rev-list> <repo name without .git> 
remote: 5: Buildbot
To ssh://joel@dispatch.rtems.org/data/git/examples-v2.git
   ced6542..276a025  am -> master 
#3637 6 months ago fixed rtems Sebastian Huber Sebastian Huber 6 months ago
Summary

Fix rtems_task_restart() argument type

Description

The argument type must be rtems_task_argument in rtems_task_restart() similar to rtems_task_start(). This is a severe issue on 64-bit targets since it prevents to pass pointer values to the task.

#3636 6 months ago fixed rtems Sebastian Huber Sebastian Huber 5 months ago
Summary

Add rtems_scheduler_get_maximum_priority()

Description

The maximum task priority depends on the scheduler instance. It is a configuration parameter. Add a function to get it at runtime.

/**
 * @brief Gets the maximum task priority of the specified scheduler instance.
 *
 * @param[in] scheduler_id Identifier of the scheduler instance.
 * @param[out] priority Pointer to a task priority value.
 *
 * @retval RTEMS_SUCCESSFUL Successful operation.
 * @retval RTEMS_INVALID_ADDRESS The @a priority parameter is @c NULL.
 * @retval RTEMS_INVALID_ID Invalid scheduler instance identifier.
 */
rtems_status_code rtems_scheduler_get_maximum_priority(
  rtems_id             scheduler_id,
  rtems_task_priority *priority
);
#3626 6 months ago fixed posix Joel Sherrill Sebastian Huber 6 months ago
Summary

sigtimedwait() needed when POSIX is disabled

Description

When POSIX is disabled, psxmsgq01 does not link. Should we enable sigtimedwait() when POSIX is disabled or disable this test?

/data/home/joel/rtems-work/tools/5/bin/../lib/gcc/powerpc-rtems5/7.3.0/../../../../powerpc-rtems5/bin/ld: psxmsgq01/psxmsgq01-init.o: in function `wait_for_signal':
/home/joel/rtems-work/rtems-testing/rtems/build-powerpc-ss555-rtems/powerpc-rtems5/c/ss555/testsuites/psxtests/../../../../../../rtems/c/src/../../testsuites/psxtests/psxmsgq01/init.c:932: undefined reference to `sigtimedwait'
#3625 6 months ago fixed lib/dl Kevin Gordon Chris Johns 6 months ago
Summary

RTL Allows Unloading a Module other Modules Depend Upon (cloned)

Description

Cloned from #3195:


Consider the following example using ELF .o files from compiled source files module-0.c and module-1.c from ticket #3194:

module-0.o is loaded using dlopen() with no code or data dependencies. module-1.o is loaded using dlopen() with both code and data dependencies on module-0 which are resolved by RTL.

The RTL function dlcose() returns no error when module-0 is unloaded, when it should return an error and not unload module-0. This becomes quite dangerous because a subsequent call to module1Function1() in the currently-loaded module-1.o, which accesses shared_resource_0[ ] and calls module0Function0(), will result in an unexpected trap on qemu or the call succeeding with the correct return value on hardware when it should not.

The erroneous successful unload() of module-0 aside, it appears as though the resources are not actually deleted and I believe this ticket is related to tickets #3192 and #3194.

Architecture is sparc-leon3 using both the RTEMS 4.11.1 public release and rtems master @f043b9bd3bf25626fb1a311dd7fa041eacc68adc with rtems-source-builder @55f2d69e9b67cde23d61375fa34ef5b0f04a985d.

Execution environments are qemu-system-sparc and LEON3 UT700 hardware.

#3622 6 months ago fixed unspecified Sebastian Huber Sebastian Huber 6 months ago
Summary

Remove cache routines working with a processor set

Description

The following cache manager API functions are exotic, complex, very hard to use correctly, not used in the RTEMS code base, and apparently unused by applications (https://lists.rtems.org/pipermail/users/2018-November/032764.html). Remove these functions

/**
 * @brief Flushes multiple data cache lines for a set of processors
 *
 * Dirty cache lines covering the area are transferred to memory.
 * Depending on the cache implementation this may mark the lines as invalid.
 *
 * This operation should not be called from interrupt context.
 *
 * @param[in] addr The start address of the area to flush.
 * @param[in] size The size in bytes of the area to flush.
 * @param[in] setsize The size of the processor set.
 * @param[in] set The target processor set.
 */
void rtems_cache_flush_multiple_data_lines_processor_set(
  const void *addr,
  size_t size,
  const size_t setsize,
  const cpu_set_t *set
);

/**
 * @brief Invalidates multiple data cache lines for a set of processors
 *
 * The cache lines covering the area are marked as invalid.  A later read
 * access in the area will load the data from memory.
 *
 * In case the area is not aligned on cache line boundaries, then this
 * operation may destroy unrelated data.
 *
 * This operation should not be called from interrupt context.
 *
 * @param[in] addr The start address of the area to invalidate.
 * @param[in] size The size in bytes of the area to invalidate.
 * @param[in] setsize The size of the processor set.
 * @param[in] set The target processor set.
 */
void rtems_cache_invalidate_multiple_data_lines_processor_set(
  const void *addr,
  size_t size,
  const size_t setsize,
  const cpu_set_t *set
);

/**
 * @brief Flushes the entire data cache for a set of processors
 *
 * This operation should not be called from interrupt context.
 *
 * @see rtems_cache_flush_multiple_data_lines().
 *
 * @param[in] setsize The size of the processor set.
 * @param[in] set The target processor set.
 */
void rtems_cache_flush_entire_data_processor_set(
  const size_t setsize,
  const cpu_set_t *set
);

/**
 * @brief Invalidates the entire cache for a set of processors
 *
 * This function is responsible for performing a data cache
 * invalidate. It invalidates the entire cache for a set of
 * processors.
 *
 * This operation should not be called from interrupt context.
 *
 * @param[in] setsize The size of the processor set.
 * @param[in] set The target processor set.
 */
void rtems_cache_invalidate_entire_data_processor_set(
  const size_t setsize,
  const cpu_set_t *set
);
#3621 6 months ago fixed score Sebastian Huber Sebastian Huber 5 months ago
Summary

Statically initialize object information structures

Description

Statically initialize the object information structures to make the configuration easier to review and simplify the debugging.

The workspace size estimate generated by <rtems/confdefs.h> looks currently like this:

  const rtems_configuration_table Configuration = { ( ( ( (ssize_t) ((((((1 +
0) != 0 ? 1 : 0) * ((Objects_Maximum) ((1 + 0) & ~0x80000000U))) *
(sizeof(Configuration_Thread_control))) != 0 ? 1 : 0) * ((((((1 + 0) != 0 ? 1 :
0) * ((Objects_Maximum) ((1 + 0) & ~0x80000000U))) *
(sizeof(Configuration_Thread_control)) + (2 * sizeof(uintptr_t) +
(sizeof(Heap_Protection_block_begin) + sizeof(Heap_Protection_block_end)))) +
((((sizeof(Heap_Block)) + (8) - 1) - ((sizeof(Heap_Block)) + (8) - 1) % (8))) -
1) - (((((1 + 0) != 0 ? 1 : 0) * ((Objects_Maximum) ((1 + 0) & ~0x80000000U)))
* (sizeof(Configuration_Thread_control)) + (2 * sizeof(uintptr_t) +
(sizeof(Heap_Protection_block_begin) + sizeof(Heap_Protection_block_end)))) +
((((sizeof(Heap_Block)) + (8) - 1) - ((sizeof(Heap_Block)) + (8) - 1) % (8)))

[more than 500 similar lines]

1) - (((sizeof(Configuration_Initial_Extensions) /
sizeof((Configuration_Initial_Extensions)[0])) *
sizeof(User_extensions_Switch_control) + (2 * sizeof(uintptr_t) +
(sizeof(Heap_Protection_block_begin) + sizeof(Heap_Protection_block_end)))) +
((((sizeof(Heap_Block)) + (8) - 1) - ((sizeof(Heap_Block)) + (8) - 1) % (8))) -
1) % ((((sizeof(Heap_Block)) + (8) - 1) - ((sizeof(Heap_Block)) + (8) - 1) %
(8)))))) + 0 + 0 + (0 * 1024) + ((((2 * sizeof(uintptr_t) +
(sizeof(Heap_Protection_block_begin) + sizeof(Heap_Protection_block_end)))) +
(8) - 1) - (((2 * sizeof(uintptr_t) + (sizeof(Heap_Protection_block_begin) +
sizeof(Heap_Protection_block_end)))) + (8) - 1) % (8)) ),

The object controls reside on the heap even for fixed object count configuration. Using a statically allocated array makes it easier to find the objects during debugging.

#3620 6 months ago fixed admin Sebastian Huber Amar Takhar 5 months ago
Summary

CommitTicketUpdater? does not process commits in order

Description

The new CommitTicketUpdater? does not process commits in order. For example see:

https://devel.rtems.org/ticket/3598#comment:40 https://devel.rtems.org/ticket/3598#comment:41

Compare with Git commit order:

https://git.rtems.org/rtems/log/?id=eaa5ea84eaf1b3dab72d7a7a6578f0dc59e55396&qt=range&q=1947449a5d6f01a44ccc61eda3e78ef7e06da952..5fc727fe77a632f9df38161a8474007dab020608

#3612 6 months ago fixed lib/dl Chris Johns Chris Johns 6 months ago
Summary

RTL unresolved compaction does not update string indexes after removing a string

Description

The RTL unresolved compaction does not update the string indexes when compacting.

#3604 6 months ago fixed lib/dl Joseph Hickey Chris Johns 6 months ago
Summary

RTL Unresolved Symbols from common section on i386/pc686 (cloned)

Description

Cloned from #3527:


By default GCC puts uninitialized global variables into a common section in the ELF file. When attempting to load the resulting ELF file at runtime using dlopen(), these global symbols are not resolved as expected.

The RTL reports unresolved symbols, and runtime code that take the address of the global get NULL instead.

This is reproducible using the libtests/dl01 example by adding a global variable to the module code. I will attach a patch that replicates the issue.

Test platform is QEMU using pc686 BSP, RTEMS source version 4.11.3 (latest on 4.11 git branch as of this writing)

#3603 6 months ago fixed score Sebastian Huber Sebastian Huber 6 months ago
Summary

Remove support for 16-bit object identifiers

Description

The RTEMS_USE_16_BIT_OBJECT define is not set by an RTEMS port. Remove support for 16-bit object identifiers. If someone really wants to use RTEMS on a 16-bit target, then it is better to use self-contained objects instead of playing around with object identifier optimizations.

#3602 6 months ago fixed arch/or1k Sebastian Huber Sebastian Huber 6 months ago
Summary

Update or1k tool chain to use the upstream GCC

#3599 7 months ago fixed arch/m32c Sebastian Huber Sebastian Huber 6 months ago
Summary

Remove m32c architecture port

Description

The m32c architecture port is incomplete, e.g. important features such as interrupt support are missing. It never run on real hardware. The tools are out dated and unmaintained. There are no known users:

https://lists.rtems.org/pipermail/users/2018-January/031991.html

#3598 7 months ago fixed rtems Sebastian Huber Sebastian Huber 6 months ago
Summary

Move internal types of API objects to separate header file

Description

The <rtems.h> header file still exposes a lot of implementation details via the definition of internal data structures, e.g. the *_Control structures of the API objects. They are only necessary for the application configuration. Move them to separate header files. Currently we have:

  • <rtems/rtems/XYZ.h>
  • <rtems/rtems/XYZimpl.h>

Use

  • <rtems/rtems/XYZdata.h>

for this new header file.

Potential new header files are:

  • rtems/extensiondata.h
  • rtems/rtems/asrdata.h
  • rtems/rtems/barrierdata.h
  • rtems/rtems/dpmemdata.h
  • rtems/rtems/eventdata.h
  • rtems/rtems/messagedata.h
  • rtems/rtems/partdata.h
  • rtems/rtems/ratemondata.h
  • rtems/rtems/regiondata.h
  • rtems/rtems/semdata.h
  • rtems/rtems/tasksdata.h
  • rtems/rtems/timerdata.h
#3595 7 months ago fixed rtems Sebastian Huber Sebastian Huber 7 months ago
Summary

Deprecate rtems_rate_monotonic_period_time_t

Description

The rtems_rate_monotonic_period_time_t typedef as no corresponding API. It violates the POSIX namespace. A user can do nothing with it. It is only used in cpukit/include/rtems/rtems/ratemon.h in RTEMS. Deprecate it in this release.

#3593 7 months ago fixed rtems Sebastian Huber Sebastian Huber 7 months ago
Summary

Deprecate rtems_thread_cpu_usage_t

Description

The rtems_thread_cpu_usage_t typedef as no corresponding API. It violates the POSIX namespace. A user can do nothing with it. It is only used in cpukit/include/rtems/rtems/ratemon.h in RTEMS. Deprecate it in this release.

#3591 7 months ago fixed rtems Sebastian Huber Sebastian Huber 7 months ago
Summary

Deprecate region_information_block

Description

The region_information_block typedef as no corresponding API. It has no proper namespace prefix. A user can do nothing with it. It is only used in cpukit/libmisc/cpuuse/cpuusagetop.c and cpukit/libmisc/shell/main_mallocinfo.c in RTEMS. Deprecate it in this release.

#3589 7 months ago fixed rtems Sebastian Huber Sebastian Huber 7 months ago
Summary

Deprecate rtems_context_fp

Description

The rtems_context_fp typedef as no corresponding API. A user can do nothing with it. It is only used in cpukit/libmisc/monitor/mon-editor.c in RTEMS. Deprecate it in this release.

#3587 7 months ago fixed rtems Sebastian Huber Sebastian Huber 7 months ago
Summary

Deprecate rtems_context

Description

The rtems_context typedef as no corresponding API. A user can do nothing with it. It is only used in cpukit/libmisc/monitor/mon-monitor.c and cpukit/libmisc/monitor/mon-editor.c in RTEMS. Deprecate it in this release.

#3583 7 months ago fixed rtems Sebastian Huber Sebastian Huber 6 months ago
Summary

Add rtems_malloc() and rtems_calloc()

Description

The standard C/POSIX functions malloc() and calloc() set errno in case of an error. A dependency to errno pulls in getreent() which pulls in a lot of data structures and functions. This is an issue in low level code especially in the area of a basic board support package initialization and device drivers.

Provide rtems_malloc() and rtems_calloc() functions declared in <rtems/malloc.h> which do the same as the corresponding C/POSIX functions except setting errno.

The posix_memalign() and aligned_alloc() functions do not have this issue with the errno.

#3579 7 months ago fixed admin Chris Johns Chris Johns <chrisj@…> 7 months ago
Summary

testsuite's rtems-test-check.py python version support

Description

This command used in the testsuite needs to find a suitable python or the build system needs to find it and invoke it with that python.

#3577 7 months ago fixed tool/gcc Sebastian Huber Sebastian Huber 7 months ago
Summary

Avoid CLooG and ISL host depencencies for target GCC

Description

We already use GCC in-tree libraries for MPFR, MPC, GMP and zlib. Use them also for CLooG and ISL. This helps to ensure that the same target code is generated across host systems. It also helps to avoid GCC build issues in case future versions of ISL and CLooG available on the host system are incompatible to the GCC version picked up by the RSB for RTEMS.

#3576 7 months ago fixed tool/gdb Joel Sherrill Joel Sherrill 6 months ago
Summary

gdb 8.0.1 sis does not build on Cygwin

Description

Cygwin no longer has libtermcap. gdb/sim/erc32 needs a patch to find libncurses. Upstream gdb patch already merged.

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=c1230d1bab8e36e1aa40f3bbadcef9b5d9ddc041

This ticket is just to contain a patch that applies cleanly to gdb 8.0.1 and to track adding that patch to the RSB.

#3568 7 months ago fixed tool/rsb Sebastian Huber Chris Johns 4 months ago
Summary

RSB: UnboundLocalError?: local variable 'build_max_size_human' referenced before assignment

Description

../source-builder/sb-set-builder --prefix=/build/rtems/5 5/rtems-or1k

...
config: tools/rtems-gcc-4.9.3-newlib-08eab6396f678cf5e5968acaed0bae9fd129983b.cfg
package: or1k-rtems5-gcc-4.9.3-newlib-08eab6396f678cf5e5968acaed0bae9fd129983b-x86_64-linux-gnu-1
warning: gcc-4.9.3-or1k.patch: no hash found
building: or1k-rtems5-gcc-4.9.3-newlib-08eab6396f678cf5e5968acaed0bae9fd129983b-x86_64-linux-gnu-1
error: building or1k-rtems5-gcc-4.9.3-newlib-08eab6396f678cf5e5968acaed0bae9fd129983b-x86_64-linux-gnu-1
Build FAILED
  See error report: rsb-report-or1k-rtems5-gcc-4.9.3-newlib-08eab6396f678cf5e5968acaed0bae9fd129983b-x86_64-linux-gnu-1.txt
error: building or1k-rtems5-gcc-4.9.3-newlib-08eab6396f678cf5e5968acaed0bae9fd129983b-x86_64-linux-gnu-1
Mailing report: build@rtems.org
Traceback (most recent call last):
  File "../source-builder/sb/cmd-set-builder.py", line 26, in <module>
    setbuilder.run()
  File "/scratch/git-rtems-source-builder/source-builder/sb/setbuilder.py", line 619, in run
    b.build(deps, mail = mail)
  File "/scratch/git-rtems-source-builder/source-builder/sb/setbuilder.py", line 530, in build
    body += 'Maximum build usage: ' + build_max_size_human + os.linesep
UnboundLocalError: local variable 'build_max_size_human' referenced before assignment
#3562 7 months ago fixed tool/rsb Chris Johns Chris Johns 7 months ago
Summary

Use a short paths for the RSB temporary build path on Windows

Description

The %{_tmproot} path is currently based on a BuildRoot setting in the build configuration files. The line is:

BuildRoot: %{_tmppath}/%{name}-root-%(%{__id_u} -n)

This is for a shared $TEMP path plus the name is not shortened so on Windowss these paths become long. Remove the BuildRoot from all configuration files and add support for a shortened temporary path. Windows needs short paths due to the 256 max. path length issue.

#3561 7 months ago fixed admin Amar Takhar Amar Takhar 6 months ago
Summary

Migrate to CommitTicketUpdater?

Description

The old script was ancient and outdated. I've now killed it off and moved to the internal system described here:

https://trac.edgewall.org/wiki/CommitTicketUpdater

This should handle all scenarios if it does not please let me know. I will leave this ticket open for a week or so.

#3560 7 months ago fixed admin Amar Takhar Amar Takhar 7 months ago
Summary

Fix FlexibleAssignTo?

Description

When we first went to trac we had restrictions on the 'owner' to developers only. When track was upgraded this broke completely but all the code to handle this was already in place.

I took the time to fix it today so we have dropdowns again.

I've created this ticket to see if anyone has an issue with this should we keep it? Drop it? I know it's been years but it was our original choice.

See any ticket the 'reassign to' and on a new ticket the 'assign to' is now a dropdown. These are based on trac permissions so we can always add more if we need it but it really should be restricted to having a project member be the owner so we can ensure tickets are closed and sorted properly.

#3559 7 months ago fixed admin Amar Takhar Amar Takhar 7 months ago
Summary

Fix NavAdd? plugin.

Description

I had no idea but this had gotten removed in the last upgrade I've re-added it.

This makes a few changes to the navigation:

  • "New Ticket" now goes to /wiki/NewTicket
  • There is a new button "New Ticket (direct)" in the upper right for those who want to directly go to creating a ticket.
  • "My Tickets" used to go to a query but now goes to the new wiki:MyTickets page.

These changes existed years ago when NavAdd? was working I opened this ticket in case anyone has complaints about it coming back if not I will close it in a few days.

#3558 7 months ago fixed admin Amar Takhar Amar Takhar 7 months ago
Summary

Update TracSpamFilter?

Description

Updated to the latest Trac Spam Filter and upgraded captcha to v2 to avoid any errors. This was reported a while back and should fix any issues.

There are more please open a new ticket.

#3557 7 months ago fixed admin Amar Takhar Amar Takhar 7 months ago
Summary

Test ticket

Description

Using this as a test ticket to test out my fix.

#3555 7 months ago fixed admin Amar Takhar Amar Takhar 7 months ago
Summary

IRC bots need to be registered to join #rtems

Description

Due to the spam on Freenode only registered users can join #rtems. The bots both need accounts now.

#3554 7 months ago fixed network/libbsd Joel Sherrill Sebastian Huber 4 months ago
Summary

rtems-libbsd README.waf Needs an Update Sweep

Description

It is out of date at least by mentioning 4.12 instead of 5. If there are other nits or issues, they need to be addressed while updating the release info.

#3553 7 months ago fixed build Joel Sherrill 7 months ago
Summary

rtems-libbsd Missing waf in Top Directory

Description

At least examples-v2 and rtems-libbsd use waf to build. examples-v2 has a copy of waf known to work for the users' convenience. rtems-libsd is missing one. Add one to rtems-libbsd.

Also (if there are other repos using waf), make sure they have a copy of waf also.

#3551 7 months ago fixed lib Sebastian Huber Sebastian Huber 7 months ago
Summary

Move default configuration to separate library

Description

An RTEMS application default configuration is contained in cpukit/libmisc/dummy/default-configuration.c. This default configuration is contained in librtemscpu.a. This has at least two problems:

  1. Application configuration errors may pull in the default configuration which in turn leads to multiply define symbols error. This is quite confusing. You have to consult the linker map file to figure out what cased the pull in of the default configurations. You need to know what a linker map file is and how you generate it with your build system. This is not very user friendly.
  1. It prevents the use of default configuration items for each subsystem in librtemscpu.a. This can be used to reduce the size of the configuration itself.

Proposed change: Move the default configuration to a separate library, e.g. librtemsdefaultconfig.a.

#3549 7 months ago fixed arch/powerpc Sebastian Huber Sebastian Huber 7 months ago
Summary

Obsolete powerpc/virtex BSP

Description

This BSP is quite old (was added 1995), unmaintained and likely without users:

https://lists.rtems.org/pipermail/users/2018-September/032557.html

#3547 7 months ago fixed lib Sebastian Huber Sebastian Huber 7 months ago
Summary

Support O_CLOEXEC open() flag

Description

This is a POSIX flag. Make sure its use causes no open failure.

#3546 7 months ago fixed lib Sebastian Huber Sebastian Huber 7 months ago
Summary

Support O_NOFOLLOW open() flag

Description
#3545 7 months ago fixed lib Sebastian Huber Sebastian Huber 7 months ago
Summary

Support O_DIRECTORY open() flag

Description

Use this flag in opendir().

#3543 8 months ago fixed lib Sebastian Huber Sebastian Huber 7 months ago
Summary

Change Telnet server to allocate most resources during initialization

Description

The Telnet server currently creates the resources needed for a client connection on demand. Allocate most resources during initialization to avoid sporadic resource shortage issues.

#3542 8 months ago fixed lib Sebastian Huber Sebastian Huber 7 months ago
Summary

Remove keep_stdio feature from Telnet service

Description

The Telnet service started via rtems_telnetd_start() has a keep_stdio feature. This just a task and executes the command function in a loop. For this kind of service we do not library support. This can be done by an application task on its own. Remove this functionality and provide only the real Telnet services.

#3539 8 months ago fixed score Sebastian Huber Sebastian Huber 8 months ago
Summary

Remove CPU_PROVIDES_IDLE_THREAD_BODY

Description

Remove the CPU_PROVIDES_IDLE_THREAD_BODY option to avoid unnecessary conditional compilation.

#3538 8 months ago fixed doc Joel Sherrill Joel Sherrill 8 months ago
Summary

Classic API Barrier Wait Section Title Has Wrong Name

Description

The section title says obtain not wait.

Likely also applies to 4.11.

#3537 8 months ago fixed tool Chris Johns Chris Johns 5 months ago
Summary

RSB and RTEMS Tools Support for python2 and python3

Description

Upstream python does not create a python command any more and creates python2 and python3. Distributions and operating systems are starting to ship without the python command.

The RSB and RTEMS Tools python commands need to be updated and tested so they run on Python2 and Python3 and support added to use the available commands.

#3536 8 months ago fixed tool Chris Johns Chris Johns 8 months ago
Summary

Move RTEMS configuration data to a common config directory

Description

Move the rtems-bsp-builder configuration files to a common area in the RTEMS Tools project and create an rtems.py module to handle the configuration. This allows a number of tools access to the arch/bsp data.

In time this directory of data can move into the rtems.git repo.

#3535 8 months ago fixed lib Sebastian Huber Sebastian Huber 8 months ago
Summary

Remove stdin, stdout, stderr convenience routines for CEXP

Description

These functions should be moved to a general CEXP support.

#3533 8 months ago fixed rtems Sebastian Huber Sebastian Huber 8 months ago
Summary

Add rtems_task_exit()

Description

The rtems_task_delete(RTEMS_SELF) function does not return. In order to aid compilers and static analysis tools provide an rtems_task_exit() function which can be specified as a no return function.

void rtems_task_exit(void) RTEMS_NO_RETURN;

This is similar to the POSIX equivalent.

void pthread_exit (void *__value_ptr) __dead2;
#3532 8 months ago fixed tool/rsb Chris Johns Chris Johns 36 hours ago
Summary

RSB source only download is host specific

Description

The RSB source only download is host specific. Configurations for builds can restrict sources or patches by host to work around specific host issues. Currently a source only download is host specific because the host check is based on the host the RSB is being run on.

The release process uses source only downloading to create the complete set of sources in a release. This issue means some host specific source may not be captured.

I am yet to figure how to resolve this issue because the download logic is driven by the configuration scripts and this type of logic exists in configuration files such as rtems-gcc-7.3.0-newlib-d13c84eb07e35984bf7a974cd786a6cdac29e6b9.cfg:

%if %{_build_os} == freebsd || %{_build_os} == darwin
 %patch add gcc --rsb-file=freebsd-libgcc-sed-fix.patch -p0 https://gcc.gnu.org/bugzilla/attachment.cgi?id=41380
 %hash  sha256 freebsd-libgcc-sed-fix.patch 8a11bd619c2e55466688e328da00b387d02395c1e8ff4a99225152387a1e60a4
%endif

The simpler construct in rtems-tools-common-1.cfg of:

  %ifos win32 mingw ming32
   SB_BUILD_ROOT_WAF=$SB_BUILD_ROOT$(echo %{_prefix} | cut -c 1-2)
  %else
   SB_BUILD_ROOT_WAF=$SB_BUILD_ROOT
  %endif

is easier to manage as the %ifos logic can always return True however the %else path also need to be followed and this could break the logic in a configuration file. Yes, the example is not about sources or patches however it shows what could be used. I do not think creating a new variable such as %{download_only}and adding logic to the configuration file will help, for example:

%if %{download_only} || %{_build_os} == freebsd || %{_build_os} == darwin
 %patch add gcc foobar-bsd.patch
%else
 %patch add gcc foobar-gnu.patch
%endif

We require the logic to follow the %if True path and the %else path.

#3531 8 months ago fixed unspecified Joel Sherrill Joel Sherrill 8 months ago
Summary

Add POSIX Attribute Reports for More Than Scheduler (examples-v2)

Description

Add programs to report default attributes for various POSIX objects including barriers, condition variables, message queues, mutexes, pthreads, and rwlocks. The programs should be able to run on any POSIX host and report what it uses for object attribute defaults.

Object attribute defaults are unspecified by POSIX. The portable practice is to explicitly set every attribute. These programs allow one to probe and compare various operating system implementations.

#3529 8 months ago fixed lib Sebastian Huber Sebastian Huber 7 months ago
Summary

Fix issues raised by Coverity Scan for Telnet server

#3528 8 months ago fixed config Sebastian Huber Sebastian Huber 8 months ago
Summary

Remove undocumented and untested CONFIGURE_MAXIMUM_PTYS

Description

Remove the undocumented and untested CONFIGURE_MAXIMUM_PTYS configuration option. Add a rtems_telnetd_config_table::client_maximum member to the Telnet configuration.

#3526 8 months ago fixed dev/serial Sebastian Huber Sebastian Huber 8 months ago
Summary

Convert PTY driver to new Termios API

Description
#3525 8 months ago fixed arch/arm Sebastian Huber Sebastian Huber 8 months ago
Summary

Add MMC/SDCard support for i.MX 7Dual BSP

Description

Port device drivers from FreeBSD for i.MX 7Dual uSDHC module.

#3523 8 months ago fixed network/libbsd Sebastian Huber Sebastian Huber 8 months ago
Summary

Add FEC network interface driver for TQM8XX

Description

Import legacy network driver and port it to libbsd.

#3522 8 months ago fixed network/libbsd Sebastian Huber Sebastian Huber 8 months ago
Summary

Update mDNSResponder to Apple version v878.30.4

Description

Download

mDNSResponder-561.1.1.tar.gz mDNSResponder-567.tar.gz mDNSResponder-576.30.4.tar.gz mDNSResponder-625.41.2.tar.gz mDNSResponder-765.1.2.tar.gz mDNSResponder-765.20.4.tar.gz mDNSResponder-765.30.11.tar.gz mDNSResponder-765.50.9.tar.gz mDNSResponder-878.1.1.tar.gz mDNSResponder-878.20.3.tar.gz mDNSResponder-878.30.4.tar.gz

from

https://opensource.apple.com/tarballs/mDNSResponder/

Merge each update into libbsd/mDNSResponder.

#3520 8 months ago fixed config Sebastian Huber Sebastian Huber 8 months ago
Summary

Remove CONFIGURE_HAS_OWN_FILESYSTEM_TABLE

Description

This configuration is untested and undocumented. Remove it to avoid a potential exposure of internal data structures to the application domain.

#3519 8 months ago fixed tool/rsb Chris Johns Chris Johns 8 months ago
Summary

RSB does not strictly check args

Description

The RSB loose argument parsing in the RSB needs to change. The RSB needs to strictly check arguments to avoid simple user errors.

#3518 8 months ago fixed doc Joel Sherrill Chris Johns 8 months ago
Summary

RSB MacOS Nits

Description

The MacOS section of the RSB manual has some minor things that need to be fixed:

  • says Serria when it should be Sierra (I think).
  • has +sb-check+ which indicates a formatting error

Please review as a Mac user and make sure that's it. :)

#3517 8 months ago fixed doc Joel Sherrill Joel Sherrill <joel@…> 8 months ago
Summary

RSB Ubuntu Host Requirements Missing Some

Description

Add libncurses5-dev and zlib1g-dev to Ubuntu apt-get instructions

Also bison and flex seemed to be missing per one of the persons trying it.

#3516 8 months ago fixed tool/rsb Joel Sherrill Chris Johns 8 months ago
Summary

sb-set-builder should report disk usage of build

Description

Helping others work through the hello world, it is common for their VM images to not have enough disk space for the build to complete. It would be useful if the set-builder could report disk usage of the build/ directory. This information could be fed into the Users Guide.

It is frustrating and a bad experience to watch the build fail 90% of the way through.

#3513 8 months ago fixed arch/powerpc Sebastian Huber Sebastian Huber 8 months ago
Summary

Convert tqm8xx console driver to new Termios API

#3512 9 months ago duplicate tool/rsb Justin 7 months ago
Summary

sb-check:No python command with Python 2 and Python 3 installed

Description

On Ubuntu 18.04.1 LTS there is no command named Python. I have the following Python commands:

python2.7    python3.6    python3.6m-config
python3m-config    python 2.7-config    python3.6-config   python3-config    python3
python3.6m         python3m

I am going to symlink python2.7 to python to make it work, but there should be a better solution.

#3511 9 months ago duplicate arch/powerpc Joel Sherrill Sebastian Huber 9 months ago
Summary

int/pointer size warnings in powerpc-qoriq_e6500_64

Description

These all look suspiciously like real issues:

$ grep warning log/powerpc-qoriq_e6500_64.log ../../../../../../../../rtems/c/src/lib/libbsp/powerpc/qoriq/../../../../../../bsps/powerpc/qoriq/start/bspstart.c:173:5: warning: passing argument 1 of 'qoriq_initialize_exceptions' makes pointer from integer without a cast [-Wint-conversion] ../../../../../../rtems/c/src/../../cpukit/libmisc/rtems-fdt/rtems-fdt-shell.c:57:27: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] ../../../../../../rtems/c/src/../../cpukit/libmisc/rtems-fdt/rtems-fdt-shell.c:64:27: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] ../../../../../../rtems/c/src/../../cpukit/libmisc/rtems-fdt/rtems-fdt-shell.c:488:11: warning: format '%u' expects argument of type 'unsigned int', but argument 5 has type 'long int' [-Wformat=] ../../../../../../rtems/c/src/../../cpukit/libmisc/rtems-fdt/rtems-fdt-shell.c:536:13: warning: format '%u' expects argument of type 'unsigned int', but argument 2 has type 'long int' [-Wformat=] ../../../../../../../../rtems/c/src/lib/libbsp/powerpc/qoriq/../../../../../../bsps/powerpc/shared/exceptions/ppc_exc_alignment.c:28:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] ../../../../../../../../rtems/c/src/lib/libbsp/powerpc/qoriq/../../../../../../bsps/powerpc/shared/exceptions/ppc_exc_initialize.c:38:10: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]

#3510 9 months ago fixed lib/block Joel Sherrill Sebastian Huber 9 months ago
Summary

ATA driver uses deprecated rtems_blkdev services

Description

This shows up building fileio on the following BSPs.

i386/pc386 i386/pc486 i386/pc586 i386/pc586-sse i386/pc686 i386/pcp4 powerpc/brs5l powerpc/brs6l powerpc/dp2 powerpc/icecube powerpc/pm520_cr825 powerpc/pm520_ze30

#3508 9 months ago fixed score Sebastian Huber Sebastian Huber 9 months ago
Summary

Add support for thread to processor pinning

Description

FreeBSD started to use lock-free data structures (Concurrency Kit) with epoch based reclamation (EBR) in May 2018. The goal of this synchronization approach is to avoid atomic read-modify-write operations in the fast path. The algorithms need highly efficient access to per-processor data. This gives raise to add a new feature to RTEMS: thread to processor pinning. Thread pinning is orthogonal to thread processor affinity and overrules the processor affinity settings of a thread. It is intended for temporary use in short critical sections which allow preemption.

#3507 9 months ago fixed score Sebastian Huber Sebastian Huber 3 months ago
Summary

Add flexible per-CPU data

Description

Add means to declare, define and get custom per-CPU data. The API should cover the APIs defined by the Linux <linux/percpu.h> and FreeBSD <sys/pcpu.h> header files.

#3506 9 months ago fixed build Joel Sherrill Chris Johns 7 months ago
Summary

waf for building RTEMS applications needs updating

Description

Because there are no native tools in the RTEMS tree anymore, the RTEMS install point will not have a bin/ directory. If the --rtems-tools and --rtems directories are different, the sanity check by waf configure for ${rtems}/bin fails. See examples-v2.

+ ./waf configure -v --rtems=/home/joel/rtems-work/bsp-install --rtems-tools=/home/joel/rtems-work/tools/5 --rtems-bsps=powerpc/qemuppc
Setting top to                           : /home/joel/rtems-work/examples-v2 
Setting out to                           : /home/joel/rtems-work/examples-v2/build 
RTEMS path is not valid. No bin directory found.
(complete log in /home/joel/rtems-work/examples-v2/build/config.log)

#3505 9 months ago wontfix arch/powerpc Joel Sherrill Sebastian Huber 7 months ago
Summary

powerpc/virtex redefined warning

Description

This looks like ppc403 and ppc405 are both defined but I am not seeing source of the ppc405 definition. The warning is in this section of code:

#if defined (ppc403) #define exisr 0x040 /* DCR: external interrupt status register */ #define exier 0x042 /* DCR: external interrupt enable register */ #endif /* ppc403 */ #if defined(ppc405) #define exisr 0x0C0 /* DCR: external interrupt status register */ #define exier 0x0C2 /* DCR: external interrupt enable register */ #endif /* ppc405 */

In file included from /home/joel/rtems-work/rtems-testing/rtems/rtems/cpukit/include/rtems/score/percpu.h:25:0,

from ../../../../../../../../rtems/c/src/lib/libbsp/powerpc/virtex/../../../../../../bsps/powerpc/shared/exceptions/ppc_exc_async_normal.S:16:

/home/joel/rtems-work/rtems-testing/rtems/rtems/cpukit/score/cpu/powerpc/include/rtems/asm.h:228:0: warning: "exisr" redefined

#define exisr 0x0C0 /* DCR: external interrupt status register */

/home/joel/rtems-work/rtems-testing/rtems/rtems/cpukit/score/cpu/powerpc/include/rtems/asm.h:224:0: note: this is the location of the previous definition

#define exisr 0x040 /* DCR: external interrupt status register */

/home/joel/rtems-work/rtems-testing/rtems/rtems/cpukit/score/cpu/powerpc/include/rtems/asm.h:229:0: warning: "exier" redefined

#define exier 0x0C2 /* DCR: external interrupt enable register */

/home/joel/rtems-work/rtems-testing/rtems/rtems/cpukit/score/cpu/powerpc/include/rtems/asm.h:225:0: note: this is the location of the previous definition

#define exier 0x042 /* DCR: external interrupt enable register */

#3504 9 months ago fixed arch/powerpc Joel Sherrill Sebastian Huber 9 months ago
Summary

Warning and formatting in bsps/powerpc/mpc55xxevb/dev/dspi.c

Description

This is a printf format warning. Also the file is formatted with tabs and not two spaces.

In file included from ../../../../../../../../rtems/c/src/lib/libbsp/powerpc/mpc55xxevb/../../../../../../bsps/powerpc/mpc55xxevb/dev/dspi.c:32:0: ../../../../../../../../rtems/c/src/lib/libbsp/powerpc/mpc55xxevb/../../../../../../bsps/powerpc/mpc55xxevb/dev/dspi.c: In function 'mpc55xx_dspi_edma_done': /home/joel/rtems-work/rtems-testing/rtems/rtems/cpukit/include/rtems/status-checks.h:88:23: warning: format '%x' expects argument of type 'unsigned int', but argument 3 has type 'uint32_t {aka long unsigned int}' [-Wformat=]

RTEMS_SYSLOG_PRINT( "%s: " fmt, func, ##VA_ARGS)

/home/joel/rtems-work/rtems-testing/rtems/rtems/cpukit/include/rtems/status-checks.h:76:15: note: in definition of macro 'RTEMS_SYSLOG_PRINT'

printk( fmt, ##VA_ARGS)

/home/joel/rtems-work/rtems-testing/rtems/rtems/cpukit/include/rtems/status-checks.h:109:3: note: in expansion of macro 'RTEMS_SYSLOG'

RTEMS_SYSLOG( "Error: " fmt, ##VA_ARGS) ~

../../../../../../../../rtems/c/src/lib/libbsp/powerpc/mpc55xxevb/../../../../../../bsps/powerpc/mpc55xxevb/dev/dspi.c:122:3: note: in expansion of macro 'RTEMS_SYSLOG_ERROR'

RTEMS_SYSLOG_ERROR( "eDMA error: 0x%08x\n", error_status); ~

../../../../../../../../rtems/c/src/lib/libbsp/powerpc/mpc55xxevb/../../../../../../bsps/powerpc/mpc55xxevb/dev/dspi.c:122:41: note: format string is defined here

RTEMS_SYSLOG_ERROR( "eDMA error: 0x%08x\n", error_status);

~ %08lx

#3503 9 months ago fixed doc Chris Johns Chris Johns 9 months ago
Summary

PDF Documentation is missing an index

Description

The PDF generated documents have an empty index.

#3502 9 months ago fixed arch/arm Joel Sherrill Sebastian Huber 9 months ago
Summary

PL111_LCD_CONTROL_LCD_BPP_16 Redefined

Description

The constant PL111_LCD_CONTROL_LCD_BPP_16 is defined twice in the file bsps/arm/include/bsp/arm-pl111-regs.h:

#define PL111_LCD_CONTROL_LCD_BPP_16 0x04U #define PL111_LCD_CONTROL_LCD_BPP_24 0x05U #define PL111_LCD_CONTROL_LCD_BPP_16 0x06U #define PL111_LCD_CONTROL_LCD_BPP_12 0x07U

Given the context, I am guessing the first one should be BPP_32 but since Sebastian added the file, I am assuming he has docs and can answer this question for sure.

#3501 9 months ago fixed arch/powerpc Joel Sherrill Christian Mauderer 9 months ago
Summary

MSR_RI defined multiple places

Description

Two files define the MSR_RI macro. Since one is a register name on the PowerPC, this shows up on 48 PowerPC BSPs. This is one example.

log/powerpc-qoriq_e6500_64.log:../../../../../../rtems/c/src/../../cpukit/dev/serial/sc16is752-regs.h:117:0: warning: "MSR_RI" redefined log/powerpc-qoriq_e6500_64.log: #define MSR_RI (1u << 6) log/powerpc-qoriq_e6500_64.log: #define MSR_RI (1<<1) /* Recoverable Exception */ log/powerpc-qoriq_e6500_64.log:../../../../../../rtems/c/src/../../cpukit/dev/serial/sc16is752-regs.h:117:0: warning: "MSR_RI" redefined log/powerpc-qoriq_e6500_64.log: #define MSR_RI (1u << 6) log/powerpc-qoriq_e6500_64.log: #define MSR_RI (1<<1) /* Recoverable Exception */

#3500 9 months ago fixed tool Chris Johns Chris Johns <chrisj@…> 9 months ago
Summary

Change rtems_waf's RTEMS path check from bin to share/rtems<version>`

Description

Currently rtems_waf checks for a bin directory in the RTEMS path. There is no bin directory any more so this test needs to be changed to share/rtems<version>.

#3499 10 months ago fixed doc Jens Schweikhardt Sebastian Huber 9 months ago
Summary

The "Index" chapter is empty

Description

The "Index" chapter, https://docs.rtems.org/branches/master/cpu-supplement/genindex.html is empty.

This chapter should contain a usable and helpful index or not be generated at all.

#3498 10 months ago fixed doc Jens Schweikhardt Sebastian Huber 9 months ago
Summary

Command and Variable Index is empty

Description

The Command and Variable Index, https://docs.rtems.org/branches/master/cpu-supplement/command.html does not contain any commands or variables.

If this chapter does not apply to RTEMS it should not be generated. If it does apply, it should contain what its title promises.

#3496 10 months ago fixed score Sebastian Huber Sebastian Huber 9 months ago
Summary

Remove superfluous interrupt enable in _Thread_Dispatch_enable()

Description

The _Thread_Dispatch_enable() contains a superfluous interrupt enable. This bug had probably no effect since the interrupt enable is idempotent on all CPU ports.

RTEMS_INLINE_ROUTINE void _Thread_Dispatch_enable( Per_CPU_Control *cpu_self )
{
  uint32_t disable_level = cpu_self->thread_dispatch_disable_level;

  if ( disable_level == 1 ) {
    ISR_Level level;

    _ISR_Local_disable( level );

    if (
      cpu_self->dispatch_necessary
#if defined(RTEMS_SCORE_ROBUST_THREAD_DISPATCH)
        || !_ISR_Is_enabled( level )
#endif
    ) {
      _Thread_Do_dispatch( cpu_self, level ); <-- This function enabled interrupts
    } else {
      cpu_self->thread_dispatch_disable_level = 0;
      _Profiling_Thread_dispatch_enable( cpu_self, 0 );
    }

    _ISR_Local_enable( level ); <-- Here we enable it again
  } else {
    _Assert( disable_level > 0 );
    cpu_self->thread_dispatch_disable_level = disable_level - 1;
  }
}
#3491 10 months ago fixed posix Sebastian Huber Sebastian Huber 9 months ago
Summary

Align mprotect() prototype with POSIX

Description

The correct prototype is:

int	mprotect(void *, size_t, int);
#3490 10 months ago fixed config Sebastian Huber Sebastian Huber 6 weeks ago
Summary

Remove CONFIGURE_HAS_OWN_CONFIGURATION_TABLE

Description

This configuration option was obsoleted in RTEMS 5.1.

#3489 10 months ago fixed config Sebastian Huber Sebastian Huber 8 months ago
Summary

Obsolete CONFIGURE_HAS_OWN_CONFIGURATION_TABLE

Description

Obsolete the CONFIGURE_HAS_OWN_CONFIGURATION_TABLE configuration option. The RTEMS configuration should be done via explicit configuration options to allow more freedom for implementation changes.

#3488 10 months ago fixed config Sebastian Huber Sebastian Huber 8 months ago
Summary

Remove CONFIGURE_HAS_OWN_MOUNT_TABLE

Description

RTEMS has the configuration option CONFIGURE_HAS_OWN_MOUNT_TABLE since 1999. This configuration option is broken since RTEMS 4.11. Remove this broken configuration option.

#3486 10 months ago fixed rtems Sebastian Huber Sebastian Huber 10 months ago
Summary

Use uintptr_t and size_t instead of uint32_t in rtems_partition_create()

Description

Use uintptr_t to specify the length of the partition buffer area instead of uint32_t. This is in line with rtems_region_create(). On 64-bit targets, the length may exceed 4GiB. Use size_t for the buffer size, since on some targets the single object size is less than the overall address range, e.g. m32c sizeof(uintptr_t) > sizeof(size_t).

#3484 10 months ago fixed fs/rfs Sebastian Huber Sebastian Huber 10 months ago
Summary

RFS: Remove stray call of rtems_disk_release() in rtems_rfs_buffer_sync()

Description

The function rtems_rfs_buffer_sync() erroneously calls rtems_disk_release(). This screws up the reference counting of the disk.

#3482 10 months ago fixed rtems Sebastian Huber Sebastian Huber 10 months ago
Summary

Relax the buffer alignment required by rtems_partition_create()

Description

Buffer alignment required by rtems_partition_create() is too strict since it is checked via _Addresses_Is_aligned() which is

RTEMS_INLINE_ROUTINE bool _Addresses_Is_aligned (
  const void *address
)
{
#if (CPU_ALIGNMENT == 0)
    return true;
#else
    return (((uintptr_t)address % CPU_ALIGNMENT) == 0);
#endif
}

The CPU_ALIGNMENT must take long double and vector data type alignment requirements into account. For the partition maintenance only pointer alignment is required. The user should ensure that its buffer is suitable for the items it wants to manage. The user should not be burdened to provide buffers with the maximum architecture alignment, e.g. why need a 16 byte aligned buffer if you want to manage items with 4 byte integers only?

#3480 10 months ago fixed config Sebastian Huber Sebastian Huber 7 months ago
Summary

CONFIGURE_MINIMUM_TASK_STACK_SIZE may affect CONFIGURE_INTERRUPT_STACK_SIZE

Description

In case an application defines CONFIGURE_MINIMUM_TASK_STACK_SIZE, then this may change the CONFIGURE_INTERRUPT_STACK_SIZE as well:

#ifndef CONFIGURE_INTERRUPT_STACK_SIZE
  #ifdef BSP_INTERRUPT_STACK_SIZE
    #define CONFIGURE_INTERRUPT_STACK_SIZE BSP_INTERRUPT_STACK_SIZE
  #else
    #define CONFIGURE_INTERRUPT_STACK_SIZE CONFIGURE_MINIMUM_TASK_STACK_SIZE
  #endif
#endif

I think this is not what a user expects.

#3478 10 months ago fixed arch/riscv Joel Sherrill Sebastian Huber 9 months ago
Summary

RISCV BSP Tester Cleanup Needed

Description

rtems-tools currently has the following bsp testing configurations:

$ find . -name "*riscv*ini"
./tester/rtems/rtems-bsps-riscv64.ini
./tester/rtems/testing/bsps/riscv64_generic.ini
./tester/rtems/testing/bsps/riscv_generic.ini
./tester/rtems/rtems-bsps-riscv32.ini

rtems-bsps.ini does not include the riscv.

tester/rtems/rtems-bsps-tiers.ini does not list the riscv

#3475 10 months ago fixed score Sebastian Huber Sebastian Huber 10 months ago
Summary

Add RTEMS_PREDICT_TRUE() and RTEMS_PREDICT_FALSE() for static branch prediction hints

Description

Add macros to <rtems/score/basedefs.h> for the GNU extension builtin_expect(). Use RTEMS_PREDICT_TRUE() and RTEMS_PREDICT_FALSE() similar to the FreeBSD predict_true() and predict_false(). Alternatives are the Linux likely() and unlikely() or directly the GCC builtin_expect(), however, the FreeBSD names seem to be the most easy to understand.

#3472 10 months ago fixed network/libbsd Sebastian Huber Sebastian Huber 4 months ago
Summary

Update of libbsd to a version close to the FreeBSD 12 release

Description

The FreeBSD project is about to prepare the FreeBSD 12 release soon:

https://www.freebsd.org/releases/12.0R/schedule.html

Use this time frame to update the libbsd stepwise to a FreeBSD trunk version close to the FreeBSD 12 release.

#3471 10 months ago fixed lib Sebastian Huber Sebastian Huber 10 months ago
Summary

Update libfdt as of date 2018-07-09

Description

The initial import of libfdt was in 2015. Update it to the version as of date 2018-07-09.

#3465 11 months ago fixed fs/jaffs2 Sebastian Huber Sebastian Huber 8 months ago
Summary

Integrate all changes from Linux v3.11 to v4.17 made in the JFFS2 sources

Description

The original import version of the JFFS2 sources was Linux v3.11 (September 2013). Update the JFFS2 sources to Linux v4.17.

The Git command to generate the patches is:

git format-patch v3.11..v4.17 -- include/uapi/linux/jffs2.h fs/jffs2/LICENCE fs/jffs2/acl.h fs/jffs2/build.c fs/jffs2/compr.c fs/jffs2/compr.h fs/jffs2/compr_rtime.c fs/jffs2/compr_rubin.c fs/jffs2/compr_zlib.c fs/jffs2/debug.c fs/jffs2/debug.h fs/jffs2/erase.c fs/jffs2/gc.c fs/jffs2/jffs2_fs_i.h fs/jffs2/jffs2_fs_sb.h fs/jffs2/nodelist.c fs/jffs2/nodelist.h fs/jffs2/nodemgmt.c fs/jffs2/read.c fs/jffs2/readinode.c fs/jffs2/scan.c fs/jffs2/summary.h fs/jffs2/write.c fs/jffs2/xattr.h

We need a source file transformation in the patches:

sed -i 's%/fs/jffs2%/cpukit/libfs/src/jffs2/src%g' 00*

To support the first commit:

From e8bbeeb755a077cfc0f814b07739f9225642d65c Mon Sep 17 00:00:00 2001
From: Cody P Schafer <cody@linux.vnet.ibm.com>
Date: Thu, 23 Jan 2014 15:56:11 -0800
Subject: [PATCH 01/24] fs/jffs2: use rbtree postorder iteration helper instead
 of opencoding

Use rbtree_postorder_for_each_entry_safe() to destroy the rbtree instead
of opencoding an alternate postorder iteration that modifies the tree

Signed-off-by: Cody P Schafer <cody@linux.vnet.ibm.com>
Cc: Michel Lespinasse <walken@google.com>
Cc: Jan Kara <jack@suse.cz>
Cc: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

we have to a postorder iterator to the red-black tree support code.

The remaining 23 patches are easy to apply.

#3463 11 months ago fixed tool Chris Johns 7 months ago
Summary

Convert covoar to use DWARF function data

Description

Convert covoar to use DWARF function data for the executable symbol table. Objdump is still needed for the instruction decode which is needed to find the instruction address boundaries.

#3461 11 months ago fixed tool Sebastian Huber Sebastian Huber 11 months ago
Summary

Canadian cross compilation of RTEMS tools not supported for x86_64-w64-mingw32

#3460 11 months ago fixed tool/gdb Chris Johns Chris Johns 3 months ago
Summary

GDB 8 SIS LEON2 LEON3 Patches

Description

Jiri patch for gdb-8.0.1.

#3459 11 months ago fixed score Sebastian Huber Sebastian Huber 2 months ago
Summary

Rework initialization and interrupt stack support

Description

We need an initialization stack to run the sequential system initialization before multitasking is enabled. The system initialization is done with interrupts disabled.

We need an interrupt stack for interrupt processing. This helps to avoid a per thread stack overhead for interrupt processing. The size for interrupt stack is application dependent, e.g. maximum interrupt nest level, stack demands of interrupt handlers.

The initialization and interrupt stacks are needed for each processor in the system.

Since interrupts are disabled during the sequential system initialization we can re-use the interrupt stack for the initialization stack. This is important for low end targets, with very limited RAM sizes. We need the initialization stack before a proper C run-time environment is set up e.g. we cannot assume that the access to global data is available. The stack memory area begin and size should be available via global symbols (named addresses). On some BSPs, e.g. ARM, this is done via the linker command file.

It should be possible to set the stack size via the CONFIGURE_INTERRUPT_STACK_SIZE configuration option and not via some magic stuff in linker command files.

Many BSPs set the BSS area to zero during system initialization. Thus, the initialization stack must not be contained in the BSS area.

The interrupt stack implementation is currently controlled by the following CPU port defines:

/**
 * Does RTEMS manage a dedicated interrupt stack in software?
 *
 * If TRUE, then a stack is allocated in @ref _ISR_Handler_initialization.
 * If FALSE, nothing is done.
 *
 * If the CPU supports a dedicated interrupt stack in hardware,
 * then it is generally the responsibility of the BSP to allocate it
 * and set it up.
 *
 * If the CPU does not support a dedicated interrupt stack, then
 * the porter has two options: (1) execute interrupts on the
 * stack of the interrupted task, and (2) have RTEMS manage a dedicated
 * interrupt stack.
 *
 * If this is TRUE, @ref CPU_ALLOCATE_INTERRUPT_STACK should also be TRUE.
 *
 * Only one of @ref CPU_HAS_SOFTWARE_INTERRUPT_STACK and
 * @ref CPU_HAS_HARDWARE_INTERRUPT_STACK should be set to TRUE.  It is
 * possible that both are FALSE for a particular CPU.  Although it
 * is unclear what that would imply about the interrupt processing
 * procedure on that CPU.
 *
 * Port Specific Information:
 *
 * XXX document implementation including references if appropriate
 */
#define CPU_HAS_SOFTWARE_INTERRUPT_STACK FALSE

/**
 * Does this CPU have hardware support for a dedicated interrupt stack?
 *
 * If TRUE, then it must be installed during initialization.
 * If FALSE, then no installation is performed.
 *
 * If this is TRUE, @ref CPU_ALLOCATE_INTERRUPT_STACK should also be TRUE.
 *
 * Only one of @ref CPU_HAS_SOFTWARE_INTERRUPT_STACK and
 * @ref CPU_HAS_HARDWARE_INTERRUPT_STACK should be set to TRUE.  It is
 * possible that both are FALSE for a particular CPU.  Although it
 * is unclear what that would imply about the interrupt processing
 * procedure on that CPU.
 *
 * Port Specific Information:
 *
 * XXX document implementation including references if appropriate
 */
#define CPU_HAS_HARDWARE_INTERRUPT_STACK TRUE

/**
 * Does RTEMS allocate a dedicated interrupt stack in the Interrupt Manager?
 *
 * If TRUE, then the memory is allocated during initialization.
 * If FALSE, then the memory is allocated during initialization.
 *
 * This should be TRUE is CPU_HAS_SOFTWARE_INTERRUPT_STACK is TRUE.
 *
 * Port Specific Information:
 *
 * XXX document implementation including references if appropriate
 */
#define CPU_ALLOCATE_INTERRUPT_STACK TRUE

Do the following steps to unify and simplify the initialization and interrupt stack support.

  1. Add RTEMS_DECLARE_GLOBAL_SYMBOL() and RTEMS_DEFINE_GLOBAL_SYMBOL() macros to basedefs.h, to allow a global symbol definition via C code, e.g. in confdefs.h, to make the interrupt stack size available to the low level initialization code.
  1. Add a special input section ".rtemsstack" to the linker command files to allow a placement of the interrupt stacks. The BSPs can provide the optimal memory location for this section, e.g. on-chip RAM, tightly-coupled memory.

This makes the CPU_HAS_SOFTWARE_INTERRUPT_STACK and CPU_HAS_HARDWARE_INTERRUPT_STACK CPU port defines superfluous, since the low level initialization code has all information available via global symbols.

This makes the CPU_ALLOCATE_INTERRUPT_STACK CPU port define superfluous, since the interrupt stacks are allocated by confdefs.h for all architectures. There is no need for BSP-specific linker command file magic.

The optional _CPU_Interrupt_stack_setup() is still useful to customize the registration of the interrupt stack area in the per-CPU information.

#3458 11 months ago fixed tool Chris Johns Chris Johns <chrisj@…> 11 months ago
Summary

rtems-test should not use the env PATH to find covoar

Description

The rtems-test command should know where covoar is when invoking it. It cannot use the environment's path. The path can contain invalid or outdated versions with subtle issues that could be hard to find.

There should be no need to run install to use and test rtems-test with coverage.

The rtems-test python code for running the tests knows where it is and adjusts. For example using an absolute path to rtems-tests in a build directly results in it being able to find the development tree rtemstoolkit and configuration data. The command needs to be taught to find the development version of covoar.

Note, currently covoar needs external tools and this is currently using the environment's path however there is work underway to remove this dependence so there case does not need to be handled.

#3455 11 months ago fixed tool Sebastian Huber Sebastian Huber 11 months ago
Summary

Remove install-if-change script

Description

The last installed tool in RTEMS repository is the install-if-change script. This script does the same as the standard "install" program with an additional feature to install variants via the -V command line option.

This script is used by the standard Makefile support:

c/src/make/host.cfg.in:INSTALL_CHANGE=$(PROJECT_BIN)/install-if-change

The INSTALL_CHANGE is used by:

c/src/make/host.cfg.in:ifndef INSTALL_CHANGE c/src/make/host.cfg.in:INSTALL_CHANGE=$(PROJECT_BIN)/install-if-change c/src/make/host.cfg.in:INSTALL_VARIANT=$(INSTALL_CHANGE) -V "$(LIB_VARIANT)"

Is the variant stuff still supported?

I would remove the support for it and replace the "install-if-change" script with the standard "install" program.

#3454 11 months ago fixed doc Vidushi Vashishth Vidushi Vashishth 3 months ago
Summary

Tracing Framework Documentation in User Manual

Description

1) Write up a new chapter in the user manual regarding the existing tracing framework in RTEMS. Include a description of the components of the tracing framework and the various techniques used to generate traces currently. Add explanatory demonstrations and samples.

2) Expand the chapter to include CTF generation (currently under development) as it evolves.

#3453 11 months ago fixed arch/riscv Sebastian Huber Sebastian Huber 11 months ago
Summary

Add RISC-V GDB

#3452 11 months ago fixed arch/riscv Sebastian Huber Sebastian Huber 9 months ago
Summary

Update RISC-V tool chain to support standard 64-bit chips

Description

First step is to include this bug fix in Binutils:

https://sourceware.org/bugzilla/show_bug.cgi?id=23244

Second step is a multilib update. Third step is a merge of the riscv32 and riscv64 tool chains into a single riscv tool chain.

#3451 11 months ago fixed tool Sebastian Huber Sebastian Huber 11 months ago
Summary

Remove size_rtems script

Description

This script is horribly out of date. A new version could be placed in RTEMS tools if necessary.

#3447 12 months ago fixed tool Sebastian Huber Sebastian Huber 11 months ago
Summary

Remove rtems-testsuite-autostuff script

Description

It is not used.

#3446 12 months ago fixed tool Sebastian Huber Sebastian Huber 11 months ago
Summary

Remove cvsignore-add.sh script

Description

This script is obsolete since moving to Git.

#3445 12 months ago fixed tool Sebastian Huber Sebastian Huber 11 months ago
Summary

Remove multigen script

Description

This script is unused and out dated.

#3444 12 months ago fixed tool Sebastian Huber Sebastian Huber 11 months ago
Summary

Remove nios2gen program

Description

Rename it to rtems-nios2gen

#3443 12 months ago fixed tool Sebastian Huber Sebastian Huber 11 months ago
Summary

Remove shgen program

Description

Rename it to rtems-shgen.

#3437 12 months ago fixed unspecified Sebastian Huber Sebastian Huber 12 months ago
Summary

Replace use of printk() in free() with a fatal error

Description

An invalid heap usage such as a double free is usually a fatal error. Replace the use of printk() in free() with a fatal error. Introduce a new fatal error source for heap errors.

#3436 12 months ago fixed dev Sebastian Huber Sebastian Huber 11 months ago
Summary

Remove clock driver Clock_driver_support_shutdown_hardware() hook

Description

Most applications use a clock driver and most BSPs use the clock driver framework provided by clockimpl.h. This framework offers a Clock_driver_support_shutdown_hardware() hook which is used like this.

#ifdef Clock_driver_support_shutdown_hardware
/**
 *  @brief Clock_exit
 *
 *  This routine allows the clock driver to exit by masking the interrupt and
 *  disabling the clock's counter.
 */
void Clock_exit( void )
{
  Clock_driver_support_shutdown_hardware();

  /* do not restore old vector */
}
#endif
...
#ifdef Clock_driver_support_shutdown_hardware
  atexit( Clock_exit );
#endif

The aim is to stop clock tick interrupts at some late point in the exit() procedure.

The use of atexit() pulls in malloc() which pulls in errno. It is incompatible with the intention of the CONFIGURE_DISABLE_NEWLIB_REENTRANCY configuration option.

The exit() function must be called from thread context, so accompanied clock tick interrupts should cause no harm. On the contrary, someone may assume a normal operating system operation, e.g. working timeouts.

Remove the superfluous Clock_driver_support_shutdown_hardware() hook.

#3435 12 months ago fixed config Sebastian Huber Sebastian Huber 9 months ago
Summary

Add test case for CONFIGURE_BSP_PREREQUISITE_DRIVERS configuration option

Description

This configuration option is untested

#3434 12 months ago fixed config Sebastian Huber Sebastian Huber 10 months ago
Summary

Add CONFIGURE_MINIMUM_POSIX_THREAD_STACK_SIZE configuration option

#3433 12 months ago fixed arch/riscv Sebastian Huber Sebastian Huber 4 months ago
Summary

Add SMP support for RISC-V

Description

The project includes the following tasks:

  • add CPU counter support
  • add context validation code
  • add BSP support for Qemu
  • add support for device tree provided by Qemu
  • fix all unexpected test suite failures running on Qemu
  • add build system support to enable an SMP build
  • add SMP implementation
#3432 12 months ago wontfix score Joel Sherrill 8 months ago
Summary

Remove Simple SMP Priority Scheduler

Description

This scheduler was the first SMP scheduler added. It was created to have an easy SMP scheduler to debug. This was especially important when all of the SMP modifications and support were new. A Simple Scheduler has a use case as a low resource alternative for small uniprocessor systems. But the SMP variant just doesn't seem to have a good use case. If you have an SMP system, the application is almost certain to have enough resources where the more complicated data structures used by the other schedulers wouldn't be a burden. The Deterministic Priority Scheduler uses ~3K for FIFO with 256 priorities. This should not be an issue for an SMP system.

This ticket is a proposal to remove this as no longer having a use case.

#3425 13 months ago fixed unspecified Joel Sherrill 12 months ago
Summary

examples-v2: PowerPC fails to build fat_ramdisk

Description

beatnik, gwlcfm, haleakala, mpc5566evb, mpc5566evb_spe, mpc5566evb_spe, mpc5643l_evb, mpc5668g, mpc5674f_ecu508_app, mpc5674f_ecu508_boot, mpc5674fevb, mpc5674fevb_spe, mpc5674f_rsm6, mvme3100, mvme3100, phycore_mpc5554, qemuprep-altivec, qemuprep

[5/7] Compiling build/powerpc-rtems5-beatnik/filesystem/fat_ramdisk/fs-root.tar
In file included from /home/joel/rtems-work/bsp-install//powerpc-rtems5/beatnik/lib/include/libcpu/powerpc-utility.h:40:0,
                 from /home/joel/rtems-work/bsp-install//powerpc-rtems5/beatnik/lib/include/bsp/vectors.h:40,
                 from /home/joel/rtems-work/bsp-install//powerpc-rtems5/beatnik/lib/include/bsp.h:27,
                 from ../../gdb/overwrite/rtems_init.c:7:
/home/joel/rtems-work/bsp-install//powerpc-rtems5/beatnik/lib/include/rtems/powerpc/powerpc.h:283:2: error: #error "Unsupported CPU Model"
 #error "Unsupported CPU Model"
  ^~~~~

In file included from /home/joel/rtems-work/bsp-install//powerpc-rtems5/beatnik/lib/include/libcpu/powerpc-utility.h:40:0,
                 from /home/joel/rtems-work/bsp-install//powerpc-rtems5/beatnik/lib/include/bsp/vectors.h:40,
                 from /home/joel/rtems-work/bsp-install//powerpc-rtems5/beatnik/lib/include/bsp.h:27,
                 from ../../hello/hello_world_c/test.c:21:
/home/joel/rtems-work/bsp-install//powerpc-rtems5/beatnik/lib/include/rtems/powerpc/powerpc.h:283:2: error: #error "Unsupported CPU Model"
 #error "Unsupported CPU Model"
  ^~~~~

Waf: Leaving directory `/data/home/joel/rtems-work/examples-v2/build/powerpc-rtems5-beatnik'
Build failed
#3424 13 months ago fixed examples Joel Sherrill Joel Sherrill 7 months ago
Summary

examples-v2: no MIPS BSPs pass configuration step

Description
Checking for program 'ar'                  : /home/joel/rtems-work/tools/5/bin/mips-rtems5-ar 
Checking for program 'g++, c++'            : /home/joel/rtems-work/tools/5/bin/mips-rtems5-g++ 
Checking for program 'ar'                  : /home/joel/rtems-work/tools/5/bin/mips-rtems5-ar 
Checking for program 'gas, gcc'            : /home/joel/rtems-work/tools/5/bin/mips-rtems5-gcc 
Checking for program 'ar'                  : /home/joel/rtems-work/tools/5/bin/mips-rtems5-ar 
Compiler version (mips-rtems5-gcc)         : 7.3.0 20180125 (RTEMS 5, RSB 6d9c77c77d271d1fc2dfe8493d6713930b52a6dd, Newlib 3.0.0) 
Checking for RTEMS CPU options header      : started 
-> processing test results                 : 1 test failed 
One of the tests has failed, read config.log for more information
(complete log in /data/home/joel/rtems-work/examples-v2/build/config.log)
+ check_fatal 1 'failed waf configure - examples-v2 on rbtx4925'
#3423 13 months ago duplicate admin Joel Sherrill 13 months ago
Summary

examples-v2: m68k/powerpc BSPs undefined reference to _Thread_Life_action_handler

Description

fat_ramdisk is failing to link on multiple m68k and powerpc BSPs. Errors below the list of BSPs

m68k-av5282 m68k-gen68340 m68k-gen68360 m68k-gen68360_040 m68k-mcf5206elite m68k-mcf52235 m68k-mcf5225x m68k-mcf5235 m68k-mcf5329 m68k-mrm332 m68k-pgh360 m68k-uC5282 powerpc-mpc8260ads powerpc-qemuppc powerpc-qoriq_e6500_64 powerpc-ss555

[20/20] Processing rtrace: build/m68k-rtems5-av5282/filesystem/fat_ramdisk/init.c.4.o build/m68k-rtems5-av5282/filesystem/fat_ramdisk/fs-root-tar.c.4.o -> build/m68k-rtems5-av5282/filesystem/fat_ramdisk/fat_ramdisk.texe
/home/joel/rtems-work/tools/5/bin/m68k-rtems5-gcc: /tmp/ccIRjaaa.o: In function `__wrap__Thread_Life_action_handler':
/home/joel/rtems-work/tools/5/bin/m68k-rtems5-gcc: /tmp/cckrhaaa.c:1248: undefined reference to `_Thread_Life_action_handler'
/home/joel/rtems-work/tools/5/bin/m68k-rtems5-gcc: collect2: error: ld returned 1 exit status
error: linking: Linker error
#3421 13 months ago wontfix admin Joel Sherrill chrisj@… 7 months ago
Summary

New Trac components for Coverage and Trace

Description

Both coverage and tracing are large enough areas that lumping them into tools or other random categories makes work on them harder to trac.

Please add coverage and tracing. Coverage could be a subcategory of tools.T Tracing could be a standalone component. It has target and tool components.

#3419 13 months ago fixed network/legacy Sebastian Huber Sebastian Huber 13 months ago
Summary

Always build network services (tftpfs, ftpfs, ftpd, telnetd, libdebugger)

Description

Always build network services (tftpfs, ftpfs, ftpd, telnetd, libdebugger) which only depend on the POSIX socket API (provided by Newlib header files) as support libraries. Remove them from libbsd.

The network services must reside in dedicated libraries to avoid a cyclic dependency between libbsd.a and librtemscpu.a.

#3418 13 months ago fixed tool Sebastian Huber Sebastian Huber 13 months ago
Summary

Remove difftest and sorttimes test tools

Description

Evaluation of test results and report generation should move to somewhere else, e.g. the RTEMS tester.

#3417 13 months ago fixed tool Chris Johns Chris Johns 7 months ago
Summary

Add libdwarf to elftoolchain and provide a C++ wrapper

Description

Update the elftoolchain and add libdwarf.

Provide a C++ framework to create reusable access to libdwarf.

#3415 13 months ago fixed admin Joel Sherrill Chris Johns 7 months ago
Summary

Add examples and tests as components

Description

It seems as if we should have tests and examples as components.

#3411 13 months ago fixed arch/powerpc Joel Sherrill Sebastian Huber 13 months ago
Summary

qemuppc does not install linkcmds.base

Description

examples-v2 fail to compile qemuppc because linkcmds.base is not installed.

They build OK for sparc/erc32. This must be a minor glitch from the build system changes.

#3410 13 months ago fixed arch/i386 Sebastian Huber Sebastian Huber 13 months ago
Summary

Remove bin2boot program used by i386 BSPs

Description

For which boot loader is this? Can it be removed?

The sources have no copyright information.

#3407 13 months ago fixed tool Joel Sherrill 7 months ago
Summary

Move Gaisler.org and Gaisler.se hosted RSB patches to rtems.org

Description

Jiri has suggested that the patches used in the RSB that are hosted by him be moved to rtems.org and the RSB patches link be changed.

This impacts at least qemu.

#3403 13 months ago fixed tool/rsb Sebastian Huber Sebastian Huber 13 months ago
Summary

RSB RTEMS tool set build is irreproducible

Description

The RTEMS 5 tool set contains the RTEMS tools (rtems-tools). The version of the RTEMS tools is determined by the tool set build time since the current Git master branch is fetched. Instead use an explicit RTEMS tools version (similar to all other tools, e.g. Binutils, Newlib, GCC, GDB) to make the RTEMS tool set independent of the arbitrary build time.

#3402 13 months ago fixed tool Joel Sherrill chrisj@… 7 months ago
Summary

dl06: mips hurricane Mixed Endian Error

Description

Also occurs on rbtx4925 and rbtx4938

rtems-ld -r /home/joel/rtems-work/rtems-testing/rtems/build-mips-hurricane-rtems/mips-rtems5/c/hurricane -O rap -b dl06.pre -e rtems_main -s \

-o dl06.rap dl06-o1.o dl06-o2.o -lm

error: elf:check_file: /data/home/joel/rtems-work/tools/5/bin/../lib/gcc/mips-rtems5/7.3.0/../../../../mips-rtems5/lib/libc.a:lib_a-_Exit.o@23298: Mixed data types not allowed (LSB/MSB).

#3401 13 months ago fixed tool Joel Sherrill chrisj@… 7 months ago
Summary

dl06: tms570* Mixed LSB/MSB Error

Description

ld-arm-tms570ls3137_hdk-rtems/arm-rtems5/c/tms570ls3137_hdk/testsuites/libtests' rtems-ld -r /home/joel/rtems-work/rtems-testing/rtems/build-arm-tms570ls3137_hdk-rtems/arm-rtems5/c/tms570ls3137_hdk -O rap -b dl06.pre -e rtems_main -s \

-o dl06.rap dl06-o1.o dl06-o2.o -lm

error: elf:check_file: /data/home/joel/rtems-work/tools/5/bin/../lib/gcc/arm-rtems5/7.3.0/../../../../arm-rtems5/lib/libc.a:lib_a-_Exit.o@23760: Mixed data types not allowed (LSB/MSB).

#3397 13 months ago fixed unspecified Sebastian Huber Sebastian Huber 13 months ago
Summary

The register keyword is deprecated in C++11

Description

The following code gives a warning with GCC and -std=c++17:

void f(void)
{
  register int i;
}
test.cc: In function ‘void f()’:
test.cc:3:15: warning: ISO C++1z does not allow ‘register’ storage class specifier [-Wregister]
  register int i;
               ^

Remove the use of the register keyword at least in the public header files for C++ compatibility.

#3396 13 months ago fixed tool Chris Johns Chris Johns 13 months ago
Summary

rtems-ld does not handle R_ARM_V4BX relocation records

Description

The R_ARM_V4BX does not have a symbol and this raised an error with dl06 with a ARMv7 instruction set when merging sections when creating a RAP image.

Ignore this relocation record.

#3395 13 months ago fixed tool Chris Johns Chris Johns 13 months ago
Summary

rtems-ld does not remove executable when there is an output error

Description

An error when outputting an executable does not clean up the file and leaves an incorrect format file.

This is happening with the beagle bone black BSP and test dl06.

#3392 14 months ago fixed tool/rsb Chris Johns Chris Johns 14 months ago
Summary

infinite loop in RSB's path when a prefix path is not writable

Description

The code gets the dirname() of the path stepping up until there is no path however dirname('/') is / so the path never has a length of 0.

#3390 14 months ago fixed network/legacy Sebastian Huber Sebastian Huber 14 months ago
Summary

NFS: Remove support for cexp

Description

There is some support for cexp and tests in the NFS client directory:

cpukit/libfs/src/nfsclient/src/cexphelp.c cpukit/libfs/src/nfsclient/src/dirutils.c cpukit/libfs/src/nfsclient/src/nfs.modini.c cpukit/libfs/src/nfsclient/src/nfsTest.c cpukit/libfs/src/nfsclient/src/rpcio.modini.c

There are also some *.rel files installed. This stuff is probably unused. If it is still in use it should move elsewhere, e.g. some general cexp support outside of the main RTEMS sources. Dead/untested code should not be present in the RTEMS code base.

See also:

https://lists.rtems.org/pipermail/users/2018-April/032182.html

#3389 14 months ago fixed config Joel Sherrill 7 months ago
Summary

Warning flags have disappeared with recent autoconf changes

Description

As of March 30, the compiler invocations had warnings flags. As of today (4/11), there are no warnings flag on most of the compiler invocations.

Something has been lost in the updates.

#3386 14 months ago invalid admin Chris Johns Amar Takhar 7 months ago
Summary

Trac's git changeset browsing is suspect.

Description

It is critical this interface works because we have moved to Trac for release notes and the release notes contain links to the changesets because we reference the tickets in the commits.

Some requests work:

  1. 900c40730dbee34cd7a6f1c03c80896951bf1b9c/rtems
  2. d8de6b9dbe4ab1ef375ecce55e8bfb1028c5dd13/rtems
  3. 9704efb4ec088a472842cbc9bc46392685ebc806/rtems

and others do not:

  1. 2afb22b7e1ebcbe40373ff7e0efae7d207c655a9/rtems

Notes:

  • items 2. and 3. are either side of the changeset a. in the commit history of RTEMS.
  • Clicking on 3. and then the Next Changeset link also fails.
#3385 14 months ago fixed build Chris Johns Chris Johns 14 months ago
Summary

Generate an error if RTEMS's gcc is not found when the user runs configure

Description

Generate an error when the user runs configure if one cannot be found in the path.

#3383 14 months ago fixed build Chris Johns Chris Johns 14 months ago
Summary

Require --enable-rtemsbsp with --enable-smp or --enable-multiprocessor

Description

There is a limited number of BSPs that support SMP or MP so using the BSP wildcard will result in a failed build. Require the user provide a BSP.

#3382 14 months ago fixed build Chris Johns Chris Johns 7 months ago
Summary

Testsuite Makefile merge to one per group of tests

Description

Merge the nested Makefile.am files into a single file per group of tests.

A single Makefile.am for all tests is not practical at this point in time because a test is an estimated 7 lines and with over 750 tests this means the file would be too big and a conflict hot spot.

#3380 14 months ago fixed tool Sebastian Huber Sebastian Huber 11 months ago
Summary

Move rtems-bin2c program to rtems-tools

Description

The rtems-bin2c program (tools/build/rtems-bin2c.c) is exported to the standard RTEMS build infrastructure via the BIN2C variable. Move it to rtems-tools.

#3379 14 months ago fixed tool Sebastian Huber Sebastian Huber 11 months ago
Summary

Remove packhex program

Description

The packhex program ( tools/build/packhex.c) is exported to the standard RTEMS build infrastructure via the PACKHEX variable. It is used by some legacy BSPs. It as unclear license information:

/*****  P A C K H E X . C  ************************************************
 *
 *   Packhex is a hex-file compaction utility.  It attempts to concatenate
 *   hex records to produce more size-efficient packaging.
 *
 *   Limitations: Input files must be correctly formatted.  This utility
 *                is not robust enough to detect hex-record formatting
 *                errors.
 *
 *   Published:   May 1993 Embedded Systems Programming magazine
 *                "Creating Faster Hex Files"
 *
 *   URL:         ESP magazine: http://www.embedded.com
 *                Source Code:  ftp://ftp.mfi.com/pub/espmag/1993/pakhex.zip
 *
 *   Author:      Mark Gringrich
 *
 *   Compiler:    Microsoft C 6.0
 *                cl /F 1000 packhex.c
 *
 **************************************************************************/

Move it to rtems-tools.

#3378 14 months ago fixed tool Sebastian Huber Sebastian Huber 11 months ago
Summary

Remove unhex program

Description

The unhex program (tools/build/unhex.c) has no license information and is unused in the RTEMS build. Users of HEX files should consider to use ELF instead. Remove it.

#3377 14 months ago fixed tool Sebastian Huber Sebastian Huber 11 months ago
Summary

Remove eolstrip program

Description

The eolstrip program (tools/build/eolstrip.c) has no license information and is unused in the RTEMS build. General usability is questionable, for example a

sed -i 's/[[:space:]]*$//' file

performs a similar task. Remove it.

#3376 14 months ago fixed tool Sebastian Huber Sebastian Huber 11 months ago
Summary

Remove cklength program

Description

The cklength program (tools/build/cklength.c) has no license information and is unused in the RTEMS build. General usability is questionable, for example a

awk 'length($0) > 80' < file

performs a similar task. Remove it.

#3375 14 months ago fixed build Sebastian Huber Sebastian Huber 7 months ago
Summary

Remove command line pre-processor defines

Description

Command line defines defined by the build system make it difficult get a consistent view of the sources from other entities, e.g. static code analysis, code editors and reviews.

Command line defines are currently used here:

c/src/lib/libbsp/mips/hurricane/Makefile.am:libbsp_a_CPPFLAGS = $(AM_CPPFLAGS) -DRM52XX
c/src/lib/libbsp/mips/rbtx4938/Makefile.am:libbsp_a_CPPFLAGS = $(AM_CPPFLAGS) -DTX49
c/src/lib/libbsp/mips/jmr3904/Makefile.am:libbsp_a_CPPFLAGS = $(AM_CPPFLAGS) -DTX39
cpukit/pppd/Makefile.am:libpppd_a_CPPFLAGS = $(AM_CPPFLAGS) -D__BSD_VISIBLE -I$(srcdir)/../libmd
cpukit/libfs/Makefile.am:libjffs2_a_CPPFLAGS += -D__ECOS
cpukit/libfs/Makefile.am:libjffs2_a_CPPFLAGS += '-DKBUILD_MODNAME="JFFS2"'
cpukit/mghttpd/Makefile.am:# libmghttpd_a_CPPFLAGS += -DHAVE_MD5
cpukit/mghttpd/Makefile.am:libmghttpd_a_CPPFLAGS += -DNO_SSL -DNO_POPEN -DNO_CGI -DUSE_WEBSOCKET
cpukit/librpc/Makefile.am:librpc_CPPFLAGS = -D_RPC_read=read -D_RPC_write=write -D_RPC_close=close \
cpukit/libnetworking/Makefile.am:libnetworking_CPPFLAGS = -DINET -DNFS \
cpukit/libnetworking/Makefile.am:libc_CPPFLAGS = -DNOPOLL -DNOSELECT -D__BSD_VISIBLE -D_THREAD_SAFE
cpukit/libnetworking/Makefile.am:lib_CPPFLAGS = -DNOPOLL -DNOSELECT
cpukit/libnetworking/Makefile.am:lib_a_CPPFLAGS = $(AM_CPPFLAGS) $(lib_CPPFLAGS) -D__BSD_VISIBLE
cpukit/libdl/Makefile.am:libdl_a_CPPFLAGS = $(AM_CPPFLAGS) -DRTEMS_RTL_RAP_LOADER=1 -DRTEMS_RTL_ELF_LOADER=1
#3374 14 months ago fixed tool Joel Sherrill Chris Johns 7 months ago
Summary

rtems-test does not honor --mail-from argument

Description

This is on the master but may apply to other branches.

$ /home/joel/rtems-work/rtems-toolstester/rtems-test --rtems-tools=/home/joel/rtems-work/tools/5 --rtems-bsp=erc32 --log=run.log --mail --mail-from=joel@… --mail-to=build@… ./sparc-rtems5/c/erc32/testsuites/samples/base_sp/base_sp.exe error: no valid from address for mail

The rtems-test command will work if you have a ~/.mailrc with something like this:

set from="Joel Sherrill <joel@…>"

#3358 14 months ago fixed lib/block Sebastian Huber Sebastian Huber 6 months ago
Summary

Deprecate rtems_disk_create_phys(), etc.

Description

There are currently two implementations of a block device (disk). Deprecate the legacy rtems_disk_create_phys(), etc. implementation. Remove all RTEMS internal uses except in the block01 test. Add RTEMS_DEPRECATED attribute to API.

#3354 14 months ago fixed arch/powerpc Joel Sherrill Joel Sherrill 14 months ago
Summary

PowerPC BSPs duplicate PAGE_MASK, etc redefinition

Description

The following BSPs:

powerpc-beatnik powerpc-mcp750 powerpc-mtx603e powerpc-mvme2100 powerpc-mvme2307 powerpc-mvme5500 powerpc-qemuprep-altivec powerpc-qemuprep

use bsps/powerpc/include/libcpu/page.h which defines _ALIGN, PAGE_MASK, and PAGE_SIZE. These are defined by <machine/param.h>. I think the solution is to delete the versions in libcpu/page.h. Comments appreciated.

=================== In file included from ../../../../../../../../rtems/c/src/lib/libbsp/powerpc/mvme5500/../../powerpc/shared/startup/pgtbl_setup.c:3:0: /home/joel/rtems-work/rtems-testing/rtems/rtems/bsps/powerpc/include/libcpu/page.h:22:0: warning: "PAGE_MASK" redefined

#define PAGE_MASK (~(PAGE_SIZE-1))

In file included from /data/home/joel/rtems-work/tools/5/powerpc-rtems5/include/sys/_cpuset.h:36:0,

from /data/home/joel/rtems-work/tools/5/powerpc-rtems5/include/sys/cpuset.h:45, from /data/home/joel/rtems-work/tools/5/powerpc-rtems5/include/sys/_pthreadtypes.h:24, from /data/home/joel/rtems-work/tools/5/powerpc-rtems5/include/sys/types.h:239, from /data/home/joel/rtems-work/tools/5/powerpc-rtems5/include/sys/time.h:43, from /home/joel/rtems-work/rtems-testing/rtems/rtems/cpukit/include/rtems/score/timestamp.h:43, from /home/joel/rtems-work/rtems-testing/rtems/rtems/cpukit/include/rtems/score/thread.h:36, from /home/joel/rtems-work/rtems-testing/rtems/rtems/cpukit/include/rtems/score/heap.h:22, from /home/joel/rtems-work/rtems-testing/rtems/rtems/cpukit/include/rtems/rtems/types.h:26, from /home/joel/rtems-work/rtems-testing/rtems/rtems/cpukit/include/rtems.h:31, from ../../../../../../../../rtems/c/src/lib/libbsp/powerpc/mvme5500/../../powerpc/shared/startup/pgtbl_setup.c:1:

/data/home/joel/rtems-work/tools/5/powerpc-rtems5/include/machine/param.h:70:0: note: this is the location of the previous definition

#define PAGE_MASK (PAGE_SIZE - 1)

#3352 14 months ago fixed arch/arm Joel Sherrill Sebastian Huber 14 months ago
Summary

Warning in all lpc176x variants

Description

bsps/arm/lpc176x/include/bsp.h defines OPERATION_COUNT in an attempt to override the autoconf generated constant. This conflicts and results in this warning:

/home/joel/rtems-work/rtems-testing/rtems/rtems/bsps/arm/lpc176x/include/bsp.h:42:0: warning: "OPERATION_COUNT" redefined

I understand why this is lowered by the BSP but the mechanism used is not good. And if the include file order is different between tests, you could get the BSP value or the autoconf generated value based on the order.

This warning needs to be fixed and a safer mechanism for a BSP to override OPERATION_COUNT defined.

My first suggestion is to use BSP_OPERATION_COUNT and add logic to one of the common test .h files to undef OPERATION_COUNT and redefine it to BSP_OPERATION_COUNT if it is defined.

A safer option might be to change the name of the autoconf generated variable to OPERATION_COUNT_DEFAULT and rely on logic in a common test support .h to define OPERATION_COUNT to OPERATION_COUNT_DEFAULT or BSP_OPERATION_DEFAULT.

#3350 14 months ago fixed rtems Joel Sherrill Sebastian Huber 14 months ago
Summary

sptimecounter02 warning due to defining _KERNEL and disabling part of <sys/time.h>

Description

The bottom of <sys/time.h> is protected by ifndef _KERNEL where gettimeofday() is prototyped. sptimecounter02 is the only test which trips this.

In file included from /home/joel/rtems-work/rtems-testing/rtems/rtems/cpukit/include/rtems/confdefs.h:323:0,

from ../../../../../../../rtems/c/src/../../testsuites/sptests/sptimecounter02/init.c:268:

/home/joel/rtems-work/rtems-testing/rtems/rtems/cpukit/include/rtems/imfs.h: In function 'IMFS_update_atime': /home/joel/rtems-work/rtems-testing/rtems/rtems/cpukit/include/rtems/imfs.h:345:3: warning: implicit declaration of function 'gettimeofday' [-Wimplicit-function-declaration]

gettimeofday( &now, 0 ); ~

#3349 14 months ago fixed arch/i386 Joel Sherrill Joel Sherrill 14 months ago
Summary

pc386 edid.h invalid macro names

Description

Minus sign not underbar in macro name.

-#define DVS_HDMI-a 0x2 -#define DVS_HDMI-b 0x3 +#define DVS_HDMI_a 0x2 +#define DVS_HDMI_b 0x3

#3348 14 months ago fixed arch/powerpc Joel Sherrill Joel Sherrill 14 months ago
Summary

beatnick:spaces needed around quote in macro definitions in bsp.h

Description

Macros need spaces around ","

#3346 14 months ago fixed arch/bfin Joel Sherrill Joel Sherrill 14 months ago
Summary

bf533.h

Description

TIMER_STATUS, TIMER< DISABLE, and TIMER_ENABLE are defined in bf52x.h and in bf533.h. Disable second definition in full bf533 register set list and add a sanity check to ensure it stays the same.

In file included from /home/joel/rtems-work/rtems-testing/rtems/rtems/bsps/bfin/TLL6527M/include/bsp.h:28:0,

from ../../../../../rtems/c/src/libchip/display/disp_hcms29xx.c:26:

/home/joel/rtems-work/rtems-testing/rtems/rtems/bsps/bfin/include/bf52x.h:43:0: warning: "TIMER_STATUS" redefined

#define TIMER_STATUS 0xffc00648

#3345 14 months ago fixed arch/powerpc Joel Sherrill Joel Sherrill 14 months ago
Summary

mvme3100 spaces needed around quote in macro definitions in bsp.h

Description

Various BSP_I2c_XXX_DEV_NAME macros have a stray " at the end of the first parameter.

#3344 14 months ago fixed arch/m68k Joel Sherrill Joel Sherrill 14 months ago
Summary

mcf5272/mcf5272.h Timer3 Duplicate Definition

Description

This .h file uses the same macro names for two blocks of INT macros. My assumption given that the second looks to be a different INT, is that it should not be INT3 again but INT3.

--- a/bsps/m68k/include/mcf5272/mcf5272.h +++ b/bsps/m68k/include/mcf5272/mcf5272.h @@ -88,9 +88,9 @@

#define MCF5272_ICR1_INT3_PI (bit(23)) #define MCF5272_ICR1_INT3_IPL(x) ((x) << 20) #define MCF5272_ICR1_INT3_MASK ((7) << 20)

-#define MCF5272_ICR1_INT3_PI (bit(19)) -#define MCF5272_ICR1_INT3_IPL(x) ((x) << 16) -#define MCF5272_ICR1_INT3_MASK ((7) << 16) +#define MCF5272_ICR1_INT4_PI (bit(19)) +#define MCF5272_ICR1_INT4_IPL(x) ((x) << 16) +#define MCF5272_ICR1_INT4_MASK ((7) << 16)

#3343 14 months ago fixed posix Joel Sherrill Joel Sherrill 10 months ago
Summary

pthread_mutex_getprioceiling() has incorrect prototype

Description

We are missing the const and restrict on the first parameter. This requires a change to newlib and RTEMS. The correct prototype is:

int pthread_mutex_getprioceiling(

const pthread_mutex_t *restrict mutex, int *prioceiling

)

#3342 14 months ago fixed posix Joel Sherrill Joel Sherrill 10 months ago
Summary

pthread_setschedparam() has incorrect prototype

Description

We are missing the const on the third parameter. This requires a change to newlib and RTEMS. The correct prototype is:

int pthread_setschedparam(

pthread_t thread, int policy, const struct sched_param *param

)

#3341 14 months ago fixed arch/sparc64 Joel Sherrill Gedare Bloom 14 months ago
Summary

sparc64: Macro Redefined

Description

log/sparc64-usiii.log:/home/joel/rtems-work/rtems-testing/rtems/rtems/bsps/sparc64/include/arch/stack.h:56:0: warning: "STACK_BIAS" redefined

This is defined in two header files with the same value. Not sure what the proper fix is.

#3340 14 months ago fixed arch/powerpc Joel Sherrill Sebastian Huber 14 months ago
Summary

gen83xx warning for macros redefined

Description

log/powerpc-hsc_cm01.log:/home/joel/rtems-work/rtems-testing/rtems/rtems/bsps/powerpc/gen83xx/include/bsp/hwreg_vals.h:244:0: warning: "FPGA_START" redefined log/powerpc-hsc_cm01.log:/home/joel/rtems-work/rtems-testing/rtems/rtems/bsps/powerpc/gen83xx/include/bsp/hwreg_vals.h:246:0: warning: "FPGA_SIZE" redefined

Looking at the code, it is pretty clear that the macros are redefined. Unfortunately one of the three has a different value the second time:

======================================== /* fpga BCSR register */ #define FPGA_START 0xF8000000 #define FPGA_SIZE 0x8000 #define FPGA_END (FPGA_START+FPGA_SIZE-1)

/*

  • working values for various registers, used in start/start.S */

/* fpga config 16 MB size */ #define FPGA_CONFIG_START 0xF8000000 #define FPGA_CONFIG_SIZE 0x01000000 /* fpga register 8 MB size */ #define FPGA_REGISTER_START 0xF9000000 #define FPGA_REGISTER_SIZE 0x00800000 /* fpga fifo 8 MB size */ #define FPGA_FIFO_START 0xF9800000 #define FPGA_FIFO_SIZE 0x00800000

#define FPGA_START (FPGA_CONFIG_START) fpga window size 32 MByte #define FPGA_SIZE (0x02000000) #define FPGA_END (FPGA_START+FPGA_SIZE-1)

========================================

#3334 15 months ago fixed posix Stavros Passas Sebastian Huber 3 months ago
Summary

deadlock in _once()

Description

RTEMS threads getting locked up when using certain c++ functionality. Issue happens for example when std::future is combined with std::async.

Investigating deeper, seems like this happens if std::async executes before std::future gets scheduled to run. Both of these create a pthread_once instance.

_once() uses a common semaphore for all calls, thus the first function (async.get usually) gets the lock, calls its “init” function (which blocks until the second function has completed. After this, std::future also uses pthread_once to execute, but because the lock is already taken, it also blocks, casing a deadlock.

Attached you can find a test application that reproduces the deadlock.

#3329 15 months ago fixed tool/website Joel Sherrill Amar Takhar 7 months ago
Summary

Trac Login Failure (bad password) Causes Internal Error

Description

Behavior is as expected with a bad user name.

Try to login to Trac with a bad password:

Oops… Trac detected an internal error: ProgrammingError?: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'sid='joel.sherrill' AND authenticated=1 AND name='failed_logins_count at line 1") There was an internal error in Trac. It is recommended that you notify your local Trac administrator with the information needed to reproduce the issue. To that end, you could anonymous ProgrammingError?: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'sid='joel.sherrill' AND authenticated=1 AND name='failed_logins_count at line 1") ==== How to Reproduce ====

While doing a POST operation on /login, Trac issued an internal error.

(please provide additional details here)

Request parameters:

{u'__FORM_TOKEN': u'0dc25ae350c181046ceae015',
 u'password': u'XXX',
 u'referer': u'https://devel.rtems.org/ticket/3328',
 'user_locked': False,
 u'username': u'joel.sherrill'}

User agent: Mozilla/5.0 (X11; Linux x86_64) KHTML/4.14.8 (like Gecko) Konqueror/4.14 Fedora/4.14.8-6.el7_3

System Information

System information not available

Enabled Plugins

Plugin information not available

Interface Customization

Interface customization information not available

Python Traceback

Traceback (most recent call last):
  File "/data/src/trac/trac/web/main.py", line 620, in _dispatch_request
    dispatcher.dispatch(req)
  File "/data/src/trac/trac/web/main.py", line 220, in dispatch
    chosen_handler = self._pre_process_request(req, chosen_handler)
  File "/data/src/trac/trac/web/main.py", line 429, in _pre_process_request
    chosen_handler = filter_.pre_process_request(req, chosen_handler)
  File "/data/trac/plugins/TracAccountManager-0.5.dev0-py2.7.egg/acct_mgr/api.py", line 478, in pre_process_request
    if not req.session.authenticated or \
  File "/data/src/trac/trac/web/api.py", line 491, in __getattr__
    value = self.callbacks[name](self)
  File "/data/src/trac/trac/web/main.py", line 354, in _get_session
    return Session(self.env, req)
  File "/data/src/trac/trac/web/session.py", line 243, in __init__
    if req.authname == 'anonymous':
  File "/data/src/trac/trac/web/api.py", line 491, in __getattr__
    value = self.callbacks[name](self)
  File "/data/src/trac/trac/web/main.py", line 172, in authenticate
    authname = authenticator.authenticate(req)
  File "/data/trac/plugins/TracAccountManager-0.5.dev0-py2.7.egg/acct_mgr/util.py", line 81, in wrap
    return func(self, *args, **kwds)
  File "/data/trac/plugins/TracAccountManager-0.5.dev0-py2.7.egg/acct_mgr/web_ui.py", line 395, in authenticate
    guard.failed_count(f_user, req.remote_addr)
  File "/data/trac/plugins/TracAccountManager-0.5.dev0-py2.7.egg/acct_mgr/guard.py", line 107, in failed_count
    set_user_attribute(self.env, user, key, count)
  File "/data/trac/plugins/TracAccountManager-0.5.dev0-py2.7.egg/acct_mgr/model.py", line 509, in set_user_attribute
    (value, username, attribute))
  File "/data/src/trac/trac/db/util.py", line 128, in execute
    cursor.execute(query, params if params is not None else [])
  File "/data/src/trac/trac/db/util.py", line 72, in execute
    return self.cursor.execute(sql_escape_percent(sql), args)
  File "/usr/local/lib/python2.7/site-packages/MySQLdb/cursors.py", line 205, in execute
    self.errorhandler(self, exc, value)
  File "/usr/local/lib/python2.7/site-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
    raise errorclass, errorvalue
ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'sid='joel.sherrill' AND authenticated=1 AND name='failed_logins_count'' at line 1")
}}}  Create  a ticket.
 
The action that triggered the error was:
POST: /login
TracGuide — The Trac User and Administration Guide
#3328 15 months ago fixed build Amaan Cheval 15 months ago
Summary

bootstrap uses non-POSIX compliant echo -e

Description

On certain shells, the "-e" option is not supported, and causes echo to output the flag along with the quoted text.

-> % sh
$ echo -e "foo bar"
-e foo bar
$

This varies by shell, and is not even consistent between sh or bash.

It was introduced while removing the make preinstall stage here, and may still work on most shells, though it didn't for me on sh on Ubuntu 16.04 LTS (4.4.0-78-generic x86_64 GNU/Linux) - as far as I can tell, this bug hasn't made it to any releases yet, so just fixing it on master should be enough.

A patch is attached.

Reference to the POSIX standard which confirms that -n is the only argument supported.

http://pubs.opengroup.org/onlinepubs/9699919799/utilities/echo.html

Link to POSIX for printf(1):

http://pubs.opengroup.org/onlinepubs/9699919799/utilities/printf.html

#3327 15 months ago fixed score Joel Sherrill 14 months ago
Summary

Eliminate score/cpu/*/.../types.h

Description

Each port contains a types.h file. It universally defines one type (CPU_Uint32ptr) that is required. Some of the types.h files define a CPU specific simple vectored ISR handler prototype.

  • Move the CPU_Uint32ptr typedef to cpu.h
  • If unused, delete the ISR handler prototype. If used, move to cpu.h
#3325 15 months ago fixed config Sebastian Huber Sebastian Huber 15 months ago
Summary

Simplify clustered scheduler configuration

Description

Improve the scheduler configuration documentation according to user review.

Do not use names derived from scheduler implementation details. Instead use names derived from the scheduler configuration or documentation. Provide defines for backward compatibility.

#3323 15 months ago fixed lib Chris Johns Chris Johns 14 months ago
Summary

mhttpd's http etag can result in invalid caching in a browser.

Description

The mhttp's http etag uses the mtime and file length and this can cause subtle issues if a target has no RTC or it is incorrect and files are being copied without preserving the mtime or changes happen that do not change the length.

The cp and untar code do not update a file's time.

Add support for an etag callback so a user can manage the tag, ie MD5 or something similar.

#3320 15 months ago fixed dev/serial Sebastian Huber Sebastian Huber <sebastian.huber@…> 11 months ago
Summary

Add a simple task console driver

Description

The default console driver for tests is the simple console driver. It uses a polled output via rtems_putc() done directly in the context of the executing thread. This is a problem for timing sensitive tests. Add a simple task console driver.

.. index:: CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER

.. _CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER:

CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER
------------------------------------------------------

CONSTANT:
    ``CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER``

DATA TYPE:
    Boolean feature macro.

RANGE:
    Defined or undefined.

DEFAULT VALUE:
    This is not defined by default.

DESCRIPTION:
    ``CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER`` is defined if
    the application wishes to include the Simple Task Console Device Driver.

NOTES:
    This device driver is responsible for providing the :file:`/dev/console`
    device file.  This device is used to initialize the standard input, output,
    and error file descriptors.

    This device driver reads via ``getchark()``.

    This device driver writes into a write buffer.  The count of characters
    written into the write buffer is returned.  It might be less than the
    requested count, in case the write buffer is full.  The write is
    non-blocking and may be called from interrupt context.  A dedicated task
    reads from the write buffer and outputs the characters via
    ``rtems_putc()``.  This task runs with the least important priority.  The
    write buffer size is 2047 characters and it is not configurable.

    Use ``fsync(STDOUT_FILENO)`` or ``fdatasync(STDOUT_FILENO)`` to drain the
    write buffer.

    The Termios framework is not used.  There is no support to change device
    settings, e.g.  baud, stop bits, parity, etc.

    The

    * ``CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER``,

    * ``CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER``, and

    * ``CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER``

    configuration options are mutually exclusive.
#3318 15 months ago fixed bsps mfletcher Sebastian Huber 15 months ago
Summary

Improve INTERNAL_ERROR_THREAD_EXITTED to show the id and thread name

Description

It might be more helpful i the case of a thread exit to output some information about that thread to make tracking it down simpler.

This example works ok.

static void thread_exitted_print_info(rtems_tcb *tcb) {

printf("Thread exited: %s (id %d)\n", tcb->Object.name, tcb->Object.id)

}

/* In your configuration: */ #define CONFIGURE_INITIAL_EXTENSIONS \

{ .thread_exitted = thread_exitted_print_info }

#3315 15 months ago fixed tool/rsb Chris Johns Chris Johns 15 months ago
Summary

Move expat's home site to github from SF.

Description

Move expat's home site from SF to github:

https://libexpat.github.io/

#3312 15 months ago fixed tool/rsb Chris Johns Chris Johns 15 months ago
Summary

RSB macro calls such as define fail on unicode keys.

Description

The define call in macros.py checks for a str while the __setitem__ call can convert a unicode string to str. Remove the check.

Remove the other places in macros.py a key str check is made and see if they can be improved.

The following has been reported to me:

cd rtems-source-builder-4.11.3/rtems
../source-builder/sb-set-builder --prefix=/home/user/rtems/4.11 --log=arm.txt --without-rtems 4.11/rtems-arm
Traceback (most recent call last):
  File "../source-builder/sb-set-builder", line 29, in <module>
    setbuilder.run()
  File "../source-builder/sb/setbuilder.py", line 526, in run
    opts = options.load(sys.argv, optargs)
  File "../source-builder/sb/options.py", line 668, in load
    version.load_release_settings(o.defaults)
  File "../source-builder/sb/version.py", line 123, in load_release_settings
    sources.hash((hs[0], hash[0], hs[1]), macros, setting_error)
  File "../source-builder/sb/sources.py", line 105, in hash
    macros.define(_file, '%s %s' % (args[0], args[2]))
  File "../source-builder/sb/macros.py", line 439, in define
    raise TypeError('bad key type: %s' % (type(key)))
TypeError: bad key type: <type 'unicode'>
#3309 15 months ago fixed doc Chris Johns 7 months ago
Summary

rtems_task_create's initial_mode SMP update

Description

The initial_mode cannot have the non-preempt flag or an interrupt level set or an RTEMS_UNSATISFIED error is returned. This is not documented in the directive.

#3307 15 months ago fixed arch/powerpc Joel Sherrill Joel Sherrill 8 months ago
Summary

PowerPC linkcmds.base missing wildcards on some sections

Description

Some sections were missing sections. Wildcards needed to be added.

#3306 15 months ago fixed arch/powerpc Joel Sherrill Joel Sherrill <joel@…> 15 months ago
Summary

Add paravirtualization support to PowerPC

Description

The PowerPC port does not currently have paravirtualization support.

#3305 15 months ago fixed arch/arm Joel Sherrill Joel Sherrill 15 months ago
Summary

Add paravirtualization support to ARM

Description

The Arm port does not currently have paravirtualization support.

#3298 16 months ago fixed lib/dl Chris Johns Chris Johns 3 months ago
Summary

dlerror non-conformance

Description

This is a port of the 4.11 patches from #2747 to master. Please refer to that ticket for details.

#3294 16 months ago fixed tool/rsb Chris Johns Chris Johns 16 months ago
Summary

gcc version report for released tools is wrong.

Description

The release gcc version string has the RTEMS release and not the actual release.

#3290 16 months ago fixed arch/arm Sebastian Huber Sebastian Huber 16 months ago
Summary

Add device tree support to Altera/Intel? Cyclone V BSP

#3285 16 months ago fixed build Sebastian Huber Sebastian Huber 10 months ago
Summary

Reorganize BSP source directory

Description

Now, that all BSP header files are in

  • bsps/include
  • bsps/@RTEMS_CPU@/include
  • bsps/@RTEMS_CPU@/@RTEMS_BSP_FAMILY@/include

we should also move the BSP sources to this new directory tree. How do we want to organize the BSP sources in bsps/@RTEMS_CPU@/@RTEMS_BSP_FAMILY@?

  • include (this is already there, see #3254)
  • config
    • somebsp.cfg
  • start (everything required to run a minimal application without devices)
    • start.S
    • bspstart.c
    • bspsmp.c
    • linkcmds
  • cache (everything for the cache controller support)
  • irq (everything for the interrupt controller support)
  • console (everything for the console driver)
  • clock (everything for the clock driver
  • i2c (everything for the I2C driver)
  • spi (everything for the SPI driver)
  • net (legacy network stack drivers)
  • mpci (RTEMS_MULTIPROCESSING support)
  • rtc (everything for the RTC driver)
  • ata (everything for the ATA driver)
  • contrib (import of external sources)
    • The layout of external sources should be used as is if possible.
#3284 16 months ago fixed tool/rsb Sebastian Huber Sebastian Huber <sebastian.huber@…> 16 months ago
Summary

RSB uses hard coded GCC binary paths

Description

In order to build a tool chain with Ada support you need a native GCC with Ada support of the same version as the cross compiler. The RSB uses hard coded paths for the gcc and g++ programs:

source-builder/defaults.mc:__cc:                exe,     required, '/usr/bin/gcc'
source-builder/defaults.mc:__cxx:               exe,     required, '/usr/bin/g++'

So, the RSB user must change the main GCC installation of the machine to build a particular RTEMS tool chain. This is undesired/infeasible in most situations.

#3283 16 months ago fixed doc Joel Sherrill Chris Johns 16 months ago
Summary

Bad URL in OpenOCD/Xilinx_Zynq Wiki Page

Description

https://devel.rtems.org/wiki/Debugging/OpenOCD/Xilinx_Zynq has a link to the Zedboard Processor Debug Adapter. I think the URL has changed to this but would like someone more knowledgeable to confirm that before it is changed.

http://zedboard.org/accessories/zedboard-processor-debug-adapter

#3281 16 months ago wontfix tool/gdb Sebastian Huber Sebastian Huber 16 months ago
Summary

Add epiphany support to GDB 8.0.0

#3278 16 months ago fixed tool Joel Sherrill Chris Johns 16 months ago
Summary

bsp-builder has incorrect print (%s in output)

Description

I don't think the tools have branches so only impacts master.

Notice the "run: %s:"

[1114/1565] powerpc/mpc5674fevb (profiling) Configuring run: %s: powerpc/mpc5674fevb.profiling\

/home/joel/rtems-work/rtems/configure --target=powerpc-rtems5\ --enable-rtemsbsp=mpc5674fevb --prefix=/home/joel/rtems-work/bsps\ --enable-profiling

#3277 16 months ago fixed network/libbsd Sebastian Huber Sebastian Huber 16 months ago
Summary

QorIQ: Add MAC-less DPAA driver to libbsd

Description

The SDK Linux DPAA driver supports a so called MAC-less interface driver. This driver allows Ethernet communication between guest systems of a hypervisor.

#3270 17 months ago fixed arch/powerpc Sebastian Huber Sebastian Huber 16 months ago
Summary

Remove unused support for MPC505

Description

There is some support for MPC505 in libcpu, however, I cannot find a BSP for this code. Remove this apparently dead code.

#3268 17 months ago fixed arch/powerpc Chris Johns 16 months ago
Summary

PowerPC BSP include naming mess.

Description

The PowerPC BSP family headers need some refactoring for the RTEMS 5 release. The BSP family relies on the preinstall process to get suitable headers installed to work and removing preinstall exposes this. The specific issue appears with irq.h when building the no-preinstall branch. There is a PowerPC BSP family header and a number of BSPs also have an irq.h which overrides families header. The code has #include <bsp/irq.h> and the header used depends on the include order on the GCC command line. This is fragile for any user. These headers needs to be moved to BSP specific paths, for example #include <mvme3100/irq.h>.

#3267 17 months ago fixed lib Chris Johns 14 months ago
Summary

rtems/status-checks.h calls printk without including the needed header.

Description
/opt/work/chris/rtems/kernel/rtems.git/cpukit/include/rtems/status-checks.h:74:7: warning: implicit declaration of function 'printk'; did you mean 'printf'? [-Wimplicit-function-declaration]
       printk( fmt, ##__VA_ARGS__)
       ^
/opt/work/chris/rtems/kernel/rtems.git/cpukit/include/rtems/status-checks.h:86:3: note: in expansion of macro 'RTEMS_SYSLOG_PRINT'
   RTEMS_SYSLOG_PRINT( "%s: " fmt, __func__, ##__VA_ARGS__)
   ^~~~~~~~~~~~~~~~~~
/opt/work/chris/rtems/kernel/rtems.git/cpukit/include/rtems/status-checks.h:107:3: note: in expansion of macro 'RTEMS_SYSLOG'
   RTEMS_SYSLOG( "Error: " fmt, ##__VA_ARGS__)
   ^~~~~~~~~~~~
/opt/work/chris/rtems/kernel/rtems.git/cpukit/include/rtems/status-checks.h:113:3: note: in expansion of macro 'RTEMS_SYSLOG_ERROR'
   RTEMS_SYSLOG_ERROR( "SC = %i: %s\n", (int) sc, msg);
   ^~~~~~~~~~~~~~~~~~
/opt/work/chris/rtems/kernel/rtems.git/cpukit/include/rtems/status-checks.h:152:5: note: in expansion of macro 'RTEMS_SYSLOG_ERROR_WITH_SC'
     RTEMS_SYSLOG_ERROR_WITH_SC( sc, msg); \
     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/work/chris/rtems/kernel/rtems.git/c/src/lib/libbsp/lm32/milkymist/../../lm32/shared/milkymist_gpio/gpio.c:57:5: note: in expansion of macro 'RTEMS_CHECK_SC'
     RTEMS_CHECK_SC(sc, "create GPIO device");
     ^~~~~~~~~~~~~~
#3266 17 months ago duplicate lib Chris Johns 17 months ago
Summary

cpukit/libpci references BSP headers.

Description

On the no-preinstall branch of https://git.rtems.org/chrisj/rtems.git/ the build fails with:

sparc-rtems5-gcc --pipe -DHAVE_CONFIG_H   -I.. -I/opt/work/chris/rtems/kernel/bsps/beagleboneblack/sparc-rtems5/c/erc32/include -I/opt/work/chris/rtems/kernel/rtems.git/cpukit/include -I/opt/work/chris/rtems/kernel/rtems.git/cpukit/score/cpu/sparc/include   -mcpu=cypress -O2 -g -ffunction-sections -fdata-sections -MT pci_access.o -MD -MP -MF $depbase.Tpo -c -o pci_access.o /opt/work/chris/rtems/kernel/rtems.git/c/src/../../cpukit/libpci/pci_access.c &&\
mv -f $depbase.Tpo $depbase.Po
In file included from /opt/work/chris/rtems/kernel/rtems.git/cpukit/include/pci.h:23:0,
                 from /opt/work/chris/rtems/kernel/rtems.git/c/src/../../cpukit/libpci/pci_access.c:10:
/opt/work/chris/rtems/kernel/rtems.git/cpukit/include/pci/access.h:16:10: fatal error: libcpu/byteorder.h: No such file or directory
 #include <libcpu/byteorder.h>
          ^~~~~~~~~~~~~~~~~~~~

This header is found under:

$ find . -name byteorder.h
./bsps/powerpc/include/libcpu/byteorder.h
./bsps/sparc/include/libcpu/byteorder.h
./bsps/i386/include/libcpu/byteorder.h
#3265 17 months ago fixed posix Sebastian Huber Sebastian Huber 16 months ago
Summary

Use second one based uptime for CLOCK_MONOTONIC for FreeBSD compatibility

Description

This simplifies the CLOCK_MONOTONIC based time services. It is potentially important for libbsd.

#3264 17 months ago fixed score Sebastian Huber Sebastian Huber 16 months ago
Summary

Add monotonic watchdog based on uptime

Description

The CLOCK_MONOTONIC time services use currently the clock tick based watchdog. This is a problem in case the uptime (measured via the timercounter) and the ticks since boot drift away (measured via the clock ticks). Introduce a new watchdog which uses the uptime. The memory overhead is quite small (two pointers per processor).

#3261 18 months ago fixed doc Frédéric Jouault Frédéric Jouault <f.jouault@…> 5 months ago
Summary

A couple of documentation typos

Description

This patch includes a couple of typo corrections in the C User Manual.

#3260 18 months ago fixed arch/sparc Sebastian Huber Sebastian Huber 17 months ago
Summary

libpci depends on BSP-specific header files

Description

The libpci is currently only used on SPARC. It is in cpukit, so BSP-specific header files are not allowed. Unfortunately this is not the case for libpci. However, it seems the the routines depending on BSP_PCI_BIG_ENDIAN are not used:

grep -r 'pci_[ldst]\{2\}_' . ./cpukit/libpci/pci/access.h:RTEMS_INLINE_ROUTINE uint16_t pci_ld_le16(volatile uint16_t *addr) ./cpukit/libpci/pci/access.h:RTEMS_INLINE_ROUTINE void pci_st_le16(volatile uint16_t *addr, uint16_t val) ./cpukit/libpci/pci/access.h:RTEMS_INLINE_ROUTINE uint32_t pci_ld_le32(volatile uint32_t *addr) ./cpukit/libpci/pci/access.h:RTEMS_INLINE_ROUTINE void pci_st_le32(volatile uint32_t *addr, uint32_t val) ./cpukit/libpci/pci/access.h:RTEMS_INLINE_ROUTINE uint16_t pci_ld_be16(volatile uint16_t *addr) ./cpukit/libpci/pci/access.h:RTEMS_INLINE_ROUTINE void pci_st_be16(volatile uint16_t *addr, uint16_t val) ./cpukit/libpci/pci/access.h:RTEMS_INLINE_ROUTINE uint32_t pci_ld_be32(volatile uint32_t *addr) ./cpukit/libpci/pci/access.h:RTEMS_INLINE_ROUTINE void pci_st_be32(volatile uint32_t *addr, uint32_t val) ./cpukit/libpci/pci/access.h:RTEMS_INLINE_ROUTINE uint16_t pci_ld_le16(volatile uint16_t *addr) ./cpukit/libpci/pci/access.h:RTEMS_INLINE_ROUTINE void pci_st_le16(volatile uint16_t *addr, uint16_t val) ./cpukit/libpci/pci/access.h:RTEMS_INLINE_ROUTINE uint32_t pci_ld_le32(volatile uint32_t *addr) ./cpukit/libpci/pci/access.h:RTEMS_INLINE_ROUTINE void pci_st_le32(volatile uint32_t *addr, uint32_t val) ./cpukit/libpci/pci/access.h:RTEMS_INLINE_ROUTINE uint16_t pci_ld_be16(volatile uint16_t *addr) ./cpukit/libpci/pci/access.h:RTEMS_INLINE_ROUTINE void pci_st_be16(volatile uint16_t *addr, uint16_t val) ./cpukit/libpci/pci/access.h:RTEMS_INLINE_ROUTINE uint32_t pci_ld_be32(volatile uint32_t *addr) ./cpukit/libpci/pci/access.h:RTEMS_INLINE_ROUTINE void pci_st_be32(volatile uint32_t *addr, uint32_t val)

Is this dead code and can I remove BSP_PCI_BIG_ENDIAN?

Another issue is the use of a BSP-specific interrupt API in cpukit/libpci/pci/irq.h.

The missing functions should be added to <rtems/irq-extension.h>.

#3256 18 months ago fixed tool/gcc Sebastian Huber Sebastian Huber 18 months ago
Summary

Ada run-time needs support for self-contained POSIX synchronization objects

Description

Object types are hard coded in gcc/ada/s-osinte-rtems.ads.

#3255 18 months ago duplicate arch/powerpc Joel Sherrill Sebastian Huber 18 months ago
Summary

Warnings on 64-bit targets

Description

This occurred on the 64 bit PowerPC and SPARC64 targets.

log/powerpc-qoriq_e6500_64.log:../../../../../../rtems/c/src/../../cpukit/libmisc/rtems-fdt/rtems-fdt-shell.c:57:27: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] log/powerpc-qoriq_e6500_64.log:../../../../../../rtems/c/src/../../cpukit/libmisc/rtems-fdt/rtems-fdt-shell.c:64:27: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] log/powerpc-qoriq_e6500_64.log:../../../../../../rtems/c/src/../../cpukit/libmisc/rtems-fdt/rtems-fdt-shell.c:488:11: warning: format '%u' expects argument of type 'unsigned int', but argument 5 has type 'long int' [-Wformat=] log/powerpc-qoriq_e6500_64.log:../../../../../../rtems/c/src/../../cpukit/libmisc/rtems-fdt/rtems-fdt-shell.c:536:13: warning: format '%u' expects argument of type 'unsigned int', but argument 2 has type 'long int' [-Wformat=]

#3254 18 months ago fixed build Sebastian Huber 5 months ago
Summary

Reorganize header files to avoid "make preinstall"

#3249 18 months ago fixed arch/arm Joel Sherrill Sebastian Huber 18 months ago
Summary

imx7 does not link getentropy01 test on master

Description

arm-rtems5-gcc -B../../../../../imx7/lib/ -specs bsp_specs -qrtems -march=armv7-a -mthumb -mfpu=neon -mfloat-abi=hard -mtune=cortex-a7 -O2 -g -ffunction-sections -fdata-sections -Wall -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs -Wl,--gc-sections -march=armv7-a -mthumb -mfpu=neon -mfloat-abi=hard -mtune=cortex-a7 -Wl,--wrap=printf -Wl,--wrap=puts -Wl,--wrap=putchar -o getentropy01.exe init.o init.o: In function `test_getentropy': /home/joel/rtems-work/rtems-testing/rtems/build-arm-imx7-rtems/arm-rtems5/c/imx7/testsuites/libtests/getentropy01/../../../../../../../rtems/c/src/../../testsuites/libtests/getentropy01/init.c:57: undefined reference to `getentropy' /home/joel/rtems-work/rtems-testing/rtems/build-arm-imx7-rtems/arm-rtems5/c/imx7/testsuites/libtests/getentropy01/../../../../../../../rtems/c/src/../../testsuites/libtests/getentropy01/init.c:59: undefined reference to `getentropy'

#3248 18 months ago fixed build Sebastian Huber Sebastian Huber 18 months ago
Summary

Add BSP_VERBOSE_FATAL_EXTENSION to RTEMS_BSP_CLEANUP_OPTIONS

Description

Add BSP_VERBOSE_FATAL_EXTENSION to RTEMS_BSP_CLEANUP_OPTIONS to optionally print the RTEMS version, the fatal source and the fatal code in the shared bsp_fatal_extension().

#3247 18 months ago fixed build Sebastian Huber Sebastian Huber 18 months ago
Summary

Remove BSP-specific defaults for RTEMS_BSP_CLEANUP_OPTIONS()

Description

Remove BSP-specific defaults for RTEMS_BSP_CLEANUP_OPTIONS() to simplify the BSP configuration and documentation. Change default to:

BSP_PRESS_KEY_FOR_RESET=0 BSP_RESET_BOARD_AT_EXIT=1 BSP_PRINT_EXCEPTION_CONTEXT=1

#3246 18 months ago fixed arch/powerpc Sebastian Huber Sebastian Huber 18 months ago
Summary

Remove _BSP_Fatal_error()

Description

BSPs can use the bsp_fatal_extension() to provide BSP-specific fatal error handling. There is no need for a _BSP_Fatal_error().

#3245 18 months ago fixed arch/powerpc Sebastian Huber Sebastian Huber 18 months ago
Summary

Replace BSP_panic() with rtems_panic()

Description

Due to a new rtems_panic() implementation, it is possible to replace the PowerPC-specific BSP_panic() with rtems_panic(). Remove BSP_panic() implementations.

#3244 18 months ago fixed rtems Sebastian Huber Sebastian Huber 12 months ago
Summary

Change rtems_panic() implementation and document this function

Description

The current rtems_panic() implementation is quite heavy weight. It depends on _exit() which calls the global destructors. It uses fprintf(stderr, ...) for output which depends on an initialized console device and the complex fprintf().

Introduce a new fatal source RTEMS_FATAL_SOURCE_PANIC for rtems_panic() and output via printk().

Document this function in Fatal Manager chapter.

Replace all BSP_panic() with rtems_panic().

#3243 18 months ago fixed score Sebastian Huber Sebastian Huber 8 months ago
Summary

Simplify global construction

Description

For the SMP support the global construction was changed to use an approach with a thread restart after global construction. With this implementation thread-local objects and POSIX keys initialized during global construction are not present in the initialization thread (main thread). This is not in line with what users familiar with GNU/Linux or FreeBSD would expect. See for example:

https://lists.rtems.org/pipermail/users/2017-July/031525.html

#3242 18 months ago fixed tool/gcc Sebastian Huber Sebastian Huber 17 months ago
Summary

Workarounds for UT699, UT700, and GR712RC errata

Description

https://gcc.gnu.org/ml/gcc-patches/2017-11/msg01751.html

This patch series adds workarounds for the newly discovered errata for UT699, UT700, and GR712RC. The errata and possible workarounds are described in the following documents available at http://www.gaisler.com/index.php/information/app-tech-notes:

GRLIB-TN-0010 - LEON3/FT AHB Deadlock After Sequence of Load and Atomic Instructions GRLIB-TN-0011 - LEON3/FT AHB Lock Release during Atomic Operation GRLIB-TN-0012 - GR712RC Incorrect Annulation of Floating-point Operation on Instruction Cache Parity Error GRLIB-TN-0013 - GRFPU Floating-point controller: Missing FDIV/FSQRT Result

Daniel Cederman (4):

[SPARC] Errata workaround for GRLIB-TN-0012 [SPARC] Errata workaround for GRLIB-TN-0011 [SPARC] Errata workaround for GRLIB-TN-0010 [SPARC] Errata workaround for GRLIB-TN-0013

#3240 18 months ago fixed lib Andrei Chichak Chris Johns 18 months ago
Summary

cpukit/libmisc/stackchk/check.c stack addresses formatted incorrectly.

Description

The function Stack_check_Dump_threads_usage displays the stack high, low, and current pointers incorrectly.

Instead of displaying these pointers in conventional hex format, the values have a proper prefix of 0x, but the pointer value is displayed in decimal.

The incorrect inttypes.h formatting define was used.

#3239 18 months ago fixed dev Sebastian Huber Sebastian Huber 18 months ago
Summary

Add getentropy() implementation provided by each BSP

Description

The getentropy() system call was introduced by OpenBSD and is now also available on glibc 2.25 and later. It is used for example by arc4random_buf(). Which in turn is used by various cryptographic functions.

#3238 18 months ago fixed admin Chris Johns Amar Takhar 7 months ago
Summary

Git push to Trac with more than one commit does not update tickets.

Description

The git push to trac hook does not queue or handle a number of commits in a push. As a result updates to tickets can be missed.

#3237 18 months ago fixed score Sebastian Huber Sebastian Huber 18 months ago
Summary

Fix priority ceiling updates

Description

We must not clear the priority updates in _Thread_queue_Extract_locked() since this function is used by the priority ceiling surrender operations after the ceiling priority handover from the previous owner to the new owner. This is especially important in SMP configurations.

Move the _Thread_queue_Context_clear_priority_updates() invocation to the callers.

#3236 18 months ago fixed score Sebastian Huber Sebastian Huber 18 months ago
Summary

Fix thread queue owner priority update in _Thread_queue_Flush_critical()

Description

The thread queue extract operations performed by the _Thread_queue_Flush_critical() may result in a priority change of the thread queue owner. Carry out the scheduler priority update operation. This is especially important in SMP configurations.

#3235 18 months ago fixed rtems Sebastian Huber Sebastian Huber 18 months ago
Summary

Fix rtems_semaphore_flush() for priority inheritance semaphores

Description

The _Semaphore_Get_operations() must return the proper operations for priority inheritance semaphores.

Add a test case for rtems_semaphore_flush() with priority inheritance.

#3234 18 months ago invalid doc Joel Sherrill Joel Sherrill 18 months ago
Summary

Quick Start Instructions Inconsistent

Description

In section 5 of the User's Manual, the clone of rtems-source-builder has you clone it into rsb but the sb-bootstrap command is based on cloning it into the rsb subdirectory.

#3232 19 months ago fixed doc Chris Johns Chris Johns 19 months ago
Summary

Use of .. include:: in the User Manual should be changed.

Description

This tricket for Sphinx highlights an issue when using .. include::, we should be using .. toctree:::

https://github.com/sphinx-doc/sphinx/issues/3432

#3229 19 months ago fixed doc Chris Johns Chris Johns 7 months ago
Summary

Add index to all documents.

Description

Indexes currently do not work. Fix this adding them to all documents.

Add index entries where possible.

#3228 19 months ago fixed tool/rsb Chris Johns 19 months ago
Summary

aarch64 missing from 5/rtems-all build set

Description

This arch needs to be added to the all build set.

#3227 19 months ago worksforme admin Joel Sherrill Chris Johns 18 months ago
Summary

sb-check fails on Msys2 64-bit

Description

There must be a recent change to msys2 which is breaking things. I installed the 64-bit version from https://msys2.github.io/ per the instructions at https://docs.rtems.org/branches/master/user/hosts/index.html#microsoft-windows

$ ./source-builder/sb-check
error: no hosts defaults found; please add

After adding some prints, I learned this:

$ ./source-builder/sb-check
posix
made it
MSYS_NT-10.0
error: no hosts defaults found; please add

I filled in options.py and windows.py to recognize this as MSYS2. I was then able to run sb-check. But it wasn't happy. Apparently the pacman command in the User's Guide is missing some packages based on newer versions:

$ ./source-builder/sb-check
posix
MSYS_NT-10.0
RTEMS Source Builder - Check, 5 (8b30eb3f440a modified)
error: exe: not found: (__ar) ar
error: exe: not found: (__as) as
error: exe: not found: (__cc) x86_64-w64-mingw32-gcc
error: exe: not found: (__cxx) x86_64-w64-mingw32-g++
error: exe: not found: (__ld) ld
error: exe: not found: (__nm) nm
error: exe: not found: (__objcopy) objcopy
error: exe: not found: (__objdump) objdump
error: exe: not found: (__ranlib) ranlib
Environment is not correctly set up

I installed binutils explcitly with pacman and then sb-check is complaining about gcc. I did a find to locate the gcc's installed:

$ find / -name "*gcc.*"
/home/jrs007/.ssh/id_rsa_gcc.pub
/mingw64/bin/gcc.exe
/mingw64/bin/x86_64-w64-mingw32-gcc.exe
/mingw64/lib/gcc/x86_64-w64-mingw32/6.2.0/include/stdint-gcc.h
/mingw64/lib/gcc/x86_64-w64-mingw32/6.2.0/libgcc.a
/mingw64/share/info/gcc.info.gz
/mingw64/share/man/man1/gcc.1.gz
/usr/share/vim/vim80/compiler/gcc.vim
find: failed to read file names from file system at or below ‘/’: No such file or directory

jrs007@JRS-OAR-Laptop MINGW64 /c/opt/rtems/rsb/source-builder
$ /mingw64/bin/x86_64-w64-mingw32-gcc.exe --version
x86_64-w64-mingw32-gcc.exe (Rev2, Built by MSYS2 project) 6.2.0
Copyright (C) 2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
#3226 19 months ago fixed tool/gdb Sebastian Huber Sebastian Huber 19 months ago
Summary

gdb: pr 16827, fix sim on Mavrick

#3225 19 months ago fixed tool/gdb Sebastian Huber Sebastian Huber 19 months ago
Summary

Upgrade m32c to GDB 8.0.1

#3224 19 months ago fixed tool/binutils Sebastian Huber Sebastian Huber 19 months ago
Summary

Upgrade or1k and m32c to Binutils 2.29

#3220 19 months ago fixed unspecified Sebastian Huber Sebastian Huber 14 months ago
Summary

Change RTEMS release number scheme from 4.12 to 5

Description

As discussed here

https://lists.rtems.org/pipermail/devel/2017-October/019169.html

it was agreed to use version 5.1 with the new number scheme for the next RTEMS release.

Most important items of this release:

  • SMP support
  • 64-bit time_t (year 2038 problem)
  • the network stack header consolidation and the move to Newlib
  • self-contained POSIX synchronization objects (impacting the configuration)
  • improved Ada support (however, not all Ada tests pass currently)

The following steps are necessary to carry out the number change:

  1. Change version of RTEMS tools
  2. Change version of RSB
  3. Change version of RTEMS
  4. Documentation repo. Easy.
  5. Documentation website repo. Easy.
  6. Release procedure repo. Easy.
  7. Trac tickets. Not sure.
  8. Trac wiki. Medium(?). A wiki search of 4.12 gives 21 hits.
  9. rtems.org website. That needs Joel.
  10. Make announcement on the devel and user mailing list
#3219 19 months ago fixed bsps Chris Johns Chris Johns 8 months ago
Summary

Zynq BSP missing linker option --gc-sections

Description

This Zynq BSP is missing this option.

#3218 19 months ago fixed dev/serial Sebastian Huber Sebastian Huber 19 months ago
Summary

Termios canonical mode (ICANON) does not return input line by line

Description

In canonical mode, input is made available line by line. We must stop the canonical buffer filling upon reception of an end-of-line character.

#3217 19 months ago fixed lib Chris Johns Chris Johns 14 months ago
Summary

Add RTEMS version, build and tools details to tests

Description

Published test results need the RTEMS version, how it is built and the tools used to build the kernel and tests.

#3216 19 months ago fixed score Sebastian Huber Sebastian Huber 19 months ago
Summary

Replace vprintk() implementation

Description

The current vprintk() implementation has a questionable licence header, lacks support for the 'z' and 'j' format specifiers, is not robust against invalid format specifiers, uses a global variable for output. Replace it with a stripped down version of the FreeBSD kernel kvprintf() function.

#3215 19 months ago fixed doc Joel Sherrill Joel Sherrill 19 months ago
Summary

Configuring a System Still Includes Notepads and Has Wrong Heading

Description

This section has the wrong heading and needs to be deleted anyway.

24.8.2. Specify Maximum Classic API Timers
CONSTANT:
CONFIGURE_ENABLE_CLASSIC_API_NOTEPADS
#3211 19 months ago fixed posix Sebastian Huber Sebastian Huber 19 months ago
Summary

Fix pthread_create() with user provided stack

Description

In case the user provides a stack with address and size, then do not alter the stack size.

#3210 19 months ago fixed tool/rsb Chris Johns Chris Johns 19 months ago
Summary

Improve the RSB build email message

Description

The message needs more detail to provide a suitable archive.

#3209 19 months ago fixed tool/rsb Joel Sherrill Chris Johns 14 months ago
Summary

RSB should fail on this error

Description

I was updating the md5's to sha512's on qemu and made a typo which resulted in this message:

reporting: devel/qemu-git-1.cfg -> qemu-42d58e7c6760cb9c55627c28ae538e27dcf2f144-x86_64-linux-gnu-1.xml
error: qemu-git-1.cfg:57: invalid number of hash args
loading: vdeplug
get: requires ()

The error message did not result in the build aborting. Perhaps this should be a fatal error.

The broken RSB fragment was in qemu-git-1.cfg:

 %patch add qemu %{rtems_http_git}/rtems-tools/plain/tools/qemu/0001-openrisc-terminate-qemu-process-upon-receiving-a-hal.patch
-%hash md5 0001-openrisc-terminate-qemu-process-upon-receiving-a-hal.patch 6aa9dfc4522466ab4a463129b3b9cb1d
+%hash md5 376ea9e07c4c8077b345af02856549843dff2ad73b5da5886c71e859c4a0849522c59dcd05724270756763438aecdb70211ea2ae8cac28056cb17da53c3981e1 
#3207 19 months ago fixed doc Joel Sherrill 18 months ago
Summary

Supported Architectures Page is out of date

Description

https://devel.rtems.org/wiki/TBR/UserManual/SupportedCPUs is out of date. I have the information to update it if that's what we want to do.

I don't know the best way to provide this broad view from 4.6 up on what architectures are supported. The wiki seems OK.

#3205 19 months ago fixed posix Sebastian Huber Sebastian Huber 19 months ago
Summary

Relative timespec timeouts are subject to integer overflows

Description

As a best-effort approach, a very large relative timeout should result in the maximum monotonic watchdog value and not in an undefined integer overflow.

#3203 19 months ago fixed admin Amar Takhar Amar Takhar 7 months ago
Summary

Upgrade trac to fix numerous problems.

Description

There are a ton of issues going on with trac that need to be resolved. The two major ones are:

  • The ticket commenter emails people who aren't a trac user. This may require a custom modification.
  • The always_email setting is taking things too literally and always sending emails even if it shouldn't.
  • The Git plug-in consistently spins, floods the jail with processes then the site dies.
  • Frequent, strange and random crashes.
    • This one is not a huge deal since it's just that request process users won't even notice when this happens.

Upgrading trac is a weeklong project usually I will start preparing for it and update here.

If anyone has any feature requests now is the time to do it!

#3202 19 months ago fixed arch/or1k Joel Sherrill Joel Sherrill <joel@…> 19 months ago
Summary

or1k tools build error

Description

I assume this is a side-effect of recent checksum changes. Otherwise, there is a serious problem.

ownload: (full) https://git.rtems.org/rtems-tools/plain/tools/4.12/gdb/gdb-7.11-sis-leon2-leon3.diff -> patches/gdb-7.11-sis-leon2-leon3.diff download: https://git.rtems.org/rtems-tools/plain/tools/4.12/gdb/gdb-7.11-sis-leon2-leon3.diff -> patches/gdb-7.11-sis-leon2-leon3.diff checksums: gdb-7.11-sis-leon2-leon3.diff: 0b8b2a23c7d1592315fe0130188f457c80f8b1e26645535bed091a5e0671682dc44a1987d00e6939a1b1c562c7579404db43183e666c29c2b479446aa61ca4f6 => 4c44afec9c00a45b9322d787da3796f3294f207ddae9fe9faab3327b6991ac75 warning: checksum error: gdb-7.11-sis-leon2-leon3.diff error: checksum failure file: patches/gdb-7.11-sis-leon2-leon3.diff

#3201 19 months ago fixed arch/epiphany Joel Sherrill Joel Sherrill <joel@…> 19 months ago
Summary

epiphany tools checksum error

Description

I assume this is a side-effect of the recent checksum changes. If that's the case, it just needs to be updated. Otherwise, it is a more serious error.

download: (full) https://github.com/adapteva/epiphany-gcc/archive/f7051762470c42ce7f01baa7edeb113d51c7dd72.zip -> sources/f7051762470c42ce7f01baa7edeb113d51c7dd72.zip download: https://github.com/adapteva/epiphany-gcc/archive/f7051762470c42ce7f01baa7edeb113d51c7dd72.zip -> sources/f7051762470c42ce7f01baa7edeb113d51c7dd72.zip

redirect: https://codeload.github.com/adapteva/epiphany-gcc/zip/f7051762470c42ce7f01baa7edeb113d51c7dd72 redirect: https://codeload.github.com/adapteva/epiphany-gcc/zip/f7051762470c42ce7f01baa7edeb113d51c7dd72

checksums: f7051762470c42ce7f01baa7edeb113d51c7dd72.zip: 4d911e7bff4f1827dd7712669d20e4a1bf02806df0fae113ff0e7d13466bef2e => 2b2034fd12f2fd5108205ade66400c175ede8cef8141a38ae03fc78bf2d65325 warning: checksum error: f7051762470c42ce7f01baa7edeb113d51c7dd72.zip error: checksum failure file: sources/f7051762470c42ce7f01baa7edeb113d51c7dd72.zip

#3200 19 months ago fixed unspecified Joel Sherrill Sebastian Huber 19 months ago
Summary

m32c tests don't build -- test_context too large

Description

../../../../../../../rtems/c/src/../../testsuites/tmtests/tmfine01/init.c:58:21: error: size of variable 'test_instance' is too large

static test_context test_instance;

FWIW I marked this as unspecified because this is just a generic small target issue.

#3198 19 months ago fixed dev/serial Sebastian Huber Sebastian Huber 19 months ago
Summary

Add lazy update of line control and baud divisor to NS16550 serial driver

Description

Updates of the line control and baud divisor while transfers are in progress may lead to unpredictable behaviour on some chips. Perform the updates only if necessary.

#3191 20 months ago fixed tool Chris Johns Joel Sherrill 17 months ago
Summary

RTEMS Tester covoar dies with no arguments.

Description

Running covoar terminate with an unhandled exception with no arguments on the command line:

$ ./build/tester/covoar/covoar 
error missing option: target -T
Usage: ./build/tester/covoar/covoar [-v] -T TARGET -f FORMAT [-E EXPLANATIONS] -1 EXECUTABLE coverage1 ... coverageN
--OR--
Usage: ./build/tester/covoar/covoar [-v] -T TARGET -f FORMAT [-E EXPLANATIONS] -e EXE_EXTENSION -c COVERAGEFILE_EXTENSION EXECUTABLE1 ... EXECUTABLE2

  -v                        - verbose at initialization
  -T TARGET                 - target name
  -f FORMAT                 - coverage file format (RTEMS, QEMU, TSIM or Skyeye)
  -E EXPLANATIONS           - name of file with explanations
  -s SYMBOLS_FILE           - name of file with symbols of interest
  -1 EXECUTABLE             - name of executable to get symbols from
  -e EXE_EXTENSION          - extension of the executables to analyze
  -c COVERAGEFILE_EXTENSION - extension of the coverage files to analyze
  -g GCNOS_LIST             - name of file with list of *.gcno files
  -p PROJECT_NAME           - name of the project
  -C ConfigurationFileName  - name of configuration file
  -O Output_Directory       - name of output directory (default=.
libc++abi.dylib: terminating with uncaught exception of type std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >
Abort trap: 6
#3190 20 months ago fixed tool Chris Johns Chris Johns 19 months ago
Summary

RTEMS Tester covoar does not link on MacOS

Description

The executables do not link on MacOS.

#3189 20 months ago fixed tool/newlib Joel Sherrill Sebastian Huber 19 months ago
Summary

MUTEX_INITIALIZER missing braces warning

Description

Hi

Multiple tests have this warning. Appears to be something not quite right in the newlib .h files.

    21 ../../../../../../../rtems/c/src/../../testsuites/psxtests/psxhdrs/pthread/pthread_mutex_unlock.c:27:27: warning: missing braces around initializer [-Wmissing-braces]
     21 ../../../../../../../rtems/c/src/../../testsuites/psxtests/psxhdrs/pthread/pthread_mutex_trylock.c:27:27: warning: missing braces around initializer [-Wmissing-braces]
     21 ../../../../../../../rtems/c/src/../../testsuites/psxtests/psxhdrs/pthread/pthread_mutex_timedlock.c:30:27: warning: missing braces around initializer [-Wmissing-braces]
     21 ../../../../../../../rtems/c/src/../../testsuites/psxtests/psxhdrs/pthread/pthread_mutex_lock.c:27:27: warning: missing braces around initializer [-Wmissing-braces]
     21 ../../../../../../../rtems/c/src/../../testsuites/psxtests/psxhdrs/pthread/pthread_mutex_init.c:27:31: warning: missing braces around initializer [-Wmissing-braces]
     21 ../../../../../../../rtems/c/src/../../testsuites/psxtests/psxhdrs/pthread/pthread_mutex_destroy.c:27:28: warning: missing braces around initializer [-Wmissing-braces]
     21 ../../../../../../../rtems/c/src/../../testsuites/psxtests/psxhdrs/pthread/pthread_cond_wait.c:28:27: warning: missing braces around initializer [-Wmissing-braces]
     21 ../../../../../../../rtems/c/src/../../testsuites/psxtests/psxhdrs/pthread/pthread_cond_timedwait.c:28:27: warning: missing braces around initializer [-Wmissing-braces]
     21 ../../../../../../../rtems/c/src/../../testsuites/psxtests/psxautoinit02/init.c:33:25: warning: missing braces around initializer [-Wmissing-braces]
     21 ../../../../../../../rtems/c/src/../../testsuites/psxtests/psxautoinit01/init.c:29:28: warning: missing braces around initializer [-Wmissing-braces]
     21 ../../../../../../../rtems/c/src/../../testsuites/psxtests/psxautoinit01/init.c:28:28: warning: missing braces around initializer [-Wmissing-braces]
     21 ../../../../../../../rtems/c/src/../../testsuites/psxtests/psx0
#3188 20 months ago fixed unspecified Joel Sherrill Joel Sherrill 19 months ago
Summary

Add C11 Threading Examples

Description

C11 is new and we need to provide examples.

#3187 20 months ago fixed build Joel Sherrill Sebastian Huber 19 months ago
Summary

smptests/Makefile.am Issues

Description

There appear to be two issues in smptests/Makefile.am:

  1. smppsxaffinity0[12] are listed twice. This causes a warning. I am unsure if they should always be built or only when POSIX is enabled.
  1. smppsxmutex01 is listed in the "HAS_POSIX" section. Aren't POSIX mutexes always on now so this test should not be inside the conditional?
#3185 20 months ago fixed score Sebastian Huber Sebastian Huber 19 months ago
Summary

Change uptime seconds to int32_t

Description

The use of a 64-bit integer for the uptime seconds is overkill. Use int32_t instead for _Timecounter_Time_uptime. Change derived APIs, e.g. rtems_clock_get_uptime_seconds().

#3182 20 months ago fixed posix Sebastian Huber Sebastian Huber 14 months ago
Summary

CLOCK_REALTIME timeout implementation is not POSIX compliant

Description

Changes of the CLOCK_REALTIME must trigger absolute timeouts. This is not the case. There is no test for this in RTEMS.

#3181 20 months ago fixed build Joel Sherrill Joel Sherrill <joel@…> 19 months ago
Summary

Various cc1plus warnings for "valid for C/ObjC but not for C++"

Description

Fix these

cc1plus: warning: command line option '-Wmissing-prototypes' is valid for C/ObjC but not for C++
cc1plus: warning: command line option '-Wimplicit-function-declaration' is valid for C/ObjC but not for C++
cc1plus: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++
cc1plus: warning: command line option '-Wnested-externs' is valid for C/ObjC but not for C++

#3180 20 months ago fixed build Joel Sherrill Sebastian Huber 7 months ago
Summary

ar warning: u' modifier ignored since D' is the default (see `U')

Description

Remove this warning

sparc-rtems4.12-ar: `u' modifier ignored since `D' is the default (see `U')
#3179 20 months ago fixed posix Joel Sherrill Sebastian Huber 19 months ago
Summary

New warnings from Time Changes

Description

New warnings after picking up your recent commits. How are you checking for warnings?

../../../../../../rtems/c/src/../../cpukit/posix/src/pthreadattrdefault.c:58:5: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     &_POSIX_Threads_Default_attributes.affinitysetpreallocated,
     ^
../../../../../../rtems/c/src/../../cpukit/posix/src/adjtime.c: In function 'adjtime':
../../../../../../rtems/c/src/../../cpukit/posix/src/adjtime.c:85:16: warning: passing argument 1 of '_TOD_Adjust' from incompatible pointer type [-Wincompatible-pointer-types]
   _TOD_Adjust( &delta_as_timestamp );
                ^
In file included from ../../../../../../rtems/c/src/../../cpukit/posix/src/adjtime.c:28:0:
../../cpukit/../../../erc32/lib/include/rtems/score/todimpl.h:287:6: note: expected 'const struct timespec *' but argument is of type 'Timestamp_Control * {aka long long int *}'
 void _TOD_Adjust(
      ^~~~~~~~~~~
sparc-rtems4.12-ar: `u' modifier ignored since `D' is the default (see `U')
sparc-rtems4.12-ar: `u' modifier ignored since `D' is the default (see `U')
sparc-rtems4.12-ar: `u' modifier ignored since `D' is the default (see `U')
sparc-rtems4.12-ar: `u' modifier ignored since `D' is the default (see `U')
../../../../../../rtems/c/src/../../cpukit/libcsupport/src/__times.c: In function '_times':
../../../../../../rtems/c/src/../../cpukit/libcsupport/src/__times.c:60:31: warning: passing argument 1 of '_TOD_Get_zero_based_uptime' from incompatible pointer type [-Wincompatible-pointer-types]
   _TOD_Get_zero_based_uptime( &binuptime );
                               ^
In file included from ../../../../../../rtems/c/src/../../cpukit/libcsupport/src/__times.c:35:0:
../../cpukit/../../../erc32/lib/include/rtems/score/todimpl.h:215:20: note: expected 'Timestamp_Control * {aka long long int *}' but argument is of type 'struct bintime *'
 static inline void _TOD_Get_zero_based_uptime(
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../../rtems/c/src/../../cpukit/libcsupport/src/__times.c:71:55: warning: passing argument 2 of '_Thread_Get_CPU_time_used' from incompatible pointer type [-Wincompatible-pointer-types]
   _Thread_Get_CPU_time_used( _Thread_Get_executing(), &bin_cpu_time_used );
                                                       ^
In file included from ../../../../../../rtems/c/src/../../cpukit/libcsupport/src/__times.c:37:0:
../../cpukit/../../../erc32/lib/include/rtems/score/threadimpl.h:906:6: note: expected 'Timestamp_Control * {aka long long int *}' but argument is of type 'struct bintime *'
 void _Thread_Get_CPU_time_used(
      ^~~~~~~~~~~~~~~~~~~~~~~~~
#3178 20 months ago fixed tool/gcc Joel Sherrill Joel Sherrill <joel@…> 19 months ago
Summary

Update sh-rtems4.12 bset to use rtems-default (using old gcc)

Description

I built a toolset and all BSPs on Centos 7 after switching this to rtems-default.bset again. There was no comment indicating why it was using an older gcc so I assume something has been fixed.

#3177 20 months ago fixed doc Joel Sherrill Chris Johns 19 months ago
Summary

Replace/update POSIX Compliance Guide

Description

The POSIX Compliance Guide was never converted from texinfo. Beyond that, it is out of date and follows the outline of the printed version of the POSIX standard which no one sees anymore. This ticket proposes:

  1. new Sphinx document
  2. contents generated from POSIX API tracking spreadsheet (CSV)
  3. outline per .h file, not functional area
  4. use bullets, not tables so easier to format
#3176 20 months ago fixed tool/newlib Joel Sherrill Joel Sherrill 8 months ago
Summary

getreent in libc.a and generated by confdefs.h

Description

Some applications are getting duplicate symbol definitions for getreent(). One of the examples-v2 programs is doing this. It is because there are two bodies for this method -- one from confdefs.h and another from newlib.

https://sourceware.org/ml/newlib/2017/msg01020.html addresses the issues and needs to be incorporated by the RSB.

https://sourceware.org/ml/newlib/2017/msg01019.html is a cleanup that was spotted at the same time. It can be picked up by a newlib snapshot.

#3175 20 months ago fixed score Sebastian Huber Sebastian Huber 7 months ago
Summary

Merge FreeBSD timecounter changes from 2015-01-20 to now

#3174 20 months ago fixed posix Sebastian Huber Sebastian Huber 19 months ago
Summary

Remove rtems_pthread_attribute_compare()

Description

The rtems_pthread_attribute_compare() function is undocumented and used only in one test. Move it to the test.

#3173 20 months ago fixed arch/arm Chris Johns Chris Johns 16 months ago
Summary

XIlinx AXI I2C driver IP race condition causes clock glitch.

Description

The Xilinx AXI I2C IP has a race condition when the PIRQ read FIFO level is reached and the clock is throttling.

#3172 20 months ago fixed arch/i386 Chris Johns Chris Johns 19 months ago
Summary

i386 PC BSP does not reset when bsp_reset is called.

Description

Removal of the Edison support removed the standard PC reset using the keyboard controller rather then the specific Edison support.

#3171 20 months ago fixed tool/gcc Chris Johns Chris Johns 7 months ago
Summary

RSB GCC does not build on High Sierra and APFS

Description

The issue has been reported upstream as https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81797

#3170 20 months ago fixed unspecified Chris Johns Chris Johns 16 months ago
Summary

Use BSP_output_char via RTEMS printer or simple console driver for test output by default

Description

Test runs with a interrupt driven console driver result in unreliable test outcomes.

Problem was noticed with test runs on Microzed, for example libtest/block08:

The test prints:

** END OF TEST BLOCK 8 ***

The rtems-test command marks the result as a failure. There is a single * missing from the start of the line. I attach the full test trace.

#3168 20 months ago fixed posix Sebastian Huber Sebastian Huber 19 months ago
Summary

Simplify POSIX_API_Control

Description

There is no need to have a copy of the thread attributes used for the pthread_create() in POSIX_API_Control::Attributes. This is at least in line with Linux.

#3167 20 months ago fixed score Sebastian Huber Sebastian Huber 19 months ago
Summary

Internal status codes must not depend on RTEMS_POSIX_API

Description

The internal status codes encode a Classic rtems_status_code and error codes used by the POSIX and C11/C++11 APIs. In case the POSIX API is disabled, the C11/C++11 support must still work.

#3166 20 months ago fixed unspecified Sebastian Huber Sebastian Huber 19 months ago
Summary

New default ticket assignee: NeedsReview?

Description

We have to many tickets with an unclear state if someone is working on them. One problem is that the tickets are assigned to a real person by default. Assign the tickets to a virtual person NeedsReview? to make it clear that this ticket has nobody assigned which can resolve it.

#3163 20 months ago fixed score Sebastian Huber Sebastian Huber 19 months ago
Summary

Add I2C device driver for temperature sensor LM75A

#3160 20 months ago fixed unspecified Chris Johns Chris Johns 19 months ago
Summary

Trace linker score support is broken

Description

The trace linker needs to be updated to build. I am not sure which bit is broken. Building the tools gives:

[ 7/15] Compiling build/arm-rtems4.12-beagleboneblack/hello/both_hello/test.c.2.o                                                                                                                                                                                                                                         
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:  hello-deep.c:134:13: error: 'Thread_queue_Flush_callout' undeclared here (not in a function); did you mean 'Thread_queue_Flush_filter'?                                                                                                                       
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:    { sizeof (Thread_queue_Flush_callout), "Thread_queue_Flush_callout" },                                                                                                                                                                                      
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:              ^~~~~~~~~~~~~~~~~~~~~~~~~~                                                                                                                                                                                                                        
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:              Thread_queue_Flush_filter                                                            
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:  hello-deep.c:140:13: error: 'CORE_mutex_Status' undeclared here (not in a function); did you mean 'CORE_mutex_Control'?                                                                                                                                       
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:    { sizeof (CORE_mutex_Status), "CORE_mutex_Status" },                                                                                                                                                                                                        
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:              ^~~~~~~~~~~~~~~~~                                                                                                                                                                                                                                 
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:              CORE_mutex_Control                                                                                                                                                                                                                                
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:  hello-deep.c:143:19: error: unknown type name 'CORE_mutex_Attributes'                                                                                                                                                                                         
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:    { sizeof (const CORE_mutex_Attributes*), "const CORE_mutex_Attributes*" },                                                                                                                                                                                  
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:                    ^~~~~~~~~~~~~~~~~~~~~                                                                                                                                                                                                                       
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:  hello-deep.c:160:13: error: 'CORE_mutex_API_mp_support_callout' undeclared here (not in a function)                                                                                                                                                           
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:    { sizeof (CORE_mutex_API_mp_support_callout), "CORE_mutex_API_mp_support_callout" },                                                                                                                                                                        
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                                                                                                                                                                                 
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:  hello-deep.c:321:13: error: 'Objects_Locations' undeclared here (not in a function); did you mean 'Objects_Information'?                                                                                                                                      
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:    { sizeof (Objects_Locations*), "Objects_Locations*" },                                         
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:              ^~~~~~~~~~~~~~~~~                                                                    
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:              Objects_Information                                                                                                                                                                                                                               
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:  hello-deep.c:321:31: error: expected expression before ')' token                                                                                                                                                                                              
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:    { sizeof (Objects_Locations*), "Objects_Locations*" },                                         
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:                                ^                                                                                                                                                                                                                               
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:  hello-deep.c:342:31: error: expected expression before ')' token                                 
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:    { sizeof (Objects_Locations*), "Objects_Locations*" },                                         
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:                                ^                                                                  
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:  hello-deep.c:359:31: error: expected expression before ')' token                                 
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:    { sizeof (Objects_Locations*), "Objects_Locations*" },                                         
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:                                ^                                                                  
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:  hello-deep.c:368:31: error: expected expression before ')' token                                 
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:    { sizeof (Objects_Locations*), "Objects_Locations*" },                                         
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:                                ^                                                                  
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:  hello-deep.c:443:31: error: expected expression before ')' token                                 
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:    { sizeof (Objects_Locations*), "Objects_Locations*" },                                         
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:                                ^                                                                  
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:  hello-deep.c:548:13: error: 'Thread_Start_types' undeclared here (not in a function); did you mean '_Thread_Start'?                                                                                                                                           
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:    { sizeof (Thread_Start_types), "Thread_Start_types" },                                         
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:              ^~~~~~~~~~~~~~~~~~                                                                   
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:              _Thread_Start                                                                        
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:  hello-deep.c:570:13: error: 'Thread_blocking_operation_States' undeclared here (not in a function); did you mean 'Thread_queue_Operations'?                                                                                                                   
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:    { sizeof (Thread_blocking_operation_States), "Thread_blocking_operation_States" },             
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                     
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:              Thread_queue_Operations                                                              
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:  hello-deep.c: In function 'rtld_pg_printk_entry':                                                
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:  hello-deep.c:678:3: warning: implicit declaration of function 'printk'; did you mean 'printf'? [-Wimplicit-function-declaration]                                                                                                                              
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:    printk (">>> %s (0x%08x)\n", func_name, func_addr);                                            
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:    ^~~~~~          
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:    printf          
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:  hello-deep.c: At top level:                                                                      
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:  hello-deep.c:742:48: error: expected declaration specifiers or '...' before 'Thread_queue_Flush_callout'                                                                                                                                                      
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:  void _CORE_mutex_Flush(CORE_mutex_Control* a1, Thread_queue_Flush_callout a2, uint32_t a3);      
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:                                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~                        
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:  hello-deep.c:743:55: error: expected declaration specifiers or '...' before 'Thread_queue_Flush_callout'                                                                                                                                                      
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:  void __real__CORE_mutex_Flush(CORE_mutex_Control* a1, Thread_queue_Flush_callout a2, uint32_t a3);                                                                                                                                                            
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:                                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~                 
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:  hello-deep.c:744:55: error: expected declaration specifiers or '...' before 'Thread_queue_Flush_callout'                                                                                                                                                      
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:  void __wrap__CORE_mutex_Flush(CORE_mutex_Control* a1, Thread_queue_Flush_callout a2, uint32_t a3)
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:                                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~                 
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:  hello-deep.c:757:1: error: unknown type name 'CORE_mutex_Status'; did you mean 'CORE_mutex_Control'?                                                                                                                                                          
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:  CORE_mutex_Status _CORE_mutex_Initialize(CORE_mutex_Control* a1, Thread_Control* a2, const CORE_mutex_Attributes* a3, bool a4);                                                                                                                               
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:  ^~~~~~~~~~~~~~~~~ 
/Users/chris/development/rtems/4.12/bin/arm-rtems4.12-gcc:  CORE_mutex_Control

This is a snip of the errors.

#3159 20 months ago fixed unspecified Chris Johns Chris Johns 19 months ago
Summary

Examples v2 trace linker ini files reference non-existing dump-on-error

Description

Remove the dump-on-error option.

#3158 20 months ago fixed unspecified Chris Johns Chris Johns 19 months ago
Summary

Examples v2 does not build

Description

Updating waf breaks the rootfs. Add rootfs support to rtems-waf.git.

#3157 20 months ago fixed unspecified Jeff Mayes Joel Sherrill 19 months ago
Summary

PowerPC tools don't build on 32-bit hosts

Description

Using RSB and trying to build PowerPC. Updated RSB just a few days ago. i386 and arm build successfully, but PowerPC fails.

configure:3662: checking for suffix of object files configure:3684: /opt/rtems-tools/rsb/rtems/build/powerpc-rtems4.12-gcc-7.2.0-newlib-2.5.0.20170818-i686-pc-cygwin-1/build/./gcc/xgcc -B/opt/rtems-tools/rsb/rtems/build/powerpc-rtems4.12-gcc-7.2.0-newlib-2.5.0.20170818-i686-pc-cygwin-1/build/./gcc/ -nostdinc -B/opt/rtems-tools/rsb/rtems/build/powerpc-rtems4.12-gcc-7.2.0-newlib-2.5.0.20170818-i686-pc-cygwin-1/build/powerpc-rtems4.12/me6500/m64/newlib/ -isystem /opt/rtems-tools/rsb/rtems/build/powerpc-rtems4.12-gcc-7.2.0-newlib-2.5.0.20170818-i686-pc-cygwin-1/build/powerpc-rtems4.12/me6500/m64/newlib/targ-include -isystem /opt/rtems-tools/rsb/rtems/build/powerpc-rtems4.12-gcc-7.2.0-newlib-2.5.0.20170818-i686-pc-cygwin-1/gcc-7.2.0/newlib/libc/include -B/desk/rtems/powerpc-rtems4.12/bin/ -B/desk/rtems/powerpc-rtems4.12/lib/ -isystem /desk/rtems/powerpc-rtems4.12/include -isystem /desk/rtems/powerpc-rtems4.12/sys-include -mcpu=e6500 -m64 -c -g -O2 conftest.c >&5 Assembler messages: Fatal error: -a64 unsupported configure:3688: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "GNU C Runtime Library" | #define PACKAGE_TARNAME "libgcc" | #define PACKAGE_VERSION "1.0" | #define PACKAGE_STRING "GNU C Runtime Library 1.0" | #define PACKAGE_BUGREPORT "" | #define PACKAGE_URL "http://www.gnu.org/software/libgcc/" | /* end confdefs.h. */ | | int | main () | { | | ; | return 0; | } configure:3702: error: in `/opt/rtems-tools/rsb/rtems/build/powerpc-rtems4.12-gcc-7.2.0-newlib-2.5.0.20170818-i686-pc-cygwin-1/build/powerpc-rtems4.12/me6500/m64/libgcc': configure:3705: error: cannot compute suffix of object files: cannot compile

#3153 20 months ago fixed posix Sebastian Huber Sebastian Huber 19 months ago
Summary

Accept PTHREAD_PROCESS_SHARED for POSIX rwlocks

Description

Since we have only one process, sharing between processes is trivial.

#3152 20 months ago wontfix arch/arm Chris Johns Chris Johns 7 months ago
Summary

Beaglebone Black crashes on u-boot master build.

Description

The crash with a Linux type image and no FDT is:

] ## Booting kernel from Legacy Image at 82000000 ...
]    Image Name:   RTEMS
]    Image Type:   ARM Linux Kernel Image (gzip compressed)
]    Data Size:    60886 Bytes = 59.5 KiB
]    Load Address: 80000000
]    Entry Point:  80000000
]    Verifying Checksum ... OK
]    Uncompressing Kernel Image ... OK
] 
] Starting kernel ...
] 
] data abort
] 
]     MAYBE you should read doc/README.arm-unaligned-accesses
] 
] pc : [<8000010c>]        lr : [<800000ac>]
] sp : 80101000  ip : 0000000c   fp : 9f35ac28
] r10: 9f3ad0f4  r9 : 00000000   r8 : 9f238f40
] r7 : 00000000  r6 : 80000100   r5 : 00000e05  r4 : 60000193
] r3 : 9f238fe0  r2 : 80000100   r1 : 00000e05  r0 : 60000193
] Flags: nzcv  IRQs off  FIQs on  Mode SVC_32
] Resetting CPU ...

and the code is:

BSP_START_TEXT_SECTION void bsp_start_hook_0(void)
{
}
80000104:       e12fff1e        bx      lr

80000108 <bsp_start_hook_1>:
BSP_START_TEXT_SECTION static inline arm_a8core_start_set_vector_base(void)
{
  /*
   * Do not use bsp_vector_table_begin == 0, since this will get optimized away.
  */
  if (bsp_vector_table_end != bsp_vector_table_size) {
80000108:       e3002040        movw    r2, #64 ; 0x40
8000010c:       e3003040        movw    r3, #64 ; 0x40
80000110:       e3482000        movt    r2, #32768      ; 0x8000
80000114:       e3403000        movt    r3, #0
80000118:       e1520003        cmp     r2, r3
#3148 20 months ago fixed posix Chris Johns joel.sherrill@… 19 months ago
Summary

PSXRDWRV Test failure on Beaglebone Black

Description

Running rtems-test with a recent u-boot and a current master this failure is reported:

] RTEMS Beagleboard: am335x-based
]
]
] *** BEGIN OF TEST PSXRDWRV ***
] writev bad file descriptor -- EBADF
] writev error 1: 22=Invalid argument
] Error during error test!!!!
#3142 20 months ago fixed posix Sebastian Huber Sebastian Huber 19 months ago
Summary

POSIX: Reduce size of pthread_once_t and make it zero-initialized

Description

A zero-initialized pthread_once_t reduces the ROM usage of RTEMS applications, since the global pthread_once_t objects may reside in the BSS section.

#3141 20 months ago fixed doc Chris Johns Chris Johns 19 months ago
Summary

Change the BSP Howto's name to something smaller.

Description

The BSP Howto's current name is:

RTEMS BSP and Device Driver Development Guide

This is long and causes problems in the PDF output. Change the name to:

RTEMS BSP and Driver Guide

#3140 20 months ago fixed score Chris Johns joel.sherrill@… 19 months ago
Summary

CPU Kit broken with --enable-rtems-debug

Description

Building with:

..../rtems.git/configure --target=arm-rtems4.12 --prefix=/opt/work/chris/rtems/kernel/4.12 --disable-networking --enable-rtemsbsp=beagleboneblack --enable-maintainer-mode --enable-rtems-debug

results in an error:

gmake[5]: Entering directory '/opt/work/chris/rtems/kernel/bsps/beagleboneblack/arm-rtems4.12/c/beagleboneblack/cpukit/score'
arm-rtems4.12-gcc --pipe -DHAVE_CONFIG_H   -I.. -I../../cpukit/../../../beagleboneblack/lib/include   -mcpu=cortex-a8 -O2 -g -ffunction-sections -fdata-sections -Wall -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs -MT src/libscore_a-semaphore.o -MD -MP -MF src/.deps/libscore_a-semaphore.Tpo -c -o src/libscore_a-semaphore.o `test -f 'src/semaphore.c' || echo '/opt/work/chris/rtems/kernel/rtems.git/c/src/../../cpukit/score/'`src/semaphore.c
In file included from /opt/work/chris/rtems/kernel/rtems.git/c/src/../../cpukit/score/src/semaphore.c:21:0:
/opt/work/chris/rtems/kernel/rtems.git/c/src/../../cpukit/score/src/semaphore.c: In function '_Semaphore_Post':
/opt/work/chris/rtems/kernel/rtems.git/c/src/../../cpukit/score/src/semaphore.c:134:27: error: 'UINT_MAX' undeclared (first use in this function); did you mean 'UINT8_MAX'?
     _Assert( sem->count < UINT_MAX );
                           ^
../../cpukit/../../../beagleboneblack/lib/include/rtems/score/assert.h:67:12: note: in definition of macro '_Assert'
        ( ( _e ) ? \
            ^~
/opt/work/chris/rtems/kernel/rtems.git/c/src/../../cpukit/score/src/semaphore.c:134:27: note: each undeclared identifier is reported only once for each function it appears in
     _Assert( sem->count < UINT_MAX );
                           ^
../../cpukit/../../../beagleboneblack/lib/include/rtems/score/assert.h:67:12: note: in definition of macro '_Assert'
        ( ( _e ) ? \
            ^~
gmake[5]: *** [Makefile:4571: src/libscore_a-semaphore.o] Error 1

We need the rtems-bsp-builder to be run on a regular basis to catch these errors.

Tools are:

$ /opt/work/rtems/4.12/bin/arm-rtems4.12-gcc --version
arm-rtems4.12-gcc (GCC) 7.2.0 20170814 (RTEMS 4.12, RSB e6d0a8bae6d16eba605370ca11a5928b797820bb-modified, Newlib 2.5.0.20170818)
#3139 20 months ago fixed bsps Sebastian Huber Sebastian Huber 19 months ago
Summary

Remove old ISR parameter from Clock_driver_support_install_isr() and make it optional

Description

The old ISR is not used by the clock driver shell.

#3137 20 months ago fixed posix Sebastian Huber Sebastian Huber 19 months ago
Summary

Accept PTHREAD_PROCESS_SHARED for POSIX condition variables

Description

Since we have only one process, sharing between processes is trivial.

#3136 21 months ago fixed fs Sebastian Huber Sebastian Huber 19 months ago
Summary

Use FIFO for file descriptor free list

Description

Currently, the free list of file descriptors is organized as a LIFO. In erroneous systems which use a file descriptor after a call to close(), this increases the likelihood that this error is undetected due to the prompt re-use of the file descriptor. The use of a FIFO has the benefit that free file descriptors remain on the free list as long as possible. This increases the time frame in which an invalid use of a closed file descriptor returns an error status.

#3135 21 months ago fixed admin Sebastian Huber amar@… 19 months ago
Summary

Devel mailing list doesn't work and Git push impossible due to disk full

Description

I got this:

git push
Counting objects: 18, done.
Delta compression using up to 12 threads.
Compressing objects: 100% (17/17), done.
Writing objects: 100% (18/18), 1.68 KiB | 0 bytes/s, done.
Total 18 (delta 16), reused 0 (delta 0)
remote: error: file write error (No space left on device)
remote: fatal: unable to write sha1 file
error: remote unpack failed: unpack-objects abnormal exit
To ssh://dispatch.rtems.org/data/git/rtems.git
 ! [remote rejected]       upstream -> master (unpacker error)
error: failed to push some refs to 'ssh://sebh@dispatch.rtems.org/data/git/rtems.git'

We have on dispatch.rtems.org:

Filesystem        Size    Used   Avail Capacity  Mounted on
/dev/gpt/root0     88G     82G   -600M   101%    / 
#3134 21 months ago fixed fs Sebastian Huber Sebastian Huber 19 months ago
Summary

Remove LIBIO_FLAGS_CREATE

Description

Remove unused LIBIO_FLAGS_CREATE flag.

#3133 21 months ago fixed fs Sebastian Huber Sebastian Huber 19 months ago
Summary

Remove rtems_libio_t::driver

Description

Remove unused rtems_libio_t::driver member.

#3132 21 months ago fixed fs Sebastian Huber Sebastian Huber 18 months ago
Summary

Add reference counting to file descriptors

Description

The use of a file descriptor after or during a close() operation may result in a use after free. Finding such errors in applications is difficult. Especially in SMP systems using the highly dynamic libbsd network stack.

The file descriptor objects reside in a table with a application configuration defined size. So, the storage of a file descriptor object is always present, only the referenced file system node may change over time. The file system nodes may use an internal reference counting, which is independent of the file descriptors.

To implement reference counting for the file descriptors add a bit field for the reference count to the rtems_libio_t::flags and use atomic operations to maintain the flags.

Each operation using a file descriptor should perform a sequence like this:

int op( int fd, ... )
{
  rtems_libio_t *iop;
  unsigned int   flags;

  if ( (uint32_t) fd >= rtems_libio_number_iops ) {
    rtems_set_errno_and_return_minus_one( EBADF );
  }

  iop = rtems_libio_iop( fd );
  flags = rtems_libio_iop_hold( iop );

  if ( ( flags & LIBIO_FLAGS_OPEN ) == 0 ) {
    rtems_libio_iop_drop( _iop );
    rtems_set_errno_and_return_minus_one( EBADF );
  }

  do_op( iop, ... );
  rtems_libio_iop_drop( iop );
  return 0;
}

A close() should return -1 with EBUSY in case the file descriptor is referenced. In this case, no close operation will be performed.

#3130 21 months ago fixed doc Chris Johns chrisj@… 19 months ago
Summary

RTEMS Doxygen.in latex output does not build

Description

Doxygen latex output on sync.rtems.org does not build.

Does latex output build on any host? If so which hosts and what tool combination.

If it does not build we should consider defaulting the setting for latex output to "no".

#3129 21 months ago fixed tool Chris Johns joel 18 months ago
Summary

RTEMS Tools covoar build fails on Windows

Description

The following warnings and errors are present so the RSB tools do not finish and install:

[ 97/150] Compiling linkers/rtems-syms.cpp
[ 98/150] Compiling linkers/rtems-rapper.cpp
[ 99/150] Compiling linkers/rtems-exeinfo.cpp
In file included from ../rtemstoolkit/rld-files.cpp:30:0:
../rtemstoolkit/rld-files.cpp: In destructor 'virtual rld::files::image::~image()':
../rtemstoolkit/rld.h:111:75: warning: throw will always call terminate() [-Wterminate]
     rld::error (_what, std::string (__FILE__) + ":" + to_string (__LINE__))
                                                                           ^
../rtemstoolkit/rld-files.cpp:256:15: note: in expansion of macro 'rld_error_at'
         throw rld_error_at ("references when destructing image");
               ^~~~~~~~~~~~
../rtemstoolkit/rld.h:111:75: note: in C++11 destructors default to noexcept
     rld::error (_what, std::string (__FILE__) + ":" + to_string (__LINE__))
                                                                           ^
../rtemstoolkit/rld-files.cpp:256:15: note: in expansion of macro 'rld_error_at'
         throw rld_error_at ("references when destructing image");
               ^~~~~~~~~~~~

[100/150] Compiling tester/covoar/app_common.cc
[101/150] Compiling tester/covoar/CoverageFactory.cc
[102/150] Compiling tester/covoar/CoverageMap.cc
[103/150] Compiling tester/covoar/CoverageMapBase.cc
[104/150] Compiling tester/covoar/CoverageRanges.cc
[105/150] Compiling tester/covoar/CoverageReaderBase.cc
[106/150] Compiling tester/covoar/CoverageReaderQEMU.cc
[107/150] Compiling tester/covoar/CoverageReaderRTEMS.cc
[108/150] Compiling tester/covoar/CoverageReaderSkyeye.cc
[109/150] Compiling tester/covoar/CoverageReaderTSIM.cc
[110/150] Compiling tester/covoar/CoverageWriterBase.cc
[111/150] Compiling tester/covoar/CoverageWriterRTEMS.cc
[112/150] Compiling tester/covoar/CoverageWriterSkyeye.cc
[113/150] Compiling tester/covoar/CoverageWriterTSIM.cc
[114/150] Compiling tester/covoar/DesiredSymbols.cc
[115/150] Compiling tester/covoar/ExecutableInfo.cc
[116/150] Compiling tester/covoar/Explanations.cc
[117/150] Compiling tester/covoar/GcovData.cc
[118/150] Compiling tester/covoar/GcovFunctionData.cc
[119/150] Compiling tester/covoar/ObjdumpProcessor.cc
../tester/covoar/DesiredSymbols.cc: In member function 'void Coverage::DesiredSymbols::determineSourceLines(Coverage::CoverageRanges*, Coverage::ExecutableInfo*)':
../tester/covoar/DesiredSymbols.cc:517:36: error: 'realpath' was not declared in this scope
       realpath( inputBuffer, rpath );
                                    ^

Waf: Leaving directory `D:/opt/rtems/rtems-tools.git/build'
Build failed
 -> task in 'ccovoar' failed with exit status 1 (run with -v to display more information)
#3128 21 months ago fixed tool Chris Johns chrisj@… 19 months ago
Summary

RTEMS Tools corvar does not build on Windows.

Description

The following error has appeared on Windows:

In file included from ../rtemstoolkit/elftoolchain/libelf/gelf.h:34:0,
                 from ../rtemstoolkit/rld-elf-types.h:29,
                 from ../rtemstoolkit/rld.h:72,
                 from ../rtemstoolkit/rld-process.h:31,
                 from ../tester/covoar/ObjdumpProcessor.h:16,
                 from ../tester/covoar/DesiredSymbols.h:18,
                 from ../tester/covoar/app_common.h:6,
                 from ../tester/covoar/app_common.cc:40:
../rtemstoolkit/elftoolchain/libelf/libelf.h:33:23: fatal error: sys/queue.h: No such file or directory
 #include <sys/queue.h>
                       ^
compilation terminated.

Waf: Leaving directory `D:/opt/rtems/rsb.git/rtems/build/rtH/rtems-tools.git/build'
#3127 21 months ago fixed tool/gcc Chris Johns Chris Johns 7 months ago
Summary

MIPS tool build on Darwin (MacOS) fails.

Description

This is the same bug that effects FreeBSD. For details see:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66032 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62097

#3126 21 months ago fixed posix Sebastian Huber Sebastian Huber 19 months ago
Summary

Accept PTHREAD_PROCESS_SHARED for POSIX barriers

Description

Since we have only one process, sharing between processes is trivial.

#3125 21 months ago fixed posix Sebastian Huber Sebastian Huber 19 months ago
Summary

Accept PTHREAD_PROCESS_SHARED for POSIX mutexes

Description

Since we have only one process, sharing between processes is trivial.

#3124 21 months ago fixed score Sebastian Huber Sebastian Huber 19 months ago
Summary

Ignore pshared attribute for POSIX semaphores

Description

Since we have only one process, sharing between processes is trivial.

#3123 21 months ago wontfix tool/gdb Sebastian Huber Sebastian Huber 19 months ago
Summary

GDB 8.0.1 is broken on FreeBSD 11

Description

I tried to add the patches for 7.11, but this results in:

--------------------------
|--- gdb/gnulib/import/stddef.in.h.orig 2016-10-07 23:33:10.529558000 -0700
|+++ gdb/gnulib/import/stddef.in.h      2016-10-07 23:33:23.824676000 -0700
--------------------------
Patching file gdb/gnulib/import/stddef.in.h using Plan A...
Hunk #1 failed at 82.
1 out of 1 hunks failed--saving rejects to gdb/gnulib/import/stddef.in.h.rej
#3122 21 months ago fixed bsps Sebastian Huber Sebastian Huber 6 weeks ago
Summary

Simplify and unify BSP_output_char

Description

The BSP_output_char should output a char and not mingle with high level processing, e.g. '\n' to '\r\n' translation. Move this translation to rtems_putc(). Remove it from all the BSP_output_char implementations.

#3121 21 months ago fixed tool/newlib Sebastian Huber Sebastian Huber 19 months ago
Summary

clock() implementation in Newlib is broken

Description

Newlib uses _times_r() in clock(). The problem is that the _times_r() clock frequency is defined by sysconf(_SC_CLK_TCK). The clock frequency of clock() is the constant CLOCKS_PER_SEC.

FreeBSD uses getrusage() for clock().

#3117 21 months ago fixed score Sebastian Huber Sebastian Huber 14 months ago
Summary

score: Optimize _Thread_queue_Enqueue() timeout handling

Description

Use the Thread_queue_Context::enqueue_callout to do the timeout handling. This avoids the switch statement in _Thread_queue_Timeout(). It removes the thread queue dependency to _Thread_Timeout().

#3116 21 months ago fixed posix Sebastian Huber Sebastian Huber 19 months ago
Summary

POSIX: Make sem_t self-contained

Description

Change the POSIX semaphore into a self-contained object using <sys/lock.h>, e.g.

typedef struct {
  struct _Semaphore_Control _sem;
} sem_t;
#3115 21 months ago fixed posix Sebastian Huber Sebastian Huber 18 months ago
Summary

POSIX: Make pthread_rwlock_t self-contained

Description

Change the POSIX read-write lock into a self-contained object using <sys/lock.h>, e.g.

typedef struct {
  struct _Thread_queue_Queue _queue;
  unsigned int               _flags;
  unsigned int               _readers;
} pthread_rwlock_t;
#3114 21 months ago fixed posix Sebastian Huber Sebastian Huber 18 months ago
Summary

POSIX: Make pthread_barrier_t self-contained

Description

Change the POSIX barrier into a self-contained object using <sys/lock.h>, e.g.

typedef struct {
  struct _Thread_queue_Queue  _queue;
  unsigned int                _flags;
  unsigned int                _count;
} pthread_barrier_t;
#3113 21 months ago fixed posix Sebastian Huber Sebastian Huber 18 months ago
Summary

POSIX: Make pthread_cond_t self-contained

Description

Change the POSIX condition variable into a self-contained object using <sys/lock.h>, e.g.

typedef struct {
  struct _Condition_Control  _condition;
  pthread_mutex_t           *_mutex;
  clockid_t                  _clock;
} pthread_cond_t;
#3112 21 months ago fixed posix Sebastian Huber Sebastian Huber 18 months ago
Summary

POSIX: Make pthread_mutex_t self-contained

Description

Change the POSIX mutex into a self-contained object using <sys/lock.h>, e.g.

typedef struct {
  struct _Mutex_recursive_Control  _mutex;
  unsigned int                     _flags;
  struct _Scheduler_Control       *_scheduler;
  __uint64_t                       _priority_ceiling;
} pthread_mutex_t;
#3111 21 months ago fixed tool/newlib Sebastian Huber Sebastian Huber 16 months ago
Summary

Newlib: Change time_t and clock_t integer types to 64-bit

#3109 21 months ago fixed arch/riscv Sebastian Huber Hesham Almatary 9 months ago
Summary

Add RISC-V support

Description

Add RISC-V 32-bit tool chain to RSB consisting of Binutils, GCC, Newlib and GDB. Add CPU port and a basic simulator BSP.

#3103 21 months ago fixed tool Joel Sherrill chrisj@… 19 months ago
Summary

rtems-tools on CentOS 7 Build Failure

Description

A build failure for rtems-tools on the master has been reported on CentOS 7. This is my notes as I try to reproduce it.

[joel@localhost rtems-tools]$ ./waf configure Setting top to : /home/joel/rtems-work/rtems-tools Setting out to : /home/joel/rtems-work/rtems-tools/build Version : 4.12.78bbe4c1a31d (4.12) Checking for program 'python' : /usr/bin/python Checking for python version >= 2.6.6 : 2.7.5 Checking for 'gcc' (C compiler) : /usr/bin/gcc Checking for 'g++' (C++ compiler) : /usr/bin/g++ Checking for header alloca.h : yes Checking for header fcntl.h : yes Checking for header process.h : not found Checking for header stdlib.h : yes Checking for header string.h : yes Checking for header strings.h : yes Checking for header sys/file.h : yes Checking for header sys/stat.h : yes Checking for header sys/time.h : yes Checking for header sys/types.h : yes Checking for header sys/wait.h : yes Checking for header unistd.h : yes Checking for header vfork.h : not found Checking for function getrusage : yes Checking for program 'm4' : /usr/bin/m4 Checking for header sys/wait.h : yes Checking for function kill : yes Checking for 'gcc' (C compiler) : /usr/bin/gcc Checking for 'g++' (C++ compiler) : /usr/bin/g++ Checking for 'g++' (C++ compiler) : /usr/bin/g++ Checking for function open64 : not found Checking for function stat64 : not found 'configure' finished successfully (0.786s) ========================================================= [joel@localhost rtems-tools]$ ./waf -j 1 --verbose Waf: Entering directory `/home/joel/rtems-work/rtems-tools/build' [ 88/151] Compiling rtemstoolkit/rld-process.cpp 11:58:16 runner ['/usr/bin/g++', '-pipe', '-g', '-O2', '-Wall', '-Wextra', '-pedantic', '-Irtemstoolkit', '-I../rtemstoolkit', '-Irtemstoolkit/elftoolchain/libelf', '-I../rtemstoolkit/elftoolchain/libelf', '-Irtemstoolkit/elftoolchain/common', '-I../rtemstoolkit/elftoolchain/common', '-Irtemstoolkit/libiberty', '-I../rtemstoolkit/libiberty', '-DHAVE_CONFIG_H=1', '-DRTEMS_VERSION="4.12"', '-DRTEMS_RELEASE="4.12.78bbe4c1a31d"', '-DFASTLZ_LEVEL=1', '../rtemstoolkit/rld-process.cpp', '-c', '-o/home/joel/rtems-work/rtems-tools/build/rtemstoolkit/rld-process.cpp.7.o'] In file included from ../rtemstoolkit/libiberty/libiberty.h:42:0,

from ../rtemstoolkit/rld-process.cpp:64:

../rtemstoolkit/libiberty/ansidecl.h:169:64: error: new declaration ‘char* basename(const char*)’

# define ATTRIBUTE_NONNULL(m) attribute ((nonnull (m)))

../rtemstoolkit/libiberty/libiberty.h:112:64: note: in expansion of macro ‘ATTRIBUTE_NONNULL’

extern char *basename (const char *) ATTRIBUTE_RETURNS_NONNULL ATTRIBUTE_NONNULL(1);

In file included from ../rtemstoolkit/rld-process.cpp:24:0: /usr/include/string.h:599:26: error: ambiguates old declaration ‘const char* basename(const char*)’

extern "C++" const char *basename (const char *filename)

In file included from ../rtemstoolkit/libiberty/libiberty.h:42:0,

from ../rtemstoolkit/rld-process.cpp:64:

../rtemstoolkit/libiberty/ansidecl.h:169:64: error: declaration of ‘int vasprintf(char, const char*, va_list_tag*)’ has a different exception specifier

# define ATTRIBUTE_NONNULL(m) attribute ((nonnull (m)))

../rtemstoolkit/libiberty/ansidecl.h:198:80: note: in expansion of macro ‘ATTRIBUTE_NONNULL’

#define ATTRIBUTE_PRINTF(m, n) attribute ((format (printf, m, n))) ATTRIBUTE_NONNULL(m)

../rtemstoolkit/libiberty/libiberty.h:651:55: note: in expansion of macro ‘ATTRIBUTE_PRINTF’

extern int vasprintf (char , const char *, va_list) ATTRIBUTE_PRINTF(2,0);

In file included from ../rtemstoolkit/rld-process.cpp:23:0: /usr/include/stdio.h:399:12: error: from previous declaration ‘int vasprintf(char, const char*, va_list_tag*) throw ()’

extern int vasprintf (char restrict ptr, const char *restrict f,

Waf: Leaving directory `/home/joel/rtems-work/rtems-tools/build' Build failed

-> task in 'rld' failed with exit status 1:

{task 23048432: cxx rld-process.cpp -> rld-process.cpp.7.o}

['/usr/bin/g++', '-pipe', '-g', '-O2', '-Wall', '-Wextra', '-pedantic', '-Irtemstoolkit', '-I../rtemstoolkit', '-Irtemstoolkit/elftoolchain/libelf', '-I../rtemstoolkit/elftoolchain/libelf', '-Irtemstoolkit/elftoolchain/common', '-I../rtemstoolkit/elftoolchain/common', '-Irtemstoolkit/libiberty', '-I../rtemstoolkit/libiberty', '-DHAVE_CONFIG_H=1', '-DRTEMS_VERSION="4.12"', '-DRTEMS_RELEASE="4.12.78bbe4c1a31d"', '-DFASTLZ_LEVEL=1', '../rtemstoolkit/rld-process.cpp', '-c', '-o/home/joel/rtems-work/rtems-tools/build/rtemstoolkit/rld-process.cpp.7.o'] ================================================================== Looking down into libiberty.h, I picked on basename()

/* HAVE_DECL_* is a three-state macro: undefined, 0 or 1. If it is

undefined, we haven't run the autoconf check so provide the declaration without arguments. If it is 0, we checked and failed to find the declaration so provide a fully prototyped one. If it is 1, we found it so don't provide any declaration at all. */

#if !HAVE_DECL_BASENAME

#if defined (GNU_LIBRARY )
defined (linux) \
defined (FreeBSD) defined (OpenBSD) defined (NetBSD) \
defined (CYGWIN) defined (CYGWIN32) defined (MINGW32) \
defined (DragonFly) defined (HAVE_DECL_BASENAME)

extern char *basename (const char *) ATTRIBUTE_RETURNS_NONNULL ATTRIBUTE_NONNULL(1); #else /* Do not allow basename to be used if there is no prototype seen. We

either need to use the above prototype or have one from autoconf which would result in HAVE_DECL_BASENAME being set. */

#define basename basename_cannot_be_used_without_a_prototype #endif #endif ============================================ The native CentOS 7 has this definition of basename:

# ifndef basename /* Return the file name within directory of FILENAME. We don't

declare the function if the `basename' macro is available (defined in <libgen.h>) which makes the XPG version of this function available. */

# ifdef CORRECT_ISO_CPP_STRING_H_PROTO extern "C++" char *basename (char *filename)

THROW asm ("basename") nonnull ((1));

extern "C++" const char *basename (const char *filename)

THROW asm ("basename") nonnull ((1));

# else extern char *basename (const char *filename) THROW nonnull ((1)); # endif # endif #endif

============================== I think we are getting the C++ prototype from string.h and a conflicting C prototype from libiberty.h

#3102 22 months ago fixed tool Chris Johns Chris Johns 19 months ago
Summary

rtems-exeinfo does not decode ARM static constructors.

Description

The sections for ARM are not the same as other architectures.

#3101 22 months ago fixed score Chris Johns Chris Johns 19 months ago
Summary

Add I2C Drivers for LM25066A, TMP112, ADS1113 and ADS1115

Description

Add drivers for:

  1. LM25066A
  2. TMP112
  3. ADS1113
  4. ADS1115
#3100 22 months ago fixed arch/arm Chris Johns Chris Johns 19 months ago
Summary

Add Xilinx AXI I2C driver

Description

Add a Xilinx AXI I2C driver.

#3099 22 months ago fixed unspecified Chris Johns Chris Johns 19 months ago
Summary

Add RTEMS FDT wrapper and shell command to libmisc

Description

Provide a wrapper to the FDT library for use on RTEMS. The wrapper provides a simplified interface suitable for applications. The shell command provides access to registered FDT blobs so a user can search the tree like a file system and optionally read and write from device addresses.

#3098 22 months ago fixed admin Chris Johns Amar Takhar 7 months ago
Summary

Add new RTEMS repos to github.

Description

Please add:

  1. rtems-docs.git
  2. rtems-release.git

to our github repos.

#3096 22 months ago fixed shell Chris Johns Chris Johns 19 months ago
Summary

Shell internal commands should be public.

Description

A few of the functions held in cpukit/libmisc/shell/internal.h are useful in building system. For example rtems_shell_register_monitor_commands() and rtems_shell_execute_cmd().

The shell commands are important and systems may provide other scripting mechanisms, for example sequences in YAML files. Providing public access lets users know the functions are supported.

#3091 22 months ago fixed tool Joel Sherrill Sebastian Huber 19 months ago
Summary

Core Dump in powerpc-rtems4.12-ld

Description

This appears to have been introduced by the new binutils. Impacts qemuprep and qemuprep-altivec BSPs.

gmake[8]: Entering directory `/data/home/joel/rtems-work/rtems-testing/rtems/build-powerpc-qemuprep-rtems/powerpc-rtems4.12/c/qemuprep/lib/libbsp/powerpc/motorola_powerpc/qemu_fakerom' powerpc-rtems4.12-ld -o qemu_fakerom.bin qemu_fakerom.o qemu_fakeres.o --oformat binary -nostdlib -Ttext 0xfff00000 --section-start=.romentry=0xfffffffc gmake[8]: * [qemu_fakerom.bin] Segmentation fault

#3090 22 months ago fixed bsps Sebastian Huber Sebastian Huber 16 months ago
Summary

Add BSP for i.MX 7

#3089 22 months ago fixed fs Fan Deng Fan Deng 14 months ago
Summary

Inconsistent blocking addressing in RFS

Description

Background There are two ways to address a block in RFS:

  1. Via a single 32bit block number (bno)
  2. Via a group number(gno) and a bit offset (bit)

They should be fully convertible (1-1 mapping). In other words, the equation to convert 1 to 2 should be unique within the RFS implementation.

The bug The RFS implementation contains two different conversions between 1 and 2.

Details

  1. In rtems_rfs_group_bitmap_alloc (rtems-rfs-group.c, line 172)
    bno = gno * group_blocks + bit
    
  1. In rtems_rfs_group_bitmap_alloc (rtems-rfs-group.c, line 228)
    bno = gno * group_blocks + bit + 1 (via rtems_rfs_group_block() function)
    
  1. In rtems_rfs_group_bitmap_free (rtems-rfs-group.c, line 283)
    bno = gno * group_blocks + bit + 1 (RTEMS_RFS_SUPERBLOCK_SIZE)
    
  1. In rtems_rfs_group_bitmap_test (rtems-rfs-group.c, line 332)
    bno = gno * group_blocks + bit
    

To summarize, the implementation contains two ways of converting a bno to a (gno, bit) pair:

Either:

bno = gno * group_blocks + bit

Or:

bno = gno * group_blocks + bit + 1

The Fix The RFS implementation should consistently convert a bno to a (gno, bit) pair with:

bno = gno * group_blocks + bit + RTEMS_RFS_SUPERBLOCK_SIZE

This is because the superblock is not accounted for in the block bitmaps. So places to change:

  1. rtems-rfs-group.c: all references to the conversion must be updated to use RTEMS_RFS_SUPERBLOCK_SIZE explicitly.
  1. rtems_rfs_group_block converts the pair to bno via:
    #define rtems_rfs_group_block(_g, _b) (((_g)->base) + (_b))
    

(_g)->base is calculated via rtems-rfs-format.c from:

#define rtems_rfs_fs_block(_fs, _grp, _blk) \
  ((((_fs)->group_blocks) * (_grp)) + (_blk) + 1)

The "+ 1" part should really be "+ RTEMS_RFS_SUPERBLOCK_SIZE" to be logically correct. As RTEMS_RFS_SUPERBLOCK_SIZE itself has a comment saying:

/**
 * Number of blocks in the superblock. Yes I know it is a superblock and not
 * superblocks but if for any reason this needs to change it is handled.
 */
#define RTEMS_RFS_SUPERBLOCK_SIZE (1)
#3088 22 months ago fixed shell likangbei chrisj@… 19 months ago
Summary

shell test in testsuites\samples\fileio many COMMANDs is Lost

Description

testsuites\samples\fileio test on atsam BSP, init.c: #define CONFIGURE_SHELL_COMMANDS_INIT #define CONFIGURE_SHELL_COMMANDS_ALL

but when press s -> start shell,I only find three COMMANDs(help,alias,time),Other COMMANDs is Lost。 I remember that the previous version was normal。

Sorry! My English is bad!

#3087 22 months ago fixed tool/rsb likangbei Chris Johns 19 months ago
Summary

RSB rtems-gdb-7.12-1.cfg MD5 value is ERROR

Description

rtems-source-builder\rtems\config\tools\rtems-gdb-7.12-1.cfg line 16:%hash md5 gdb-7.12-sis-leon2-leon3.diff "fe29e7daaab3bf70c99cda6925d8c0c5" is error "40670e05b7fc3868a405fb43138f3262" is right

TEST on WIN7+MSYS2

My English is bad! Sorry

#3085 22 months ago fixed arch/powerpc Sebastian Huber Sebastian Huber 14 months ago
Summary

Add hypervisor support for QorIQ BSPs

Description

NXP provides a hypervisor (Topaz) for the QorIQ platform.

https://www.xes-inc.com/wp-content/uploads/2016/03/NXP-Embedded-Hypervisor-for-QorIQ-Overview.pdf

#3084 22 months ago fixed build Joel Sherrill Chris Johns 19 months ago
Summary

Makefile recipe override warning has returned

Description

The makefile overrides recipe warnings had disappeared with Chris' rework to improve parallelism. Unfortunately, one Makefile has had the warning return. To reproduce, complete a build with all tests enabled, then just type make >/dev/null at the top of the build tree

[joel@rtbf64c rtems-work]$ ./build_bsp sparc erc32 Using rtems for RTEMS source

real 5m4.247s user 5m58.188s sys 1m34.959s 0 [joel@rtbf64c rtems-work]$ cd b-erc32/ [joel@rtbf64c b-erc32]$ make >/dev/null Makefile:653: warning: overriding recipe for target `spprofiling01' Makefile:653: warning: ignoring old recipe for target `spprofiling01'

#3083 22 months ago fixed build Joel Sherrill Chris Johns 14 months ago
Summary

parallel make not working

Description

As reported on the mailing list, parallel make on the master is broken.

#3082 22 months ago fixed arch/powerpc Sebastian Huber Sebastian Huber 4 months ago
Summary

Add 64-bit support for PowerPC

Description

The QorIQ chips have more than 4GiB of memory available.

#3080 22 months ago fixed arch/sparc Sebastian Huber Sebastian Huber 19 months ago
Summary

Infinite loop in SPARC rtems_invalidate_multiple_instruction_lines()

Description

A

#define CPU_INSTRUCTION_CACHE_ALIGNMENT 0

is not a good idea in case the default range functions are used.

#3079 22 months ago fixed build Sebastian Huber Sebastian Huber <sebastian.huber@…> 19 months ago
Summary

Ada tests do not build

Description

A "make" in the top level build directory does not build the Ada tests (used to work some weeks ago). A "make" in ./sparc-rtems4.12/c/erc32/ada-tests for example works.

The configuration step seems to work:

configure: configuring in ada-tests
configure: running /bin/sh '../../../../../rtems/c/src/ada-tests/configure'  '--prefix=/home/joel/rtems-4.11-work/bsp-install' '--host=sparc-rtems4.12' '--build=x86_64-pc-linux-gnu' '--target=sparc-rtems4.12' '--enable-smp' '--disable-profiling' '--disable-multiprocessing' '--enable-rtems-debug' '--enable-cxx' '--disable-rdbg' '--enable-maintainer-mode' '--enable-tests' '--enable-networking' '--enable-posix' '--disable-itron' '--disable-deprecated' '--enable-ada' '--enable-expada' 'SIMSPARC_FAST_IDLE=1' '--with-target-subdir=sparc-rtems4.12' '--exec-prefix=/home/joel/rtems-4.11-work/bsp-install/sparc-rtems4.12' '--includedir=/home/joel/rtems-4.11-work/bsp-install/sparc-rtems4.12/include' 'build_alias=x86_64-pc-linux-gnu' 'host_alias=sparc-rtems4.12' 'target_alias=sparc-rtems4.12' '--with-project-root=../../' '--with-project-top=../../' 'RTEMS_BSP=erc32' 'RTEMS_CPU_MODEL=erc32' 'RTEMS_BSP_FAMILY=erc32' 'CFLAGS=-mcpu=cypress -O2 -g -ffunction-sections -fdata-sections -Wall -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs' '--enable-rtems-root=../'    '--enable-project-root=../../../erc32'    '--with-project-top=../../../'    '--enable-rtemsbsp=erc32'    --cache-file=/dev/null --srcdir=../../../../../rtems/c/src/ada-tests
configure: loading site script /usr/share/site/x86_64-unknown-linux-gnu
checking for gmake... gmake

However:

gmake[4]: Entering directory '/scratch/git-rtems-testing/rtems/build-sparc-erc32-rtems/sparc-rtems4.12/c/erc32/ada-tests'
gmake[4]: Nothing to be done for 'all-am'.
#3077 22 months ago fixed arch/sparc Sebastian Huber Sebastian Huber 19 months ago
Summary

SPARC: Add lazy floating point context switching

Description

The uniprocessor floating point context switching is unsafe, e.g. it is possible to silently corrupt the floating point context. The SMP floating point switching is safe, however, it doesn't use a deferred switch. Implement lazy floating point switching in uniprocessor configurations. This fixes test case spcontext01.

#3076 22 months ago fixed unspecified Sebastian Huber Sebastian Huber 19 months ago
Summary

Test suite failures due to floating point usage

Description

Several tests fail due to an unaccounted use of the floating point unit:

BLOCK 6 BLOCK 14 CONSTRUCTOR/DESTRUCTOR CRYPT 1 DUMPBUF 1 FLASHDISK 1 FSBDPART 1 FSDOSFSFORMAT 1 FSDOSFSNAME 1 FSERROR DOSFS FSERROR JFFS2 FSERROR MOUNTED IMFS FSERROR RFS FSERROR ROOT IMFS FSPERMISSION JFFS2 FSPERMISSION MOUNTED IMFS FSPERMISSION RFS FSPERMISSION ROOT IMFS FSRENAME MOUNTED IMFS FTP 1 libdl (RTL) 1 libdl (RTL) 4 libdl (RTL) 5 MGHTTPD 1 MONITOR 2 MOUSE 1 NETWORKING 1 PSXFILE 1 PSXIMFS 1 PSXIMFS 2 PSXPASSWD 2 PSXPIPE 1 PSXSTAT SMP 1 SMP 2 SMP 3 SMP 8 SMP 9 SMPAFFINITY 1 SMPSCHEDULER 1 SPERROR 1 SPERROR 2 SPERROR 3 SYSCALL 1 TAR 1 TERMIOS 3 TERMIOS 4 TERMIOS 5 TERMIOS 6 TERMIOS 7

#3072 23 months ago fixed arch/sparc Sebastian Huber Daniel Hellstrom 19 months ago
Summary

Declaration of global functions in driver source files

Description

There are declarations of global functions in various driver source files, e.g.

c/src/lib/libbsp/sparc/shared/drvmgr/ambapp_bus_grlib.c c/src/lib/libbsp/sparc/shared/drvmgr/ambapp_bus.c

The declaration should move to a header file or a static function should be used.

#3071 23 months ago fixed bsps Sebastian Huber Sebastian Huber 19 months ago
Summary

Create an interrupt server for every processor in the system

Description

Create an interrupt server for every processor in the system with a one-to-one thread processor affinity. This allows load balancing for interrupt processing. Add support routines to customize the setup after initialization.

#3070 23 months ago fixed rtems Sebastian Huber Sebastian Huber 19 months ago
Summary

Add rtems_scheduler_ident_by_processor_set()

Description
/**
 * @brief Identifies a scheduler by a processor set.
 *
 * The scheduler is selected according to the highest numbered online processor
 * in the specified processor set.
 *
 * @param[in] cpusetsize Size of the specified processor set buffer in
 *   bytes.  This value must be positive.
 * @param[out] cpuset The processor set to identify the scheduler.
 * @param[out] id The scheduler identifier associated with the processor set.
 *
 * @retval RTEMS_SUCCESSFUL Successful operation.
 * @retval RTEMS_INVALID_ADDRESS The @a id parameter is @c NULL.
 * @retval RTEMS_INVALID_SIZE Invalid processor set size.
 * @retval RTEMS_INVALID_NAME The processor set contains no online processor.
 * @retval RTEMS_INCORRECT_STATE The processor set is valid, however, the
 *   highest numbered online processor in the specified processor set is not
 *   owned by a scheduler.
 */
rtems_status_code rtems_scheduler_ident_by_processor_set(
  size_t     cpusetsize,
  cpu_set_t *cpuset,
  rtems_id  *id
);
#3069 23 months ago fixed rtems Sebastian Huber Sebastian Huber 19 months ago
Summary

Add rtems_scheduler_ident_by_processor()

Description
/**
 * @brief Identifies a scheduler by a processor index.
 *
 * @param[in] cpu_index The processor index.
 * @param[out] id The scheduler identifier associated with the processor index.
 *
 * @retval RTEMS_SUCCESSFUL Successful operation.
 * @retval RTEMS_INVALID_ADDRESS The @a id parameter is @c NULL.
 * @retval RTEMS_INVALID_NAME Invalid processor index.
 * @retval RTEMS_INCORRECT_STATE The processor index is valid, however, this
 *   processor is not owned by a scheduler.
 */
#3063 23 months ago fixed config Sebastian Huber Sebastian Huber 19 months ago
Summary

Make the EDF scheduler the default SMP scheduler

Description

The EDF SMP scheduler supports simple thread processor affinities (see #3059) with a small run-time overhead. The current default SMP scheduler lacks support for thread processor affinities at all. The EDF SMP scheduler offers a good feature set for most applications. So, use it by default. Run-time libraries like libgomp, MTAPI, work stealing schedulers, language interpreters (e.g. Erlang virtual machine), etc. use a one-to-one thread processor affinity for example.

#3061 23 months ago invalid tool Chris Johns chrisj@… 19 months ago
Summary

including 'unistd.h' in C++ does not build.

Description

Including unistd.h in a C++ program does not compile with the RSB for today:

$ /opt/work/rtems/4.12/bin/arm-rtems4.12-g++ -B/opt/work/rtems/4.12/arm-rtems4.12/xilinx_zynq_zc706/lib -B/opt/work/si/rtems/4.12/arm-rtems4.12/xilinx_zynq_zc706/lib -specs bsp_specs -qrtems -march=armv7-a -mthumb -mfpu=neon -mfloat-abi=hard -mtune=cortex-a9 -g -O2 u.cpp                                                                                     
In file included from /opt/work/rtems/4.12/arm-rtems4.12/include/sys/_pthreadtypes.h:24:0,
                 from /opt/work/rtems/4.12/arm-rtems4.12/include/sys/types.h:239,
                 from /opt/work/rtems/4.12/arm-rtems4.12/include/sys/unistd.h:12,
                 from /opt/work/rtems/4.12/arm-rtems4.12/include/unistd.h:4,
                 from u.cpp:6:
/opt/work/rtems/4.12/arm-rtems4.12/include/sys/cpuset.h: In function 'void CPU_AND_S(size_t, cpu_set_t*, const cpu_set_t*, const cpu_set_t*)':
/opt/work/rtems/4.12/arm-rtems4.12/include/sys/cpuset.h:147:3: error: 'BIT_AND2' was not declared in this scope
   BIT_AND2(_cpu_set_bits(setsize), destset, srcset1, srcset2);
   ^~~~~~~~
/opt/work/rtems/4.12/arm-rtems4.12/include/sys/cpuset.h:147:3: note: suggested alternative: 'BIT_AND'
   BIT_AND2(_cpu_set_bits(setsize), destset, srcset1, srcset2);
   ^~~~~~~~
   BIT_AND
/opt/work/rtems/4.12/arm-rtems4.12/include/sys/cpuset.h: In function 'void CPU_OR_S(size_t, cpu_set_t*, const cpu_set_t*, const cpu_set_t*)':
/opt/work/rtems/4.12/arm-rtems4.12/include/sys/cpuset.h:159:3: error: 'BIT_OR2' was not declared in this scope
   BIT_OR2(_cpu_set_bits(setsize), destset, srcset1, srcset2);
   ^~~~~~~
/opt/work/rtems/4.12/arm-rtems4.12/include/sys/cpuset.h:159:3: note: suggested alternative: 'BIT_OR'
   BIT_OR2(_cpu_set_bits(setsize), destset, srcset1, srcset2);
   ^~~~~~~
   BIT_OR
/opt/work/rtems/4.12/arm-rtems4.12/include/sys/cpuset.h: In function 'void CPU_XOR_S(size_t, cpu_set_t*, const cpu_set_t*, const cpu_set_t*)':
/opt/work/rtems/4.12/arm-rtems4.12/include/sys/cpuset.h:171:3: error: 'BIT_XOR2' was not declared in this scope
   BIT_XOR2(_cpu_set_bits(setsize), destset, srcset1, srcset2);
   ^~~~~~~~
/opt/work/rtems/4.12/arm-rtems4.12/include/sys/cpuset.h:171:3: note: suggested alternative: 'BIT_OR'
   BIT_XOR2(_cpu_set_bits(setsize), destset, srcset1, srcset2);
   ^~~~~~~~
   BIT_OR
/opt/work/rtems/4.12/arm-rtems4.12/include/sys/cpuset.h: In function 'void CPU_NAND_S(size_t, cpu_set_t*, const cpu_set_t*, const cpu_set_t*)':
/opt/work/rtems/4.12/arm-rtems4.12/include/sys/cpuset.h:183:3: error: 'BIT_NAND2' was not declared in this scope
   BIT_NAND2(_cpu_set_bits(setsize), destset, srcset1, srcset2);
   ^~~~~~~~~
/opt/work/rtems/4.12/arm-rtems4.12/include/sys/cpuset.h:183:3: note: suggested alternative: 'BIT_NAND'
   BIT_NAND2(_cpu_set_bits(setsize), destset, srcset1, srcset2);
   ^~~~~~~~~
   BIT_NAND
In file included from /opt/work/rtems/4.12/arm-rtems4.12/include/sys/cpuset.h:46:0,
                 from /opt/work/rtems/4.12/arm-rtems4.12/include/sys/_pthreadtypes.h:24,
                 from /opt/work/rtems/4.12/arm-rtems4.12/include/sys/types.h:239,
                 from /opt/work/rtems/4.12/arm-rtems4.12/include/sys/unistd.h:12,
                 from /opt/work/rtems/4.12/arm-rtems4.12/include/unistd.h:4,
                 from u.cpp:6:
/opt/work/rtems/4.12/arm-rtems4.12/include/sys/cpuset.h: In function 'int CPU_COUNT_S(size_t, const cpu_set_t*)':
/opt/work/rtems/4.12/arm-rtems4.12/include/sys/cpuset.h:194:10: error: '__bitcountl' was not declared in this scope
   return BIT_COUNT(_cpu_set_bits(setsize), set);
          ^
/opt/work/rtems/4.12/arm-rtems4.12/include/sys/cpuset.h:194:10: note: suggested alternative: '__count'
#3059 23 months ago fixed score Sebastian Huber Sebastian Huber 19 months ago
Summary

Add a simple processor affinity support to the EDF SMP scheduler

Description

Add support to the EDF SMP scheduler to honour one-to-one and one-to-all thread processor affinities. Use one ready queue for threads with a one-to-all affinity. Use one ready queue for each of the one-to-one threads for each processor. Since a red-black tree is used for the ready queues, the space overhead of one pointer per ready queue is small.

#3057 23 months ago fixed tool/gcc Sebastian Huber Daniel Hellstrom 19 months ago
Summary

Add a workaround for the LEON3FT store-store errata

Description

GCC needs support to provide a workaround for the LEON3FT store-store errata, e.g.

https://gcc.gnu.org/ml/gcc-patches/2017-06/msg01577.html

and follow up versions.

#3056 23 months ago fixed score Sebastian Huber Sebastian Huber 19 months ago
Summary

Add EDF SMP scheduler

Description

The current SMP schedulers are all fixed-priority schedulers. Add a job-level fixed priority scheduler (EDF).

#3054 2 years ago fixed unspecified AndiK Andreas Kölbl <andreas.koelbl@…> 19 months ago
Summary

gdb 7.12.1 on RSB 4.12 branch fail to build on Archlinux

Description

7.12.1 does not compile with latest guile As already stated here: https://sourceware.org/bugzilla/show_bug.cgi?id=21104 GDB in version 7.12.1 fails when trying to compile on Archlinux. GDB uses deprecated functions of libguile which were gone in version 2.2 of libguile. As GDB states in its configure script to support version 2.2 of libguile it fails compiling.

Tested with the latest rtems source builder on master.

#3052 2 years ago fixed tool/rsb Sebastian Huber Chris Johns 19 months ago
Summary

RSB: powerpc GDB build broken on Apple Darwin

Description
RTEMS Tools Project - Source Builder Error Report
 Build: error: building powerpc-rtems4.12-gdb-7.12-x86_64-apple-darwin14.5.0-1
 Command Line: ../source-builder/sb-set-builder --prefix=~/rtems/4.12 4.12/rtems-powerpc
 Python: 2.7.10 (default, Jul 14 2015, 19:46:27) [GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)]
 git://git.rtems.org/rtems-source-builder.git/origin/cb3fac1ea71f50b1bf7dcfe032c639392915d32a-modified
 Darwin yrael.lan 14.5.0 Darwin Kernel Version 14.5.0: Sun Sep 25 22:07:15 PDT 2016; root:xnu-2782.50.9~1/RELEASE_X86_64 x86_64
Tail of the build log:
                                                                          ^
../../gdb-7.12/gdb/common/vec.h:711:18: note: expanded from macro '\
DEF_VEC_FUNC_P'
static inline T *VEC_OP (T,address)                                       \
                 ^
../../gdb-7.12/gdb/common/vec.h:399:22: note: expanded from macro 'VEC_OP'
#define VEC_OP(T,OP) VEC_##T##_##OP
                     ^
<scratch space>:151:1: note: expanded from here
VEC_tp_t_address
^
../../gdb-7.12/gdb/record-btrace.c:2445:1: warning: unused function 'VEC_tp_t_lower_bound' [-Wunused-function]
../../gdb-7.12/gdb/common/vec.h:428:20: note: expanded from macro 'DEF_VEC_P'
VEC_T(T);                                                                 \
                                                                          ^
../../gdb-7.12/gdb/common/vec.h:717:24: note: expanded from macro '\
DEF_VEC_FUNC_P'
static inline unsigned VEC_OP (T,lower_bound)                             \
                       ^
../../gdb-7.12/gdb/common/vec.h:399:22: note: expanded from macro 'VEC_OP'
#define VEC_OP(T,OP) VEC_##T##_##OP
                     ^
<scratch space>:155:1: note: expanded from here
VEC_tp_t_lower_bound
^
../../gdb-7.12/gdb/record-btrace.c:2445:1: warning: unused function 'VEC_tp_t_alloc' [-Wunused-function]
../../gdb-7.12/gdb/common/vec.h:429:27: note: expanded from macro 'DEF_VEC_P'
DEF_VEC_FUNC_P(T)                                                         \
                                                                          ^
../../gdb-7.12/gdb/common/vec.h:744:23: note: expanded from macro '\
DEF_VEC_ALLOC_FUNC_P'
static inline VEC(T) *VEC_OP (T,alloc)                                    \
                      ^
../../gdb-7.12/gdb/common/vec.h:399:22: note: expanded from macro 'VEC_OP'
#define VEC_OP(T,OP) VEC_##T##_##OP
                     ^
<scratch space>:166:1: note: expanded from here
VEC_tp_t_alloc
^
../../gdb-7.12/gdb/record-btrace.c:2445:1: warning: unused function 'VEC_tp_t_free' [-Wunused-function]
../../gdb-7.12/gdb/common/vec.h:429:27: note: expanded from macro 'DEF_VEC_P'
DEF_VEC_FUNC_P(T)                                                         \
                                                                          ^
../../gdb-7.12/gdb/common/vec.h:751:20: note: expanded from macro '\
DEF_VEC_ALLOC_FUNC_P'
static inline void VEC_OP (T,free)                                        \
                   ^
../../gdb-7.12/gdb/common/vec.h:399:22: note: expanded from macro 'VEC_OP'
#define VEC_OP(T,OP) VEC_##T##_##OP
                     ^
<scratch space>:170:1: note: expanded from here
VEC_tp_t_free
^
../../gdb-7.12/gdb/record-btrace.c:2445:1: warning: unused function 'VEC_tp_t_merge' [-Wunused-function]
../../gdb-7.12/gdb/common/vec.h:429:27: note: expanded from macro 'DEF_VEC_P'
DEF_VEC_FUNC_P(T)                                                         \
                                                                          ^
../../gdb-7.12/gdb/common/vec.h:784:23: note: expanded from macro '\
DEF_VEC_ALLOC_FUNC_P'
static inline VEC(T) *VEC_OP (T,merge) (VEC(T) *vec1_, VEC(T) *vec2_)     \
                      ^
../../gdb-7.12/gdb/common/vec.h:399:22: note: expanded from macro 'VEC_OP'
#define VEC_OP(T,OP) VEC_##T##_##OP
                     ^
<scratch space>:187:1: note: expanded from here
VEC_tp_t_merge
^
../../gdb-7.12/gdb/record-btrace.c:2445:1: warning: unused function 'VEC_tp_t_safe_grow' [-Wunused-function]
../../gdb-7.12/gdb/common/vec.h:429:27: note: expanded from macro 'DEF_VEC_P'
DEF_VEC_FUNC_P(T)                                                         \
                                                                          ^
../../gdb-7.12/gdb/common/vec.h:817:20: note: expanded from macro '\
DEF_VEC_ALLOC_FUNC_P'
static inline void VEC_OP (T,safe_grow)                                   \
                   ^
../../gdb-7.12/gdb/common/vec.h:399:22: note: expanded from macro 'VEC_OP'
#define VEC_OP(T,OP) VEC_##T##_##OP
                     ^
<scratch space>:205:1: note: expanded from here
VEC_tp_t_safe_grow
^
../../gdb-7.12/gdb/record-btrace.c:2445:1: warning: unused function 'VEC_tp_t_safe_insert' [-Wunused-function]
../../gdb-7.12/gdb/common/vec.h:429:27: note: expanded from macro 'DEF_VEC_P'
DEF_VEC_FUNC_P(T)                                                         \
                                                                          ^
../../gdb-7.12/gdb/common/vec.h:835:18: note: expanded from macro '\
DEF_VEC_ALLOC_FUNC_P'
static inline T *VEC_OP (T,safe_insert)                                   \
                 ^
../../gdb-7.12/gdb/common/vec.h:399:22: note: expanded from macro 'VEC_OP'
#define VEC_OP(T,OP) VEC_##T##_##OP
                     ^
<scratch space>:225:1: note: expanded from here
VEC_tp_t_safe_insert
^
2 warnings generated.
/usr/bin/c++ -O2 -pipe -fbracket-depth=1024 -I/rtems-source-builder/rtems/build/tmp/sb-peer/4.12/rtems-powerpc/rtems-source-builder/rtems/~/rtems/4.12/include -g -O2   -I. -I../../gdb-7.12/gdb -I../../gdb-7.12/gdb/common -I../../gdb-7.12/gdb/config -DLOCALEDIR="\"/rtems-source-builder/rtems/~/rtems/4.12/share/locale\"" -DHAVE_CONFIG_H -I../../gdb-7.12/gdb/../include/opcode -I../../gdb-7.12/gdb/../opcodes/.. -I../../gdb-7.12/gdb/../readline/.. -I../../gdb-7.12/gdb/../zlib -I../bfd -I../../gdb-7.12/gdb/../bfd -I../../gdb-7.12/gdb/../include -I../libdecnumber -I../../gdb-7.12/gdb/../libdecnumber  -I../../gdb-7.12/gdb/gnulib/import -Ibuild-gnulib/import   -DTUI=1  -I/rtems-source-builder/rtems/build/tmp/sb-peer/4.12/rtems-powerpc/rtems-source-builder/rtems/~/rtems/4.12/include  -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -Wall -Wpointer-arith -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -Wempty-body -Wunused-but-set-parameter -Wunused-but-set-variable -Wno-sign-compare -Wno-write-strings -Wno-narrowing -Wformat-nonliteral  -c -o debug.o -MT debug.o -MMD -MP -MF .deps/debug.Tpo ../../gdb-7.12/gdb/debug.c
/usr/bin/c++ -O2 -pipe -fbracket-depth=1024 -I/rtems-source-builder/rtems/build/tmp/sb-peer/4.12/rtems-powerpc/rtems-source-builder/rtems/~/rtems/4.12/include -g -O2   -I. -I../../gdb-7.12/gdb -I../../gdb-7.12/gdb/common -I../../gdb-7.12/gdb/config -DLOCALEDIR="\"/rtems-source-builder/rtems/~/rtems/4.12/share/locale\"" -DHAVE_CONFIG_H -I../../gdb-7.12/gdb/../include/opcode -I../../gdb-7.12/gdb/../opcodes/.. -I../../gdb-7.12/gdb/../readline/.. -I../../gdb-7.12/gdb/../zlib -I../bfd -I../../gdb-7.12/gdb/../bfd -I../../gdb-7.12/gdb/../include -I../libdecnumber -I../../gdb-7.12/gdb/../libdecnumber  -I../../gdb-7.12/gdb/gnulib/import -Ibuild-gnulib/import   -DTUI=1  -I/rtems-source-builder/rtems/build/tmp/sb-peer/4.12/rtems-powerpc/rtems-source-builder/rtems/~/rtems/4.12/include  -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -Wall -Wpointer-arith -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -Wempty-body -Wunused-but-set-parameter -Wunused-but-set-variable -Wno-sign-compare -Wno-write-strings -Wno-narrowing -Wformat-nonliteral  -c -o common-exceptions.o -MT common-exceptions.o -MMD -MP -MF .deps/common-exceptions.Tpo ../../gdb-7.12/gdb/common/common-exceptions.c
/usr/bin/c++ -O2 -pipe -fbracket-depth=1024 -I/rtems-source-builder/rtems/build/tmp/sb-peer/4.12/rtems-powerpc/rtems-source-builder/rtems/~/rtems/4.12/include -g -O2   -I. -I../../gdb-7.12/gdb -I../../gdb-7.12/gdb/common -I../../gdb-7.12/gdb/config -DLOCALEDIR="\"/rtems-source-builder/rtems/~/rtems/4.12/share/locale\"" -DHAVE_CONFIG_H -I../../gdb-7.12/gdb/../include/opcode -I../../gdb-7.12/gdb/../opcodes/.. -I../../gdb-7.12/gdb/../readline/.. -I../../gdb-7.12/gdb/../zlib -I../bfd -I../../gdb-7.12/gdb/../bfd -I../../gdb-7.12/gdb/../include -I../libdecnumber -I../../gdb-7.12/gdb/../libdecnumber  -I../../gdb-7.12/gdb/gnulib/import -Ibuild-gnulib/import   -DTUI=1  -I/rtems-source-builder/rtems/build/tmp/sb-peer/4.12/rtems-powerpc/rtems-source-builder/rtems/~/rtems/4.12/include  -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -Wall -Wpointer-arith -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -Wempty-body -Wunused-but-set-parameter -Wunused-but-set-variable -Wno-sign-compare -Wno-write-strings -Wno-narrowing -Wformat-nonliteral  -c -o btrace-common.o -MT btrace-common.o -MMD -MP -MF .deps/btrace-common.Tpo ../../gdb-7.12/gdb/common/btrace-common.c
/usr/bin/c++ -O2 -pipe -fbracket-depth=1024 -I/rtems-source-builder/rtems/build/tmp/sb-peer/4.12/rtems-powerpc/rtems-source-builder/rtems/~/rtems/4.12/include -g -O2   -I. -I../../gdb-7.12/gdb -I../../gdb-7.12/gdb/common -I../../gdb-7.12/gdb/config -DLOCALEDIR="\"/rtems-source-builder/rtems/~/rtems/4.12/share/locale\"" -DHAVE_CONFIG_H -I../../gdb-7.12/gdb/../include/opcode -I../../gdb-7.12/gdb/../opcodes/.. -I../../gdb-7.12/gdb/../readline/.. -I../../gdb-7.12/gdb/../zlib -I../bfd -I../../gdb-7.12/gdb/../bfd -I../../gdb-7.12/gdb/../include -I../libdecnumber -I../../gdb-7.12/gdb/../libdecnumber  -I../../gdb-7.12/gdb/gnulib/import -Ibuild-gnulib/import   -DTUI=1  -I/rtems-source-builder/rtems/build/tmp/sb-peer/4.12/rtems-powerpc/rtems-source-builder/rtems/~/rtems/4.12/include  -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -Wall -Wpointer-arith -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -Wempty-body -Wunused-but-set-parameter -Wunused-but-set-variable -Wno-sign-compare -Wno-write-strings -Wno-narrowing -Wformat-nonliteral  -c -o fileio.o -MT fileio.o -MMD -MP -MF .deps/fileio.Tpo ../../gdb-7.12/gdb/common/fileio.c
clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated
clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated
clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated
clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated
warning: unknown warning option '-Wunused-but-set-parameter'; did you mean '-Wunused-parameter'? [-Wunknown-warning-option]
warning: unknown warning option '-Wunused-but-set-variable'; did you mean '-Wunused-const-variable'? [-Wunknown-warning-option]
warning: unknown warning option '-Wunused-but-set-parameter'; did you mean '-Wunused-parameter'? [-Wunknown-warning-option]
warning: unknown warning option '-Wunused-but-set-variable'; did you mean '-Wunused-const-variable'? [-Wunknown-warning-option]
2 warnings generated.
warning: unknown warning option '-Wunused-but-set-parameter'; did you mean '-Wunused-parameter'? [-Wunknown-warning-option]
warning: unknown warning option '-Wunused-but-set-parameter'; did you mean '-Wunused-parameter'? [-Wunknown-warning-option]
warning: unknown warning option '-Wunused-but-set-variable'; did you mean '-Wunused-const-variable'? [-Wunknown-warning-option]
warning: unknown warning option '-Wunused-but-set-variable'; did you mean '-Wunused-const-variable'? [-Wunknown-warning-option]
/usr/bin/c++ -O2 -pipe -fbracket-depth=1024 -I/rtems-source-builder/rtems/build/tmp/sb-peer/4.12/rtems-powerpc/rtems-source-builder/rtems/~/rtems/4.12/include -g -O2   -I. -I../../gdb-7.12/gdb -I../../gdb-7.12/gdb/common -I../../gdb-7.12/gdb/config -DLOCALEDIR="\"/rtems-source-builder/rtems/~/rtems/4.12/share/locale\"" -DHAVE_CONFIG_H -I../../gdb-7.12/gdb/../include/opcode -I../../gdb-7.12/gdb/../opcodes/.. -I../../gdb-7.12/gdb/../readline/.. -I../../gdb-7.12/gdb/../zlib -I../bfd -I../../gdb-7.12/gdb/../bfd -I../../gdb-7.12/gdb/../include -I../libdecnumber -I../../gdb-7.12/gdb/../libdecnumber  -I../../gdb-7.12/gdb/gnulib/import -Ibuild-gnulib/import   -DTUI=1  -I/rtems-source-builder/rtems/build/tmp/sb-peer/4.12/rtems-powerpc/rtems-source-builder/rtems/~/rtems/4.12/include  -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -Wall -Wpointer-arith -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -Wempty-body -Wunused-but-set-parameter -Wunused-but-set-variable -Wno-sign-compare -Wno-write-strings -Wno-narrowing -Wformat-nonliteral  -c -o common-regcache.o -MT common-regcache.o -MMD -MP -MF .deps/common-regcache.Tpo ../../gdb-7.12/gdb/common/common-regcache.c
clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated
warning: unknown warning option '-Wunused-but-set-parameter'; did you mean '-Wunused-parameter'? [-Wunknown-warning-option]
warning: unknown warning option '-Wunused-but-set-variable'; did you mean '-Wunused-const-variable'? [-Wunknown-warning-option]
2 warnings generated.
2 warnings generated.
2 warnings generated.
/usr/bin/c++ -O2 -pipe -fbracket-depth=1024 -I/rtems-source-builder/rtems/build/tmp/sb-peer/4.12/rtems-powerpc/rtems-source-builder/rtems/~/rtems/4.12/include -g -O2   -I. -I../../gdb-7.12/gdb -I../../gdb-7.12/gdb/common -I../../gdb-7.12/gdb/config -DLOCALEDIR="\"/rtems-source-builder/rtems/~/rtems/4.12/share/locale\"" -DHAVE_CONFIG_H -I../../gdb-7.12/gdb/../include/opcode -I../../gdb-7.12/gdb/../opcodes/.. -I../../gdb-7.12/gdb/../readline/.. -I../../gdb-7.12/gdb/../zlib -I../bfd -I../../gdb-7.12/gdb/../bfd -I../../gdb-7.12/gdb/../include -I../libdecnumber -I../../gdb-7.12/gdb/../libdecnumber  -I../../gdb-7.12/gdb/gnulib/import -Ibuild-gnulib/import   -DTUI=1  -I/rtems-source-builder/rtems/build/tmp/sb-peer/4.12/rtems-powerpc/rtems-source-builder/rtems/~/rtems/4.12/include  -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -Wall -Wpointer-arith -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -Wempty-body -Wunused-but-set-parameter -Wunused-but-set-variable -Wno-sign-compare -Wno-write-strings -Wno-narrowing -Wformat-nonliteral  -c -o compile.o -MT compile.o -MMD -MP -MF .deps/compile.Tpo ../../gdb-7.12/gdb/compile/compile.c
/usr/bin/c++ -O2 -pipe -fbracket-depth=1024 -I/rtems-source-builder/rtems/build/tmp/sb-peer/4.12/rtems-powerpc/rtems-source-builder/rtems/~/rtems/4.12/include -g -O2   -I. -I../../gdb-7.12/gdb -I../../gdb-7.12/gdb/common -I../../gdb-7.12/gdb/config -DLOCALEDIR="\"/rtems-source-builder/rtems/~/rtems/4.12/share/locale\"" -DHAVE_CONFIG_H -I../../gdb-7.12/gdb/../include/opcode -I../../gdb-7.12/gdb/../opcodes/.. -I../../gdb-7.12/gdb/../readline/.. -I../../gdb-7.12/gdb/../zlib -I../bfd -I../../gdb-7.12/gdb/../bfd -I../../gdb-7.12/gdb/../include -I../libdecnumber -I../../gdb-7.12/gdb/../libdecnumber  -I../../gdb-7.12/gdb/gnulib/import -Ibuild-gnulib/import   -DTUI=1  -I/rtems-source-builder/rtems/build/tmp/sb-peer/4.12/rtems-powerpc/rtems-source-builder/rtems/~/rtems/4.12/include  -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -Wall -Wpointer-arith -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -Wempty-body -Wunused-but-set-parameter -Wunused-but-set-variable -Wno-sign-compare -Wno-write-strings -Wno-narrowing -Wformat-nonliteral  -c -o compile-c-symbols.o -MT compile-c-symbols.o -MMD -MP -MF .deps/compile-c-symbols.Tpo ../../gdb-7.12/gdb/compile/compile-c-symbols.c
/usr/bin/c++ -O2 -pipe -fbracket-depth=1024 -I/rtems-source-builder/rtems/build/tmp/sb-peer/4.12/rtems-powerpc/rtems-source-builder/rtems/~/rtems/4.12/include -g -O2   -I. -I../../gdb-7.12/gdb -I../../gdb-7.12/gdb/common -I../../gdb-7.12/gdb/config -DLOCALEDIR="\"/rtems-source-builder/rtems/~/rtems/4.12/share/locale\"" -DHAVE_CONFIG_H -I../../gdb-7.12/gdb/../include/opcode -I../../gdb-7.12/gdb/../opcodes/.. -I../../gdb-7.12/gdb/../readline/.. -I../../gdb-7.12/gdb/../zlib -I../bfd -I../../gdb-7.12/gdb/../bfd -I../../gdb-7.12/gdb/../include -I../libdecnumber -I../../gdb-7.12/gdb/../libdecnumber  -I../../gdb-7.12/gdb/gnulib/import -Ibuild-gnulib/import   -DTUI=1  -I/rtems-source-builder/rtems/build/tmp/sb-peer/4.12/rtems-powerpc/rtems-source-builder/rtems/~/rtems/4.12/include  -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -Wall -Wpointer-arith -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -Wempty-body -Wunused-but-set-parameter -Wunused-but-set-variable -Wno-sign-compare -Wno-write-strings -Wno-narrowing -Wformat-nonliteral  -c -o compile-c-types.o -MT compile-c-types.o -MMD -MP -MF .deps/compile-c-types.Tpo ../../gdb-7.12/gdb/compile/compile-c-types.c
2 warnings generated.
2 warnings generated.
clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated
clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated
clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated
warning: unknown warning option '-Wunused-but-set-parameter'; did you mean '-Wunused-parameter'? [-Wunknown-warning-option]
warning: unknown warning option '-Wunused-but-set-parameter'; did you mean '-Wunused-parameter'? [-Wunknown-warning-option]
warning: unknown warning option '-Wunused-but-set-variable'; did you mean '-Wunused-const-variable'? [-Wunknown-warning-option]
warning: unknown warning option '-Wunused-but-set-parameter'; did you mean '-Wunused-parameter'? [-Wunknown-warning-option]
warning: unknown warning option '-Wunused-but-set-variable'; did you mean '-Wunused-const-variable'? [-Wunknown-warning-option]
warning: unknown warning option '-Wunused-but-set-variable'; did you mean '-Wunused-const-variable'? [-Wunknown-warning-option]
/usr/bin/c++ -O2 -pipe -fbracket-depth=1024 -I/rtems-source-builder/rtems/build/tmp/sb-peer/4.12/rtems-powerpc/rtems-source-builder/rtems/~/rtems/4.12/include -g -O2   -I. -I../../gdb-7.12/gdb -I../../gdb-7.12/gdb/common -I../../gdb-7.12/gdb/config -DLOCALEDIR="\"/rtems-source-builder/rtems/~/rtems/4.12/share/locale\"" -DHAVE_CONFIG_H -I../../gdb-7.12/gdb/../include/opcode -I../../gdb-7.12/gdb/../opcodes/.. -I../../gdb-7.12/gdb/../readline/.. -I../../gdb-7.12/gdb/../zlib -I../bfd -I../../gdb-7.12/gdb/../bfd -I../../gdb-7.12/gdb/../include -I../libdecnumber -I../../gdb-7.12/gdb/../libdecnumber  -I../../gdb-7.12/gdb/gnulib/import -Ibuild-gnulib/import   -DTUI=1  -I/rtems-source-builder/rtems/build/tmp/sb-peer/4.12/rtems-powerpc/rtems-source-builder/rtems/~/rtems/4.12/include  -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -Wall -Wpointer-arith -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -Wempty-body -Wunused-but-set-parameter -Wunused-but-set-variable -Wno-sign-compare -Wno-write-strings -Wno-narrowing -Wformat-nonliteral  -c -o compile-object-load.o -MT compile-object-load.o -MMD -MP -MF .deps/compile-object-load.Tpo ../../gdb-7.12/gdb/compile/compile-object-load.c
/usr/bin/c++ -O2 -pipe -fbracket-depth=1024 -I/rtems-source-builder/rtems/build/tmp/sb-peer/4.12/rtems-powerpc/rtems-source-builder/rtems/~/rtems/4.12/include -g -O2   -I. -I../../gdb-7.12/gdb -I../../gdb-7.12/gdb/common -I../../gdb-7.12/gdb/config -DLOCALEDIR="\"/rtems-source-builder/rtems/~/rtems/4.12/share/locale\"" -DHAVE_CONFIG_H -I../../gdb-7.12/gdb/../include/opcode -I../../gdb-7.12/gdb/../opcodes/.. -I../../gdb-7.12/gdb/../readline/.. -I../../gdb-7.12/gdb/../zlib -I../bfd -I../../gdb-7.12/gdb/../bfd -I../../gdb-7.12/gdb/../include -I../libdecnumber -I../../gdb-7.12/gdb/../libdecnumber  -I../../gdb-7.12/gdb/gnulib/import -Ibuild-gnulib/import   -DTUI=1  -I/rtems-source-builder/rtems/build/tmp/sb-peer/4.12/rtems-powerpc/rtems-source-builder/rtems/~/rtems/4.12/include  -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -Wall -Wpointer-arith -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -Wempty-body -Wunused-but-set-parameter -Wunused-but-set-variable -Wno-sign-compare -Wno-write-strings -Wno-narrowing -Wformat-nonliteral  -c -o compile-object-run.o -MT compile-object-run.o -MMD -MP -MF .deps/compile-object-run.Tpo ../../gdb-7.12/gdb/compile/compile-object-run.c
clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated
clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated
warning: unknown warning option '-Wunused-but-set-parameter'; did you mean '-Wunused-parameter'? [-Wunknown-warning-option]
warning: unknown warning option '-Wunused-but-set-variable'; did you mean '-Wunused-const-variable'? [-Wunknown-warning-option]
warning: unknown warning option '-Wunused-but-set-parameter'; did you mean '-Wunused-parameter'? [-Wunknown-warning-option]
warning: unknown warning option '-Wunused-but-set-variable'; did you mean '-Wunused-const-variable'? [-Wunknown-warning-option]
2 warnings generated.
/usr/bin/c++ -O2 -pipe -fbracket-depth=1024 -I/rtems-source-builder/rtems/build/tmp/sb-peer/4.12/rtems-powerpc/rtems-source-builder/rtems/~/rtems/4.12/include -g -O2   -I. -I../../gdb-7.12/gdb -I../../gdb-7.12/gdb/common -I../../gdb-7.12/gdb/config -DLOCALEDIR="\"/rtems-source-builder/rtems/~/rtems/4.12/share/locale\"" -DHAVE_CONFIG_H -I../../gdb-7.12/gdb/../include/opcode -I../../gdb-7.12/gdb/../opcodes/.. -I../../gdb-7.12/gdb/../readline/.. -I../../gdb-7.12/gdb/../zlib -I../bfd -I../../gdb-7.12/gdb/../bfd -I../../gdb-7.12/gdb/../include -I../libdecnumber -I../../gdb-7.12/gdb/../libdecnumber  -I../../gdb-7.12/gdb/gnulib/import -Ibuild-gnulib/import   -DTUI=1  -I/rtems-source-builder/rtems/build/tmp/sb-peer/4.12/rtems-powerpc/rtems-source-builder/rtems/~/rtems/4.12/include  -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -Wall -Wpointer-arith -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -Wempty-body -Wunused-but-set-parameter -Wunused-but-set-variable -Wno-sign-compare -Wno-write-strings -Wno-narrowing -Wformat-nonliteral  -c -o compile-loc2c.o -MT compile-loc2c.o -MMD -MP -MF .deps/compile-loc2c.Tpo ../../gdb-7.12/gdb/compile/compile-loc2c.c
clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated
warning: unknown warning option '-Wunused-but-set-parameter'; did you mean '-Wunused-parameter'? [-Wunknown-warning-option]
warning: unknown warning option '-Wunused-but-set-variable'; did you mean '-Wunused-const-variable'? [-Wunknown-warning-option]
2 warnings generated.
/usr/bin/c++ -O2 -pipe -fbracket-depth=1024 -I/rtems-source-builder/rtems/build/tmp/sb-peer/4.12/rtems-powerpc/rtems-source-builder/rtems/~/rtems/4.12/include -g -O2   -I. -I../../gdb-7.12/gdb -I../../gdb-7.12/gdb/common -I../../gdb-7.12/gdb/config -DLOCALEDIR="\"/rtems-source-builder/rtems/~/rtems/4.12/share/locale\"" -DHAVE_CONFIG_H -I../../gdb-7.12/gdb/../include/opcode -I../../gdb-7.12/gdb/../opcodes/.. -I../../gdb-7.12/gdb/../readline/.. -I../../gdb-7.12/gdb/../zlib -I../bfd -I../../gdb-7.12/gdb/../bfd -I../../gdb-7.12/gdb/../include -I../libdecnumber -I../../gdb-7.12/gdb/../libdecnumber  -I../../gdb-7.12/gdb/gnulib/import -Ibuild-gnulib/import   -DTUI=1  -I/rtems-source-builder/rtems/build/tmp/sb-peer/4.12/rtems-powerpc/rtems-source-builder/rtems/~/rtems/4.12/include  -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -Wall -Wpointer-arith -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -Wempty-body -Wunused-but-set-parameter -Wunused-but-set-variable -Wno-sign-compare -Wno-write-strings -Wno-narrowing -Wformat-nonliteral  -c -o compile-c-support.o -MT compile-c-support.o -MMD -MP -MF .deps/compile-c-support.Tpo ../../gdb-7.12/gdb/compile/compile-c-support.c
clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated
2 warnings generated.
warning: unknown warning option '-Wunused-but-set-parameter'; did you mean '-Wunused-parameter'? [-Wunknown-warning-option]
warning: unknown warning option '-Wunused-but-set-variable'; did you mean '-Wunused-const-variable'? [-Wunknown-warning-option]
/usr/bin/c++ -O2 -pipe -fbracket-depth=1024 -I/rtems-source-builder/rtems/build/tmp/sb-peer/4.12/rtems-powerpc/rtems-source-builder/rtems/~/rtems/4.12/include -g -O2   -I. -I../../gdb-7.12/gdb -I../../gdb-7.12/gdb/common -I../../gdb-7.12/gdb/config -DLOCALEDIR="\"/rtems-source-builder/rtems/~/rtems/4.12/share/locale\"" -DHAVE_CONFIG_H -I../../gdb-7.12/gdb/../include/opcode -I../../gdb-7.12/gdb/../opcodes/.. -I../../gdb-7.12/gdb/../readline/.. -I../../gdb-7.12/gdb/../zlib -I../bfd -I../../gdb-7.12/gdb/../bfd -I../../gdb-7.12/gdb/../include -I../libdecnumber -I../../gdb-7.12/gdb/../libdecnumber  -I../../gdb-7.12/gdb/gnulib/import -Ibuild-gnulib/import   -DTUI=1  -I/rtems-source-builder/rtems/build/tmp/sb-peer/4.12/rtems-powerpc/rtems-source-builder/rtems/~/rtems/4.12/include  -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -Wall -Wpointer-arith -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -Wempty-body -Wunused-but-set-parameter -Wunused-but-set-variable -Wno-sign-compare -Wno-write-strings -Wno-narrowing -Wformat-nonliteral  -c -o inflow.o -MT inflow.o -MMD -MP -MF .deps/inflow.Tpo ../../gdb-7.12/gdb/inflow.c
clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated
2 warnings generated.
../../gdb-7.12/gdb/compile/compile-loc2c.c:733:6: warning: variable 'uoffset' is uninitialized when used here [-Wuninitialized]
            uoffset += dwarf2_per_cu_text_offset (per_cu);
            ^~~~~~~
../../gdb-7.12/gdb/compile/compile-loc2c.c:671:23: note: initialize the variable 'uoffset' to silence this warning
      uint64_t uoffset, reg;
                      ^
                       = 0
warning: unknown warning option '-Wunused-but-set-parameter'; did you mean '-Wunused-parameter'? [-Wunknown-warning-option]
warning: unknown warning option '-Wunused-but-set-variable'; did you mean '-Wunused-const-variable'? [-Wunknown-warning-option]
2 warnings generated.
2 warnings generated.
17 warnings generated.
2 warnings generated.
3 warnings generated.
2 warnings generated.
99 warnings generated.
Making init.c
/usr/bin/c++ -O2 -pipe -fbracket-depth=1024 -I/rtems-source-builder/rtems/build/tmp/sb-peer/4.12/rtems-powerpc/rtems-source-builder/rtems/~/rtems/4.12/include -g -O2   -I. -I../../gdb-7.12/gdb -I../../gdb-7.12/gdb/common -I../../gdb-7.12/gdb/config -DLOCALEDIR="\"/rtems-source-builder/rtems/~/rtems/4.12/share/locale\"" -DHAVE_CONFIG_H -I../../gdb-7.12/gdb/../include/opcode -I../../gdb-7.12/gdb/../opcodes/.. -I../../gdb-7.12/gdb/../readline/.. -I../../gdb-7.12/gdb/../zlib -I../bfd -I../../gdb-7.12/gdb/../bfd -I../../gdb-7.12/gdb/../include -I../libdecnumber -I../../gdb-7.12/gdb/../libdecnumber  -I../../gdb-7.12/gdb/gnulib/import -Ibuild-gnulib/import   -DTUI=1  -I/rtems-source-builder/rtems/build/tmp/sb-peer/4.12/rtems-powerpc/rtems-source-builder/rtems/~/rtems/4.12/include  -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -Wall -Wpointer-arith -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -Wempty-body -Wunused-but-set-parameter -Wunused-but-set-variable -Wno-sign-compare -Wno-write-strings -Wno-narrowing -Wformat-nonliteral  -c -o init.o -MT init.o -MMD -MP -MF .deps/init.Tpo init.c
clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated
warning: unknown warning option '-Wunused-but-set-parameter'; did you mean '-Wunused-parameter'? [-Wunknown-warning-option]
warning: unknown warning option '-Wunused-but-set-variable'; did you mean '-Wunused-const-variable'? [-Wunknown-warning-option]
2 warnings generated.
rm -f gdb
/usr/bin/c++ -O2 -pipe -fbracket-depth=1024 -I/rtems-source-builder/rtems/build/tmp/sb-peer/4.12/rtems-powerpc/rtems-source-builder/rtems/~/rtems/4.12/include -g -O2   -Wl,-no_pie -L/rtems-source-builder/rtems/build/tmp/sb-peer/4.12/rtems-powerpc/rtems-source-builder/rtems/~/rtems/4.12/lib   \
		-o gdb gdb.o rs6000-tdep.o ppc-sysv-tdep.o solib-svr4.o ravenscar-thread.o ppc-ravenscar-thread.o ser-base.o ser-unix.o ser-pipe.o ser-tcp.o  remote.o dcache.o tracepoint.o ax-general.o ax-gdb.o remote-fileio.o remote-notif.o ctf.o tracefile.o tracefile-tfile.o remote-sim.o cli-dump.o cli-decode.o cli-script.o cli-cmds.o cli-setshow.o cli-logging.o cli-interp.o cli-utils.o mi-out.o mi-console.o mi-cmds.o mi-cmd-catch.o mi-cmd-env.o mi-cmd-var.o mi-cmd-break.o mi-cmd-stack.o mi-cmd-file.o mi-cmd-disas.o mi-symbol-cmds.o mi-cmd-target.o mi-cmd-info.o mi-interp.o mi-main.o mi-parse.o mi-getopt.o tui-command.o tui-data.o tui-disasm.o tui-file.o tui-hooks.o tui-interp.o tui-io.o tui-layout.o tui-out.o tui-regs.o tui-source.o tui-stack.o tui-win.o tui-windata.o tui-wingeneral.o tui-winsource.o tui.o python.o py-arch.o py-auto-load.o py-block.o py-bpevent.o py-breakpoint.o py-cmd.o py-continueevent.o py-xmethods.o py-event.o py-evtregistry.o py-evts.o py-exitedevent.o py-finishbreakpoint.o py-frame.o py-framefilter.o py-function.o py-gdb-readline.o py-inferior.o py-infevents.o py-infthread.o py-lazy-string.o py-linetable.o py-newobjfileevent.o py-objfile.o py-param.o py-prettyprint.o py-progspace.o py-signalevent.o py-stopevent.o py-symbol.o py-symtab.o py-threadevent.o py-type.o py-unwind.o py-utils.o py-value.o py-varobj.o guile.o elfread.o stap-probe.o dtrace-probe.o posix-hdep.o posix-strerror.o c-exp.o cp-name-parser.o ada-exp.o jv-exp.o d-exp.o f-exp.o go-exp.o m2-exp.o p-exp.o rust-exp.o version.o annotate.o addrmap.o auto-load.o auxv.o agent.o bfd-target.o blockframe.o breakpoint.o break-catch-sig.o break-catch-throw.o break-catch-syscall.o findvar.o regcache.o cleanups.o charset.o continuations.o corelow.o disasm.o dummy-frame.o dfp.o source.o value.o eval.o valops.o valarith.o valprint.o printcmd.o block.o symtab.o psymtab.o symfile.o symfile-debug.o symmisc.o linespec.o dictionary.o namespace.o location.o infcall.o infcmd.o infrun.o expprint.o environ.o stack.o tid-parse.o thread.o thread-fsm.o exceptions.o extension.o filesystem.o filestuff.o inf-child.o interps.o minidebug.o main.o macrotab.o macrocmd.o macroexp.o macroscope.o mi-common.o event-loop.o event-top.o inf-loop.o completer.o gdbarch.o arch-utils.o gdbtypes.o gdb_bfd.o gdb_obstack.o osabi.o copying.o memattr.o mem-break.o target.o target-dcache.o parse.o language.o build-id.o buildsym.o findcmd.o std-regs.o signals-state-save-restore.o signals.o exec.o reverse.o bcache.o objfiles.o observer.o minsyms.o maint.o demangle.o dbxread.o coffread.o coff-pe-read.o dwarf2read.o mipsread.o stabsread.o corefile.o dwarf2expr.o dwarf2loc.o dwarf2-frame.o dwarf2-frame-tailcall.o ada-lang.o c-lang.o d-lang.o f-lang.o objc-lang.o ada-tasks.o ada-varobj.o c-varobj.o ui-out.o cli-out.o varobj.o vec.o go-lang.o go-valprint.o go-typeprint.o jv-lang.o jv-valprint.o jv-typeprint.o jv-varobj.o m2-lang.o opencl-lang.o p-lang.o p-typeprint.o p-valprint.o selftest.o sentinel-frame.o complaints.o typeprint.o ada-typeprint.o c-typeprint.o f-typeprint.o m2-typeprint.o ada-valprint.o c-valprint.o cp-valprint.o d-valprint.o f-valprint.o m2-valprint.o ser-event.o serial.o mdebugread.o top.o utils.o ui-file.o user-regs.o frame.o frame-unwind.o doublest.o frame-base.o inline-frame.o gnu-v2-abi.o gnu-v3-abi.o cp-abi.o cp-support.o cp-namespace.o d-namespace.o reggroups.o rust-lang.o trad-frame.o tramp-frame.o solib.o solib-target.o prologue-value.o memory-map.o memrange.o xml-support.o xml-syscall.o xml-utils.o target-descriptions.o target-memory.o xml-tdesc.o xml-builtin.o inferior.o osdata.o gdb_usleep.o record.o record-full.o gcore.o gdb_vecs.o jit.o progspace.o skip.o probe.o common-utils.o buffer.o ptid.o gdb-dlfcn.o common-agent.o format.o registry.o btrace.o record-btrace.o waitstatus.o print-utils.o rsp-low.o errors.o common-debug.o debug.o common-exceptions.o btrace-common.o fileio.o common-regcache.o compile.o compile-c-symbols.o compile-c-types.o compile-object-load.o compile-object-run.o compile-loc2c.o compile-c-support.o inflow.o    init.o \
		  ../sim/ppc/libsim.a ../readline/libreadline.a ../opcodes/libopcodes.a ../bfd/libbfd.a -L./../zlib -lz  ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a    -lncurses -lm   -L/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/config -ldl -framework CoreFoundation -lpython2.7 -u _PyMac_Error /System/Library/Frameworks/Python.framework/Versions/2.7/Python -lexpat    ../libiberty/libiberty.a  build-gnulib/import/libgnu.a -liconv 
Undefined symbols for architecture x86_64:
  "_error", referenced from:
      _sim_io_printf_filtered in libsim.a(sim_calls.o)
      _sim_load in libsim.a(sim_calls.o)
      _sim_create_inferior in libsim.a(sim_calls.o)
      _sim_io_read_stdin in libsim.a(sim_calls.o)
      _sim_io_write_stdout in libsim.a(sim_calls.o)
      _sim_io_write_stderr in libsim.a(sim_calls.o)
      _sim_io_flush_stdoutput in libsim.a(sim_calls.o)
      ...
     (maybe you meant: _device_error, __Z20host_to_fileio_errori , _bfd_get_error_handler , __bfd_default_error_handler , _bfd_set_error_handler , _bfd_set_error_program_name , __Z28dwarf_reg_to_regnum_or_errorP7gdbarchm , __Z29observer_detach_command_errorP8observer , _sim_io_error , _deprecated_error_begin_hook , __Z35throw_max_completions_reached_errorv , __Z25type_name_no_tag_or_errorP4type , __Z12memory_error18target_xfer_statusm , __bfd_error_handler , __Z20annotate_error_beginv , __Z19compile_rx_or_errorP17re_pattern_bufferPKcS2_ , __Z12catch_errorsPFiPvES_Pc11return_mask , __Z20memory_error_message18target_xfer_statusP7gdbarchm , __Z11range_errorPKcz , __Z13gdb_xml_errorP14gdb_xml_parserPKcz , __Z29observer_notify_command_errorv , _gdbpy_gdb_memory_error , _bfd_set_error , __Z23invalid_thread_id_errorPKc , __Z11throw_error6errorsPKcz , _gdbpy_gdb_error , __Z14gdb_bfd_errmsg9bfd_errorPPc , __Z29observer_attach_command_errorPFvvE , __Z27gdbpy_print_python_errors_pv , _bfd_get_error , __Z14internal_errorPKciS0_z , __Z17get_regcomp_erroriP17re_pattern_buffer , __Z14annotate_errorv )
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [gdb] Error 1
make[1]: *** [all-gdb] Error 2
make: *** [all] Error 2
shell cmd failed: /bin/sh -ex  /rtems-source-builder/rtems/build/powerpc-rtems4.12-gdb-7.12-x86_64-apple-darwin14.5.0-1/doit
error: building powerpc-rtems4.12-gdb-7.12-x86_64-apple-darwin14.5.0-1
#3049 2 years ago fixed unspecified Joel Sherrill Chris Johns 7 months ago
Summary

Warnings in libdebugger

Description

I started fixing the warnings in libdebugger with the latest tools but apparently some of the variables can't be changed to const char *const. So filing as a ticket so Chris can fix them more accurately.

67 ../../../../../../rtems/c/src/../../cpukit/libdebugger/rtems-debugger-server.c:957:25: warning: comparison between pointer and zero character constant [-Wpointer-compare]

67 ../../../../../../rtems/c/src/../../cpukit/libdebugger/rtems-debugger-server.c:61:19: warning: duplicate 'const' declaration specifier [-Wduplicate-decl-specifier] 67 ../../../../../../rtems/c/src/../../cpukit/libdebugger/rtems-debugger-server.c:60:19: warning: duplicate 'const' declaration specifier [-Wduplicate-decl-specifier] 67 ../../../../../../rtems/c/src/../../cpukit/libdebugger/rtems-debugger-server.c:53:14: warning: duplicate 'const' declaration specifier [-Wduplicate-decl-specifier] 67 ../../../../../../rtems/c/src/../../cpukit/libdebugger/rtems-debugger-server.c:1490:14: warning: duplicate 'const' declaration specifier [-Wduplicate-decl-specifier] 67 ../../../../../../rtems/c/src/../../cpukit/libdebugger/rtems-debugger-server.c:1426:14: warning: duplicate 'const' declaration specifier [-Wduplicate-decl-specifier] 67 ../../../../../../rtems/c/src/../../cpukit/libdebugger/rtems-debugger-server.c:1302:14: warning: duplicate 'const' declaration specifier [-Wduplicate-decl-specifier] 67 ../../../../../../rtems/c/src/../../cpukit/libdebugger/rtems-debugger-server.c:1260:14: warning: duplicate 'const' declaration specifier [-Wduplicate-decl-specifier] 67 ../../../../../../rtems/c/src/../../cpukit/libdebugger/rtems-debugger-server.c:1064:14: warning: duplicate 'const' declaration specifier [-Wduplicate-decl-specifier] 67 ../../../../../../rtems/c/src/../../cpukit/libdebugger/rtems-debugger-server.c:1025:14: warning: duplicate 'const' declaration specifier [-Wduplicate-decl-specifier] 60 ../../../../../../rtems/c/src/../../cpukit/libdebugger/rtems-debugger-arm.c:302:14: warning: duplicate 'const' declaration specifier [-Wduplicate-decl-specifier] 60 ../../../../../../rtems/c/src/../../cpukit/libdebugger/rtems-debugger-arm.c:301:14: warning: duplicate 'const' declaration specifier [-Wduplicate-decl-specifier]

#3047 2 years ago fixed tool/rsb Chris Johns Chris Johns 19 months ago
Summary

Remove docs directory from the RSB

Description

The documentation has been moved to rtems-docs.git repo. Remove the docs directory and asciidocs from RTEMS.

#3046 2 years ago fixed tool/rsb Chris Johns Chris Johns 19 months ago
Summary

4.12/rtems-moxie missing release number.

Description

4.12/rtems-moxie is reporting

cleaning: dtc-1.4.1-x86_64-freebsd11.0-1
cleaning: expat-2.1.0-x86_64-freebsd11.0-1
cleaning: moxie-rtems4.12-binutils-2.28-x86_64-freebsd11.0-
cleaning: moxie-rtems4.12-gcc-7.1.0-newlib-2.5.0.20170519-x86_64-freebsd11.0-
cleaning: moxie-rtems4.12-gdb-7.12-x86_64-freebsd11.0-
cleaning: rtems-tools-HEAD-

There is no -1 or whatever at the end of the lines.

#3043 2 years ago fixed unspecified Chris Johns 19 months ago
Summary

4.11/rtems-nios2 does not build on Windows.

Description

The attached RSB report details the failure.

The path to ranlib is the cwd (see make[5] path) plus the relative path (see the report) which is 308 characters in length and this exceeds the max path length for the Win32 API and binutils reports this as a No such file.

#3040 2 years ago invalid tool/website Sebastian Huber Amar Takhar 7 months ago
Summary

Cannot use RTEMS mailing list archive for patches

Description

The RTEMS mailing list archive has no option to get the raw e-mail via the web interface, e.g.

https://lists.rtems.org/pipermail/devel/2017-June/018101.html

For example the Newlib mailing list archive:

https://sourceware.org/cgi-bin/get-raw-msg?listname=newlib&date=2017&msgid=20170612064218.11969-1-sebastian.huber%40embedded-brains.de

#3036 2 years ago fixed tool/newlib Sebastian Huber joel.sherrill@… 19 months ago
Summary

CPU_CMP() implementation is not in line with FreeBSD

Description

According to the FreeBSD man page we have:

https://www.freebsd.org/cgi/man.cgi?query=cpuset&sektion=9&apropos=0&manpath=FreeBSD+11.0-RELEASE+and+Ports

The CPU_CMP() macro returns true if cpuset1 is NOT equal to cpuset2.

However, in Newlib we had:

/* return 1 if the sets set1 and set2 are equal, otherwise return 0 */
static __inline int CPU_CMP( const cpu_set_t *set1, const cpu_set_t *set2 )
{
  return CPU_EQUAL(set1, set2);
}
#3032 2 years ago fixed tool/newlib Sebastian Huber Sebastian Huber 19 months ago
Summary

CPU_NAND_S() implementation is not in line with FreeBSD

Description

According to the FreeBSD man page we have:

https://www.freebsd.org/cgi/man.cgi?query=cpuset&sektion=9&apropos=0&manpath=FreeBSD+11.0-RELEASE+and+Ports

The CPU_NAND() macro removes CPUs in src from dst. (It is the cpuset(9) equivalent of the scalar: dst &= ~ src.)

However, in Newlib we had:

static __inline void CPU_NAND_S(size_t setsize, cpu_set_t *destset,
  const cpu_set_t *srcset1, const cpu_set_t *srcset2)
{
  cpu_set_word_t *wdest = &destset->__bits[0];
  const cpu_set_word_t *wsrc1 = &srcset1->__bits[0];
  const cpu_set_word_t *wsrc2 = &srcset2->__bits[0];
  size_t n = setsize / sizeof(*wdest);
  size_t i;

  for (i = 0; i < n; ++i)
    wdest[i] = ~(wsrc1[i] & wsrc2[i]);
}
#3027 2 years ago fixed tool/rsb Worth Burruss Chris Johns 14 months ago
Summary

RTEMS source builder fails when building gcc documentation with newer versions of gcc

Description

Originally discovered with MSYS2 on windows. Building the gcc compiler fails for older versions of gcc (ie 4.8.3) when building bfin and m32c architectures. The gcc maintainers recommend the use of MISSING=texinfo switch during configuration. A possible solution is attached.

#3025 2 years ago fixed unspecified Chris Johns joel.sherrill@… 19 months ago
Summary

m32c/m32csim does not build linpack-pc.c

Description

1 tests m32c/m32csim build:

configure: /opt/work/chris/rtems/kernel/rtems.git/configure --target\ =m32c-rtems4.12 --enable-rtemsbsp=m32csim --prefix=/opt/rtems/4.12\ --enable-tests

error: testsuites/benchmarks/linpack/linpack-pc.c:253:33: error:

storage size of 'a' isn't constant

error: testsuites/benchmarks/linpack/linpack-pc.c:253:21: error:

storage size of 'aa' isn't constant

#3023 2 years ago fixed tool/newlib Sebastian Huber Sebastian Huber 19 months ago
Summary

Parameter of CPU_COPY() are in wrong order

Description

According to the FreeBSD man page we have:

https://www.freebsd.org/cgi/man.cgi?query=cpuset&sektion=9&apropos=0&manpath=FreeBSD+11.0-RELEASE+and+Ports

CPU_COPY(cpuset_t *from, cpuset_t *to);

However, in Newlib we have:

static __inline void CPU_COPY( cpu_set_t *dest, const cpu_set_t *src )
{
  *dest = *src;
}
#3018 2 years ago fixed tool/rsb phongvanpham Chris Johns 19 months ago
Summary

RSB cannot compile tool chain in CentOS 7.

Description

In CentOS 6.8, everything works fine. But in CentOS 7, it does not. Initial investigation (I did a while back around New Year time) looks like later version of texinfo has an issue with autoconf. Enclosed is the email Chris Johns replied but I didn't follow through since I switched to CentOS 6.8 for my work.

"Looks to me like the RSB is trying to download autoconf 2.69-1 and from https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=711297

Looks like this autoconf version has a bug. I also noticed my autoconf version is 2.69-11; however, from what I am reading, RSB will download its own version independent of what user has."

Chris John replies:

"I guess a recent texinfo version has exposed the issue. I suggest you get the patch from the link in the bug report, create a patch for rtems-tools.git to add the autoconf patch, then create a patch to the RSB adding the patch to the autoconf build, finally 'git send-email' the patches to devel@… for review."

#3017 2 years ago worksforme score phongvanpham joel.sherrill@… 19 months ago
Summary

improvement in pci.h

Description

In pci.h, there are references to BSP_pci_configuration data structure which is in pci.c. However, in this file, there are also references to detect_host_bridge () in detect_raven_bridge.c. For folks that are just interested in pci_read_config_dword() + its brothers, all they need is to include pci.h and content for where BSP_pci_configuration is defined. The rest of the stuff in pci.c should be separate. Or in another word, data structures and #defines involving with BSP_pci_configuration needs to be in separate files rather all stuffed in pci.c

I currently do not need this functionality for my BSP (nor do I able to test it), so I cannot modify code and submit. It is best someone who can test the code to make the code change. Or else, just shelf it under the table and/or close this ticket.

#3016 2 years ago fixed bsps phongvanpham joel.sherrill@… 19 months ago
Summary

missing a couple register names + a #ifndef ASM around serial.h inclusion

Description

In rtems\c\src\libchip\serial\ns16550_p.h, need to add a couple register and #ifndef around serial.h

#3015 2 years ago fixed arch/powerpc phongvanpham joel.sherrill@… 19 months ago
Summary

Add support for IBM PPC 750 chip

Description

Currently MPC750 chip is supported. However, PPC750 (from IBM) is very close to MPC750 except minor differences. Enclosed is the delta to support PPC750.

#3014 2 years ago fixed bsps phongvanpham joel.sherrill@… 19 months ago
Summary

interrupt vector indexing is assuming BSP_INTERRUPT_VECTOR_MIN = 0 for this code.

Description

Someone implement bsp_interrupt_handler_index() forgot to update this delta in rtems\c\src\lib\libbsp\shared\src\irq-generic.c:bsp_interrupt_allocate_handler_index(). See attachment.

#3013 2 years ago fixed tool/website Nikolay Komashinskiy Amar Takhar 7 months ago
Summary

ProgrammingError?: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'sid='nikolaykomashinskiy' AND authenticated=1 AND name='force_change_passwd at line 1")

Description

Hello, during reset password I had an internal error. This card was automatically generated.

How to Reproduce

While doing a POST operation on /reset_password, Trac issued an internal error.

(please provide additional details here)

Request parameters:

{u'__FORM_TOKEN': u'56888d70c5e5799302935f97',
 u'email': u'nikolay.komashinskiy@yandex.ru',
 u'register_phone': u'',
 u'rtems_user_phone': u'',
 u'username': u'nikolaykomashinskiy'}

User agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.98 Safari/537.36

System Information

System information not available

Enabled Plugins

Plugin information not available

Interface Customization

Interface customization information not available

Python Traceback

Traceback (most recent call last):
  File "/data/src/trac/trac/web/main.py", line 620, in _dispatch_request
    dispatcher.dispatch(req)
  File "/data/src/trac/trac/web/main.py", line 253, in dispatch
    resp = chosen_handler.process_request(req)
  File "/data/trac/plugins/TracAccountManager-0.5.dev0-py2.7.egg/acct_mgr/web_ui.py", line 168, in process_request
    self._do_reset_password(req)
  File "/data/trac/plugins/TracAccountManager-0.5.dev0-py2.7.egg/acct_mgr/web_ui.py", line 256, in _do_reset_password
    self._reset_password(req, username, email)
  File "/data/trac/plugins/TracAccountManager-0.5.dev0-py2.7.egg/acct_mgr/web_ui.py", line 301, in _reset_password
    set_user_attribute(self.env, username, 'force_change_passwd', 1)
  File "/data/trac/plugins/TracAccountManager-0.5.dev0-py2.7.egg/acct_mgr/model.py", line 509, in set_user_attribute
    (value, username, attribute))
  File "/data/src/trac/trac/db/util.py", line 128, in execute
    cursor.execute(query, params if params is not None else [])
  File "/data/src/trac/trac/db/util.py", line 72, in execute
    return self.cursor.execute(sql_escape_percent(sql), args)
  File "/usr/local/lib/python2.7/site-packages/MySQLdb/cursors.py", line 205, in execute
    self.errorhandler(self, exc, value)
  File "/usr/local/lib/python2.7/site-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
    raise errorclass, errorvalue
ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'sid='nikolaykomashinskiy' AND authenticated=1 AND name='force_change_passwd'' at line 1")
#3012 2 years ago fixed tool/newlib Sebastian Huber Chris Johns 19 months ago
Summary

Global C++ IO streams are broken (cout, cin, cerr)

Description

The global C++ IO stream objects are initialized here

https://gcc.gnu.org/viewcvs/gcc/trunk/libstdc%2B%2B-v3/src/c%2B%2B98/ios_init.cc?view=markup#l85

via a placement new. The "stdout" etc. is thread-local in Newlib

#define    stdout  (_REENT->_stdout)

Using this for a global object like std::cout is quite broken. Which FILE object should be used instead? Potential fix:

diff --git a/libstdc++-v3/src/c++98/ios_init.cc b/libstdc++-v3/src/c++98/ios_init.cc
index c5bcc83..7470c44 100644
--- a/libstdc++-v3/src/c++98/ios_init.cc
+++ b/libstdc++-v3/src/c++98/ios_init.cc
@@ -33,6 +33,15 @@
 #include <ext/stdio_filebuf.h>
 #include <ext/stdio_sync_filebuf.h>
 
+#ifdef __rtems__
+#undef stdout
+#undef stdin
+#undef stderr
+#define stdout (_GLOBAL_REENT->_stdout)
+#define stdin (_GLOBAL_REENT->_stdout)
+#define stderr (_GLOBAL_REENT->_stdout)
+#endif
+
 namespace __gnu_internal _GLIBCXX_VISIBILITY(hidden)
 {
   using namespace __gnu_cxx;
diff --git a/newlib/libc/stdio/findfp.c b/newlib/libc/stdio/findfp.c
index 83d3dc5..7d50951 100644
--- a/newlib/libc/stdio/findfp.c
+++ b/newlib/libc/stdio/findfp.c
@@ -259,6 +259,12 @@ _DEFUN(__sinit, (s),
   __sinit_lock_release ();
 }
 
+static void __attribute__((__constructor__(0)))
+_global_reent_init(void)
+{
+  __sinit (_GLOBAL_REENT);
+}
+
 #ifndef __SINGLE_THREAD__
 
 __LOCK_INIT_RECURSIVE(static, __sfp_recursive_mutex);
#3011 2 years ago worksforme arch/arm Arturo Pérez Gedare Bloom 19 months ago
Summary

Error compiling xilinx_zynq_zedboard.

Description

I encountered an error compiling the xilinx_zynq_zedboard BSP. I am using a built of the RSB that I compiled in December. With that built of the RSB I could built this BSP several times until I did a git pull of the RTEMS repo two weeks ago. Today I updated my repos of the RTEMS and RSB sources, I rebuilt the RSB and I tried to built again the xilinx_zynq_zedboard BSP, encountering the same error:

gmake[6]: * No rule to make target posix/include/sys/mman.h', needed by ../cpukit/../../../xilinx_zynq_zedboard/lib/include/sys/mman.h'. Stop.

#3010 2 years ago fixed unspecified David Binderman Gedare Bloom <gedare@…> 19 months ago
Summary

src/cpukit/posix/src/mmap.c:189]: (style) Suspicious condition

Description

src/cpukit/posix/src/mmap.c:189]: (style) Suspicious condition (bitwise operator + comparison); Clarify expression with parentheses.

Source code is

} else if ( (flags & MAP_PRIVATE != MAP_PRIVATE) ) {

Maybe better code

} else if ( (flags & MAP_PRIVATE) != MAP_PRIVATE ) {

#3009 2 years ago wontfix tool/website Chris Johns joel.sherrill@… 19 months ago
Summary

Provide invalid link handler for docs.rtems.org so old docs can be removed.

Description

The docs.rtems.org website has lots of old docs which need to be removed.

See #3008 for a reference to old documentation.

#3008 2 years ago fixed doc Hassan Karim chrisj@… 19 months ago
Summary

missing pax causes install failures

Description

I have tried to install sparc bsp=erc32 on 4 different builds. 3 failed, and 1 flawlessly installed. The others all seem to fail somewhere during make install of test suites. Each reports one missing config problem or another.

I believe the problem resulted in a missing package, pax & libbsd-dev on Ubuntu 12.04.5 LTS (GNU/Linux 3.2.0-126-virtual x86_64)

I hadn't seen this exact problem because I normally update & upgrade as soon as I get a new image. Pressed for time, I skipped it. So, I am not sure if we need to update the documentation to directly include pax, since it is directly called in configure and breaks if not present.

https://docs.rtems.org/rsb/#_host_setups Under this section, 11.1.5. Ubuntu

Add pax to this line $ sudo apt-get build-dep binutils gcc g++ gdb unzip git python2.7-dev pax

#3007 2 years ago fixed arch/arm munster joel.sherrill@… 19 months ago
Summary

ARM caching issues

Description

There are two problems with the caching on ARM:

  • In cases where the buffer is not aligned to line boundary at the beginning or the end, the invalidate operation would lose modifications done on the adjacent data. This applies to both L1 and L2 caches.
  • The L2C-310 cache management operations use excessive locking. According to manual, the used operations (Clean Line by PA, Clean and Invalidate Line by PA, Cache Sync) are atomic and do not require locking.

I have attached the proposed patch.

#3006 2 years ago fixed arch/sparc Chris Johns Daniel Hellstrom 19 months ago
Summary

SPARC LEON3 BSP SMP build is broken.

Description

The rtems-bsp-builder failure output is:

   2 smp-debug sparc/leon3 build:
      configure: /opt/work/chris/rtems/kernel/rtems.git/configure --target\
      =sparc-rtems4.12 --enable-rtemsbsp=leon3 --prefix=/opt/rtems/4.12\
      --enable-debug --enable-smp --enable-tests
      error: c/src/lib/libbsp/sparc/shared/spw/grspw_pkt.c:61:2 error:
      #error SMP mode not compatible with these interrupt lock primitives

The BSP builder command line is:

RTEMS Tools Project - RTEMS Kernel BSP Builder, 4.12.not_released
command: /opt/work/rtems/4.12/bin/rtems-bsp-builder --rtems-\
         tools=/build/rtems/tools/4.12\
         --rtems=/opt/work/chris/rtems/kernel/rtems.git --build=smp-debug\
         --log=x
#3003 2 years ago fixed fs/fat munster Sebastian Huber 19 months ago
Summary

FAT does not support clusters bigger than 32K

Description

When used with 64KiB clusters, the FAT driver will loop forever in cpukit/libfs/src/dosfs/fat.c, line 580. This happens because struct fat_vol_s declares bytes per cluster variable as uint16_t bpc, whereas it can be as big as 256KiB.

Here is a link for Linux FAT driver which doesn't make any assumption about cluster size: http://lxr.free-electrons.com/source/fs/fat/inode.c?v=2.6.24#L1262

#3001 2 years ago fixed score Chris Johns Sebastian Huber 19 months ago
Summary

SMP build of RTEMS Testsuite does not set CONFIGURE_MAXIMUM_PROCESSORS

Description

The default setting for CONFIGURE_MAXIMUM_PROCESSORS is 1 and this means rtems_configuration_is_smp_enabled() returns false. Only the smptests set the maximum processor count to CPU_COUNT and therefore run in SMP mode.

If SMP is not running in an SMP build when running the tests are the tests really reporting a true indication of the of the system?

I would expect we have the API tests, libtests and fstests running with SMP enabled in an SMP build.

#3000 2 years ago fixed score Chris Johns Joel Sherrill 4 months ago
Summary

Setting interrupt level in the mode arg on SMP returns RTEMS_UNSATISFIED

Description

If for any reason a user sets the interrupt level in the mode on an SMP build the error RTEMS_UNSATISFIED is returned. The documentation indicates this is a lack of stack and this confusing.

The reason this happens is the SMP check for an interrupt level being set is in the score's _Thread_Initialize. I propose that and is_preemptible check be converted to an assert and checks be added to the Classic API to catch these errors and report suitable error codes.

There is no meaningful error code available without abusing an existing one so I propose adding RTEMS_INVALID_MODE.

#2999 2 years ago wontfix tool/rsb Joel Sherrill Chris Johns 19 months ago
Summary

sb-check on Cygwin

Description

It looks like there are two issues in windows.py

  • Probes for programs like bison and flex as required.
  • tar - bsdtar must be on mingw. It doesn't appear to exist on cygwin.

I think the fix is pretty simple code-wise but I wanted to get some feedback on why there were a lot more required programs in this file than on other OS.py files.

#2997 2 years ago fixed score Chris Johns Chris Johns 19 months ago
Summary

Monitor config command does not handle unlimited objects.

Description

Running the console's config command with unlimited objects gives:

[/] # config
INITIAL (startup) Configuration Info
------------------------------------------------------------------------------
WORKSPACE      start: 0x800f0173;  size: 0x374c8
TIME           usec/tick: 10000;  tick/timeslice: 50;  tick/sec: 100
MAXIMUMS       tasks: -2147483614;  timers: -2147483616;  sems: -2147483609;  que's: -2147483616;  ext's: 1
               partitions: -2147483616;  regions: -2147483616;  ports: -2147483616;  periods: -2147483616
#2995 2 years ago fixed tool/rsb Hassan Karim joel.sherrill@… 19 months ago
Summary

Missing bsets

Description

When I went to rebuild based on 4.12, I cloned from github. I am no longer getting all of the b-sets that I was expecting. Specifically, 4.12/rtems-sparc

Chris Johns said to submit it as a bug. It must have happened within the last couple of weeks. As my scripts that automated these tasks were working as of around 3/1/2017

git clone git://git.rtems.org/rtems-source-builder.git $SETBLDRSCRIPTDIR/sb-set-builder --list-bsets

RTEMS Source Builder - Set Builder, 4.12 (2074bd1168ee) Examining: config Examining: ../rtems/src/rtems-source-builder/source-builder/config Examining: ../rtems/src/rtems-source-builder/bare/config devel/autotools-base.bset devel/autotools-internal.bset devel/autotools.bset devel/dtc.bset devel/libtool.bset devel/libusb.bset devel/or1ksim.bset devel/qemu.bset gnu-tools-4.6.bset gnu-tools-4.8.2.bset lang/gcc491.bset

#2994 2 years ago fixed unspecified Joel Sherrill Chris Johns 19 months ago
Summary

tar01 XZ error

Description

This shows up on erc32 and psim.

/dest3/home/test_script: mode: 0755 want: 0755

========= /dest3/symlink ========= (0)This is a test of loading an RTEMS filesystem from an initial tar image.

Untaring chunks from txz - XZ file is corrupt (data) ../../../../../../../rtems/c/src/../../testsuites/libtests/tar01/init.c: 272 status == UNTAR_SUCCESSFUL

#2993 2 years ago fixed score Chris Johns joel.sherrill@… 19 months ago
Summary

SMP assert in _Thread_Executing in libdebugger

Description

The target code in libdebugger has support to recover from exceptions related to invalid memory accesses. GDB may request the server access memory on the target that results in an exception. The exception occurs on the server's remote connection thread and the server needs to recover and return and error to GDB.

Running the debugger01 test with an SMP build of RTEMS and libbsd for xilinx_zedboard and issuing bt in GDB results in:

*** LIBBSD DEBUGGER 1 TEST ***                                                                                                                                                                                                                                                                            [144/1950]
shell:cannot set terminal attributes(/dev/console)

RTEMS Shell on /devn/ecxounss0o:l e<.R TUEsMeS  'Nheexlups'  dteov ilcies>t
 ccogmemma0n:d s<.C
adence CGEM Gigabit Ethernet Interface> on nexus0
miibus0: <MII bus> on cgem0
[/] # e1000phy0: <Marvell 88E1512 Gigabit PHY> PHY 0 on miibus0
e1000phy0:  none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT-FDX, 1000baseT-FDX-master, auto
cgem0: Ethernet address: fa:69:35:9e:04:2f
zy7_slcr0: <Zynq-7000 slcr block> on nexus0
[zone: udpcb] kern.ipc.maxsockets limit reached
notice: cgem0: link state changed to DOWN
add host 10.10.5.1: gateway cgem0
add net default: gateway 10.10.5.1
rtems-db: remote running
rtems-db: tcp remote: listing on port: 1122
notice: cgem0: link state changed to UP

rtems-db: tcp remote: connect host: 10.10.5.2
rtems-db: arm debug: (v3.0) ARMv7 [v7, all CP14 registers] breakpoints:5 watchpoints:3
assertion "cpu_self->thread_dispatch_disable_level != 0 || _ISR_Get_level() != 0" failed: file "../../cpukit/../../../xilinx_zynq_zedboard/lib/include/rtems/score/percpu.h", line 630, function: _Per_CPU_Get

If I enable TARGET_DEBUG in libdebugger and apply the attached patch I can create the assert with DIE_ON_ASSERT set to 1. The output is:

 rtems-db: tcp remote: connect host: 10.10.5.2
rtems-db: arm debug: (v3.0) ARMv7 [v7, all CP14 registers] breakpoints:5 watchpoints:3
[} frame = 005664EC sig=1 vector=4 ifsr=00000000 pra=0024173A
[}  R0 = 00000158  R1 = 00000004  R2 = 00000001  R3 = 0041AB64
[}  R4 = 00000158  R5 = 00000004  R6 = 00000000  R7 = 005606A4
[}  R8 = 00000016  R9 = 00000001 R10 = 00000006 R11 = 0041AB64
[} R12 = 00560658  SP = 00566540  LR = 00000FFD  PC = 00241736
[}  CPSR = 08010173 ----Q--A-FT GE:0 IT:01 M:13 SVC
[} target exception: 0 0 0
assertion "cpu_self->thread_dispatch_disable_level != 0 || _ISR_Get_level() != 0" failed: file "../../cpukit/../../../xilinx_zynq_zedboard/lib/include/rtems/score/percpu.h", line 630, function: _Per_CPU_Get

and set to {{{0}}:

rtems-db: tcp remote: connect host: 10.10.5.2
rtems-db: arm debug: (v3.0) ARMv7 [v7, all CP14 registers] breakpoints:5 watchpoints:3
[} frame = 005664EC sig=1 vector=4 ifsr=00000000 pra=0024173A
[}  R0 = 00000158  R1 = 00000004  R2 = 00000001  R3 = 0041AB64
[}  R4 = 00000158  R5 = 00000004  R6 = 00000000  R7 = 005606A4
[}  R8 = 00000016  R9 = 00000001 R10 = 00000006 R11 = 0041AB64
[} R12 = 00560658  SP = 00566540  LR = 00000FFD  PC = 00241736
[}  CPSR = 08010173 ----Q--A-FT GE:0 IT:01 M:13 SVC
[} target exception: 0 0 0
[} tid:0A01000A: thread:0041F5B0 frame:005664EC
[} server access fault
[} frame = 005664EC sig=1 vector=4 ifsr=00000000 pra=0024173A
[}  R0 = 00000158  R1 = 00000004  R2 = 00000001  R3 = 0041AB64
[}  R4 = 00000158  R5 = 00000004  R6 = 00000000  R7 = 005606A4
[}  R8 = 00000016  R9 = 00000001 R10 = 00000006 R11 = 0041AB64
[} R12 = 00560658  SP = 00566540  LR = 00000FFD  PC = 00241736
[}  CPSR = 08010173 ----Q--A-FT GE:0 IT:01 M:13 SVC
[} target exception: 0 0 0
[} tid:0A01000A: thread:0041F5B0 frame:005664EC
[} server access fault

The following lines first two values are cpu_self->thread_dispatch_disable_level and _ISR_Get_level() which are both 0 so I cannot see a reason the assert is happening:

[} target exception: 0 0 0
#2992 2 years ago fixed tool/rsb Chris Johns Chris Johns 7 months ago
Summary

Long path crashes the RSB when listing a directory.

Description

Building LM32 on Windows crashes the RSB with a long path. The os.listdir call in Python on Windows is limited to 254 characters even if the path is Uncode.

building: lm32-rtems4.11-gcc-4.9.3-newlib-2.2.0.20150423-x86_64-w64-mingw32-1
Build Set: Time 0:29:19.809228
Build Set: Time 3:47:43.385503
Traceback (most recent call last):
  File "../source-builder/sb-set-builder", line 29, in <module>
    setbuilder.run()
  File "../source-builder/sb/setbuilder.py", line 502, in run
    b.build(deps)
  File "../source-builder/sb/setbuilder.py", line 340, in build
    bs.build(deps, nesting_count)
  File "../source-builder/sb/setbuilder.py", line 354, in build
    self.build_package(configs[s], b)
  File "../source-builder/sb/setbuilder.py", line 194, in build_package
    _build.config.expand('%{_tmproot}'))
  File "../source-builder/sb/setbuilder.py", line 155, in root_copy
    self.copy(src, dst)
  File "../source-builder/sb/setbuilder.py", line 95, in copy
    path.copy_tree(src, dst)
  File "../source-builder/sb/path.py", line 232, in copy_tree
    copy_tree(srcname, dstname)
  File "../source-builder/sb/path.py", line 232, in copy_tree
    copy_tree(srcname, dstname)
  File "../source-builder/sb/path.py", line 232, in copy_tree
    copy_tree(srcname, dstname)
  File "../source-builder/sb/path.py", line 232, in copy_tree
    copy_tree(srcname, dstname)
  File "../source-builder/sb/path.py", line 232, in copy_tree
    copy_tree(srcname, dstname)
  File "../source-builder/sb/path.py", line 232, in copy_tree
    copy_tree(srcname, dstname)
  File "../source-builder/sb/path.py", line 232, in copy_tree
    copy_tree(srcname, dstname)
  File "../source-builder/sb/path.py", line 232, in copy_tree
    copy_tree(srcname, dstname)
  File "../source-builder/sb/path.py", line 232, in copy_tree
    copy_tree(srcname, dstname)
  File "../source-builder/sb/path.py", line 232, in copy_tree
    copy_tree(srcname, dstname)
  File "../source-builder/sb/path.py", line 232, in copy_tree
    copy_tree(srcname, dstname)
  File "../source-builder/sb/path.py", line 232, in copy_tree
    copy_tree(srcname, dstname)
  File "../source-builder/sb/path.py", line 232, in copy_tree
    copy_tree(srcname, dstname)
  File "../source-builder/sb/path.py", line 232, in copy_tree
    copy_tree(srcname, dstname)
  File "../source-builder/sb/path.py", line 232, in copy_tree
    copy_tree(srcname, dstname)
  File "../source-builder/sb/path.py", line 191, in copy_tree
    names = os.listdir(hsrc)
TypeError: encoded string too long (269, maximum length 259)
#2990 2 years ago fixed tool/rsb Worth Burruss Chris Johns 7 months ago
Summary

RTEMS Source Builder Fails on Windows Builds

Description

The source Builder Fails to build 4.11 tools under MSYS2 and windows. Newer versions of MSYS use a version of gcc greater than 6.0 which can no longer be used to build older version of gcc.

The attached patch is from the gcc mailing list and originally was for gcc version 5.3. It has been adjusted so that it applies to 4.9.3.

This problem should also apply to linux and other systems that use newer gcc 6.0 and above.

#2984 2 years ago fixed unspecified Chris Johns Amar Takhar 19 months ago
Summary

Changing Trac milestone page fails.

Description

Changing the default milestone is timing out. It has worked before. The error is:

Gateway Timeout

The gateway did not receive a timely response from the upstream server or application.

#2983 2 years ago fixed unspecified Joel Sherrill Joel Sherrill <joel@…> 19 months ago
Summary

Create <rtems/inttypes.h> to consolidate extensions to <inttypes.h>

Description

Per discussion at https://lists.rtems.org/pipermail/devel/2017-April/017483.html, create <rtems/inttypes.h> to consolidate extensions to the C99 <inttypes.h> file. A quick search shows that there are the following set of defines which could be consolidated as a starting point. Then these are available to address other printf() format warnings.

$ grep -r "#define PRI" . | grep -v PRIORITY | grep -v PRINT ./cpukit/libmisc/shell/main_time.c:#define PRIdtime_t PRId64 ./cpukit/libmisc/shell/main_time.c:#define PRIdtime_t PRId32 ./cpukit/libmisc/uuid/gen_uuid.c:#define PRIutime_t PRIu64 ./cpukit/libmisc/uuid/gen_uuid.c:#define PRIutime_t PRIu32 ./cpukit/libdl/rtl-shell.c:#define PRIdoff_t PRIo32 ./cpukit/libdl/rtl-shell.c:#define PRIdoff_t PRIo64 ./cpukit/libfs/src/nfsclient/src/dirutils.c:#define PRIomode_t PRIo64 ./cpukit/libfs/src/nfsclient/src/dirutils.c:#define PRIomode_t PRIo32 ./cpukit/libfs/src/nfsclient/src/dirutils.c:#define PRIdoff_t PRIo64 ./cpukit/libfs/src/nfsclient/src/dirutils.c:#define PRIdoff_t PRIo32 ./cpukit/libfs/src/rfs/rtems-rfs-dir.c:#define PRIooff_t PRIo64 ./cpukit/libfs/src/rfs/rtems-rfs-dir.c:#define PRIooff_t PRIo32 ./cpukit/libfs/src/rfs/rtems-rfs-rtems-file.c:#define PRIdoff_t PRId64 ./cpukit/libfs/src/rfs/rtems-rfs-rtems-file.c:#define PRIdoff_t PRId32 ./cpukit/libfs/src/rfs/rtems-rfs-rtems.c:#define PRIomode_t PRIo64 ./cpukit/libfs/src/rfs/rtems-rfs-rtems.c:#define PRIomode_t PRIo32 ./testsuites/psxtests/include/pmacros.h:#define PRIdoff_t PRIo64 ./testsuites/psxtests/include/pmacros.h:#define PRIdoff_t PRIo32 ./testsuites/psxtests/include/pmacros.h:#define PRIxblksize_t PRIx64 ./testsuites/psxtests/include/pmacros.h:#define PRIxblksize_t PRIx32 ./testsuites/psxtests/include/pmacros.h:#define PRIxblksize_t "lx" ./testsuites/psxtests/include/pmacros.h:#define PRIxblkcnt_t PRIx64 ./testsuites/psxtests/include/pmacros.h:#define PRIxblkcnt_t PRIx32 ./testsuites/psxtests/include/pmacros.h:#define PRIxblkcnt_t "lx" ./testsuites/libtests/termios01/init.c:#define PRIdrtems_termios_baud_t PRId32 ./testsuites/support/include/pritime.h:#define PRIdtime_t PRId64 ./testsuites/support/include/pritime.h:#define PRIdtime_t PRId32 ./testsuites/support/include/tmacros.h:#define PRIxrtems_id PRIx16 ./testsuites/support/include/tmacros.h:#define PRIxrtems_id PRIx32 ./testsuites/support/include/tmacros.h:#define PRIdPriority_Control PRIu64 ./testsuites/support/include/tmacros.h:#define PRIxPriority_Control PRIx64 ./testsuites/support/include/tmacros.h:#define PRIdrtems_task_priority PRIu32 ./testsuites/support/include/tmacros.h:#define PRIxrtems_task_priority PRIx32 ./testsuites/support/include/tmacros.h:#define PRIdWatchdog_Interval PRIu32 ./testsuites/support/include/tmacros.h:#define PRIdrtems_interval PRIdWatchdog_Interval ./testsuites/support/include/tmacros.h:#define PRIdThread_Entry_numeric_type PRIuPTR ./testsuites/support/include/tmacros.h:#define PRIdrtems_task_argument PRIdThread_Entry_numeric_type ./testsuites/support/include/tmacros.h:#define PRIxrtems_event_set PRIx32 ./testsuites/support/include/tmacros.h:#define PRIxpthread_t PRIx32 ./testsuites/support/include/tmacros.h:#define PRIxrtems_signal_set PRIx32 ./testsuites/support/include/tmacros.h:#define PRIxino_t "lx" ./testsuites/support/include/primode.h:#define PRIomode_t PRIo64 ./testsuites/support/include/primode.h:#define PRIomode_t PRIo32 ./testsuites/sptests/sp21/init.c:#define PRIurtems_device_major_number PRIu32 ./testsuites/sptests/sp08/init.c:#define PRIxModes_Control PRIx32 ./testsuites/sptests/sp08/init.c:#define PRIxrtems_mode PRIxModes_Control ./testsuites/sptests/sp47/init.c:#define PRIXModes_Control PRIX32 ./testsuites/sptests/sp47/init.c:#define PRIXrtems_mode PRIXModes_Control

#2982 2 years ago invalid tool/gcc Chris Johns Sebastian Huber 19 months ago
Summary

LibBSD broken with GCC+RTEMS changes

Description

The RTEMS Header test is libbsd is broken. I assume including <rtems.h> and no other is still a requirement. Maybe we need a test for this.

The example code is:

$ cat t.c
/*

/opt/work/rtems/4.12/bin/arm-rtems4.12-gcc -qrtems -B/opt/work/si/rtems/4.12/arm-rtems4.12/lib -B/opt/work/si/rtems/4.12/arm-rtems4.12/xilinx_zynq_zc706/lib/ --specs bsp_specs -march=armv7-a -mthumb -mfpu=neon -mfloat-abi=hard -mtune=cortex-a9 -ffunction-sections -fdata-sections -DHAVE_RTEMS_SCORE_CPUOPTS_H=1 t.c -c -o t.o

*/

#include <rtems.h>

int main(int argc, char **argv) {
        (void)argc; (void)argv;
        return 0;
}
$ /opt/work/rtems/4.12/bin/arm-rtems4.12-gcc -qrtems -B/opt/work/si/rtems/4.12/arm-rtems4.12/lib -B/opt/work/si/rtems/4.12/arm-rtems4.12/xilinx_zynq_zc706/lib/ --specs bsp_specs -march=armv7-a -mthumb -mfpu=neon -mfloat-abi=hard -mtune=cortex-a9 -ffunction-sections -fdata-sections -DHAVE_RTEMS_SCORE_CPUOPTS_H=1 t.c -c -o t.o
In file included from /opt/work/rtems/4.12/arm-rtems4.12/include/signal.h:6:0,
                 from /opt/work/rtems/4.12/arm-rtems4.12/include/time.h:178,
                 from /opt/work/rtems/4.12/arm-rtems4.12/include/sys/time.h:268,
                 from /opt/work/si/rtems/4.12/arm-rtems4.12/xilinx_zynq_zc706/lib/include/rtems/score/timestamp.h:43,
                 from /opt/work/si/rtems/4.12/arm-rtems4.12/xilinx_zynq_zc706/lib/include/rtems/score/thread.h:36,
                 from /opt/work/si/rtems/4.12/arm-rtems4.12/xilinx_zynq_zc706/lib/include/rtems/score/heap.h:22,
                 from /opt/work/si/rtems/4.12/arm-rtems4.12/xilinx_zynq_zc706/lib/include/rtems/rtems/types.h:26,
                 from /opt/work/si/rtems/4.12/arm-rtems4.12/xilinx_zynq_zc706/lib/include/rtems.h:31,
                 from t.c:7:
/opt/work/rtems/4.12/arm-rtems4.12/include/sys/signal.h:53:3: error: unknown type name 'pthread_attr_t'
   pthread_attr_t  *sigev_notify_attributes;    /* Notification Attributes */
   ^~~~~~~~~~~~~~
In file included from /opt/work/rtems/4.12/arm-rtems4.12/include/string.h:10:0,
                 from /opt/work/si/rtems/4.12/arm-rtems4.12/xilinx_zynq_zc706/lib/include/rtems/score/basedefs.h:49,
                 from /opt/work/si/rtems/4.12/arm-rtems4.12/xilinx_zynq_zc706/lib/include/rtems/score/types.h:23,
                 from /opt/work/si/rtems/4.12/arm-rtems4.12/xilinx_zynq_zc706/lib/include/rtems/score/cpu.h:32,
                 from /opt/work/si/rtems/4.12/arm-rtems4.12/xilinx_zynq_zc706/lib/include/rtems/system.h:23,
                 from /opt/work/si/rtems/4.12/arm-rtems4.12/xilinx_zynq_zc706/lib/include/rtems.h:29,
                 from t.c:7:
/opt/work/rtems/4.12/arm-rtems4.12/include/sys/signal.h:202:5: error: unknown type name 'pthread_t'
 int _EXFUN(pthread_kill, (pthread_t thread, int sig));
     ^
In file included from /opt/work/si/rtems/4.12/arm-rtems4.12/xilinx_zynq_zc706/lib/include/rtems/rtems/config.h:25:0,
                 from /opt/work/si/rtems/4.12/arm-rtems4.12/xilinx_zynq_zc706/lib/include/rtems/config.h:57,
                 from /opt/work/si/rtems/4.12/arm-rtems4.12/xilinx_zynq_zc706/lib/include/rtems.h:33,
                 from t.c:7:
/opt/work/si/rtems/4.12/arm-rtems4.12/xilinx_zynq_zc706/lib/include/rtems/rtems/tasks.h:425:3: error: unknown type name 'cpu_set_t'
   cpu_set_t           *cpuset
   ^~~~~~~~~
/opt/work/si/rtems/4.12/arm-rtems4.12/xilinx_zynq_zc706/lib/include/rtems/rtems/tasks.h:458:9: error: unknown type name 'cpu_set_t'
   const cpu_set_t *cpuset
         ^~~~~~~~~
/opt/work/si/rtems/4.12/arm-rtems4.12/xilinx_zynq_zc706/lib/include/rtems/rtems/tasks.h:581:3: error: unknown type name 'cpu_set_t'
   cpu_set_t *cpuset
   ^~~~~~~~~
$ cat t.cpp
/*

/opt/work/rtems/4.12/bin/arm-rtems4.12-g++ -qrtems -B/opt/work/si/rtems/4.12/arm-rtems4.12/lib -B/opt/work/si/rtems/4.12/arm-rtems4.12/xilinx_zynq_zc706/lib/ --specs bsp_specs -march=armv7-a -mthumb -mfpu=neon -mfloat-abi=hard -mtune=cortex-a9 -ffunction-sections -fdata-sections -DHAVE_RTEMS_SCORE_CPUOPTS_H=1 t.cpp -c -o t.o

*/

#include <rtems.h>

int main(int argc, char **argv) {
        (void)argc; (void)argv;
        return 0;
}
$ /opt/work/rtems/4.12/bin/arm-rtems4.12-g++ -qrtems -B/opt/work/si/rtems/4.12/arm-rtems4.12/lib -B/opt/work/si/rtems/4.12/arm-rtems4.12/xilinx_zynq_zc706/lib/ --specs bsp_specs -march=armv7-a -mthumb -mfpu=neon -mfloat-abi=hard -mtune=cortex-a9 -ffunction-sections -fdata-sections -DHAVE_RTEMS_SCORE_CPUOPTS_H=1 t.cpp -c -o t.o
In file included from /opt/work/rtems/4.12/arm-rtems4.12/include/signal.h:6:0,
                 from /opt/work/rtems/4.12/arm-rtems4.12/include/time.h:178,
                 from /opt/work/rtems/4.12/arm-rtems4.12/include/sys/time.h:268,
                 from /opt/work/si/rtems/4.12/arm-rtems4.12/xilinx_zynq_zc706/lib/include/rtems/score/timestamp.h:43,
                 from /opt/work/si/rtems/4.12/arm-rtems4.12/xilinx_zynq_zc706/lib/include/rtems/score/thread.h:36,
                 from /opt/work/si/rtems/4.12/arm-rtems4.12/xilinx_zynq_zc706/lib/include/rtems/score/heap.h:22,
                 from /opt/work/si/rtems/4.12/arm-rtems4.12/xilinx_zynq_zc706/lib/include/rtems/rtems/types.h:26,
                 from /opt/work/si/rtems/4.12/arm-rtems4.12/xilinx_zynq_zc706/lib/include/rtems.h:31,
                 from t.cpp:7:
/opt/work/rtems/4.12/arm-rtems4.12/include/sys/signal.h:53:3: error: 'pthread_attr_t' does not name a type
   pthread_attr_t  *sigev_notify_attributes;    /* Notification Attributes */
   ^~~~~~~~~~~~~~
In file included from /opt/work/rtems/4.12/arm-rtems4.12/include/string.h:10:0,
                 from /opt/work/si/rtems/4.12/arm-rtems4.12/xilinx_zynq_zc706/lib/include/rtems/score/basedefs.h:49,
                 from /opt/work/si/rtems/4.12/arm-rtems4.12/xilinx_zynq_zc706/lib/include/rtems/score/types.h:23,
                 from /opt/work/si/rtems/4.12/arm-rtems4.12/xilinx_zynq_zc706/lib/include/rtems/score/cpu.h:32,
                 from /opt/work/si/rtems/4.12/arm-rtems4.12/xilinx_zynq_zc706/lib/include/rtems/system.h:23,
                 from /opt/work/si/rtems/4.12/arm-rtems4.12/xilinx_zynq_zc706/lib/include/rtems.h:29,
                 from t.cpp:7:
/opt/work/rtems/4.12/arm-rtems4.12/include/sys/signal.h:202:5: error: 'pthread_t' was not declared in this scope
 int _EXFUN(pthread_kill, (pthread_t thread, int sig));
     ^
/opt/work/rtems/4.12/arm-rtems4.12/include/sys/signal.h:202:5: error: expected primary-expression before 'int'
 int _EXFUN(pthread_kill, (pthread_t thread, int sig));
     ^
/opt/work/rtems/4.12/arm-rtems4.12/include/sys/signal.h:202:5: error: expression list treated as compound expression in initializer [-fpermissive]
 int _EXFUN(pthread_kill, (pthread_t thread, int sig));
     ^
In file included from /opt/work/si/rtems/4.12/arm-rtems4.12/xilinx_zynq_zc706/lib/include/rtems/rtems/config.h:25:0,
                 from /opt/work/si/rtems/4.12/arm-rtems4.12/xilinx_zynq_zc706/lib/include/rtems/config.h:57,
                 from /opt/work/si/rtems/4.12/arm-rtems4.12/xilinx_zynq_zc706/lib/include/rtems.h:33,
                 from t.cpp:7:
/opt/work/si/rtems/4.12/arm-rtems4.12/xilinx_zynq_zc706/lib/include/rtems/rtems/tasks.h:425:3: error: 'cpu_set_t' has not been declared
   cpu_set_t           *cpuset
   ^~~~~~~~~
/opt/work/si/rtems/4.12/arm-rtems4.12/xilinx_zynq_zc706/lib/include/rtems/rtems/tasks.h:458:9: error: 'cpu_set_t' does not name a type
   const cpu_set_t *cpuset
         ^~~~~~~~~
/opt/work/si/rtems/4.12/arm-rtems4.12/xilinx_zynq_zc706/lib/include/rtems/rtems/tasks.h:581:3: error: 'cpu_set_t' has not been declared
   cpu_set_t *cpuset
   ^~~~~~~~~

Note: The header test in libbsd is currently using C++ and I am not sure why.

#2981 2 years ago fixed unspecified Joel Sherrill Chris Johns 19 months ago
Summary

testdata excludes on included tcfg files does not work

Description

It looks like the includes do not always work for .tcfg files. So far these BSPs do not appear to honor the excludes in an included file:

log/m32c-m32csim.log log/mips-hurricane.log log/mips-rbtx4925.log log/mips-rbtx4938.log log/moxie-moxiesim.log

mips and moxie are dl tests.

#2980 2 years ago worksforme unspecified Joel Sherrill Sebastian Huber 19 months ago
Summary

pc586-sse does not compile fsjffs2gc01

Description

After the tool upgrade, the pc586-sse BSP does not compile the test fsjffs2gc01:

i386-rtems4.12-gcc -B../../../../../pc586-sse/lib/ -specs bsp_specs -qrtems -DHAVE_CONFIG_H -I. -I../../../../../../../rtems/c/src/../../testsuites/fstests/fsjffs2gc01 -I.. -I../../../../../../../rtems/c/src/../../testsuites/fstests/support -I../../../../../../../rtems/c/src/../../testsuites/fstests/jffs2_support -I../../../../../../../rtems/c/src/../../testsuites/fstests/../support/include -I../../../../../../../rtems/c/src/../../testsuites/fstests/../psxtests/include -mtune=pentium -march=pentium -msse2 -O2 -g -ffunction-sections -fdata-sections -Wall -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs -MT fstest_support.o -MD -MP -MF .deps/fstest_support.Tpo -c -o fstest_support.o test -f '../support/fstest_support.c' || echo '../../../../../../../rtems/c/src/../../testsuites/fstests/fsjffs2gc01/'../support/fstest_support.c In file included from ../../../../../../../rtems/c/src/../../testsuites/fstests/fsjffs2gc01/../support/fstest_support.c:30:0: ../../../../../../../rtems/c/src/../../testsuites/fstests/../psxtests/include/pmacros.h:99:2: error: #error "unsupported size of off_t"

#error "unsupported size of off_t"

gmake[6]: * [fstest_support.o] Error 1 gmake[6]: Leaving directory `/data/home/joel/rtems-work/rtems-testing/rtems/build-i386-pc586-sse-rtems/i386-rtems4.12/c/pc586-sse/testsuites/fstests/fsjffs2gc01

#2977 2 years ago fixed unspecified Joel Sherrill Sebastian Huber 19 months ago
Summary

warnings in Dhrystone Benchmark

Description

The following warnings show up across the various BSPs for the dhrystone benchmark:

grep "dhrystone.*warning" log/*

log/epiphany-epiphany_sim.log:../../../../../../../rtems/c/src/../../testsuites/benchmarks/dhrystone/dhry_1.c:286:1: warning: control reaches end of non-void function [-Wreturn-type] log/powerpc-haleakala.log:../../../../../../../rtems/c/src/../../testsuites/benchmarks/dhrystone/dhry_1.c:244:3: warning: 'Int_2_Loc' may be used uninitialized in this function [-Wmaybe-uninitialized] log/powerpc-t32mppc.log:../../../../../../../rtems/c/src/../../testsuites/benchmarks/dhrystone/dhry_1.c:244:3: warning: 'Int_2_Loc' may be used uninitialized in this function [-Wmaybe-uninitialized] log/sparc64-niagara.log:../../../../../../../rtems/c/src/../../testsuites/benchmarks/dhrystone/dhry_1.c:220:40: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] log/sparc64-niagara.log:../../../../../../../rtems/c/src/../../testsuites/benchmarks/dhrystone/dhry_1.c:231:40: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] log/sparc64-usiii.log:../../../../../../../rtems/c/src/../../testsuites/benchmarks/dhrystone/dhry_1.c:220:40: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] log/sparc64-usiii.log:../../../../../../../rtems/c/src/../../testsuites/benchmarks/dhrystone/dhry_1.c:231:40: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]

#2976 2 years ago fixed unspecified Joel Sherrill Chris Johns 19 months ago
Summary

warnings in rtems-debugger-server.c

Description

This should be present on any ARM or x86 build.

cpukit/libdebugger/rtems-debugger-server.c:393:1: warning: control reaches end of non-void function [-Wreturn-type] cpukit/libdebugger/rtems-debugger-server.c:405:1: warning: control reaches end of non-void function [-Wreturn-type]

#2969 2 years ago fixed unspecified Joel Sherrill Sebastian Huber 19 months ago
Summary

qoriq BSPs depend on mkimage which is not always available

Description

The following BSPs do not successfully build on the master because they use UBoot's mkimage which is not part of the standard RTEMS tools.

qoriq_core_0 qoriq_core_1 qoriq_p1020rdb

#2968 2 years ago fixed unspecified Joel Sherrill 14 months ago
Summary

newlib inttypes.h is missing some methods

Description

inttypes.h defines some methods which are not present but required for POSIX compliance. They are also included in the FACE General Purpose Profile.

intmax_t imaxabs(intmax_t); imaxdiv_t imaxdiv(intmax_t, intmax_t); intmax_t strtoimax(const char *restrict, char restrict, int); uintmax_t strtoumax(const char *restrict, char restrict, int); intmax_t wcstoimax(const wchar_t *restrict, wchar_t restrict, int); uintmax_t wcstoumax(const wchar_t *restrict, wchar_t restrict, int);

This was originally discussed here (https://sourceware.org/ml/newlib/2013/msg00626.html) with follow up discussion here (https://sourceware.org/ml/newlib/2017/msg00240.html).

The consensus seems to be that the methods as currently implemented in FreeBSD address the concerns raised in that email thread.

This ticket is complete when:

  • source for these methods is merged into newlib
  • methods are documented in newlib
  • RSB is updated appropriately
  • tests are added to RTEMS
  • RTEMS POSIX Compliance spreadsheet (https://goo.gl/AXrnxO) is updated
#2967 2 years ago fixed tool/gcc Sebastian Huber Sebastian Huber 19 months ago
Summary

ARM: Change ABI to not use short enums

Description

Whether enums are short or not is left open in the ARM EABI. On Linux and FreeBSD no short enums are used. Otherwise short enums are enabled by default.

Short enums may cause hard to find issues with 3rd party software, since the are quite unusual in general, e.g.

https://git.rtems.org/rtems-libbsd/commit/freebsd/include/rpc?id=9880635f2e642380b69b85e00271649b3a2fc2de

The data and structure layout may suddenly change in case enumeration values are added/removed. The benefit of short enums is probably not worth the trouble, since the packed compiler attribute can be used to individually make an enum short.

The reason for not choosing no short enums during the ARM EABI introduction was an issue with Newlib. This is addressed with the following patch:

https://sourceware.org/ml/newlib/2017/msg00238.html

#2965 2 years ago fixed unspecified Gedare Bloom Gedare Bloom <gedare@…> 19 months ago
Summary

bootstrap sort inconsistent with sb-bootstrap for acinclude

Description

The output of bootstrap does not use a consistent sort order with sb-bootstrap. The difference appears to be in the default behavior of the sort command versus Python's sorted. By forcing the locale to C, sort should have a consistent behavior.

#2963 2 years ago fixed unspecified Chris Johns Chris Johns 19 months ago
Summary

Add a testsuite top level confguration file that is common to all tests.

Description

Add the file testsuites/rtems.tcfg to hold test states common to all BSPs. This lets us globally set a test state.

For example fileio is user-input.

Note, user-input will be added a test state to test this file.

#2959 2 years ago fixed lib/dl Chris Johns Chris Johns 19 months ago
Summary

arm/libdl: C++ exception index tables may not be ordered correctly

Description

The ARM EXIDX sections have the SHF_LINK_ORDER flag set and this is not honored by libdl which means the section order in the ELF file needs to be the correct order of the functions in the address map.

Add support to libdl to follow the link-to order.

#2958 2 years ago fixed unspecified Sebastian Huber Sebastian Huber 19 months ago
Summary

Add some popular benchmark programs to the testsuite

Description

Add dhrystone, whetstone and linpack benchmark programs to the testsuite. This may help to evaluate compiler settings, compiler versions and processors.

#2957 2 years ago fixed score Sebastian Huber Gedare Bloom 19 months ago
Summary

Shared memory support internal locking is broken

Description

The top level lock is an ISR lock (interrupt disable/enable or SMP lock) and the low level lock is potentially a mutex. The problem is exposed by test psxshm02:

#0  _Terminate (the_source=INTERNAL_ERROR_CORE, the_error=31) at ../../../../../../rtems/c/src/../../cpukit/score/src/interr.c:35
#1  0x00111654 in _Internal_error (core_error=INTERNAL_ERROR_BAD_THREAD_DISPATCH_ENVIRONMENT) at ../../../../../../rtems/c/src/../../cpukit/score/src/interr.c:52
#2  0x00117010 in _Thread_Do_dispatch (cpu_self=0x2035c0 <_Per_CPU_Information>, level=1611071955) at ../../../../../../rtems/c/src/../../cpukit/score/src/threaddispatch.c:190
#3  0x0011a568 in _Thread_Dispatch_enable (cpu_self=0x2035c0 <_Per_CPU_Information>) at ../../cpukit/../../../realview_pbx_a9_qemu/lib/include/rtems/score/threaddispatch.h:227
#4  0x0011b6c4 in _Thread_Change_life (clear=THREAD_LIFE_PROTECTED, set=THREAD_LIFE_PROTECTED, ignore=(unknown: 0)) at ../../../../../../rtems/c/src/../../cpukit/score/src/threadrestart.c:684
#5  0x0011b6ea in _Thread_Set_life_protection (state=THREAD_LIFE_PROTECTED) at ../../../../../../rtems/c/src/../../cpukit/score/src/threadrestart.c:691
#6  0x0010f3dc in _API_Mutex_Lock (the_mutex=0x2037d8) at ../../../../../../rtems/c/src/../../cpukit/score/src/apimutexlock.c:31
#7  0x001050a0 in _RTEMS_Lock_allocator () at ../../cpukit/../../../realview_pbx_a9_qemu/lib/include/rtems/score/apimutex.h:120
#8  0x00105442 in rtems_heap_allocate_aligned_with_boundary (size=10004, alignment=0, boundary=0) at ../../../../../../rtems/c/src/../../cpukit/libcsupport/src/malloc_deferred.c:89
#9  0x001055a6 in malloc (size=10004) at ../../../../../../rtems/c/src/../../cpukit/libcsupport/src/malloc.c:39
#10 0x0011e820 in realloc (ptr=0x0, size=10004) at ../../../../../../rtems/c/src/../../cpukit/libcsupport/src/realloc.c:62
#11 0x0010b1a2 in _POSIX_Shm_Object_resize_from_heap (shm_obj=0x204870, size=10004) at ../../../../../../rtems/c/src/../../cpukit/posix/src/shmheap.c:59
#12 0x0010b6ac in shm_ftruncate (iop=0x202cf8 <rtems_libio_iops+168>, length=10004) at ../../../../../../rtems/c/src/../../cpukit/posix/src/shmopen.c:83
#13 0x00104cfc in ftruncate (fd=3, length=10004) at ../../../../../../rtems/c/src/../../cpukit/libcsupport/src/ftruncate.c:37
#14 0x001008e0 in POSIX_Init (argument=0x0) at ../../../../../../../rtems/c/src/../../testsuites/psxtests/psxshm02/init.c:54
#15 0x001201ee in _Thread_Entry_adaptor_pointer (executing=0x2041a8) at ../../../../../../rtems/c/src/../../cpukit/score/src/threadentryadaptorpointer.c:25
#16 0x00120302 in _Thread_Handler () at ../../../../../../rtems/c/src/../../cpukit/score/src/threadhandler.c:88
#2954 2 years ago fixed arch/arm Sebastian Huber Sebastian Huber 19 months ago
Summary

ARM: Optimize context switch

Description

Set CPU_ENABLE_ROBUST_THREAD_DISPATCH to TRUE. In this case the interrupts are always enabled during a context switch even after interrupt processing (see #2751). Remove the CPSR from the context control since it contains only volatile bits.

#2951 2 years ago fixed build alexgerbor chrisj@… 19 months ago
Summary

Error path in rtems-gcc-6.3.0-newlib-2.5.0.20170228-1.cfg

Description

newlib-ARM-Optimize-IEEE-754-sqrt-implementation.diff in path https://git.rtems.org/rtems-tools/plain/tools/4.12/newlib/arm/ not found

In rtems-gcc-6.3.0-newlib-2.5.0.20170228-1.cfg there error: %patch add newlib %{rtems_newlib_patches}/arm/newlib-ARM-Optimize-IEEE-754-sqrt-implementation.diff

Log from execute /source-builder/sb-set-builder:

download: (full) https://git.rtems.org/rtems-tools/plain/tools/4.12/newlib/arm/newlib-ARM-Optimize-IEEE-754-sqrt-implementation.diff -> patches/newlib-ARM-Optimize-IEEE-754-sqrt-implementation.diff download: https://git.rtems.org/rtems-tools/plain/tools/4.12/newlib/arm/newlib-ARM-Optimize-IEEE-754-sqrt-implementation.diff -> patches/newlib-ARM-Optimize-IEEE-754-sqrt-implementation.diff download: no ssl context download: https://git.rtems.org/rtems-tools/plain/tools/4.12/newlib/arm/newlib-ARM-Optimize-IEEE-754-sqrt-implementation.diff: error: HTTP Error 404: Not found error: downloading https://git.rtems.org/rtems-tools/plain/tools/4.12/newlib/arm/newlib-ARM-Optimize-IEEE-754-sqrt-implementation.diff: all paths have failed, giving up

#2949 2 years ago wontfix tool/rsb Sebastian Huber 19 months ago
Summary

Questionable patch organization in RTEMS tools and RSB

Description

Patches for RTEMS tools are available via the RTEMS tools repository:

https://git.rtems.org/rtems-tools/tree/tools

They are organized using subdirectories.

The RSB uses these patches. It removes the subdirectories and collects everything in a "patches" directory, e.g.

download: https://git.rtems.org/rtems-tools/plain/tools/4.11/newlib/arm/newlib-ARM-Optimize-IEEE-754-sqrt-implementation.diff -> patches/newlib-ARM-Optimize-IEEE-754-sqrt-implementation.diff

This works only in case the patch file names are unique. So, the use of subdirectories in the RTEMS tools is questionable.

#2946 2 years ago fixed unspecified Chris Johns joel.sherrill@… 19 months ago
Summary

Add a top level global testsuite configuration file (.tcfg) and a 'user-input' test state.

Description

Adding a top level testsuite configuration file lets us specify tests that have a common test state across all BSPs.

Adding the test state 'user-input' clearly tags the test as needing user input and test result tools can correctly determine the test result. The current practice of passing a test needing user input is actually hiding the real result of the test.

#2945 2 years ago worksforme unspecified Joel Sherrill Daniel Hellstrom 19 months ago
Summary

Many failures on LEON3 with SMP disabled

Description

There are approximately ~100 failures, timeouts, etc on the LEON3 BSP. See this thread for some discussion where Jiri notes it is broken on his checkout from December:

https://lists.rtems.org/pipermail/devel/2017-March/017277.html

Passed: 458 Failed: 20 Timeouts: 73 Invalid: 3


Total: 554

Failures:

cdtest.exe spintrcritical20.exe dl05.exe spintrcritical01.exe spintrcritical04.exe spintrcritical10.exe spintrcritical22.exe sp69.exe spintrcritical21.exe sp11.exe spintrcritical16.exe spintrcritical23.exe psxfile01.exe spintrcritical05.exe spintrcritical02.exe spintrcritical08.exe psxgetrusage01.exe spcpucounter01.exe spintrcritical03.exe psxtimes01.exe

Timeouts:

nsecs.exe sptask_err02.exe spprivenv01.exe psxkey03.exe psxsignal01.exe psx06.exe psx10.exe sp04.exe mrfs_fstime.exe ticker.exe psxmsgq03.exe psxkey09.exe psx07.exe sptimerserver01.exe psxusleep.exe psxstack02.exe psxkey07.exe psxkey10.exe stackchk.exe sp01.exe fileio.exe spsimplesched01.exe sp03.exe psxcond01.exe sp65.exe sp62.exe psx11.exe psx12.exe psx02.exe imfs_fstime.exe crypt01.exe psxstack01.exe spcbssched01.exe termios.exe mimfs_fstime.exe psxsignal02.exe psx08.exe top.exe psxrwlock01.exe sp22.exe psxsignal04.exe psxkey04.exe mouse01.exe sp24.exe psx04.exe spedfsched01.exe uid01.exe mdosfs_fstime.exe psx16.exe psxaio03.exe sp19.exe psxtime.exe psx09.exe psxkey06.exe psxclock.exe cpuuse.exe psx05.exe sp66.exe psxsignal03.exe capture.exe sp30.exe psxcleanup.exe psxcancel.exe jffs2_fstime.exe psxsignal06.exe spstdthreads01.exe psxbarrier01.exe sp31.exe sp73.exe psxualarm.exe spfifo03.exe psxtimer01.exe monitor.exe

Invalid:

cxx_iostream.exe spinternalerror01.exe sptimecounter01.exe

#2943 2 years ago wontfix unspecified DHANPAL SINGH 19 months ago
Summary

rtems building error

Description

i am attaching the screenshot of file system

#2942 2 years ago invalid unspecified DHANPAL SINGH 19 months ago
Summary

rtems building error

Description

dhanpal@dhanpal-HP-Pavilion-15-Notebook-PC:~$ export PATH=$HOME/development/rtems/4.12/bin:$PATH dhanpal@dhanpal-HP-Pavilion-15-Notebook-PC:~$ cd dhanpal@dhanpal-HP-Pavilion-15-Notebook-PC:~$ cd development/rtems dhanpal@dhanpal-HP-Pavilion-15-Notebook-PC:~/development/rtems$ mkdir kernel dhanpal@dhanpal-HP-Pavilion-15-Notebook-PC:~/development/rtems$ cd kernel dhanpal@dhanpal-HP-Pavilion-15-Notebook-PC:~/development/rtems/kernel$ git clone git://git.rtems.org/rtems.git rtems Cloning into 'rtems'... remote: Counting objects: 504955, done. remote: Compressing objects: 100% (90780/90780), done. remote: Total 504955 (delta 407126), reused 499936 (delta 403143) Receiving objects: 100% (504955/504955), 73.12 MiB | 113 KiB/s, done. Resolving deltas: 100% (407126/407126), done. dhanpal@dhanpal-HP-Pavilion-15-Notebook-PC:~/development/rtems/kernel$ cd rtems dhanpal@dhanpal-HP-Pavilion-15-Notebook-PC:~/development/rtems/kernel/rtems$ ./bootstrap -c && ./bootstrap -p && \

$HOME/development/rtems/rsb/source-builder/sb-bootstrap

removing automake generated Makefile.in files removing configure files removing aclocal.m4 files Generating ./cpukit/libmisc/preinstall.am Generating ./cpukit/preinstall.am Generating ./cpukit/ftpd/preinstall.am Generating ./cpukit/mghttpd/preinstall.am Generating ./cpukit/score/preinstall.am Generating ./cpukit/score/cpu/no_cpu/preinstall.am Generating ./cpukit/score/cpu/arm/preinstall.am Generating ./cpukit/score/cpu/lm32/preinstall.am Generating ./cpukit/score/cpu/nios2/preinstall.am Generating ./cpukit/score/cpu/epiphany/preinstall.am Generating ./cpukit/score/cpu/sparc64/preinstall.am Generating ./cpukit/score/cpu/m32c/preinstall.am Generating ./cpukit/score/cpu/i386/preinstall.am Generating ./cpukit/score/cpu/mips/preinstall.am Generating ./cpukit/score/cpu/v850/preinstall.am Generating ./cpukit/score/cpu/or1k/preinstall.am Generating ./cpukit/score/cpu/bfin/preinstall.am Generating ./cpukit/score/cpu/sh/preinstall.am Generating ./cpukit/score/cpu/m68k/preinstall.am Generating ./cpukit/score/cpu/powerpc/preinstall.am Generating ./cpukit/score/cpu/moxie/preinstall.am Generating ./cpukit/score/cpu/sparc/preinstall.am Generating ./cpukit/libcrypt/preinstall.am Generating ./cpukit/dev/preinstall.am Generating ./cpukit/libpci/preinstall.am Generating ./cpukit/wrapup/preinstall.am Generating ./cpukit/sapi/preinstall.am Generating ./cpukit/libdl/preinstall.am Generating ./cpukit/libcsupport/preinstall.am Generating ./cpukit/pppd/preinstall.am Generating ./cpukit/dtc/libfdt/preinstall.am Generating ./cpukit/libnetworking/preinstall.am Generating ./cpukit/libfs/preinstall.am Generating ./cpukit/libfs/src/nfsclient/preinstall.am Generating ./cpukit/zlib/preinstall.am Generating ./cpukit/posix/preinstall.am Generating ./cpukit/librpc/preinstall.am Generating ./cpukit/telnetd/preinstall.am Generating ./cpukit/libdebugger/preinstall.am Generating ./cpukit/rtems/preinstall.am Generating ./cpukit/libmd/preinstall.am Generating ./c/src/wrapup/preinstall.am Generating ./c/src/libchip/preinstall.am Generating ./c/src/lib/libbsp/no_cpu/no_bsp/preinstall.am Generating ./c/src/lib/libbsp/preinstall.am Generating ./c/src/lib/libbsp/arm/csb336/preinstall.am Generating ./c/src/lib/libbsp/arm/smdk2410/preinstall.am Generating ./c/src/lib/libbsp/arm/realview-pbx-a9/preinstall.am Generating ./c/src/lib/libbsp/arm/preinstall.am Generating ./c/src/lib/libbsp/arm/stm32f4/preinstall.am Generating ./c/src/lib/libbsp/arm/atsam/preinstall.am Generating ./c/src/lib/libbsp/arm/rtl22xx/preinstall.am Generating ./c/src/lib/libbsp/arm/csb337/preinstall.am Generating ./c/src/lib/libbsp/arm/beagle/preinstall.am Generating ./c/src/lib/libbsp/arm/edb7312/preinstall.am Generating ./c/src/lib/libbsp/arm/lm3s69xx/preinstall.am Generating ./c/src/lib/libbsp/arm/lpc176x/preinstall.am Generating ./c/src/lib/libbsp/arm/lpc24xx/preinstall.am Generating ./c/src/lib/libbsp/arm/gumstix/preinstall.am Generating ./c/src/lib/libbsp/arm/xilinx-zynq/preinstall.am Generating ./c/src/lib/libbsp/arm/gdbarmsim/preinstall.am Generating ./c/src/lib/libbsp/arm/lpc32xx/preinstall.am Generating ./c/src/lib/libbsp/arm/tms570/preinstall.am Generating ./c/src/lib/libbsp/arm/raspberrypi/preinstall.am Generating ./c/src/lib/libbsp/arm/altera-cyclone-v/preinstall.am Generating ./c/src/lib/libbsp/lm32/milkymist/preinstall.am Generating ./c/src/lib/libbsp/lm32/lm32_evr/preinstall.am Generating ./c/src/lib/libbsp/nios2/nios2_iss/preinstall.am Generating ./c/src/lib/libbsp/epiphany/preinstall.am Generating ./c/src/lib/libbsp/epiphany/epiphany_sim/preinstall.am Generating ./c/src/lib/libbsp/sparc64/niagara/preinstall.am Generating ./c/src/lib/libbsp/sparc64/usiii/preinstall.am Generating ./c/src/lib/libbsp/m32c/m32cbsp/preinstall.am Generating ./c/src/lib/libbsp/i386/pc386/preinstall.am Generating ./c/src/lib/libbsp/mips/rbtx4938/preinstall.am Generating ./c/src/lib/libbsp/mips/rbtx4925/preinstall.am Generating ./c/src/lib/libbsp/mips/hurricane/preinstall.am Generating ./c/src/lib/libbsp/mips/jmr3904/preinstall.am Generating ./c/src/lib/libbsp/mips/malta/preinstall.am Generating ./c/src/lib/libbsp/mips/csb350/preinstall.am Generating ./c/src/lib/libbsp/v850/preinstall.am Generating ./c/src/lib/libbsp/v850/gdbv850sim/preinstall.am Generating ./c/src/lib/libbsp/or1k/preinstall.am Generating ./c/src/lib/libbsp/or1k/generic_or1k/preinstall.am Generating ./c/src/lib/libbsp/bfin/TLL6527M/preinstall.am Generating ./c/src/lib/libbsp/bfin/bf537Stamp/preinstall.am Generating ./c/src/lib/libbsp/bfin/eZKit533/preinstall.am Generating ./c/src/lib/libbsp/sh/gensh2/preinstall.am Generating ./c/src/lib/libbsp/sh/gensh1/preinstall.am Generating ./c/src/lib/libbsp/sh/gensh4/preinstall.am Generating ./c/src/lib/libbsp/sh/shsim/preinstall.am Generating ./c/src/lib/libbsp/m68k/mcf5235/preinstall.am Generating ./c/src/lib/libbsp/m68k/genmcf548x/preinstall.am Generating ./c/src/lib/libbsp/m68k/preinstall.am Generating ./c/src/lib/libbsp/m68k/mcf5329/preinstall.am Generating ./c/src/lib/libbsp/m68k/csb360/preinstall.am Generating ./c/src/lib/libbsp/m68k/av5282/preinstall.am Generating ./c/src/lib/libbsp/m68k/mcf5225x/preinstall.am Generating ./c/src/lib/libbsp/m68k/mvme147s/preinstall.am Generating ./c/src/lib/libbsp/m68k/mvme162/preinstall.am Generating ./c/src/lib/libbsp/m68k/gen68360/preinstall.am Generating ./c/src/lib/libbsp/m68k/mrm332/preinstall.am Generating ./c/src/lib/libbsp/m68k/gen68340/preinstall.am Generating ./c/src/lib/libbsp/m68k/mcf52235/preinstall.am Generating ./c/src/lib/libbsp/m68k/mvme167/preinstall.am Generating ./c/src/lib/libbsp/m68k/uC5282/preinstall.am Generating ./c/src/lib/libbsp/m68k/mvme147/preinstall.am Generating ./c/src/lib/libbsp/m68k/mcf5206elite/preinstall.am Generating ./c/src/lib/libbsp/powerpc/motorola_powerpc/preinstall.am Generating ./c/src/lib/libbsp/powerpc/virtex5/preinstall.am Generating ./c/src/lib/libbsp/powerpc/haleakala/preinstall.am Generating ./c/src/lib/libbsp/powerpc/ss555/preinstall.am Generating ./c/src/lib/libbsp/powerpc/qemuppc/preinstall.am Generating ./c/src/lib/libbsp/powerpc/gen83xx/preinstall.am Generating ./c/src/lib/libbsp/powerpc/gen5200/preinstall.am Generating ./c/src/lib/libbsp/powerpc/virtex/preinstall.am Generating ./c/src/lib/libbsp/powerpc/mpc55xxevb/preinstall.am Generating ./c/src/lib/libbsp/powerpc/t32mppc/preinstall.am Generating ./c/src/lib/libbsp/powerpc/virtex4/preinstall.am Generating ./c/src/lib/libbsp/powerpc/mvme3100/preinstall.am Generating ./c/src/lib/libbsp/powerpc/beatnik/preinstall.am Generating ./c/src/lib/libbsp/powerpc/qoriq/preinstall.am Generating ./c/src/lib/libbsp/powerpc/tqm8xx/preinstall.am Generating ./c/src/lib/libbsp/powerpc/mvme5500/preinstall.am Generating ./c/src/lib/libbsp/powerpc/mpc8260ads/preinstall.am Generating ./c/src/lib/libbsp/powerpc/psim/preinstall.am Generating ./c/src/lib/libbsp/moxie/moxiesim/preinstall.am Generating ./c/src/lib/libbsp/sparc/erc32/preinstall.am Generating ./c/src/lib/libbsp/sparc/leon3/preinstall.am Generating ./c/src/lib/libbsp/sparc/leon2/preinstall.am Generating ./c/src/lib/libcpu/arm/preinstall.am Generating ./c/src/lib/libcpu/lm32/preinstall.am Generating ./c/src/lib/libcpu/nios2/preinstall.am Generating ./c/src/lib/libcpu/sparc64/preinstall.am Generating ./c/src/lib/libcpu/i386/preinstall.am Generating ./c/src/lib/libcpu/mips/preinstall.am Generating ./c/src/lib/libcpu/or1k/preinstall.am Generating ./c/src/lib/libcpu/bfin/preinstall.am Generating ./c/src/lib/libcpu/sh/preinstall.am Generating ./c/src/lib/libcpu/m68k/preinstall.am Generating ./c/src/lib/libcpu/powerpc/preinstall.am Generating ./c/src/lib/libcpu/sparc/preinstall.am Generating ./c/src/ada/preinstall.am bash: /home/dhanpal/development/rtems/rsb/source-builder/sb-bootstrap: No such file or directory dhanpal@dhanpal-HP-Pavilion-15-Notebook-PC:~/development/rtems/kernel/rtems$ sudo -s [sudo] password for dhanpal: root@dhanpal-HP-Pavilion-15-Notebook-PC:~/development/rtems/kernel/rtems# ./bootstrap -c && ./bootstrap -p && \

$HOME/development/rtems/rsb/source-builder/sb-bootstrap

removing automake generated Makefile.in files removing configure files removing aclocal.m4 files Generating ./cpukit/libmisc/preinstall.am Generating ./cpukit/preinstall.am Generating ./cpukit/ftpd/preinstall.am Generating ./cpukit/mghttpd/preinstall.am Generating ./cpukit/score/preinstall.am Generating ./cpukit/score/cpu/no_cpu/preinstall.am Generating ./cpukit/score/cpu/arm/preinstall.am Generating ./cpukit/score/cpu/lm32/preinstall.am Generating ./cpukit/score/cpu/nios2/preinstall.am Generating ./cpukit/score/cpu/epiphany/preinstall.am Generating ./cpukit/score/cpu/sparc64/preinstall.am Generating ./cpukit/score/cpu/m32c/preinstall.am Generating ./cpukit/score/cpu/i386/preinstall.am Generating ./cpukit/score/cpu/mips/preinstall.am Generating ./cpukit/score/cpu/v850/preinstall.am Generating ./cpukit/score/cpu/or1k/preinstall.am Generating ./cpukit/score/cpu/bfin/preinstall.am Generating ./cpukit/score/cpu/sh/preinstall.am Generating ./cpukit/score/cpu/m68k/preinstall.am Generating ./cpukit/score/cpu/powerpc/preinstall.am Generating ./cpukit/score/cpu/moxie/preinstall.am Generating ./cpukit/score/cpu/sparc/preinstall.am Generating ./cpukit/libcrypt/preinstall.am Generating ./cpukit/dev/preinstall.am Generating ./cpukit/libpci/preinstall.am Generating ./cpukit/wrapup/preinstall.am Generating ./cpukit/sapi/preinstall.am Generating ./cpukit/libdl/preinstall.am Generating ./cpukit/libcsupport/preinstall.am Generating ./cpukit/pppd/preinstall.am Generating ./cpukit/dtc/libfdt/preinstall.am Generating ./cpukit/libnetworking/preinstall.am Generating ./cpukit/libfs/preinstall.am Generating ./cpukit/libfs/src/nfsclient/preinstall.am Generating ./cpukit/zlib/preinstall.am Generating ./cpukit/posix/preinstall.am Generating ./cpukit/librpc/preinstall.am Generating ./cpukit/telnetd/preinstall.am Generating ./cpukit/libdebugger/preinstall.am Generating ./cpukit/rtems/preinstall.am Generating ./cpukit/libmd/preinstall.am Generating ./c/src/wrapup/preinstall.am Generating ./c/src/libchip/preinstall.am Generating ./c/src/lib/libbsp/no_cpu/no_bsp/preinstall.am Generating ./c/src/lib/libbsp/preinstall.am Generating ./c/src/lib/libbsp/arm/csb336/preinstall.am Generating ./c/src/lib/libbsp/arm/smdk2410/preinstall.am Generating ./c/src/lib/libbsp/arm/realview-pbx-a9/preinstall.am Generating ./c/src/lib/libbsp/arm/preinstall.am Generating ./c/src/lib/libbsp/arm/stm32f4/preinstall.am Generating ./c/src/lib/libbsp/arm/atsam/preinstall.am Generating ./c/src/lib/libbsp/arm/rtl22xx/preinstall.am Generating ./c/src/lib/libbsp/arm/csb337/preinstall.am Generating ./c/src/lib/libbsp/arm/beagle/preinstall.am Generating ./c/src/lib/libbsp/arm/edb7312/preinstall.am Generating ./c/src/lib/libbsp/arm/lm3s69xx/preinstall.am Generating ./c/src/lib/libbsp/arm/lpc176x/preinstall.am Generating ./c/src/lib/libbsp/arm/lpc24xx/preinstall.am Generating ./c/src/lib/libbsp/arm/gumstix/preinstall.am Generating ./c/src/lib/libbsp/arm/xilinx-zynq/preinstall.am Generating ./c/src/lib/libbsp/arm/gdbarmsim/preinstall.am Generating ./c/src/lib/libbsp/arm/lpc32xx/preinstall.am Generating ./c/src/lib/libbsp/arm/tms570/preinstall.am Generating ./c/src/lib/libbsp/arm/raspberrypi/preinstall.am Generating ./c/src/lib/libbsp/arm/altera-cyclone-v/preinstall.am Generating ./c/src/lib/libbsp/lm32/milkymist/preinstall.am Generating ./c/src/lib/libbsp/lm32/lm32_evr/preinstall.am Generating ./c/src/lib/libbsp/nios2/nios2_iss/preinstall.am Generating ./c/src/lib/libbsp/epiphany/preinstall.am Generating ./c/src/lib/libbsp/epiphany/epiphany_sim/preinstall.am Generating ./c/src/lib/libbsp/sparc64/niagara/preinstall.am Generating ./c/src/lib/libbsp/sparc64/usiii/preinstall.am Generating ./c/src/lib/libbsp/m32c/m32cbsp/preinstall.am Generating ./c/src/lib/libbsp/i386/pc386/preinstall.am Generating ./c/src/lib/libbsp/mips/rbtx4938/preinstall.am Generating ./c/src/lib/libbsp/mips/rbtx4925/preinstall.am Generating ./c/src/lib/libbsp/mips/hurricane/preinstall.am Generating ./c/src/lib/libbsp/mips/jmr3904/preinstall.am Generating ./c/src/lib/libbsp/mips/malta/preinstall.am Generating ./c/src/lib/libbsp/mips/csb350/preinstall.am Generating ./c/src/lib/libbsp/v850/preinstall.am Generating ./c/src/lib/libbsp/v850/gdbv850sim/preinstall.am Generating ./c/src/lib/libbsp/or1k/preinstall.am Generating ./c/src/lib/libbsp/or1k/generic_or1k/preinstall.am Generating ./c/src/lib/libbsp/bfin/TLL6527M/preinstall.am Generating ./c/src/lib/libbsp/bfin/bf537Stamp/preinstall.am Generating ./c/src/lib/libbsp/bfin/eZKit533/preinstall.am Generating ./c/src/lib/libbsp/sh/gensh2/preinstall.am Generating ./c/src/lib/libbsp/sh/gensh1/preinstall.am Generating ./c/src/lib/libbsp/sh/gensh4/preinstall.am Generating ./c/src/lib/libbsp/sh/shsim/preinstall.am Generating ./c/src/lib/libbsp/m68k/mcf5235/preinstall.am Generating ./c/src/lib/libbsp/m68k/genmcf548x/preinstall.am Generating ./c/src/lib/libbsp/m68k/preinstall.am Generating ./c/src/lib/libbsp/m68k/mcf5329/preinstall.am Generating ./c/src/lib/libbsp/m68k/csb360/preinstall.am Generating ./c/src/lib/libbsp/m68k/av5282/preinstall.am Generating ./c/src/lib/libbsp/m68k/mcf5225x/preinstall.am Generating ./c/src/lib/libbsp/m68k/mvme147s/preinstall.am Generating ./c/src/lib/libbsp/m68k/mvme162/preinstall.am Generating ./c/src/lib/libbsp/m68k/gen68360/preinstall.am Generating ./c/src/lib/libbsp/m68k/mrm332/preinstall.am Generating ./c/src/lib/libbsp/m68k/gen68340/preinstall.am Generating ./c/src/lib/libbsp/m68k/mcf52235/preinstall.am Generating ./c/src/lib/libbsp/m68k/mvme167/preinstall.am Generating ./c/src/lib/libbsp/m68k/uC5282/preinstall.am Generating ./c/src/lib/libbsp/m68k/mvme147/preinstall.am Generating ./c/src/lib/libbsp/m68k/mcf5206elite/preinstall.am Generating ./c/src/lib/libbsp/powerpc/motorola_powerpc/preinstall.am Generating ./c/src/lib/libbsp/powerpc/virtex5/preinstall.am Generating ./c/src/lib/libbsp/powerpc/haleakala/preinstall.am Generating ./c/src/lib/libbsp/powerpc/ss555/preinstall.am Generating ./c/src/lib/libbsp/powerpc/qemuppc/preinstall.am Generating ./c/src/lib/libbsp/powerpc/gen83xx/preinstall.am Generating ./c/src/lib/libbsp/powerpc/gen5200/preinstall.am Generating ./c/src/lib/libbsp/powerpc/virtex/preinstall.am Generating ./c/src/lib/libbsp/powerpc/mpc55xxevb/preinstall.am Generating ./c/src/lib/libbsp/powerpc/t32mppc/preinstall.am Generating ./c/src/lib/libbsp/powerpc/virtex4/preinstall.am Generating ./c/src/lib/libbsp/powerpc/mvme3100/preinstall.am Generating ./c/src/lib/libbsp/powerpc/beatnik/preinstall.am Generating ./c/src/lib/libbsp/powerpc/qoriq/preinstall.am Generating ./c/src/lib/libbsp/powerpc/tqm8xx/preinstall.am Generating ./c/src/lib/libbsp/powerpc/mvme5500/preinstall.am Generating ./c/src/lib/libbsp/powerpc/mpc8260ads/preinstall.am Generating ./c/src/lib/libbsp/powerpc/psim/preinstall.am Generating ./c/src/lib/libbsp/moxie/moxiesim/preinstall.am Generating ./c/src/lib/libbsp/sparc/erc32/preinstall.am Generating ./c/src/lib/libbsp/sparc/leon3/preinstall.am Generating ./c/src/lib/libbsp/sparc/leon2/preinstall.am Generating ./c/src/lib/libcpu/arm/preinstall.am Generating ./c/src/lib/libcpu/lm32/preinstall.am Generating ./c/src/lib/libcpu/nios2/preinstall.am Generating ./c/src/lib/libcpu/sparc64/preinstall.am Generating ./c/src/lib/libcpu/i386/preinstall.am Generating ./c/src/lib/libcpu/mips/preinstall.am Generating ./c/src/lib/libcpu/or1k/preinstall.am Generating ./c/src/lib/libcpu/bfin/preinstall.am Generating ./c/src/lib/libcpu/sh/preinstall.am Generating ./c/src/lib/libcpu/m68k/preinstall.am Generating ./c/src/lib/libcpu/powerpc/preinstall.am Generating ./c/src/lib/libcpu/sparc/preinstall.am Generating ./c/src/ada/preinstall.am bash: /home/dhanpal/development/rtems/rsb/source-builder/sb-bootstrap: No such file or directory root@dhanpal-HP-Pavilion-15-Notebook-PC:~/development/rtems/kernel/rtems#

#2941 2 years ago invalid tool/rsb DHANPAL SINGH 19 months ago
Summary

building rsb freezes

Description

dhanpal@dhanpal-HP-Pavilion-15-Notebook-PC:~$ cd dhanpal@dhanpal-HP-Pavilion-15-Notebook-PC:~$ mkdir -p development/rtems/rsb dhanpal@dhanpal-HP-Pavilion-15-Notebook-PC:~$ cd development/rtems/rsb dhanpal@dhanpal-HP-Pavilion-15-Notebook-PC:~/development/rtems/rsb$ git clone git://git.rtems.org/rtems-source-builder.git fatal: destination path 'rtems-source-builder' already exists and is not an empty directory. dhanpal@dhanpal-HP-Pavilion-15-Notebook-PC:~/development/rtems/rsb$ cd rtems-source-builder dhanpal@dhanpal-HP-Pavilion-15-Notebook-PC:~/development/rtems/rsb/rtems-source-builder$ cd rtems dhanpal@dhanpal-HP-Pavilion-15-Notebook-PC:~/development/rtems/rsb/rtems-source-builder/rtems$ ../source-builder/sb-set-builder --prefix=$HOME/development/rtems/4.12 4.12/rtems-sparc RTEMS Source Builder - Set Builder, 4.12 (10d9e2dfacf7) Build Set: 4.12/rtems-sparc Build Set: 4.12/rtems-autotools.bset Build Set: 4.12/rtems-autotools-internal.bset config: tools/rtems-autoconf-2.69-1.cfg package: autoconf-2.69-x86_64-linux-gnu-1 Creating source directory: sources download: ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz -> sources/autoconf-2.69.tar.gz downloading: sources/autoconf-2.69.tar.gz - 1.8MB of 1.8MB (100%) building: autoconf-2.69-x86_64-linux-gnu-1 config: tools/rtems-automake-1.12.6-1.cfg package: automake-1.12.6-x86_64-linux-gnu-1 download: ftp://ftp.gnu.org/gnu/automake/automake-1.12.6.tar.gz -> sources/automake-1.12.6.tar.gz downloading: sources/automake-1.12.6.tar.gz - 2.0MB of 2.0MB (100%) Creating source directory: patches download: https://git.rtems.org/rtems-tools/plain/tools/4.12/automake/automake-1.12.6-bugzilla.redhat.com-1239379.diff -> patches/automake-1.12.6-bugzilla.redhat.com-1239379.diff downloading: patches/automake-1.12.6-bugzilla.redhat.com-1239379.diff - 0.0 bytedownloading: patches/automake-1.12.6-bugzilla.redhat.com-1239379.diff - 408.0 bytes of 408.0 bytes (100%) building: automake-1.12.6-x86_64-linux-gnu-1 cleaning: autoconf-2.69-x86_64-linux-gnu-1 cleaning: automake-1.12.6-x86_64-linux-gnu-1 Build Set: Time 0:00:44.961728 Build Set: 4.12/rtems-autotools-base.bset config: tools/rtems-autoconf-2.69-1.cfg package: autoconf-2.69-x86_64-linux-gnu-1 building: autoconf-2.69-x86_64-linux-gnu-1 reporting: tools/rtems-autoconf-2.69-1.cfg -> autoconf-2.69-x86_64-linux-gnu-1.txt reporting: tools/rtems-autoconf-2.69-1.cfg -> autoconf-2.69-x86_64-linux-gnu-1.xml config: tools/rtems-automake-1.12.6-1.cfg package: automake-1.12.6-x86_64-linux-gnu-1 building: automake-1.12.6-x86_64-linux-gnu-1 reporting: tools/rtems-automake-1.12.6-1.cfg -> automake-1.12.6-x86_64-linux-gnu-1.txt reporting: tools/rtems-automake-1.12.6-1.cfg -> automake-1.12.6-x86_64-linux-gnu-1.xml installing: autoconf-2.69-x86_64-linux-gnu-1 -> /home/dhanpal/development/rtems/4.12 installing: automake-1.12.6-x86_64-linux-gnu-1 -> /home/dhanpal/development/rtems/4.12 cleaning: autoconf-2.69-x86_64-linux-gnu-1 cleaning: automake-1.12.6-x86_64-linux-gnu-1 Build Set: Time 0:00:15.092702 Build Set: Time 0:01:00.058748 config: devel/expat-2.1.0-1.cfg package: expat-2.1.0-x86_64-linux-gnu-1 download: http://downloads.sourceforge.net/project/expat/expat/2.1.0/expat-2.1.0.tar.gz -> sources/expat-2.1.0.tar.gz

redirect: https://nchc.dl.sourceforge.net/project/expat/expat/2.1.0/expat-2.1.0.tar.gz

downloading: sources/expat-2.1.0.tar.gz - 549.4kB of 549.4kB (100%) building: expat-2.1.0-x86_64-linux-gnu-1 reporting: devel/expat-2.1.0-1.cfg -> expat-2.1.0-x86_64-linux-gnu-1.txt reporting: devel/expat-2.1.0-1.cfg -> expat-2.1.0-x86_64-linux-gnu-1.xml config: tools/rtems-binutils-2.27-1.cfg package: sparc-rtems4.12-binutils-2.27-x86_64-linux-gnu-1 download: ftp://ftp.gnu.org/gnu/binutils/binutils-2.27.tar.bz2 -> sources/binutils-2.27.tar.bz2 downloading: sources/binutils-2.27.tar.bz2 - 24.9MB of 24.9MB (100%) download: https://git.rtems.org/rtems-tools/plain/tools/4.12/binutils/binutils-2.26-gas-reloc.patch -> patches/binutils-2.26-gas-reloc.patch downloading: patches/binutils-2.26-gas-reloc.patch - 0.0 bytes of 510.0 bytes (0downloading: patches/binutils-2.26-gas-reloc.patch - 510.0 bytes of 510.0 bytes (100%) building: sparc-rtems4.12-binutils-2.27-x86_64-linux-gnu-1 reporting: tools/rtems-binutils-2.27-1.cfg -> sparc-rtems4.12-binutils-2.27-x86_64-linux-gnu-1.txt reporting: tools/rtems-binutils-2.27-1.cfg -> sparc-rtems4.12-binutils-2.27-x86_64-linux-gnu-1.xml config: tools/rtems-gcc-6.3.0-newlib-2.5.0.20170228-1.cfg package: sparc-rtems4.12-gcc-6.3.0-newlib-2.5.0.20170228-x86_64-linux-gnu-1 download: ftp://ftp.gnu.org/gnu/gcc/gcc-6.3.0/gcc-6.3.0.tar.bz2 -> sources/gcc-6.3.0.tar.bz2 downloading: sources/gcc-6.3.0.tar.bz2 - 95.3MB of 95.3MB (100%) download: ftp://sourceware.org/pub/newlib/newlib-2.5.0.20170228.tar.gz -> sources/newlib-2.5.0.20170228.tar.gz downloading: sources/newlib-2.5.0.20170228.tar.gz - 17.1MB of 17.1MB (100%) download: http://www.mpfr.org/mpfr-2.4.2/mpfr-2.4.2.tar.bz2 -> sources/mpfr-2.4.2.tar.bz2 downloading: sources/mpfr-2.4.2.tar.bz2 - 1.0MB of 1.0MB (100%) download: http://www.multiprecision.org/mpc/download/mpc-0.8.1.tar.gz -> sources/mpc-0.8.1.tar.gz downloading: sources/mpc-0.8.1.tar.gz - 532.2kB of 532.2kB (100%) download: ftp://ftp.gnu.org/gnu/gmp/gmp-4.3.2.tar.bz2 -> sources/gmp-4.3.2.tar.bz2 downloading: sources/gmp-4.3.2.tar.bz2 - 1.8MB of 1.8MB (100%) building: sparc-rtems4.12-gcc-6.3.0-newlib-2.5.0.20170228-x86_64-linux-gnu-1

#2935 2 years ago wontfix score Martin Aberg joel.sherrill@… 19 months ago
Summary

Termios task driven mode not compatible with SMP

Description

When the Termios task driven functioning mode is used, rtems_termios_open_tty() calls rtems_task_create() with RTEMS_NO_PREEMPT in the initial task mode parameter. RTEMS_NO_PREEMPT is not supported on SMP.

rtems_task_create() returns RTEMS_UNSATISFIED in this SMP scenario and Termios ends up in rtems_fatal_error_occurred().

Termios starts the RX and TX tasks successfully on SMP if RTEMS_NO_PREEMPT is removed from the initial task modes of these tasks. However, I suspect there may be assumptions on the NO_PREEMPT mode for the RX and TX tasks in other parts of Termios.

#2933 2 years ago fixed unspecified Amar Takhar Amar Takhar 7 months ago
Summary

Flexibleassignto is broken on new ticket page.

Description

The plugin needs to be fixed for new trac template changes. I usually don't have to modify this often but we made a huge version jump.

Right now all we see is

assign to <default>

There should be a list of developers.

#2930 2 years ago fixed score Joel Sherrill Daniel Hellstrom 19 months ago
Summary

Coverity Reports Out of Bounds Read in drvmgr_print.c

Description

https://scan5.coverity.com/reports.htm#v29808/p10069/fileInstanceId=109359850&defectInstanceId=30967449&mergedDefectId=1399730

354 printf(" DRIVER ID: 0x%llx\n", drv->drv_id);

  1. Condition drv->name, taking true branch.

355 printf(" NAME: %s\n", drv->name ? drv->name : "NO_NAME"); 356 printf(" BUS TYPE: %d\n", drv->bus_type); 357 printf(" OPERATIONS:\n");

  1. alias: Assigning: ppfunc = &drv->ops->init[0]. ppfunc now points to element 0 of drv->ops->init (which consists of 4 4-byte elements).
  2. Condition i < 6U /* sizeof (struct drvmgr_drv_ops) / sizeof (void (*)(void)) */, taking true branch.
  3. Condition i < 6U /* sizeof (struct drvmgr_drv_ops) / sizeof (void (*)(void)) */, taking true branch.
  4. cond_at_most: Checking i < 6U implies that i may be up to 5 on the true branch.

358 for (i = 0, ppfunc = (fun_ptr *)&drv->ops->init[0]; 359 i < DRVMGR_OPS_NUM(struct drvmgr_drv_ops); i++)

  1. Jumping back to the beginning of the loop.

CID 1399730 (#1 of 1): Out-of-bounds read (OVERRUN)

  1. overrun-local: Overrunning array of 4 4-byte elements at element index 5 (byte offset 20) by dereferencing pointer ppfunc + i.

360 printf(" %s %p\n", drv_ops_names[i], ppfunc[i]); 361 printf(" NO. DEVICES: %d\n", drv->dev_cnt); 362

#2925 2 years ago fixed score Joel Sherrill Chris Johns 7 months ago
Summary

Warnings in rtl-obj-cache.c on some targets

Description

These warnings are on m68k but not sparc, mips powerpc, or arm. Looks like inttypes.h should be used.

../../../../../../rtems/c/src/../../cpukit/libdl/rtl-obj-cache.c:175:47: warning: format '%d' expects argument of type 'int', but argument 3 has type 'long unsigned int' [-Wformat=] ../../../../../../rtems/c/src/../../cpukit/libdl/rtl-obj-cache.c:175:85: warning: format '%d' expects argument of type 'int', but argument 7 has type 'long unsigned int' [-Wformat=] ../../../../../../rtems/c/src/../../cpukit/libdl/rtl-obj-cache.c:81:67: warning: format '%d' expects argument of type 'int', but argument 7 has type 'long unsigned int' [-Wformat=] ../../../../../../rtems/c/src/../../cpukit/libdl/rtl-obj-cache.c:81:81: warning: format '%d' expects argument of type 'int', but argument 9 has type 'long unsigned int' [-Wformat=] ~

#2924 2 years ago fixed arch/sparc Joel Sherrill Daniel Hellstrom 19 months ago
Summary

Warnings in SPARC BSPs

Description

As of today, the following warnings exist for SPARC BSPs.

log/sparc-leon2.log:../../../../../../../../rtems/c/src/lib/libbsp/sparc/leon2/console/debugputs.c:43:5: warning: this 'while' clause does not guard... [-Wmisleading-indentation] log/sparc-leon2.log:../../../../../../../../rtems/c/src/lib/libbsp/sparc/leon2/../../sparc/shared/amba/ahbstat.c:156:3: warning: implicit declaration of function 'printk' [-Wimplicit-function-declaration] log/sparc-leon2.log:../../../../../../../../rtems/c/src/lib/libbsp/sparc/leon2/../../sparc/shared/amba/ahbstat.c:156:3: warning: nested extern declaration of 'printk' [-Wnested-externs] log/sparc-leon2.log:../../../../../../../../rtems/c/src/lib/libbsp/sparc/leon2/../../sparc/shared/drvmgr/ambapp_bus.c:647:4: warning: implicit declaration of function 'printk' [-Wimplicit-function-declaration] log/sparc-leon2.log:../../../../../../../../rtems/c/src/lib/libbsp/sparc/leon2/../../sparc/shared/drvmgr/ambapp_bus.c:647:4: warning: nested extern declaration of 'printk' [-Wnested-externs] log/sparc-leon2.log:../../../../../../../../rtems/c/src/lib/libbsp/sparc/leon2/../../sparc/shared/drvmgr/leon2_amba_bus.c:168:3: warning: implicit declaration of function 'printk' [-Wimplicit-function-declaration] log/sparc-leon2.log:../../../../../../../../rtems/c/src/lib/libbsp/sparc/leon2/../../sparc/shared/drvmgr/leon2_amba_bus.c:168:3: warning: nested extern declaration of 'printk' [-Wnested-externs] log/sparc-leon2.log:../../../../../../../../rtems/c/src/lib/libbsp/sparc/leon2/../../sparc/shared/irq/genirq.c:244:3: warning: implicit declaration of function 'printk' [-Wimplicit-function-declaration] log/sparc-leon2.log:../../../../../../../../rtems/c/src/lib/libbsp/sparc/leon2/../../sparc/shared/irq/genirq.c:244:3: warning: nested extern declaration of 'printk' [-Wnested-externs] log/sparc-leon2.log:../../../../../../../../rtems/c/src/lib/libbsp/sparc/leon2/../../sparc/shared/spw/grspw_router.c:213:4: warning: implicit declaration of function 'printk' [-Wimplicit-function-declaration] log/sparc-leon2.log:../../../../../../../../rtems/c/src/lib/libbsp/sparc/leon2/../../sparc/shared/spw/grspw_router.c:213:4: warning: nested extern declaration of 'printk' [-Wnested-externs] log/sparc-leon2.log:../../../../../../../../rtems/c/src/lib/libbsp/sparc/leon2/../../sparc/shared/uart/apbuart.c:574:21: warning: format '%x' expects argument of type 'unsigned int', but argument 2 has type 'apbuart_priv * {aka struct <anonymous> *}' [-Wformat=] log/sparc-leon3.log:../../../../../../../../rtems/c/src/lib/libbsp/sparc/leon3/../../sparc/shared/amba/ahbstat.c:156:3: warning: implicit declaration of function 'printk' [-Wimplicit-function-declaration] log/sparc-leon3.log:../../../../../../../../rtems/c/src/lib/libbsp/sparc/leon3/../../sparc/shared/amba/ahbstat.c:156:3: warning: nested extern declaration of 'printk' [-Wnested-externs] log/sparc-ngmp.log:../../../../../../../../rtems/c/src/lib/libbsp/sparc/leon3/../../sparc/shared/amba/ahbstat.c:156:3: warning: implicit declaration of function 'printk' [-Wimplicit-function-declaration] log/sparc-ngmp.log:../../../../../../../../rtems/c/src/lib/libbsp/sparc/leon3/../../sparc/shared/amba/ahbstat.c:156:3: warning: nested extern declaration of 'printk' [-Wnested-externs] log/sparc-leon3.log:../../../../../../../../rtems/c/src/lib/libbsp/sparc/leon3/../../sparc/shared/drvmgr/ambapp_bus.c:647:4: warning: implicit declaration of function 'printk' [-Wimplicit-function-declaration] log/sparc-leon3.log:../../../../../../../../rtems/c/src/lib/libbsp/sparc/leon3/../../sparc/shared/drvmgr/ambapp_bus.c:647:4: warning: nested extern declaration of 'printk' [-Wnested-externs] log/sparc-ngmp.log:../../../../../../../../rtems/c/src/lib/libbsp/sparc/leon3/../../sparc/shared/drvmgr/ambapp_bus.c:647:4: warning: implicit declaration of function 'printk' [-Wimplicit-function-declaration] log/sparc-ngmp.log:../../../../../../../../rtems/c/src/lib/libbsp/sparc/leon3/../../sparc/shared/drvmgr/ambapp_bus.c:647:4: warning: nested extern declaration of 'printk' [-Wnested-externs] log/sparc-leon3.log:../../../../../../../../rtems/c/src/lib/libbsp/sparc/leon3/../../sparc/shared/irq/genirq.c:244:3: warning: implicit declaration of function 'printk' [-Wimplicit-function-declaration] log/sparc-leon3.log:../../../../../../../../rtems/c/src/lib/libbsp/sparc/leon3/../../sparc/shared/irq/genirq.c:244:3: warning: nested extern declaration of 'printk' [-Wnested-externs] log/sparc-ngmp.log:../../../../../../../../rtems/c/src/lib/libbsp/sparc/leon3/../../sparc/shared/irq/genirq.c:244:3: warning: implicit declaration of function 'printk' [-Wimplicit-function-declaration] log/sparc-ngmp.log:../../../../../../../../rtems/c/src/lib/libbsp/sparc/leon3/../../sparc/shared/irq/genirq.c:244:3: warning: nested extern declaration of 'printk' [-Wnested-externs] log/sparc-leon3.log:../../../../../../../../rtems/c/src/lib/libbsp/sparc/leon3/../../sparc/shared/spw/grspw_router.c:213:4: warning: implicit declaration of function 'printk' [-Wimplicit-function-declaration] log/sparc-leon3.log:../../../../../../../../rtems/c/src/lib/libbsp/sparc/leon3/../../sparc/shared/spw/grspw_router.c:213:4: warning: nested extern declaration of 'printk' [-Wnested-externs] log/sparc-ngmp.log:../../../../../../../../rtems/c/src/lib/libbsp/sparc/leon3/../../sparc/shared/spw/grspw_router.c:213:4: warning: implicit declaration of function 'printk' [-Wimplicit-function-declaration] log/sparc-ngmp.log:../../../../../../../../rtems/c/src/lib/libbsp/sparc/leon3/../../sparc/shared/spw/grspw_router.c:213:4: warning: nested extern declaration of 'printk' [-Wnested-externs] log/sparc-leon3.log:../../../../../../../../rtems/c/src/lib/libbsp/sparc/leon3/../../sparc/shared/uart/apbuart.c:574:21: warning: format '%x' expects argument of type 'unsigned int', but argument 2 has type 'apbuart_priv * {aka struct <anonymous> *}' [-Wformat=] log/sparc-ngmp.log:../../../../../../../../rtems/c/src/lib/libbsp/sparc/leon3/../../sparc/shared/uart/apbuart.c:574:21: warning: format '%x' expects argument of type 'unsigned int', but argument 2 has type 'apbuart_priv * {aka struct <anonymous> *}' [-Wformat=]

#2923 2 years ago wontfix score Joel Sherrill Sebastian Huber 19 months ago
Summary

Questionable Code in resource_snapshot.c

Description

Coverity URL:

https://scan5.coverity.com/reports.htm#v29808/p10069/fileInstanceId=108958257&defectInstanceId=30877219&mergedDefectId=1399703

Coverity Scan doesn't like taking the address of a single uint32_t and then treating it as an array pointer. I think the code is likely doing what is intended but there is an implicit linkable between the order of the fields in the structure here and the class numbers used in the object IDs. Is there a way to improve this code and reduce the linkage?

141

  1. address_of: Taking address with &snapshot->active_posix_keys yields a singleton pointer.
  2. assign: Assigning: active = &snapshot->active_posix_keys.

142 active = &snapshot->active_posix_keys; 143

  1. Condition i < 19U /* sizeof (objects_info_table) / sizeof (objects_info_table[0]) */, taking true branch.

144 for (i = 0; i < RTEMS_ARRAY_SIZE(objects_info_table); ++i) { 145 const Objects_Information *information; 146 147 information = _Objects_Get_information( 148 objects_info_table[i].api, 149 objects_info_table[i].cls 150 ); 151

  1. Condition information != NULL, taking true branch.

152 if (information != NULL) { CID 1399703 (#1 of 1): Out-of-bounds access (ARRAY_VS_SINGLETON)

  1. ptr_arith: Using active as an array. This might corrupt or misinterpret adjacent memory locations.

153 active[i] = _Objects_Active_count(information);

#2922 2 years ago fixed lib/dl Chris Johns Chris Johns 6 months ago
Summary

libdl unresolved externals that use more than one block or multiple entries corrupts.

Description

If there are lots of unresolved externals the unresolved block structure get confused and the can lock up looking for a new slot to add an unresolved external.

#2917 2 years ago fixed score Sebastian Huber Sebastian Huber 19 months ago
Summary

termios: Make write POSIX compatible

Description

Currently only blocking read/write operations are implemented. A blocking write must transfer at least one character. It should not wait for the device for the second character and so on.

#2916 2 years ago fixed score Sebastian Huber Sebastian Huber 19 months ago
Summary

termios: Change receive callback invocation to enable select() and poll() support

Description

Call the receive callback in case a read will succeed without to block. This enables the use of the receive callback for a poll() and select() support. Increase raw input buffer size to allow buffering of one line.

#2912 2 years ago fixed score Sebastian Huber Chris Johns 19 months ago
Summary

libdebugger: control reaches end of non-void function

Description

../../../../../../rtems/c/src/../../cpukit/libdebugger/rtems-debugger-server.c:393:1: warning: control reaches end of non-void function [-Wreturn-type] ../../../../../../rtems/c/src/../../cpukit/libdebugger/rtems-debugger-server.c:405:1: warning: control reaches end of non-void function [-Wreturn-type]

#2909 2 years ago fixed score Sebastian Huber Chris Johns 19 months ago
Summary

xz: Support for 64-bit CRC is build although XZ_USE_CRC64 is not defined

Description

This leads to:

../../../../../../rtems/c/src/../../cpukit/libmisc/xz/xz_crc64.c:21:16: warning: no previous prototype for 'xz_crc64_init' [-Wmissing-prototypes] ../../../../../../rtems/c/src/../../cpukit/libmisc/xz/xz_crc64.c:40:20: warning: no previous prototype for 'xz_crc64' [-Wmissing-prototypes]

We should enable the 64-bit CRC or remove this file from the build.

#2906 2 years ago fixed doc Chris Johns 19 months ago
Summary

rtems-doc waf configure does not detect sphinxcontrib.bibtex status

Description

The rtems-docs requires the Sphinx contribution extension for bibtex to build.

A configure check should be added to see if the extension is installed and an error raised or the documentation conditionally built.

It is not clear to me if bibtex needs Tex Alive. Requiring Tex on all hosts to build the documentation is a regression so the extension will need to be removed or a fall back position taken where degraded quality documentation in HTML is created.

#2905 2 years ago fixed arch/sparc Tanu Hari Dixit Daniel Hellstrom 19 months ago
Summary

Merge LEON

Description

Merge LEON

Students: Past, Present, and Potential Students

Status: Some work may be done.

Introduction: Merge Leon RTEMS and mainstream RTEMS merge the Leon DriverManager, samples, and LEON-RTEMS into mainstream RTEMS.

Goal: Concise statement of the overall goal of the project. Refine this initial statement to include: project deliverables (code, docs, testing), required/suggested methodology, standards of quality, possible goal extensions beyond the main objective.

Requirements: List the requirements and level of expertise you estimate are required by the developer tackling this project will have to have: Required level of programming language(s), specific areas of RTEMS or tools, level of familiarity with RTEMS, cross-development, GNU/Linux, etx., development/documentation/testing tools, mathematical/algorithmic background, other desirable skills.

Resources: Current RTEMS developers, papers, etc that may help you in this project.

Acknowledgements

  • who helped and did work

Miscellaneous Sections

As the project progresses, you will need to add build instructions, etc and this page will evolve from a project description into a HOWTO.

References

  • TBD

Other sections: If you have more to say about the project that doesn't fit in the proposed sections of this template, feel free to add other sections at will.

#2897 2 years ago fixed score Kevin Kirspel Needs Funding 19 months ago
Summary

Update termios.h to match the latest FREEBSD definitions

Description

The FREEBSD struct termios separates out the input and output baud rates into individual speed_t variables. It also supports more flag options. The big benefit is that the rtems-libbsd tty code can be ported cleanly without the need to fixup the input and output baud rates. This should be a transparent change unless someone was manipulating the baud rates directly through the c_cflags (not using the cfgetispeed, cfgetospeed, cfsetispeed, cfsetospeed functions).

#2896 2 years ago wontfix tool/rsb Joel Sherrill Chris Johns 19 months ago
Summary

RSB requirements are missing pax

Description

Loading a new VM, I noticed that pax is needed. It isn't mentioned in the RSB manual at all.

I can only accurately fix this for Centos 7 but we can safely assume that advice applies to Centos 6, Fedora, and RHEL.

Can users of other distributions check about pax. Please

#2895 2 years ago fixed config Sebastian Huber Sebastian Huber 19 months ago
Summary

Prefix the confdefs.h internal defines with an underscore

Description

Prefix the confdefs.h internal defines with an underscore to simplify the review of this extremely complex header file.

#2894 2 years ago fixed config Sebastian Huber Sebastian Huber 19 months ago
Summary

Rename CONFIGURE_SMP_MAXIMUM_PROCESSORS to CONFIGURE_MAXIMUM_PROCESSORS

Description

Rename CONFIGURE_SMP_MAXIMUM_PROCESSORS to CONFIGURE_MAXIMUM_PROCESSORS since the SMP part is superfluous.

#2893 2 years ago fixed config Sebastian Huber Sebastian Huber 19 months ago
Summary

Remove CONFIGURE_SMP_APPLICATION

Description

SMP support must be enabled with the CONFIGURE_SMP_APPLICATION configuration option. Remove this option and enable the SMP support if CONFIGURE_SMP_MAXIMUM_PROCESSORS > 1.

#2890 2 years ago fixed score Stavros Passas Sebastian Huber <sebastian.huber@…> 19 months ago
Summary

_RBTree_Initialize_node generates warnings

Description

Currently, when _RBTree_Initialize_node is used, it generates warnings of unused variables. I traced the issue down to the variable being used only if RTEMS_DEBUG is set.

Thus, the argument should be marked as RTEMS_UNUSED, if RTENS_DEBUG is not set.

#2889 2 years ago fixed score Stavros Passas Stavros Passas <stavros.passas@…> 19 months ago
Summary

RTEMS_STACK_CHECKER_EXTENSION has incomplete definition

Description

The extension for the stack checker defines 8 entries, while the structure for RTEMS extensions gets 9 arguments. This causes warnings to appear on applications compiled with -Werror, or similar flags.

The handler that is missing is for the terminate callback, so a 0 entry would be enough to fix this error.

#2885 2 years ago fixed score Sebastian Huber Sebastian Huber 19 months ago
Summary

Fix rtems_rate_monotonic_postponed_job_count() prototype

Description

rtems_rate_monotonic_postponed_job_count() should return an RTEMS status code. It should be renamed to rtems_rate_monotonic_get_postponed_job_count() or rtems_rate_monotonic_get_postponed_jobs() (similar to rtems_rate_monotonic_get_statistics()).

#2883 2 years ago fixed arch/arm David Binderman Pavel Pisa 19 months ago
Summary

src/c/src/lib/libbsp/arm/tms570/console/tms570-sci.c:248: strange expression ?

Description

src/c/src/lib/libbsp/arm/tms570/console/tms570-sci.c:248]: (style) Same expression on both sides of '|'.

Source code is

uint32_t flr_tx_ready = TMS570_SCI_FLR_TX_EMPTY | TMS570_SCI_FLR_TX_EMPTY;

#2880 2 years ago wontfix unspecified David Binderman 19 months ago
Summary

src/cpukit/libfs/src/jffs2/src/readinode.c:189: faulty logic

Description

src/cpukit/libfs/src/jffs2/src/readinode.c:189]: (style) Condition 'tn.fn.ofs>=offset' is always true

Source code is

if (tn->fn->ofs < offset)

next = tn->rb.rb_right;

else if (tn->fn->ofs >= offset)

next = tn->rb.rb_left;

else

break;

Maybe better code

if (tn->fn->ofs < offset)

next = tn->rb.rb_right;

else if (tn->fn->ofs > offset)

next = tn->rb.rb_left;

else

break;

#2879 2 years ago fixed score David Binderman Chris Johns 19 months ago
Summary

src/cpukit/libdebugger/rtems-debugger-server.c: four problems

Description

1.

src/cpukit/libdebugger/rtems-debugger-server.c:1306]: (style) Redundant condition: extended. '!extended || (extended && check_pid(pid))' is equivalent to '!extended || check_pid(pid)'

Suggest simplify.

2.

src/cpukit/libdebugger/rtems-debugger-server.c:1858]: (warning) Possible null pointer dereference: rtems_debugger

Source code is

  if (r < 0) {
    rtems_printf(printer, "error: rtems-db: remote begin: %s: %s\n",
                 rtems_debugger->remote->name, strerror(errno));
    free(rtems_debugger);
    rtems_debugger = NULL;
  }

  /*
   * Reset at the end of the session.
   */
  rtems_debugger->flags = 0;

Suggest adding return -1 inside the if.

3.

src/cpukit/libdebugger/rtems-debugger-server.c:906]: (style) Redundant condition: extended. '!extended || (extended && check_pid(pid))' is equivalent to '!extended || check_pid(pid)'

Duplicate.

4.

src/cpukit/libdebugger/rtems-debugger-server.c:956]: (warning) Char literal compared with pointer 'p'. Did you intend to dereference it?

Source code is

  while (p != NULL && p != '\0') {

Maybe better code

  while (p != NULL && *p != '\0') {
#2878 2 years ago fixed arch/sparc David Binderman Daniel Hellstrom 19 months ago
Summary

src/c/src/lib/libbsp/sparc/shared/can/occan.c:1573: broken error checking ?

Description

src/c/src/lib/libbsp/sparc/shared/can/occan.c:1573]: (style) Checking if unsigned variable 'speed=pelican_speed_auto(can)' is less than zero.

Source code is

if ( (speed=pelican_speed_auto(can)) < 0 ){

/* failed */ return RTEMS_IO_ERROR;

}

but

unsigned int speed;

and

static int pelican_speed_auto(occan_priv *priv);

I am not sure which C compiler gets using in rtems, but I do know that gcc compiler flag -Wtype-limits will flag this kind of problem.

#2877 2 years ago fixed score Stavros Passas joel.sherrill@… 19 months ago
Summary

DHCP client fails on complex networks

Description

What happens is that on networks with more than one DHCP servers, or on networks that use multiple vlans it can happen that After a DHCP discover our client broadcasts, it receives multiple offers, which is perfectly fine based on the DHCP RFC.

However our implementation of a DHCP client, expects a linear execution flow:

  1. Broadcast a DHCP discover;
  2. Wait for a DHCP offer;
  3. Transmit a DHCP request;
  4. Wait for a DHCP ack;

However the network stack is not cleaned between the reception of a DHCP offer and a DHCP ack, so if multiple offers are received, just the first one will be processed during the "Receive DHCP offer" phase, and the next one will be received when we expect a "DHCP ack", which makes our implementation assume the DHCP handshake is invalid and fail. Thus we restart the network and retry the whole process from the beginning which will cause the same issue again.

This issue that is present from when I remember in RTEMS, definitely from 4.10 up to now.

#2874 2 years ago fixed arch/powerpc David Binderman Sebastian Huber <sebastian.huber@…> 19 months ago
Summary

src/c/src/lib/libbsp/powerpc/beatnik/marvell/gt_timer.c: 4 * pointless check ?

Description

[src/c/src/lib/libbsp/powerpc/beatnik/marvell/gt_timer.c:102]: (style) Checking if unsigned variable 'timer' is less than zero. [src/c/src/lib/libbsp/powerpc/beatnik/marvell/gt_timer.c:109]: (style) Checking if unsigned variable 'timer' is less than zero. [src/c/src/lib/libbsp/powerpc/beatnik/marvell/gt_timer.c:117]: (style) Checking if unsigned variable 'timer' is less than zero. [src/c/src/lib/libbsp/powerpc/beatnik/marvell/gt_timer.c:128]: (style) Checking if unsigned variable 'timer' is less than zero.

Parameter "timer" is only ever type uint32_t, so any check < 0 seem pointless.

#2873 2 years ago fixed arch/arm David Binderman Gedare Bloom <gedare@…> 19 months ago
Summary

src/c/src/lib/libbsp/arm/raspberrypi/i2c/i2c.c:320: defective error checking ?

Description

src/c/src/lib/libbsp/arm/raspberrypi/i2c/i2c.c:320]: (style) Checking if unsigned variable 'rv' is less than zero.

Source code is

rv = rpi_i2c_setup_transfer(bus);

if ( rv < 0 ) {

but

uint32_t rv = 0;

and

static int rpi_i2c_setup_transfer(rpi_i2c_bus *bus)

Suggest put return value into an int local variable, then sanity check it, then assign it to rv.

#2868 2 years ago fixed arch/arm David Binderman Gedare Bloom <gedare@…> 19 months ago
Summary

src/c/src/lib/libbsp/arm/smdk2410/smc/smc.c: 3 * pointless local variables ?

Description

[src/c/src/lib/libbsp/arm/smdk2410/smc/smc.c:235]: (style)