RTEMS Release Snapshot: 5.0.0-m2004 (02 Apr 2020)

Alan Cudmore alan.cudmore at gmail.com
Thu Apr 9 13:33:41 UTC 2020


Hi Sebastian,
Thank you for reproducing this. I added the floating point attribute
to my demo tasks and it works as expected.
I was just about to try Chris' suggestion of using GDB when I saw this message.

I encountered the same problem building the examples with waf.

Regards,
Alan

On Thu, Apr 9, 2020 at 7:51 AM Sebastian Huber
<sebastian.huber at embedded-brains.de> wrote:
>
> Hello Alan,
>
> On 08/04/2020 17:48, Alan Cudmore wrote:
> > Regarding the LEON3: I am noticing something with the release that I
> > don't understand yet.
> >
> > I am able to build and run a number of ARM BSPs including raspberrypi,
> > raspberrypi2, beagleboneblack, and xlinx_zynq_a9_qemu
> > When I build my application for the leon3, most of it appears to work,
> > but I have a task demo that crashes when I try to print a variable
> > that is on the task stack. ( task ID, similar to what ticker does )
> > I went back and ran a number of the testsuite programs on both my
> > patched QEMU and sparc-rtems5-sis with no problems.
> > I then cloned the latest rtems-examples git repository and built the
> > ticker examples using the (obsolete) Makefile. When built this way,
> > the ticker program crashes as well on both QEMU and SIS.
> >
> > I'm trying to narrow down the differences by comparing the flags used
> > to build the testsuite in the build tree vs. my applications and the
> > rtems-examples repository.
> >
> > Should I try building the examples with waf?
>
> I was able to reproduce this issue. It seems to be a problem with the
> use of the FPU in a non-FP task:
>
> Program received signal SIGTERM, Terminated.
> syscall () at
> /home/EB/sebastian_h/src/rtems/c/src/../../cpukit/score/cpu/sparc/syscall.S:44
> 44              ta      0                       ! syscall 1, halt with
> %g1,%g2,%g3 info
> (gdb) bt
> #0  syscall () at
> /home/EB/sebastian_h/src/rtems/c/src/../../cpukit/score/cpu/sparc/syscall.S:44
> #1  0x4000f888 in _User_extensions_Fatal_visitor (executing=0x0,
> arg=0x26, callouts=0x40020ca8 <_User_extensions_List+4>) at
> /home/EB/sebastian_h/src/rtems/c/src/../../cpukit/score/src/userextiterate.c:131
> #2  0x4001cdc4 in _CPU_Fatal_halt (source=10, source at entry=0, error=0,
> error at entry=38) at
> /home/EB/sebastian_h/src/rtems/c/src/lib/libbsp/sparc/leon3/../../../../../../bsps/sparc/leon3/start/bsp_fatal_halt.c:33
> #3  0x4000fb68 in _Terminate
> (the_source=the_source at entry=INTERNAL_ERROR_CORE, the_error=38,
> the_error at entry=0) at
> /home/EB/sebastian_h/src/rtems/c/src/../../cpukit/score/src/interr.c:44
> #4  0x4000fb7c in _Internal_error (core_error=0,
> core_error at entry=INTERNAL_ERROR_ILLEGAL_USE_OF_FLOATING_POINT_UNIT) at
> /home/EB/sebastian_h/src/rtems/c/src/../../cpukit/score/src/interr.c:52
> #5  0x40001664 in bsp_spurious_handler (trap=260, isf=0x40028518) at
> /home/EB/sebastian_h/src/rtems/c/src/lib/libbsp/sparc/leon3/../../../../../../bsps/sparc/leon3/start/spurious.c:124
> #6  0x40012390 in pil_fixed () at
> /home/EB/sebastian_h/src/rtems/c/src/../../cpukit/score/cpu/sparc/cpu_asm.S:592
>
> It would be good to add support for the RTEMS Tester to the examples.
>
> I was not able to build the examples with waf:
>
> Waf: Entering directory
> `/home/EB/sebastian_h/src/rtems-examples/build/sparc-rtems5-leon3'
> [ 1/14] Compiling hello/hello_world_c/test.c
> [ 2/14] Compiling hello/posix_hello_world/test.c
> [ 3/14] Compiling hello/both_hello/test.c
> [ 4/14] Compiling hello/both_hello/test.c
> [ 5/14] Compiling hello/both_hello/test.c
> [ 6/14] Linking
> build/sparc-rtems5-leon3/hello/posix_hello_world/posix_hello.exe
> [ 7/14] Linking build/sparc-rtems5-leon3/hello/hello_world_c/hello.exe
> [ 8/14] Compiling build/sparc-rtems5-leon3/hello/both_hello/test.c.2.o
> [ 9/14] Compiling build/sparc-rtems5-leon3/hello/both_hello/test.c.1.o
> [10/14] Linking build/sparc-rtems5-leon3/hello/both_hello/both_hello.exe
> [11/14] Compiling gdb/overwrite/rtems_init.c
> [12/14] Compiling gdb/overwrite/overwrite.c
> [13/14] Compiling filesystem/fat_ramdisk/rootfs/shell-init
> [14/14] Linking build/sparc-rtems5-leon3/gdb/overwrite/overwrite.exe
> [15/15] Compiling
> build/sparc-rtems5-leon3/filesystem/fat_ramdisk/rootfs/shell-init
> [16/16] Compiling
> build/sparc-rtems5-leon3/filesystem/fat_ramdisk/fs-root.tar
> [17/29] Compiling
> build/sparc-rtems5-leon3/filesystem/fat_ramdisk/fs-root-tar.c
> [18/29] Compiling filesystem/fat_ramdisk/init.c
> [19/29] Compiling
> build/sparc-rtems5-leon3/filesystem/fat_ramdisk/fs-root-tar.c
> [20/29] Compiling filesystem/fat_ramdisk/init.c
> [21/29] Compiling classic_api/classic_signal/test.c
> [22/29] Compiling classic_api/triple_period/tasks.c
> Waf: Leaving directory
> `/home/EB/sebastian_h/src/rtems-examples/build/sparc-rtems5-leon3'
> Build failed
> Traceback (most recent call last):
>    File
> "/home/EB/sebastian_h/src/rtems-examples/.waf-2.0.19-1f3c580272b15a03d2566843c5fe872a/waflib/Task.py",
> line 190, in process
>      self.post_run()
>    File "/home/EB/sebastian_h/src/rtems-examples/rtems_waf/gccdeps.py",
> line 144, in post_run
>      raise ValueError('could not find %r for %r' % (x, self))
> ValueError: could not find ['filesystem', 'fat_ramdisk',
> 'fs-root-tar.h'] for
>          {task 140228625202304: c init.c -> init.c.6.o}
>
> Traceback (most recent call last):
>    File
> "/home/EB/sebastian_h/src/rtems-examples/.waf-2.0.19-1f3c580272b15a03d2566843c5fe872a/waflib/Task.py",
> line 190, in process
>      self.post_run()
>    File "/home/EB/sebastian_h/src/rtems-examples/rtems_waf/gccdeps.py",
> line 144, in post_run
>      raise ValueError('could not find %r for %r' % (x, self))
> ValueError: could not find ['filesystem', 'fat_ramdisk',
> 'fs-root-tar.h'] for
>          {task 140228625202904: c init.c -> init.c.5.o}
>
> This used to work some days ago. Maybe commit
> 341747b0a03ffce9082ed84a94905cd9a3ea32fc cased this issue?
>
>


More information about the devel mailing list