* [Xenomai] test suite programs crash with Illegal instruction on MPC5200 @ 2013-11-28 13:31 Bukuli Norbert 2013-11-28 20:17 ` Gilles Chanteperdrix 2013-11-28 22:01 ` Philippe Gerum 0 siblings, 2 replies; 23+ messages in thread From: Bukuli Norbert @ 2013-11-28 13:31 UTC (permalink / raw) To: Xenomai Hello! I am having a little problem with some programs from the Xenomai test suite. The clocktest, cyclictest and switchtest crashes with "Illegal instruction": ~ # /usr/xenomai/bin/clocktest == Tested clock: 0 (CLOCK_REALTIME) CPU ToD offset [us] ToD drift [us/s] warps max delta [us] --- -------------------- ---------------- ---------- -------------- 0 0.0 0.000 0 0.0 Illegal instruction When I turn the debug.exception-trace kernel option on, and run the clocktest, I have got the following kernel message: clocktest[243]: unhandled signal 4 at 0fdf4e74 nip 0fdf4e74 lr 0ffd8af8 code 30001 I have read in a previous messages on this list, that the CONFIG_XENO_HW_UNLOCKED_SWITCH option should be turned off, but unfortunately this did not help. I am using the following versions: Linux kernel: 3.8.13 Xenomai: 2.6.3 Toolchain: ELDK-5.4 Significant kernel options: $ cat .config | egrep '_XENO_|_IPIPE_' | grep -v ^\# CONFIG_XENO_GENERIC_STACKPOOL=y CONFIG_XENO_FASTSYNCH=y CONFIG_XENO_OPT_NUCLEUS=y CONFIG_XENO_OPT_PERVASIVE=y CONFIG_XENO_OPT_PIPELINE_HEAD=y CONFIG_XENO_OPT_PIPE=y CONFIG_XENO_OPT_MAP=y CONFIG_XENO_OPT_VFILE=y CONFIG_XENO_OPT_PIPE_NRDEV=32 CONFIG_XENO_OPT_REGISTRY_NRSLOTS=512 CONFIG_XENO_OPT_SYS_HEAPSZ=256 CONFIG_XENO_OPT_SYS_STACKPOOLSZ=128 CONFIG_XENO_OPT_SEM_HEAPSZ=12 CONFIG_XENO_OPT_GLOBAL_SEM_HEAPSZ=12 CONFIG_XENO_OPT_STATS=y CONFIG_XENO_OPT_SHIRQ=y CONFIG_XENO_OPT_SELECT=y CONFIG_XENO_OPT_HOSTRT=y CONFIG_XENO_OPT_TIMING_PERIODIC=y CONFIG_XENO_OPT_TIMING_VIRTICK=1000 CONFIG_XENO_OPT_TIMING_SCHEDLAT=0 CONFIG_XENO_OPT_TIMER_LIST=y CONFIG_XENO_HW_FPU=y CONFIG_XENO_SKIN_NATIVE=y CONFIG_XENO_OPT_NATIVE_PERIOD=0 CONFIG_XENO_OPT_NATIVE_PIPE=y CONFIG_XENO_OPT_NATIVE_PIPE_BUFSZ=1024 CONFIG_XENO_OPT_NATIVE_SEM=y CONFIG_XENO_OPT_NATIVE_EVENT=y CONFIG_XENO_OPT_NATIVE_MUTEX=y CONFIG_XENO_OPT_NATIVE_COND=y CONFIG_XENO_OPT_NATIVE_QUEUE=y CONFIG_XENO_OPT_NATIVE_BUFFER=y CONFIG_XENO_OPT_NATIVE_HEAP=y CONFIG_XENO_OPT_NATIVE_ALARM=y CONFIG_XENO_OPT_NATIVE_MPS=y CONFIG_XENO_SKIN_POSIX=y CONFIG_XENO_OPT_POSIX_PERIOD=0 CONFIG_XENO_OPT_POSIX_SHM=y CONFIG_XENO_OPT_POSIX_SELECT=y CONFIG_XENO_OPT_DEBUG_POSIX=y CONFIG_XENO_SKIN_RTDM=y CONFIG_XENO_OPT_RTDM_PERIOD=0 CONFIG_XENO_OPT_RTDM_FILDES=128 CONFIG_XENO_OPT_RTDM_SELECT=y CONFIG_XENO_DRIVERS_CAN=m CONFIG_XENO_DRIVERS_CAN_DEBUG=y CONFIG_XENO_DRIVERS_CAN_LOOPBACK=y CONFIG_XENO_DRIVERS_CAN_RXBUF_SIZE=1024 CONFIG_XENO_DRIVERS_CAN_MAX_DEVICES=4 CONFIG_XENO_DRIVERS_CAN_MAX_RECEIVERS=16 CONFIG_XENO_DRIVERS_CAN_VIRT=m CONFIG_XENO_DRIVERS_CAN_MSCAN=m CONFIG_XENO_DRIVERS_RTIPC=m CONFIG_XENO_DRIVERS_RTIPC_XDDP=y CONFIG_XENO_DRIVERS_RTIPC_IDDP=y CONFIG_XENO_OPT_IDDP_NRPORT=32 CONFIG_XENO_DRIVERS_RTIPC_BUFP=y CONFIG_XENO_OPT_BUFP_NRPORT=32 CONFIG_IPIPE_LEGACY=y CONFIG_IPIPE_CORE=y CONFIG_IPIPE_CORE_APIREV=2 CONFIG_IPIPE_WANT_APIREV_2=y CONFIG_IPIPE_TARGET_APIREV=2 CONFIG_IPIPE_HAVE_HOSTRT=y CONFIG_IPIPE_DELAYED_ATOMICSW=y CONFIG_IPIPE_HAVE_PREEMPTIBLE_SWITCH=y Am I using something wrong? Any suggestion would be highly appreciated! Thank you in advance! -- Norbert Bukuli software engineer embedded development Mediso Ltd. Tel.: +36 1 3993 030 Fax.: +36 1 3993 040 Mailing address: Hungary, H-1047 Budapest, Baross utca 91-95. Billing address: Hungary, H-1022 Budapest, Alsotorokvesz 14. norbert.bukuli@mediso.com www.mediso.com -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 490 bytes Desc: not available URL: <http://www.xenomai.org/pipermail/xenomai/attachments/20131128/1f6360dd/attachment.sig> ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Xenomai] test suite programs crash with Illegal instruction on MPC5200 2013-11-28 13:31 [Xenomai] test suite programs crash with Illegal instruction on MPC5200 Bukuli Norbert @ 2013-11-28 20:17 ` Gilles Chanteperdrix 2013-11-28 20:30 ` Gilles Chanteperdrix 2013-11-29 7:45 ` Bukuli Norbert 2013-11-28 22:01 ` Philippe Gerum 1 sibling, 2 replies; 23+ messages in thread From: Gilles Chanteperdrix @ 2013-11-28 20:17 UTC (permalink / raw) To: Bukuli Norbert; +Cc: Xenomai On 11/28/2013 02:31 PM, Bukuli Norbert wrote: > Hello! > > I am having a little problem with some programs from the Xenomai test > suite. The clocktest, cyclictest and switchtest crashes with "Illegal > instruction": What about the latency test? If it fails with the same error, you could try the following patch for powerpc SPE: https://git.xenomai.org/xenomai-2.6.git/commit/?id=d09932cfd0ca422989b3c3a9d736236d74590ade -- Gilles. ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Xenomai] test suite programs crash with Illegal instruction on MPC5200 2013-11-28 20:17 ` Gilles Chanteperdrix @ 2013-11-28 20:30 ` Gilles Chanteperdrix 2013-11-29 7:59 ` Bukuli Norbert 2013-11-29 7:45 ` Bukuli Norbert 1 sibling, 1 reply; 23+ messages in thread From: Gilles Chanteperdrix @ 2013-11-28 20:30 UTC (permalink / raw) To: Bukuli Norbert; +Cc: Xenomai On 11/28/2013 09:17 PM, Gilles Chanteperdrix wrote: > On 11/28/2013 02:31 PM, Bukuli Norbert wrote: >> Hello! >> >> I am having a little problem with some programs from the Xenomai test >> suite. The clocktest, cyclictest and switchtest crashes with "Illegal >> instruction": > > What about the latency test? If it fails with the same error, you could > try the following patch for powerpc SPE: > > https://git.xenomai.org/xenomai-2.6.git/commit/?id=d09932cfd0ca422989b3c3a9d736236d74590ade > The patch is needed to get switchtest working, but otherwise, you simply need to disable CONFIG_XENO_HW_FPU and the other tests should work without the patch. -- Gilles. ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Xenomai] test suite programs crash with Illegal instruction on MPC5200 2013-11-28 20:30 ` Gilles Chanteperdrix @ 2013-11-29 7:59 ` Bukuli Norbert 0 siblings, 0 replies; 23+ messages in thread From: Bukuli Norbert @ 2013-11-29 7:59 UTC (permalink / raw) To: Gilles Chanteperdrix; +Cc: Xenomai I have turned off the Xenomai FPU support: $ cat src/Kernel/build/.config | grep FPU CONFIG_PPC_FPU=y # CONFIG_XENO_HW_FPU is not set I have got the following results: - No regression in latency test. - Trivial posix skin test still does not work. - Switchtest does not work. It crash with the following messages: ~ # /usr/xenomai/bin/switchtest == Testing FPU check routines... r0: 1 != 2 r1: 1 != 2 r2: 1 != 2 r3: 1 != 2 r4: 1 != 2 r5: 1 != 2 r6: 1 != 2 r7: 1 != 2 r8: 1 != 2 r9: 1 != 2 r10: 1 != 2 r11: 1 != 2 r12: 1 != 2 r13: 1 != 2 r14: 1 != 2 r15: 1 != 2 r16: 1 != 2 r17: 1 != 2 r18: 1 != 2 r19: 1 != 2 r20: 1 != 2 r21: 1 != 2 r22: 1 != 2 r23: 1 != 2 r24: 1 != 2 r25: 1 != 2 r26: 1 != 2 r27: 1 != 2 r28: 1 != 2 r29: 1 != 2 r30: 1 != 2 r31: 1 != 2 == FPU check routines: OK. sem_wait FAILED (38) pthread_create: Resource temporarily unavailable == Threads: sleeper_ufps-0 rtk-1 rtk-2 rtk_fp-3 rtk_fp-4 rtk_fp_ufpp-5 rtk_fp_ufpp-6RTT| 00:06:54 RTH|ctx switches|-------total Illegal instruction - Clocktest does not work. It crash with the following messages: ~ # /usr/xenomai/bin/clocktest == Tested clock: 0 (CLOCK_REALTIME) CPU ToD offset [us] ToD drift [us/s] warps max delta [us] --- -------------------- ---------------- ---------- -------------- 0 0.0 0.000 0 0.0 Illegal instruction On Thu, 28 Nov 2013 21:30:24 +0100 Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org> wrote: > On 11/28/2013 09:17 PM, Gilles Chanteperdrix wrote: > > On 11/28/2013 02:31 PM, Bukuli Norbert wrote: > >> Hello! > >> > >> I am having a little problem with some programs from the Xenomai > >> test suite. The clocktest, cyclictest and switchtest crashes with > >> "Illegal instruction": > > > > What about the latency test? If it fails with the same error, you > > could try the following patch for powerpc SPE: > > > > https://git.xenomai.org/xenomai-2.6.git/commit/?id=d09932cfd0ca422989b3c3a9d736236d74590ade > > > > The patch is needed to get switchtest working, but otherwise, you > simply need to disable CONFIG_XENO_HW_FPU and the other tests should > work without the patch. > -- Norbert Bukuli software engineer embedded development Mediso Ltd. Tel.: +36 1 3993 030 Fax.: +36 1 3993 040 Mailing address: Hungary, H-1047 Budapest, Baross utca 91-95. Billing address: Hungary, H-1022 Budapest, Alsotorokvesz 14. norbert.bukuli@mediso.com www.mediso.com -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 490 bytes Desc: not available URL: <http://www.xenomai.org/pipermail/xenomai/attachments/20131129/df1f9f3d/attachment.sig> ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Xenomai] test suite programs crash with Illegal instruction on MPC5200 2013-11-28 20:17 ` Gilles Chanteperdrix 2013-11-28 20:30 ` Gilles Chanteperdrix @ 2013-11-29 7:45 ` Bukuli Norbert 1 sibling, 0 replies; 23+ messages in thread From: Bukuli Norbert @ 2013-11-29 7:45 UTC (permalink / raw) To: Gilles Chanteperdrix; +Cc: Xenomai The latency test works well for user task, kernel task and timer IRQ, too. Does it make a sense to try the patch in this case? I have done some trivial test with the native and posix skins, by the time: Create a realtime task with appropriate scheduling policy and priority, and increase a static integer variable in it. With the native skin it works well, however, with the posix skin it crashes with the following message: pthread_create: 11 Resource temporarily unavailable Trace/breakpoint trap Before the creation of the pthread, the stacksize is set to PTHREAD_STACK_MIN (128 Kib) Corresponding kernel option: CONFIG_XENO_OPT_SYS_HEAPSZ = 4096. This issue probably related to the original one. On Thu, 28 Nov 2013 21:17:39 +0100 Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org> wrote: > On 11/28/2013 02:31 PM, Bukuli Norbert wrote: > > Hello! > > > > I am having a little problem with some programs from the Xenomai > > test suite. The clocktest, cyclictest and switchtest crashes with > > "Illegal instruction": > > What about the latency test? If it fails with the same error, you > could try the following patch for powerpc SPE: > > https://git.xenomai.org/xenomai-2.6.git/commit/?id=d09932cfd0ca422989b3c3a9d736236d74590ade > -- Norbert Bukuli software engineer embedded development Mediso Ltd. Tel.: +36 1 3993 030 Fax.: +36 1 3993 040 Mailing address: Hungary, H-1047 Budapest, Baross utca 91-95. Billing address: Hungary, H-1022 Budapest, Alsotorokvesz 14. norbert.bukuli@mediso.com www.mediso.com -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 490 bytes Desc: not available URL: <http://www.xenomai.org/pipermail/xenomai/attachments/20131129/038c502f/attachment.sig> ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Xenomai] test suite programs crash with Illegal instruction on MPC5200 2013-11-28 13:31 [Xenomai] test suite programs crash with Illegal instruction on MPC5200 Bukuli Norbert 2013-11-28 20:17 ` Gilles Chanteperdrix @ 2013-11-28 22:01 ` Philippe Gerum 2013-11-29 8:41 ` Bukuli Norbert 2013-11-29 8:41 ` Bukuli Norbert 1 sibling, 2 replies; 23+ messages in thread From: Philippe Gerum @ 2013-11-28 22:01 UTC (permalink / raw) To: Bukuli Norbert, Xenomai On 11/28/2013 02:31 PM, Bukuli Norbert wrote: > Hello! > > I am having a little problem with some programs from the Xenomai test > suite. The clocktest, cyclictest and switchtest crashes with "Illegal > instruction": > > ~ # /usr/xenomai/bin/clocktest > == Tested clock: 0 (CLOCK_REALTIME) > CPU ToD offset [us] ToD drift [us/s] warps max delta [us] > --- -------------------- ---------------- ---------- -------------- > 0 0.0 0.000 0 0.0 > Illegal instruction > > Please make sure you are using a compiler for the 6xx processor family, for building the user-space programs for an icecube/lite52xx/tqm5200 board. If the issue is still there, you should run the failing test over gdb, then paste the backtrace output ("bt" command) obtained after the fault to this list. > When I turn the debug.exception-trace kernel option on, > and run the clocktest, I have got the following kernel message: > > clocktest[243]: unhandled signal 4 at 0fdf4e74 nip 0fdf4e74 lr 0ffd8af8 > code 30001 > gdb will give you the faulty location in symbolic form. > I have read in a previous messages on this list, that the > CONFIG_XENO_HW_UNLOCKED_SWITCH option should be turned off, but > unfortunately this did not help. > Unlocked switching is no more an issue with 3.8.13 and beyond. -- Philippe. ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Xenomai] test suite programs crash with Illegal instruction on MPC5200 2013-11-28 22:01 ` Philippe Gerum @ 2013-11-29 8:41 ` Bukuli Norbert 2013-11-29 8:41 ` Bukuli Norbert 1 sibling, 0 replies; 23+ messages in thread From: Bukuli Norbert @ 2013-11-29 8:41 UTC (permalink / raw) To: Philippe Gerum; +Cc: Xenomai On Thu, 28 Nov 2013 23:01:20 +0100 Philippe Gerum <rpm@xenomai.org> wrote: > On 11/28/2013 02:31 PM, Bukuli Norbert wrote: > > Hello! > > > > I am having a little problem with some programs from the Xenomai > > test suite. The clocktest, cyclictest and switchtest crashes with > > "Illegal instruction": > > > > ~ # /usr/xenomai/bin/clocktest > > == Tested clock: 0 (CLOCK_REALTIME) > > CPU ToD offset [us] ToD drift [us/s] warps max delta [us] > > --- -------------------- ---------------- ---------- -------------- > > 0 0.0 0.000 0 0.0 > > Illegal instruction > > > > > > Please make sure you are using a compiler for the 6xx processor > family, for building the user-space programs for an > icecube/lite52xx/tqm5200 board. I use eldk-switch in this way: $ eldk-switch -r 5.4 gccb [ gccb is using MPC5200 ] Setup for powerpc (using ELDK 5.4) with the following modification on the eldk-map.dat: gccb MPC5200 (GCCB is our custom MPC5200 based board) $ echo $CC powerpc-linux-gcc -m32 -mhard-float --sysroot=/opt/eldk-5.4/powerpc/sysroots/powerpc-linux $ echo $CFLAGS -O2 -pipe -g -feliminate-unused-debug-types $ powerpc-linux-gcc -dumpspecs | grep 603 ... %{mcpu=603: -mppc} %{mcpu=603e: -mppc} ... I set the -mcpu=603e compilation flag on the trivial posix test, but this did not help. > > If the issue is still there, you should run the failing test over > gdb, then paste the backtrace output ("bt" command) obtained after > the fault to this list. Because there is limited amount of memory in our embedded system (32 MiB), I did the following: On the target system: ~ # gdbserver 172.31.2.11:2001 /usr/xenomai/bin/clocktest On the host system: $ eldk-switch -r 5.4 gccb [ gccb is using MPC5200 ] Setup for powerpc (using ELDK 5.4) $ powerpc-linux-gdb usr/xenomai/bin/clocktest (gdb) set sysroot /opt/eldk-5.4/powerpc/sysroots/powerpc-linux (gdb) target remote 172.31.2.11:2001 Remote debugging using 172.31.2.11:2001 Reading symbols from /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/ld.so.1...Reading symbols from /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/.debug/ld-2.17.so...done. done. Loaded symbols for /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/ld.so.1 _start () at ../sysdeps/powerpc/powerpc32/dl-start.S:32 32 ../sysdeps/powerpc/powerpc32/dl-start.S: No such file or directory. (gdb) cont Continuing. warning: Could not load shared library symbols for linux-vdso32.so.1. Do you need "set solib-search-path" or "set sysroot"? warning: .dynamic section for "/opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libpthread_rt.so.1" is not at the expected address (wrong library or version mismatch?) warning: .dynamic section for "/opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libxenomai.so.0" is not at the expected address (wrong library or version mismatch?) [New Thread 280] Program received signal SIGILL, Illegal instruction. [Switching to Thread 280] 0x0fdf4e74 in ?? () from /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/libc.so.6 (gdb) bt #0 0x0fdf4e74 in ?? () from /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/libc.so.6 #1 0x0ffd8af8 in sched_setconfig_np () from /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libpthread_rt.so.1 #2 0x0ff7ba68 in start_thread (arg=0xbffffdd0) at pthread_create.c:313 #3 0x4802ff18 in _rtld_global_ro () from /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/ld.so.1 Backtrace stopped: frame did not save the PC As you can see, I have some problems with the GDB search paths, but the significant information is conspicuous. > > > When I turn the debug.exception-trace kernel option on, > > and run the clocktest, I have got the following kernel message: > > > > clocktest[243]: unhandled signal 4 at 0fdf4e74 nip 0fdf4e74 lr > > 0ffd8af8 code 30001 > > > > gdb will give you the faulty location in symbolic form. If you can suggest, please, how I can override loaded libraries in gdb, then I will repeat the tests. > > > I have read in a previous messages on this list, that the > > CONFIG_XENO_HW_UNLOCKED_SWITCH option should be turned off, but > > unfortunately this did not help. > > > > Unlocked switching is no more an issue with 3.8.13 and beyond. Then I will turn it on again. > -- Norbert Bukuli software engineer embedded development Mediso Ltd. Tel.: +36 1 3993 030 Fax.: +36 1 3993 040 Mailing address: Hungary, H-1047 Budapest, Baross utca 91-95. Billing address: Hungary, H-1022 Budapest, Alsotorokvesz 14. norbert.bukuli@mediso.com www.mediso.com -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 490 bytes Desc: not available URL: <http://www.xenomai.org/pipermail/xenomai/attachments/20131129/f275e740/attachment.sig> ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Xenomai] test suite programs crash with Illegal instruction on MPC5200 2013-11-28 22:01 ` Philippe Gerum 2013-11-29 8:41 ` Bukuli Norbert @ 2013-11-29 8:41 ` Bukuli Norbert 2013-11-29 9:29 ` Philippe Gerum 1 sibling, 1 reply; 23+ messages in thread From: Bukuli Norbert @ 2013-11-29 8:41 UTC (permalink / raw) To: Philippe Gerum; +Cc: Xenomai On Thu, 28 Nov 2013 23:01:20 +0100 Philippe Gerum <rpm@xenomai.org> wrote: > On 11/28/2013 02:31 PM, Bukuli Norbert wrote: > > Hello! > > > > I am having a little problem with some programs from the Xenomai > > test suite. The clocktest, cyclictest and switchtest crashes with > > "Illegal instruction": > > > > ~ # /usr/xenomai/bin/clocktest > > == Tested clock: 0 (CLOCK_REALTIME) > > CPU ToD offset [us] ToD drift [us/s] warps max delta [us] > > --- -------------------- ---------------- ---------- -------------- > > 0 0.0 0.000 0 0.0 > > Illegal instruction > > > > > > Please make sure you are using a compiler for the 6xx processor > family, for building the user-space programs for an > icecube/lite52xx/tqm5200 board. I use eldk-switch in this way: $ eldk-switch -r 5.4 gccb [ gccb is using MPC5200 ] Setup for powerpc (using ELDK 5.4) with the following modification on the eldk-map.dat: gccb MPC5200 (GCCB is our custom MPC5200 based board) $ echo $CC powerpc-linux-gcc -m32 -mhard-float --sysroot=/opt/eldk-5.4/powerpc/sysroots/powerpc-linux $ echo $CFLAGS -O2 -pipe -g -feliminate-unused-debug-types $ powerpc-linux-gcc -dumpspecs | grep 603 ... %{mcpu=603: -mppc} %{mcpu=603e: -mppc} ... I set the -mcpu=603e compilation flag on the trivial posix test, but this did not help. > > If the issue is still there, you should run the failing test over > gdb, then paste the backtrace output ("bt" command) obtained after > the fault to this list. Because there is limited amount of memory in our embedded system (32 MiB), I did the following: On the target system: ~ # gdbserver 172.31.2.11:2001 /usr/xenomai/bin/clocktest On the host system: $ eldk-switch -r 5.4 gccb [ gccb is using MPC5200 ] Setup for powerpc (using ELDK 5.4) $ powerpc-linux-gdb usr/xenomai/bin/clocktest (gdb) set sysroot /opt/eldk-5.4/powerpc/sysroots/powerpc-linux (gdb) target remote 172.31.2.11:2001 Remote debugging using 172.31.2.11:2001 Reading symbols from /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/ld.so.1...Reading symbols from /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/.debug/ld-2.17.so...done. done. Loaded symbols for /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/ld.so.1 _start () at ../sysdeps/powerpc/powerpc32/dl-start.S:32 32 ../sysdeps/powerpc/powerpc32/dl-start.S: No such file or directory. (gdb) cont Continuing. warning: Could not load shared library symbols for linux-vdso32.so.1. Do you need "set solib-search-path" or "set sysroot"? warning: .dynamic section for "/opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libpthread_rt.so.1" is not at the expected address (wrong library or version mismatch?) warning: .dynamic section for "/opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libxenomai.so.0" is not at the expected address (wrong library or version mismatch?) [New Thread 280] Program received signal SIGILL, Illegal instruction. [Switching to Thread 280] 0x0fdf4e74 in ?? () from /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/libc.so.6 (gdb) bt #0 0x0fdf4e74 in ?? () from /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/libc.so.6 #1 0x0ffd8af8 in sched_setconfig_np () from /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libpthread_rt.so.1 #2 0x0ff7ba68 in start_thread (arg=0xbffffdd0) at pthread_create.c:313 #3 0x4802ff18 in _rtld_global_ro () from /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/ld.so.1 Backtrace stopped: frame did not save the PC As you can see, I have some problems with the GDB search paths, but the significant information is conspicuous. > > > When I turn the debug.exception-trace kernel option on, > > and run the clocktest, I have got the following kernel message: > > > > clocktest[243]: unhandled signal 4 at 0fdf4e74 nip 0fdf4e74 lr > > 0ffd8af8 code 30001 > > > > gdb will give you the faulty location in symbolic form. If you can suggest, please, how I can override loaded libraries in gdb, then I will repeat the tests. > > > I have read in a previous messages on this list, that the > > CONFIG_XENO_HW_UNLOCKED_SWITCH option should be turned off, but > > unfortunately this did not help. > > > > Unlocked switching is no more an issue with 3.8.13 and beyond. Then I will turn it on again. > -- Norbert Bukuli software engineer embedded development Mediso Ltd. Tel.: +36 1 3993 030 Fax.: +36 1 3993 040 Mailing address: Hungary, H-1047 Budapest, Baross utca 91-95. Billing address: Hungary, H-1022 Budapest, Alsotorokvesz 14. norbert.bukuli@mediso.com www.mediso.com -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 490 bytes Desc: not available URL: <http://www.xenomai.org/pipermail/xenomai/attachments/20131129/1634a7b5/attachment.sig> ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Xenomai] test suite programs crash with Illegal instruction on MPC5200 2013-11-29 8:41 ` Bukuli Norbert @ 2013-11-29 9:29 ` Philippe Gerum 2013-11-29 9:34 ` Philippe Gerum ` (2 more replies) 0 siblings, 3 replies; 23+ messages in thread From: Philippe Gerum @ 2013-11-29 9:29 UTC (permalink / raw) To: Bukuli Norbert; +Cc: Xenomai On 11/29/2013 09:41 AM, Bukuli Norbert wrote: > (gdb) cont > Continuing. > warning: Could not load shared library symbols for linux-vdso32.so.1. > Do you need "set solib-search-path" or "set sysroot"? > warning: .dynamic section for "/opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libpthread_rt.so.1" is not at the expected address (wrong library or version mismatch?) > warning: .dynamic section for "/opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libxenomai.so.0" is not at the expected address (wrong library or version mismatch?) These warnings may trigger with recent broken gdbserver releases, let's ignore them. https://sourceware.org/ml/gdb-patches/2013-06/msg00054.html > [New Thread 280] > > Program received signal SIGILL, Illegal instruction. > [Switching to Thread 280] > 0x0fdf4e74 in ?? () from /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/libc.so.6 > (gdb) disass $pc-64 $pc+20 would help at this point. > (gdb) bt > #0 0x0fdf4e74 in ?? () from /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/libc.so.6 > #1 0x0ffd8af8 in sched_setconfig_np () > from /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libpthread_rt.so.1 > #2 0x0ff7ba68 in start_thread (arg=0xbffffdd0) at pthread_create.c:313 Is sched_setconfig_np() really the start routine given to pthread_create() in your application, I guess not. Or could this weird backtrace reveal a stack overflow? >> gdb will give you the faulty location in symbolic form. > If you can suggest, please, how I can override loaded libraries in gdb, then I will repeat the tests. You could set solib-search-path appropriately or load them manually using file (-readnow), but I don't think this would help in understanding this particular issue. It somewhat behaves as if broken Xenomai syscall code was output by the compiler - this is something we faced a couple of times already on arm and ppc in the past years. Checking the disassembled code surrounding the fault location may help figuring this out. >> >>> I have read in a previous messages on this list, that the >>> CONFIG_XENO_HW_UNLOCKED_SWITCH option should be turned off, but >>> unfortunately this did not help. >>> >> >> Unlocked switching is no more an issue with 3.8.13 and beyond. > Then I will turn it on again. You can also leave it off. On architectures with sane caches (e.g. not armv5 and its aliasing issues), it basically depends on whether shorter (real-time) interrupt latencies [on] are preferred over shorter task scheduling latencies [off]. The difference will likely only amount for a couple of micro-seconds max on most platforms though, however both options are available with 3.8+ pipelines. -- Philippe. ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Xenomai] test suite programs crash with Illegal instruction on MPC5200 2013-11-29 9:29 ` Philippe Gerum @ 2013-11-29 9:34 ` Philippe Gerum 2013-11-29 10:44 ` Bukuli Norbert 2013-11-29 10:27 ` Bukuli Norbert 2013-11-29 22:53 ` Wolfgang Denk 2 siblings, 1 reply; 23+ messages in thread From: Philippe Gerum @ 2013-11-29 9:34 UTC (permalink / raw) To: Bukuli Norbert; +Cc: Xenomai On 11/29/2013 10:29 AM, Philippe Gerum wrote: > On 11/29/2013 09:41 AM, Bukuli Norbert wrote: >> (gdb) cont >> Continuing. >> warning: Could not load shared library symbols for linux-vdso32.so.1. >> Do you need "set solib-search-path" or "set sysroot"? >> warning: .dynamic section for >> "/opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libpthread_rt.so.1" >> is not at the expected address (wrong library or version mismatch?) >> warning: .dynamic section for >> "/opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libxenomai.so.0" >> is not at the expected address (wrong library or version mismatch?) > > These warnings may trigger with recent broken gdbserver releases, let's > ignore them. > https://sourceware.org/ml/gdb-patches/2013-06/msg00054.html > >> [New Thread 280] >> >> Program received signal SIGILL, Illegal instruction. >> [Switching to Thread 280] >> 0x0fdf4e74 in ?? () from >> /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/libc.so.6 >> > > (gdb) disass $pc-64 $pc+20 > > would help at this point. > >> (gdb) bt >> #0 0x0fdf4e74 in ?? () from >> /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/libc.so.6 >> #1 0x0ffd8af8 in sched_setconfig_np () >> from >> /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libpthread_rt.so.1 >> >> #2 0x0ff7ba68 in start_thread (arg=0xbffffdd0) at pthread_create.c:313 > > Is sched_setconfig_np() really the start routine given to > pthread_create() in your application, I guess not. Or could this weird > backtrace reveal a stack overflow? Or maybe just too much frame information is optimized out, too aggressively. You may want to turn on debug symbols for building the Xenomai libraries, using --enable-debug. -- Philippe. ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Xenomai] test suite programs crash with Illegal instruction on MPC5200 2013-11-29 9:34 ` Philippe Gerum @ 2013-11-29 10:44 ` Bukuli Norbert 0 siblings, 0 replies; 23+ messages in thread From: Bukuli Norbert @ 2013-11-29 10:44 UTC (permalink / raw) To: Philippe Gerum; +Cc: Xenomai On Fri, 29 Nov 2013 10:34:55 +0100 Philippe Gerum <rpm@xenomai.org> wrote: > On 11/29/2013 10:29 AM, Philippe Gerum wrote: > > On 11/29/2013 09:41 AM, Bukuli Norbert wrote: > >> (gdb) cont > >> Continuing. > >> warning: Could not load shared library symbols for > >> linux-vdso32.so.1. Do you need "set solib-search-path" or "set > >> sysroot"? warning: .dynamic section for > >> "/opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libpthread_rt.so.1" > >> is not at the expected address (wrong library or version mismatch?) > >> warning: .dynamic section for > >> "/opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libxenomai.so.0" > >> is not at the expected address (wrong library or version mismatch?) > > > > These warnings may trigger with recent broken gdbserver releases, > > let's ignore them. > > https://sourceware.org/ml/gdb-patches/2013-06/msg00054.html > > > >> [New Thread 280] > >> > >> Program received signal SIGILL, Illegal instruction. > >> [Switching to Thread 280] > >> 0x0fdf4e74 in ?? () from > >> /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/libc.so.6 > >> > > > > (gdb) disass $pc-64 $pc+20 > > > > would help at this point. > > > >> (gdb) bt > >> #0 0x0fdf4e74 in ?? () from > >> /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/libc.so.6 > >> #1 0x0ffd8af8 in sched_setconfig_np () > >> from > >> /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libpthread_rt.so.1 > >> > >> #2 0x0ff7ba68 in start_thread (arg=0xbffffdd0) at > >> pthread_create.c:313 > > > > Is sched_setconfig_np() really the start routine given to > > pthread_create() in your application, I guess not. Or could this > > weird backtrace reveal a stack overflow? > > Or maybe just too much frame information is optimized out, too > aggressively. You may want to turn on debug symbols for building the > Xenomai libraries, using --enable-debug. > Recompiled xenomai with --enable-debug. Backtrace of clocktest is now: (gdb) bt #0 0x0fdf4e74 in ?? () from /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/libc.so.6 #1 0x0ffd8af8 in sched_setconfig_np () from /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libpthread_rt.so.1 #2 0x0ff7ba68 in start_thread (arg=0xbffffdd0) at pthread_create.c:313 #3 0x4802ff18 in _rtld_global_ro () from /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/ld.so.1 Backtrace stopped: frame did not save the PC Unfortunately it does not matter if I load the proper libxenoma.so and libpthread_rt.so before I continue the application: (gdb) info sharedlibrary >From To Syms Read Shared Object Library 0x48001ff0 0x4801b014 Yes /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/ld.so.1 No linux-vdso32.so.1 0x0ffd7b1c 0x0ffdeab0 Yes (*) /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libpthread_rt.so.1 0x0ffaf588 0x0ffb2bb8 Yes (*) /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libxenomai.so.0 0x0ff78b84 0x0ff873fc Yes /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/libpthread.so.0 0x0fe0a5c0 0x0ff1d844 Yes /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/libc.so.6 0x0fdc3a94 0x0fdc799c Yes /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/librt.so.1 (*): Shared library is missing debugging information. Disassembly of the section: (gdb) disass $pc-64,$pc+20 Dump of assembler code from 0xfdf4e34 to 0xfdf4e88: 0x0fdf4e34: .long 0x3894 0x0fdf4e38: .long 0x12b8a4 0x0fdf4e3c: .long 0x80 0x0fdf4e40: vaddfp v16,v0,v0 0x0fdf4e44: .long 0x19fb 0x0fdf4e48: .long 0xe99c8 0x0fdf4e4c: .long 0xa0 0x0fdf4e50: vaddfp v16,v0,v0 0x0fdf4e54: .long 0x2742 0x0fdf4e58: .long 0xe375c 0x0fdf4e5c: .long 0x4c 0x0fdf4e60: subfic r16,r0,10 0x0fdf4e64: .long 0x378a 0x0fdf4e68: .long 0xf834c 0x0fdf4e6c: .long 0x58 0x0fdf4e70: vaddfp v16,v0,v0 => 0x0fdf4e74: .long 0x5a3e 0x0fdf4e78: .long 0xe286c 0x0fdf4e7c: .long 0x68 0x0fdf4e80: vaddfp v16,v0,v0 0x0fdf4e84: .long 0x80e End of assembler dump. Shall I turn off FPU support from the kernel entirely? (In our application FPU is needed.) -- Norbert Bukuli software engineer embedded development Mediso Ltd. Tel.: +36 1 3993 030 Fax.: +36 1 3993 040 Mailing address: Hungary, H-1047 Budapest, Baross utca 91-95. Billing address: Hungary, H-1022 Budapest, Alsotorokvesz 14. norbert.bukuli@mediso.com www.mediso.com -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 490 bytes Desc: not available URL: <http://www.xenomai.org/pipermail/xenomai/attachments/20131129/8bdf9359/attachment.sig> ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Xenomai] test suite programs crash with Illegal instruction on MPC5200 2013-11-29 9:29 ` Philippe Gerum 2013-11-29 9:34 ` Philippe Gerum @ 2013-11-29 10:27 ` Bukuli Norbert 2013-11-29 15:33 ` Philippe Gerum 2013-11-29 22:53 ` Wolfgang Denk 2 siblings, 1 reply; 23+ messages in thread From: Bukuli Norbert @ 2013-11-29 10:27 UTC (permalink / raw) To: Philippe Gerum; +Cc: Xenomai On Fri, 29 Nov 2013 10:29:56 +0100 Philippe Gerum <rpm@xenomai.org> wrote: > On 11/29/2013 09:41 AM, Bukuli Norbert wrote: > > (gdb) cont > > Continuing. > > warning: Could not load shared library symbols for > > linux-vdso32.so.1. Do you need "set solib-search-path" or "set > > sysroot"? warning: .dynamic section for > > "/opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libpthread_rt.so.1" > > is not at the expected address (wrong library or version mismatch?) > > warning: .dynamic section for > > "/opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libxenomai.so.0" > > is not at the expected address (wrong library or version mismatch?) > > These warnings may trigger with recent broken gdbserver releases, > let's ignore them. > https://sourceware.org/ml/gdb-patches/2013-06/msg00054.html OK > > > [New Thread 280] > > > > Program received signal SIGILL, Illegal instruction. > > [Switching to Thread 280] > > 0x0fdf4e74 in ?? () > > from /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/libc.so.6 > > > > (gdb) disass $pc-64 $pc+20 (gdb) disass $pc-64,$pc+20 Dump of assembler code from 0xfdf4e34 to 0xfdf4e88: 0x0fdf4e34: .long 0x3894 0x0fdf4e38: .long 0x12b8a4 0x0fdf4e3c: .long 0x80 0x0fdf4e40: vaddfp v16,v0,v0 0x0fdf4e44: .long 0x19fb 0x0fdf4e48: .long 0xe99c8 0x0fdf4e4c: .long 0xa0 0x0fdf4e50: vaddfp v16,v0,v0 0x0fdf4e54: .long 0x2742 0x0fdf4e58: .long 0xe375c 0x0fdf4e5c: .long 0x4c 0x0fdf4e60: subfic r16,r0,10 0x0fdf4e64: .long 0x378a 0x0fdf4e68: .long 0xf834c 0x0fdf4e6c: .long 0x58 0x0fdf4e70: vaddfp v16,v0,v0 => 0x0fdf4e74: .long 0x5a3e 0x0fdf4e78: .long 0xe286c 0x0fdf4e7c: .long 0x68 0x0fdf4e80: vaddfp v16,v0,v0 0x0fdf4e84: .long 0x80e End of assembler dump > > would help at this point. > > > (gdb) bt > > #0 0x0fdf4e74 in ?? () > > from /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/libc.so.6 #1 > > 0x0ffd8af8 in sched_setconfig_np () > > from /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libpthread_rt.so.1 > > #2 0x0ff7ba68 in start_thread (arg=0xbffffdd0) at > > pthread_create.c:313 > > Is sched_setconfig_np() really the start routine given to > pthread_create() in your application, I guess not. Or could this > weird backtrace reveal a stack overflow? This is the clocktest, not my trivial posix skin test. The start routine in that is "cpu_thread()" in clocktest.c:196 in xenomai-2.6.3. Debugging of the trivial posix skin test (my application): (gdb) set sysroot /opt/eldk-5.4/powerpc/sysroots/powerpc-linux (gdb) cont The program is not being run. (gdb) target remote 172.31.2.11:2001 Remote debugging using 172.31.2.11:2001 Reading symbols from /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/ld.so.1...Reading symbols from /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/.debug/ld-2.17.so...done. done. Loaded symbols for /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/ld.so.1 _start () at ../sysdeps/powerpc/powerpc32/dl-start.S:32 32 ../sysdeps/powerpc/powerpc32/dl-start.S: No such file or directory. (gdb) cont Continuing. warning: Could not load shared library symbols for linux-vdso32.so.1. Do you need "set solib-search-path" or "set sysroot"? warning: .dynamic section for "/opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libpthread_rt.so.1" is not at the expected address (wrong library or version mismatch?) warning: .dynamic section for "/opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libxenomai.so.0" is not at the expected address (wrong library or version mismatch?) [New Thread 336] Program received signal SIGTRAP, Trace/breakpoint trap. [Switching to Thread 336] 0x480319f8 in ?? () (gdb) bt #0 0x480319f8 in ?? () #1 0x0ffd8af8 in sched_setconfig_np () from /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libpthread_rt.so.1 #2 0x0ff7ba68 in start_thread (arg=0xbffffdd0) at pthread_create.c:313 #3 0x4802ff18 in _rtld_global_ro () from /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/ld.so.1 Backtrace stopped: frame did not save the PC (gdb) disass $pc-64,$pc+20 Dump of assembler code from 0x480319b8 to 0x48031a0c: 0x480319b8: .long 0x0 0x480319bc: .long 0x0 0x480319c0: .long 0x0 0x480319c4: .long 0x0 0x480319c8: .long 0x0 0x480319cc: .long 0x0 0x480319d0: cmpi cr6,1,r21,29554 0x480319d4: cmpi cr6,1,r24,25966 0x480319d8: xoris r13,r27,24937 0x480319dc: cmpi cr6,1,r12,26978 0x480319e0: cmpi cr6,1,r12,26978 0x480319e4: andi. r20,r3,26738 0x480319e8: oris r1,r11,25695 0x480319ec: andi. r20,r19,11891 0x480319f0: xoris r14,r25,12544 0x480319f4: .long 0x0 => 0x480319f8: twi 31,r29,16384 0x480319fc: b 0x480633cc 0x48031a00: twi 31,r30,-3476 0x48031a04: b 0x480636cc 0x48031a08: b 0x48062e90 End of assembler dump. (gdb) frame 1 #1 0x0ffd8af8 in sched_setconfig_np () from /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libpthread_rt.so.1 (gdb) disass $pc-64,$pc+20 Dump of assembler code from 0xffd8ab8 to 0xffd8b0c: 0x0ffd8ab8 <pthread_set_name_np+52>: bl 0xffef720 <sigemptyset@plt> 0x0ffd8abc <pthread_set_name_np+56>: addi r3,r31,20 0x0ffd8ac0 <pthread_set_name_np+60>: bl 0xffef540 <__real_sem_post@plt> 0x0ffd8ac4 <pthread_set_name_np+64>: lwz r9,8(r1) 0x0ffd8ac8 <pthread_set_name_np+68>: cmpw cr7,r9,r25 0x0ffd8acc <pthread_set_name_np+72>: beq- cr7,0xffd8b38 <sched_setconfig_np+84> 0x0ffd8ad0 <pthread_set_name_np+76>: cmpwi cr7,r28,0 0x0ffd8ad4 <pthread_set_name_np+80>: beq- cr7,0xffd8aec <sched_setconfig_np+8> 0x0ffd8ad8 <pthread_set_name_np+84>: lis r0,512 0x0ffd8adc <pthread_set_name_np+88>: li r3,1 0x0ffd8ae0: ori r0,r0,555 0x0ffd8ae4 <sched_setconfig_np+0>: sc 0x0ffd8ae8 <sched_setconfig_np+4>: mfcr r0 0x0ffd8aec <sched_setconfig_np+8>: mtctr r27 0x0ffd8af0 <sched_setconfig_np+12>: mr r3,r26 0x0ffd8af4 <sched_setconfig_np+16>: bctrl => 0x0ffd8af8 <sched_setconfig_np+20>: li r4,0 0x0ffd8afc <sched_setconfig_np+24>: mr r31,r3 0x0ffd8b00 <sched_setconfig_np+28>: lis r3,4 0x0ffd8b04 <sched_setconfig_np+32>: bl 0xffef5e0 <open@plt> 0x0ffd8b08 <sched_setconfig_np+36>: lwz r0,68(r1) End of assembler dump. Please, note, that the file, in frame 1 in not equal to the actually used one, I do not use Xenomai provided by ELDK, I compiled it separately. > > >> gdb will give you the faulty location in symbolic form. > > If you can suggest, please, how I can override loaded libraries in > > gdb, then I will repeat the tests. > > You could set solib-search-path appropriately or load them manually > using file (-readnow), but I don't think this would help in > understanding this particular issue. It somewhat behaves as if broken > Xenomai syscall code was output by the compiler - this is something > we faced a couple of times already on arm and ppc in the past years. > Checking the disassembled code surrounding the fault location may > help figuring this out. I see. Can I check somehow whether this happened? > > >> > >>> I have read in a previous messages on this list, that the > >>> CONFIG_XENO_HW_UNLOCKED_SWITCH option should be turned off, but > >>> unfortunately this did not help. > >>> > >> > >> Unlocked switching is no more an issue with 3.8.13 and beyond. > > Then I will turn it on again. > > You can also leave it off. On architectures with sane caches (e.g. > not armv5 and its aliasing issues), it basically depends on whether > shorter (real-time) interrupt latencies [on] are preferred over > shorter task scheduling latencies [off]. The difference will likely > only amount for a couple of micro-seconds max on most platforms > though, however both options are available with 3.8+ pipelines. > I see. I left it off in the tests mentioned above. -- Norbert Bukuli software engineer embedded development Mediso Ltd. Tel.: +36 1 3993 030 Fax.: +36 1 3993 040 Mailing address: Hungary, H-1047 Budapest, Baross utca 91-95. Billing address: Hungary, H-1022 Budapest, Alsotorokvesz 14. norbert.bukuli@mediso.com www.mediso.com -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 490 bytes Desc: not available URL: <http://www.xenomai.org/pipermail/xenomai/attachments/20131129/a062f4cc/attachment.sig> ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Xenomai] test suite programs crash with Illegal instruction on MPC5200 2013-11-29 10:27 ` Bukuli Norbert @ 2013-11-29 15:33 ` Philippe Gerum 2013-12-02 7:50 ` Bukuli Norbert 0 siblings, 1 reply; 23+ messages in thread From: Philippe Gerum @ 2013-11-29 15:33 UTC (permalink / raw) To: Bukuli Norbert; +Cc: Xenomai On 11/29/2013 11:27 AM, Bukuli Norbert wrote: > > > On Fri, 29 Nov 2013 10:29:56 +0100 > Philippe Gerum <rpm@xenomai.org> wrote: >> On 11/29/2013 09:41 AM, Bukuli Norbert wrote: >>> (gdb) cont >>> Continuing. >>> warning: Could not load shared library symbols for >>> linux-vdso32.so.1. Do you need "set solib-search-path" or "set >>> sysroot"? warning: .dynamic section for >>> "/opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libpthread_rt.so.1" >>> is not at the expected address (wrong library or version mismatch?) >>> warning: .dynamic section for >>> "/opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libxenomai.so.0" >>> is not at the expected address (wrong library or version mismatch?) >> >> These warnings may trigger with recent broken gdbserver releases, >> let's ignore them. >> https://sourceware.org/ml/gdb-patches/2013-06/msg00054.html > OK > >> >>> [New Thread 280] >>> >>> Program received signal SIGILL, Illegal instruction. >>> [Switching to Thread 280] >>> 0x0fdf4e74 in ?? () >>> from /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/libc.so.6 >>> >> >> (gdb) disass $pc-64 $pc+20 > (gdb) disass $pc-64,$pc+20 > Dump of assembler code from 0xfdf4e34 to 0xfdf4e88: > 0x0fdf4e34: .long 0x3894 > 0x0fdf4e38: .long 0x12b8a4 > 0x0fdf4e3c: .long 0x80 > 0x0fdf4e40: vaddfp v16,v0,v0 > 0x0fdf4e44: .long 0x19fb > 0x0fdf4e48: .long 0xe99c8 > 0x0fdf4e4c: .long 0xa0 > 0x0fdf4e50: vaddfp v16,v0,v0 > 0x0fdf4e54: .long 0x2742 > 0x0fdf4e58: .long 0xe375c > 0x0fdf4e5c: .long 0x4c > 0x0fdf4e60: subfic r16,r0,10 > 0x0fdf4e64: .long 0x378a > 0x0fdf4e68: .long 0xf834c > 0x0fdf4e6c: .long 0x58 > 0x0fdf4e70: vaddfp v16,v0,v0 > => 0x0fdf4e74: .long 0x5a3e > 0x0fdf4e78: .long 0xe286c > 0x0fdf4e7c: .long 0x68 > 0x0fdf4e80: vaddfp v16,v0,v0 > 0x0fdf4e84: .long 0x80e > End of assembler dump > >> >> would help at this point. >> >>> (gdb) bt >>> #0 0x0fdf4e74 in ?? () >>> from /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/libc.so.6 #1 >>> 0x0ffd8af8 in sched_setconfig_np () >>> from /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libpthread_rt.so.1 >>> #2 0x0ff7ba68 in start_thread (arg=0xbffffdd0) at >>> pthread_create.c:313 >> >> Is sched_setconfig_np() really the start routine given to >> pthread_create() in your application, I guess not. Or could this >> weird backtrace reveal a stack overflow? > This is the clocktest, not my trivial posix skin test. The start > routine in that is "cpu_thread()" in clocktest.c:196 in xenomai-2.6.3. > > Debugging of the trivial posix skin test (my application): > (gdb) set sysroot /opt/eldk-5.4/powerpc/sysroots/powerpc-linux > (gdb) cont > The program is not being run. > (gdb) target remote 172.31.2.11:2001 > Remote debugging using 172.31.2.11:2001 > Reading symbols from /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/ld.so.1...Reading symbols from /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/.debug/ld-2.17.so...done. > done. > Loaded symbols for /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/ld.so.1 > _start () at ../sysdeps/powerpc/powerpc32/dl-start.S:32 > 32 ../sysdeps/powerpc/powerpc32/dl-start.S: No such file or directory. > (gdb) cont > Continuing. > warning: Could not load shared library symbols for linux-vdso32.so.1. > Do you need "set solib-search-path" or "set sysroot"? > warning: .dynamic section for "/opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libpthread_rt.so.1" is not at the expected address (wrong library or version mismatch?) > warning: .dynamic section for "/opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libxenomai.so.0" is not at the expected address (wrong library or version mismatch?) > [New Thread 336] > > Program received signal SIGTRAP, Trace/breakpoint trap. > [Switching to Thread 336] > 0x480319f8 in ?? () > (gdb) bt > #0 0x480319f8 in ?? () > #1 0x0ffd8af8 in sched_setconfig_np () > from /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libpthread_rt.so.1 > #2 0x0ff7ba68 in start_thread (arg=0xbffffdd0) at pthread_create.c:313 > #3 0x4802ff18 in _rtld_global_ro () from /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/ld.so.1 > Backtrace stopped: frame did not save the PC > > (gdb) disass $pc-64,$pc+20 > Dump of assembler code from 0x480319b8 to 0x48031a0c: > 0x480319b8: .long 0x0 > 0x480319bc: .long 0x0 > 0x480319c0: .long 0x0 > 0x480319c4: .long 0x0 > 0x480319c8: .long 0x0 > 0x480319cc: .long 0x0 > 0x480319d0: cmpi cr6,1,r21,29554 > 0x480319d4: cmpi cr6,1,r24,25966 > 0x480319d8: xoris r13,r27,24937 > 0x480319dc: cmpi cr6,1,r12,26978 > 0x480319e0: cmpi cr6,1,r12,26978 > 0x480319e4: andi. r20,r3,26738 > 0x480319e8: oris r1,r11,25695 > 0x480319ec: andi. r20,r19,11891 > 0x480319f0: xoris r14,r25,12544 > 0x480319f4: .long 0x0 > => 0x480319f8: twi 31,r29,16384 > 0x480319fc: b 0x480633cc > 0x48031a00: twi 31,r30,-3476 > 0x48031a04: b 0x480636cc > 0x48031a08: b 0x48062e90 > End of assembler dump. > > (gdb) frame 1 > #1 0x0ffd8af8 in sched_setconfig_np () > from /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libpthread_rt.so.1 > (gdb) disass $pc-64,$pc+20 > Dump of assembler code from 0xffd8ab8 to 0xffd8b0c: > 0x0ffd8ab8 <pthread_set_name_np+52>: bl 0xffef720 <sigemptyset@plt> > 0x0ffd8abc <pthread_set_name_np+56>: addi r3,r31,20 > 0x0ffd8ac0 <pthread_set_name_np+60>: bl 0xffef540 <__real_sem_post@plt> > 0x0ffd8ac4 <pthread_set_name_np+64>: lwz r9,8(r1) > 0x0ffd8ac8 <pthread_set_name_np+68>: cmpw cr7,r9,r25 > 0x0ffd8acc <pthread_set_name_np+72>: beq- cr7,0xffd8b38 <sched_setconfig_np+84> > 0x0ffd8ad0 <pthread_set_name_np+76>: cmpwi cr7,r28,0 > 0x0ffd8ad4 <pthread_set_name_np+80>: beq- cr7,0xffd8aec <sched_setconfig_np+8> > 0x0ffd8ad8 <pthread_set_name_np+84>: lis r0,512 > 0x0ffd8adc <pthread_set_name_np+88>: li r3,1 > 0x0ffd8ae0: ori r0,r0,555 > 0x0ffd8ae4 <sched_setconfig_np+0>: sc > 0x0ffd8ae8 <sched_setconfig_np+4>: mfcr r0 > 0x0ffd8aec <sched_setconfig_np+8>: mtctr r27 > 0x0ffd8af0 <sched_setconfig_np+12>: mr r3,r26 > 0x0ffd8af4 <sched_setconfig_np+16>: bctrl > => 0x0ffd8af8 <sched_setconfig_np+20>: li r4,0 > 0x0ffd8afc <sched_setconfig_np+24>: mr r31,r3 > 0x0ffd8b00 <sched_setconfig_np+28>: lis r3,4 > 0x0ffd8b04 <sched_setconfig_np+32>: bl 0xffef5e0 <open@plt> > 0x0ffd8b08 <sched_setconfig_np+36>: lwz r0,68(r1) > End of assembler dump. > > Please, note, that the file, in frame 1 in not equal to the actually used one, I do not use Xenomai provided by ELDK, I compiled it separately. > Which explains why the symbol resolution in this disassembly does not make any sense. This is going to be quite hard to find out what goes wrong in your setup until we do know what code is running. Step 1. Did you ever try running the Xenomai libraries as shipped in the eldk 5.4, keeping your kernel? Does clocktest runs fine there? We need to know whether this is an issue with how your own Xenomai install is built, or if a library mismatch is at work on your setup. -- Philippe. ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Xenomai] test suite programs crash with Illegal instruction on MPC5200 2013-11-29 15:33 ` Philippe Gerum @ 2013-12-02 7:50 ` Bukuli Norbert 0 siblings, 0 replies; 23+ messages in thread From: Bukuli Norbert @ 2013-12-02 7:50 UTC (permalink / raw) To: Philippe Gerum; +Cc: Xenomai On Fri, 29 Nov 2013 16:33:24 +0100 Philippe Gerum <rpm@xenomai.org> wrote: > On 11/29/2013 11:27 AM, Bukuli Norbert wrote: > > > > > > On Fri, 29 Nov 2013 10:29:56 +0100 > > Philippe Gerum <rpm@xenomai.org> wrote: > >> On 11/29/2013 09:41 AM, Bukuli Norbert wrote: > >>> (gdb) cont > >>> Continuing. > >>> warning: Could not load shared library symbols for > >>> linux-vdso32.so.1. Do you need "set solib-search-path" or "set > >>> sysroot"? warning: .dynamic section for > >>> "/opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libpthread_rt.so.1" > >>> is not at the expected address (wrong library or version > >>> mismatch?) warning: .dynamic section for > >>> "/opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libxenomai.so.0" > >>> is not at the expected address (wrong library or version > >>> mismatch?) > >> > >> These warnings may trigger with recent broken gdbserver releases, > >> let's ignore them. > >> https://sourceware.org/ml/gdb-patches/2013-06/msg00054.html > > OK > > > >> > >>> [New Thread 280] > >>> > >>> Program received signal SIGILL, Illegal instruction. > >>> [Switching to Thread 280] > >>> 0x0fdf4e74 in ?? () > >>> from /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/libc.so.6 > >>> > >> > >> (gdb) disass $pc-64 $pc+20 > > (gdb) disass $pc-64,$pc+20 > > Dump of assembler code from 0xfdf4e34 to 0xfdf4e88: > > 0x0fdf4e34: .long 0x3894 > > 0x0fdf4e38: .long 0x12b8a4 > > 0x0fdf4e3c: .long 0x80 > > 0x0fdf4e40: vaddfp v16,v0,v0 > > 0x0fdf4e44: .long 0x19fb > > 0x0fdf4e48: .long 0xe99c8 > > 0x0fdf4e4c: .long 0xa0 > > 0x0fdf4e50: vaddfp v16,v0,v0 > > 0x0fdf4e54: .long 0x2742 > > 0x0fdf4e58: .long 0xe375c > > 0x0fdf4e5c: .long 0x4c > > 0x0fdf4e60: subfic r16,r0,10 > > 0x0fdf4e64: .long 0x378a > > 0x0fdf4e68: .long 0xf834c > > 0x0fdf4e6c: .long 0x58 > > 0x0fdf4e70: vaddfp v16,v0,v0 > > => 0x0fdf4e74: .long 0x5a3e > > 0x0fdf4e78: .long 0xe286c > > 0x0fdf4e7c: .long 0x68 > > 0x0fdf4e80: vaddfp v16,v0,v0 > > 0x0fdf4e84: .long 0x80e > > End of assembler dump > > > >> > >> would help at this point. > >> > >>> (gdb) bt > >>> #0 0x0fdf4e74 in ?? () > >>> from /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/libc.so.6 #1 > >>> 0x0ffd8af8 in sched_setconfig_np () > >>> from /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libpthread_rt.so.1 > >>> #2 0x0ff7ba68 in start_thread (arg=0xbffffdd0) at > >>> pthread_create.c:313 > >> > >> Is sched_setconfig_np() really the start routine given to > >> pthread_create() in your application, I guess not. Or could this > >> weird backtrace reveal a stack overflow? > > This is the clocktest, not my trivial posix skin test. The start > > routine in that is "cpu_thread()" in clocktest.c:196 in > > xenomai-2.6.3. > > > > Debugging of the trivial posix skin test (my application): > > (gdb) set sysroot /opt/eldk-5.4/powerpc/sysroots/powerpc-linux > > (gdb) cont > > The program is not being run. > > (gdb) target remote 172.31.2.11:2001 > > Remote debugging using 172.31.2.11:2001 > > Reading symbols > > from /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/ld.so.1...Reading > > symbols > > from /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/.debug/ld-2.17.so...done. > > done. Loaded symbols > > for /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/ld.so.1 _start > > () at ../sysdeps/powerpc/powerpc32/dl-start.S:32 > > 32 ../sysdeps/powerpc/powerpc32/dl-start.S: No such file or > > directory. (gdb) cont Continuing. warning: Could not load shared > > library symbols for linux-vdso32.so.1. Do you need "set > > solib-search-path" or "set sysroot"? warning: .dynamic section for > > "/opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libpthread_rt.so.1" > > is not at the expected address (wrong library or version mismatch?) > > warning: .dynamic section for > > "/opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libxenomai.so.0" > > is not at the expected address (wrong library or version mismatch?) > > [New Thread 336] > > > > Program received signal SIGTRAP, Trace/breakpoint trap. > > [Switching to Thread 336] > > 0x480319f8 in ?? () > > (gdb) bt > > #0 0x480319f8 in ?? () > > #1 0x0ffd8af8 in sched_setconfig_np () > > from /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libpthread_rt.so.1 > > #2 0x0ff7ba68 in start_thread (arg=0xbffffdd0) at > > pthread_create.c:313 #3 0x4802ff18 in _rtld_global_ro () > > from /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/ld.so.1 > > Backtrace stopped: frame did not save the PC > > > > (gdb) disass $pc-64,$pc+20 > > Dump of assembler code from 0x480319b8 to 0x48031a0c: > > 0x480319b8: .long 0x0 > > 0x480319bc: .long 0x0 > > 0x480319c0: .long 0x0 > > 0x480319c4: .long 0x0 > > 0x480319c8: .long 0x0 > > 0x480319cc: .long 0x0 > > 0x480319d0: cmpi cr6,1,r21,29554 > > 0x480319d4: cmpi cr6,1,r24,25966 > > 0x480319d8: xoris r13,r27,24937 > > 0x480319dc: cmpi cr6,1,r12,26978 > > 0x480319e0: cmpi cr6,1,r12,26978 > > 0x480319e4: andi. r20,r3,26738 > > 0x480319e8: oris r1,r11,25695 > > 0x480319ec: andi. r20,r19,11891 > > 0x480319f0: xoris r14,r25,12544 > > 0x480319f4: .long 0x0 > > => 0x480319f8: twi 31,r29,16384 > > 0x480319fc: b 0x480633cc > > 0x48031a00: twi 31,r30,-3476 > > 0x48031a04: b 0x480636cc > > 0x48031a08: b 0x48062e90 > > End of assembler dump. > > > > (gdb) frame 1 > > #1 0x0ffd8af8 in sched_setconfig_np () > > from /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libpthread_rt.so.1 > > (gdb) disass $pc-64,$pc+20 > > Dump of assembler code from 0xffd8ab8 to 0xffd8b0c: > > 0x0ffd8ab8 <pthread_set_name_np+52>: bl 0xffef720 > > <sigemptyset@plt> 0x0ffd8abc <pthread_set_name_np+56>: > > addi r3,r31,20 0x0ffd8ac0 <pthread_set_name_np+60>: > > bl 0xffef540 <__real_sem_post@plt> 0x0ffd8ac4 > > <pthread_set_name_np+64>: lwz r9,8(r1) 0x0ffd8ac8 > > <pthread_set_name_np+68>: cmpw cr7,r9,r25 0x0ffd8acc > > <pthread_set_name_np+72>: beq- cr7,0xffd8b38 > > <sched_setconfig_np+84> 0x0ffd8ad0 <pthread_set_name_np+76>: > > cmpwi cr7,r28,0 0x0ffd8ad4 <pthread_set_name_np+80>: > > beq- cr7,0xffd8aec <sched_setconfig_np+8> 0x0ffd8ad8 > > <pthread_set_name_np+84>: lis r0,512 0x0ffd8adc > > <pthread_set_name_np+88>: li r3,1 0x0ffd8ae0: > > ori r0,r0,555 0x0ffd8ae4 <sched_setconfig_np+0>: sc > > 0x0ffd8ae8 <sched_setconfig_np+4>: mfcr r0 0x0ffd8aec > > <sched_setconfig_np+8>: mtctr r27 0x0ffd8af0 > > <sched_setconfig_np+12>: mr r3,r26 0x0ffd8af4 > > <sched_setconfig_np+16>: bctrl => 0x0ffd8af8 > > <sched_setconfig_np+20>: li r4,0 0x0ffd8afc > > <sched_setconfig_np+24>: mr r31,r3 0x0ffd8b00 > > <sched_setconfig_np+28>: lis r3,4 0x0ffd8b04 > > <sched_setconfig_np+32>: bl 0xffef5e0 <open@plt> > > 0x0ffd8b08 <sched_setconfig_np+36>: lwz r0,68(r1) End of > > assembler dump. > > > > Please, note, that the file, in frame 1 in not equal to the > > actually used one, I do not use Xenomai provided by ELDK, I > > compiled it separately. > > > > Which explains why the symbol resolution in this disassembly does not > make any sense. This is going to be quite hard to find out what goes > wrong in your setup until we do know what code is running. I see. > > Step 1. Did you ever try running the Xenomai libraries as shipped in > the eldk 5.4, keeping your kernel? Does clocktest runs fine there? Yes, I have tried it. I kept the kernel and used the minimal-xenomai image as NFS root. Unfortunately the clocktest crash in the same way: # /usr/xenomai/bin/powerpc-linux-clocktest == Tested clock: 0 (CLOCK_REALTIME) CPU ToD offset [us] ToD drift [us/s] warps max delta [us] --- -------------------- ---------------- ---------Xenomai: Switching powerpc-linux-c to secondary mode after exception #1792 from user-space at 0x4800ce74 (pid 306) - -------------- 0 0.0 0.000 0 0.0 Illegal instruction # cat /proc/xenomai/faults TRAP CPU0 0: 0 (Data or instruction access) 1: 0 (Alignment) 2: 0 (Altivec unavailable) 3: 1 (Program check exception) 4: 0 (Machine check exception) 5: 0 (Unknown) 6: 0 (Instruction breakpoint) 7: 0 (Run mode exception) 8: 0 (Single-step exception) 9: 0 (Non-recoverable exception) 10: 0 (Software emulation) 11: 0 (Debug) 12: 0 (SPE) 13: 0 (Altivec assist) 14: 0 (Cache-locking exception) 15: 0 (Kernel FP unavailable) > > We need to know whether this is an issue with how your own Xenomai > install is built, or if a library mismatch is at work on your setup. > I do not know whether the problem exists in the kernel or in the libraries, but there is no problem with the native skin. The problem occures only when I use posix skin. This means, the regression tests corresponding to the native skin run well. Best regards: Norbert Bukuli -- Norbert Bukuli software engineer embedded development Mediso Ltd. Tel.: +36 1 3993 030 Fax.: +36 1 3993 040 Mailing address: Hungary, H-1047 Budapest, Baross utca 91-95. Billing address: Hungary, H-1022 Budapest, Alsotorokvesz 14. norbert.bukuli@mediso.com www.mediso.com -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 490 bytes Desc: not available URL: <http://www.xenomai.org/pipermail/xenomai/attachments/20131202/d475dc8d/attachment.sig> ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Xenomai] test suite programs crash with Illegal instruction on MPC5200 2013-11-29 9:29 ` Philippe Gerum 2013-11-29 9:34 ` Philippe Gerum 2013-11-29 10:27 ` Bukuli Norbert @ 2013-11-29 22:53 ` Wolfgang Denk 2013-12-02 8:50 ` Bukuli Norbert 2 siblings, 1 reply; 23+ messages in thread From: Wolfgang Denk @ 2013-11-29 22:53 UTC (permalink / raw) To: Philippe Gerum; +Cc: Xenomai Dear Philippe Gerum, In message <52985E94.4070101@xenomai.org> you wrote: > On 11/29/2013 09:41 AM, Bukuli Norbert wrote: > > (gdb) cont > > Continuing. > > warning: Could not load shared library symbols for linux-vdso32.so.1. > > Do you need "set solib-search-path" or "set sysroot"? > > warning: .dynamic section for "/opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libpthread_rt.so.1" is not at the expected address (wrong library or version mismatch?) > > warning: .dynamic section for "/opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libxenomai.so.0" is not at the expected address (wrong library or version mismatch?) > > These warnings may trigger with recent broken gdbserver releases, let's > ignore them. I don't think this is a good idea. The actual problem is in the previous warning: warning: Could not load shared library symbols for linux-vdso32.so.1. Do you need "set solib-search-path" or "set sysroot"? You must set solib-search-path. Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de After Goliath's defeat, giants ceased to command respect. - Freeman Dyson ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Xenomai] test suite programs crash with Illegal instruction on MPC5200 2013-11-29 22:53 ` Wolfgang Denk @ 2013-12-02 8:50 ` Bukuli Norbert 2013-12-02 9:15 ` Philippe Gerum 2013-12-02 9:58 ` Philippe Gerum 0 siblings, 2 replies; 23+ messages in thread From: Bukuli Norbert @ 2013-12-02 8:50 UTC (permalink / raw) To: Wolfgang Denk; +Cc: Xenomai On Fri, 29 Nov 2013 23:53:20 +0100 Wolfgang Denk <wd@denx.de> wrote: > Dear Philippe Gerum, > > In message <52985E94.4070101@xenomai.org> you wrote: > > On 11/29/2013 09:41 AM, Bukuli Norbert wrote: > > > (gdb) cont > > > Continuing. > > > warning: Could not load shared library symbols for > > > linux-vdso32.so.1. Do you need "set solib-search-path" or "set > > > sysroot"? warning: .dynamic section for > > > "/opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libpthread_rt.so.1" > > > is not at the expected address (wrong library or version > > > mismatch?) warning: .dynamic section for > > > "/opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libxenomai.so.0" > > > is not at the expected address (wrong library or version > > > mismatch?) > > > > These warnings may trigger with recent broken gdbserver releases, > > let's ignore them. > > I don't think this is a good idea. The actual problem is in the > previous warning: > > warning: Could not load shared library symbols for linux-vdso32.so.1. > Do you need "set solib-search-path" or "set sysroot"? > > You must set solib-search-path. As Philippe Gerum asked it, I have used the Xenomai libraries provided by the ELDK 5.4 and kept my kernel. In the following test I set the solib-search path and the sysroot properly, however the powerpc-linux-gdb was unable to find linux-vdso32.so.1. I installed it from the kernel with vdso_install but it creates only /lib/modules/3.8.13/vdso/vdso32.so file. What is the proper way to make the gdb know the linux-vdso32.so.1 file? Shall I create a simlink to the vdso32.so file? Anyway, after I created the simlink on the target system like this : root@generic-powerpc:/lib# ln -s /lib/modules/3.8.13/vdso/vdso32.so linux-vdso32 and on the host system like this: # cd $(POWERPC-SYSROOT)/lib/modules/3.8.13/vdso # ln -s vdso32.so linux-vdso32.so.1 gdb found all libraries. However, there is no debugging info in the shared libraries, but I think the disassembled code around the crash point will be sufficient. GDB output (irrelevant parts are removed): $ powerpc-linux-gdb usr/xenomai/bin/powerpc-linux-clocktest ... Reading symbols from /srv/tftpboot/172.31.2.11/usr/xenomai/bin/powerpc-linux-clocktest...(nodebugging symbols found)...done. (gdb) set solib-search-path "/srv/tftpboot/172.31.2.11/lib/:/srv/tftpboot/172.31.2.11/usr/lib/:/srv/tftpboot/172.31.2.11/usr/xenomai/lib/:/srv/tftpboot/172.31.2.11/lib/modules/3.8.13/vdso/ (gdb) set sysroot /opt/eldk-5.4/powerpc/sysroots/powerpc-linux (gdb) target remote 172.31.2.11:2001 Remote debugging using 172.31.2.11:2001 Reading symbols from /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/ld.so.1...Reading symbols from /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/.debug/ld-2.17.so...done. done. Loaded symbols for /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/ld.so.1 0x0ffd76e8 in ?? () (gdb) cont Continuing. [New Thread 338] Program received signal SIGILL, Illegal instruction. [Switching to Thread 338] 0x4800ce74 in ?? () (gdb) bt #0 0x4800ce74 in ?? () #1 0x0ff98534 in ?? () #2 0x0fe17a68 in ?? () #3 0x480eba4c in ?? () (gdb) info sharedlibrary >From To Syms Read Shared Object Library 0x00001ff0 0x0001b014 Yes /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/ld.so.1 0x00100360 0x00100648 No /srv/tftpboot/172.31.2.11/lib/modules/3.8.13/vdso/linux-vdso32.so.1 0x0ff979b4 0x0ff9e948 No /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libpthread_rt.so.1 0x0ff6fba0 0x0ff731d0 No /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libxenomai.so.0 0x0fe14b84 0x0fe233fc No /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/libpthread.so.0 0x480225c0 0x48135844 No /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/libc.so.6 0x0fdf1a94 0x0fdf599c No /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/librt.so.1 (gdb) disass $pc-64,$pc+20 Dump of assembler code from 0x4800ce34 to 0x4800ce88: 0x4800ce34: .long 0x3894 0x4800ce38: twi 31,r22,-18268 0x4800ce3c: .long 0x80 0x4800ce40: vaddfp v16,v0,v0 0x4800ce44: .long 0x19fb 0x4800ce48: twi 31,r18,-26168 0x4800ce4c: .long 0xa0 0x4800ce50: vaddfp v16,v0,v0 0x4800ce54: .long 0x2742 0x4800ce58: twi 31,r18,14172 0x4800ce5c: .long 0x4c 0x4800ce60: subfic r16,r0,10 0x4800ce64: .long 0x378a 0x4800ce68: twi 31,r19,-31924 0x4800ce6c: .long 0x58 0x4800ce70: vaddfp v16,v0,v0 => 0x4800ce74: .long 0x5a3e 0x4800ce78: twi 31,r18,10348 0x4800ce7c: .long 0x68 0x4800ce80: vaddfp v16,v0,v0 0x4800ce84: .long 0x80e End of assembler dump. As far as I know the ".long 0x5a3e" is not a valid instruction, is it? Can ths cause my problem? How can I provide more information about this problem? I cannot find any splitted debug information of the xenomai libraries neither in the rootfs-minimal-xenomai, nor in the rootfs-qte-xenomai-sdk. By the way, this later one probably use different compilation flags for the xenomai libraries as the earlier one, thus the splitted debug infos may be wrong. Thank you for the kind answers in advance! > > Best regards, > > Wolfgang Denk > -- Norbert Bukuli software engineer embedded development Mediso Ltd. Tel.: +36 1 3993 030 Fax.: +36 1 3993 040 Mailing address: Hungary, H-1047 Budapest, Baross utca 91-95. Billing address: Hungary, H-1022 Budapest, Alsotorokvesz 14. norbert.bukuli@mediso.com www.mediso.com -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 490 bytes Desc: not available URL: <http://www.xenomai.org/pipermail/xenomai/attachments/20131202/c40ec12a/attachment.sig> ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Xenomai] test suite programs crash with Illegal instruction on MPC5200 2013-12-02 8:50 ` Bukuli Norbert @ 2013-12-02 9:15 ` Philippe Gerum 2013-12-02 9:24 ` Bukuli Norbert 2013-12-02 9:58 ` Philippe Gerum 1 sibling, 1 reply; 23+ messages in thread From: Philippe Gerum @ 2013-12-02 9:15 UTC (permalink / raw) To: Bukuli Norbert, Wolfgang Denk; +Cc: Xenomai On 12/02/2013 09:50 AM, Bukuli Norbert wrote: > Program received signal SIGILL, Illegal instruction. > [Switching to Thread 338] > 0x4800ce74 in ?? () > > (gdb) bt > #0 0x4800ce74 in ?? () > #1 0x0ff98534 in ?? () > #2 0x0fe17a68 in ?? () > #3 0x480eba4c in ?? () > > (gdb) info sharedlibrary > From To Syms Read Shared Object Library > 0x00001ff0 0x0001b014 Yes /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/ld.so.1 > 0x00100360 0x00100648 No /srv/tftpboot/172.31.2.11/lib/modules/3.8.13/vdso/linux-vdso32.so.1 > 0x0ff979b4 0x0ff9e948 No /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libpthread_rt.so.1 For some reason, it looks like the program flow jumps to a weird location. Assuming this backtrace is right, the last location that would make sense seems to be frame #1 at 0x0ff98534 in libpthread_rt.so.1, which is Xenomai's POSIX interface library. - could you please make a full disassembly of libpthread_rt.so.1 accessible via pastebin? - we already had these kinds of events a couple of times on different architectures with new gcc releases due to, either broken TLS code generation by gcc, or some weaknesses in our inline syscall trampoline code with respect to expressing constraints. Is --with-__thread enabled when configuring the Xenomai build for libaries and programs? -- Philippe. ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Xenomai] test suite programs crash with Illegal instruction on MPC5200 2013-12-02 9:15 ` Philippe Gerum @ 2013-12-02 9:24 ` Bukuli Norbert 2013-12-02 9:41 ` Philippe Gerum 0 siblings, 1 reply; 23+ messages in thread From: Bukuli Norbert @ 2013-12-02 9:24 UTC (permalink / raw) To: Philippe Gerum; +Cc: Xenomai On Mon, 2 Dec 2013 10:15:22 +0100 Philippe Gerum <rpm@xenomai.org> wrote: > On 12/02/2013 09:50 AM, Bukuli Norbert wrote: > > > Program received signal SIGILL, Illegal instruction. > > [Switching to Thread 338] > > 0x4800ce74 in ?? () > > > > (gdb) bt > > #0 0x4800ce74 in ?? () > > #1 0x0ff98534 in ?? () > > #2 0x0fe17a68 in ?? () > > #3 0x480eba4c in ?? () > > > > (gdb) info sharedlibrary > > From To Syms Read Shared Object Library > > 0x00001ff0 0x0001b014 > > Yes /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/ld.so.1 > > 0x00100360 0x00100648 > > No /srv/tftpboot/172.31.2.11/lib/modules/3.8.13/vdso/linux-vdso32.so.1 > > 0x0ff979b4 0x0ff9e948 > > No /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libpthread_rt.so.1 > > For some reason, it looks like the program flow jumps to a weird > location. Assuming this backtrace is right, the last location that > would make sense seems to be frame #1 at 0x0ff98534 in > libpthread_rt.so.1, which is Xenomai's POSIX interface library. > > - could you please make a full disassembly of libpthread_rt.so.1 > accessible via pastebin? Of course. You can find the output of $ powerpc-linux-objdump -d libpthread_rt.so.1 here: http://pastebin.com/uywTZGfg > > - we already had these kinds of events a couple of times on different > architectures with new gcc releases due to, either broken TLS code > generation by gcc, or some weaknesses in our inline syscall > trampoline code with respect to expressing constraints. Is > --with-__thread enabled when configuring the Xenomai build for > libaries and programs? > Unfortunatelly I do not know exactly. The stock ELDK-5.4 version of libpthread_rt.so.1 is used. I will check it up. -- Norbert Bukuli software engineer embedded development Mediso Ltd. Tel.: +36 1 3993 030 Fax.: +36 1 3993 040 Mailing address: Hungary, H-1047 Budapest, Baross utca 91-95. Billing address: Hungary, H-1022 Budapest, Alsotorokvesz 14. norbert.bukuli@mediso.com www.mediso.com -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 490 bytes Desc: not available URL: <http://www.xenomai.org/pipermail/xenomai/attachments/20131202/f394c3b7/attachment.sig> ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Xenomai] test suite programs crash with Illegal instruction on MPC5200 2013-12-02 9:24 ` Bukuli Norbert @ 2013-12-02 9:41 ` Philippe Gerum 2013-12-02 9:44 ` Bukuli Norbert 0 siblings, 1 reply; 23+ messages in thread From: Philippe Gerum @ 2013-12-02 9:41 UTC (permalink / raw) To: Bukuli Norbert; +Cc: Xenomai On 12/02/2013 10:24 AM, Bukuli Norbert wrote: > > > On Mon, 2 Dec 2013 10:15:22 +0100 > Philippe Gerum <rpm@xenomai.org> wrote: >> On 12/02/2013 09:50 AM, Bukuli Norbert wrote: >> >>> Program received signal SIGILL, Illegal instruction. >>> [Switching to Thread 338] >>> 0x4800ce74 in ?? () >>> >>> (gdb) bt >>> #0 0x4800ce74 in ?? () >>> #1 0x0ff98534 in ?? () >>> #2 0x0fe17a68 in ?? () >>> #3 0x480eba4c in ?? () >>> >>> (gdb) info sharedlibrary >>> From To Syms Read Shared Object Library >>> 0x00001ff0 0x0001b014 >>> Yes /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/ld.so.1 >>> 0x00100360 0x00100648 >>> No /srv/tftpboot/172.31.2.11/lib/modules/3.8.13/vdso/linux-vdso32.so.1 >>> 0x0ff979b4 0x0ff9e948 >>> No /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libpthread_rt.so.1 >> >> For some reason, it looks like the program flow jumps to a weird >> location. Assuming this backtrace is right, the last location that >> would make sense seems to be frame #1 at 0x0ff98534 in >> libpthread_rt.so.1, which is Xenomai's POSIX interface library. >> >> - could you please make a full disassembly of libpthread_rt.so.1 >> accessible via pastebin? > > Of course. You can find the output of > $ powerpc-linux-objdump -d libpthread_rt.so.1 > here: > http://pastebin.com/uywTZGfg > Ok, thanks. I will have a look. >> >> - we already had these kinds of events a couple of times on different >> architectures with new gcc releases due to, either broken TLS code >> generation by gcc, or some weaknesses in our inline syscall >> trampoline code with respect to expressing constraints. Is >> --with-__thread enabled when configuring the Xenomai build for >> libaries and programs? >> > Unfortunatelly I do not know exactly. The stock ELDK-5.4 version of > libpthread_rt.so.1 is used. I will check it up. > Please don't bother. From the disassembly you just sent, TLS support is not used (--with-__thread disabled). -- Philippe. ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Xenomai] test suite programs crash with Illegal instruction on MPC5200 2013-12-02 9:41 ` Philippe Gerum @ 2013-12-02 9:44 ` Bukuli Norbert 0 siblings, 0 replies; 23+ messages in thread From: Bukuli Norbert @ 2013-12-02 9:44 UTC (permalink / raw) To: Philippe Gerum; +Cc: Xenomai On Mon, 2 Dec 2013 10:41:48 +0100 Philippe Gerum <rpm@xenomai.org> wrote: > On 12/02/2013 10:24 AM, Bukuli Norbert wrote: > > > > > > On Mon, 2 Dec 2013 10:15:22 +0100 > > Philippe Gerum <rpm@xenomai.org> wrote: > >> On 12/02/2013 09:50 AM, Bukuli Norbert wrote: > >> > >>> Program received signal SIGILL, Illegal instruction. > >>> [Switching to Thread 338] > >>> 0x4800ce74 in ?? () > >>> > >>> (gdb) bt > >>> #0 0x4800ce74 in ?? () > >>> #1 0x0ff98534 in ?? () > >>> #2 0x0fe17a68 in ?? () > >>> #3 0x480eba4c in ?? () > >>> > >>> (gdb) info sharedlibrary > >>> From To Syms Read Shared Object Library > >>> 0x00001ff0 0x0001b014 > >>> Yes /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/ld.so.1 > >>> 0x00100360 0x00100648 > >>> No /srv/tftpboot/172.31.2.11/lib/modules/3.8.13/vdso/linux-vdso32.so.1 > >>> 0x0ff979b4 0x0ff9e948 > >>> No /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libpthread_rt.so.1 > >> > >> For some reason, it looks like the program flow jumps to a weird > >> location. Assuming this backtrace is right, the last location that > >> would make sense seems to be frame #1 at 0x0ff98534 in > >> libpthread_rt.so.1, which is Xenomai's POSIX interface library. > >> > >> - could you please make a full disassembly of libpthread_rt.so.1 > >> accessible via pastebin? > > > > Of course. You can find the output of > > $ powerpc-linux-objdump -d libpthread_rt.so.1 > > here: > > http://pastebin.com/uywTZGfg > > > > Ok, thanks. I will have a look. Thank you! > > >> > >> - we already had these kinds of events a couple of times on > >> different architectures with new gcc releases due to, either > >> broken TLS code generation by gcc, or some weaknesses in our > >> inline syscall trampoline code with respect to expressing > >> constraints. Is --with-__thread enabled when configuring the > >> Xenomai build for libaries and programs? > >> > > Unfortunatelly I do not know exactly. The stock ELDK-5.4 version of > > libpthread_rt.so.1 is used. I will check it up. > > > > Please don't bother. From the disassembly you just sent, TLS support > is not used (--with-__thread disabled). > All right. -- Norbert Bukuli software engineer embedded development Mediso Ltd. Tel.: +36 1 3993 030 Fax.: +36 1 3993 040 Mailing address: Hungary, H-1047 Budapest, Baross utca 91-95. Billing address: Hungary, H-1022 Budapest, Alsotorokvesz 14. norbert.bukuli@mediso.com www.mediso.com -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 490 bytes Desc: not available URL: <http://www.xenomai.org/pipermail/xenomai/attachments/20131202/c0cee77d/attachment.sig> ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Xenomai] test suite programs crash with Illegal instruction on MPC5200 2013-12-02 8:50 ` Bukuli Norbert 2013-12-02 9:15 ` Philippe Gerum @ 2013-12-02 9:58 ` Philippe Gerum 2013-12-02 10:16 ` Bukuli Norbert 1 sibling, 1 reply; 23+ messages in thread From: Philippe Gerum @ 2013-12-02 9:58 UTC (permalink / raw) To: Bukuli Norbert, Wolfgang Denk; +Cc: Xenomai On 12/02/2013 09:50 AM, Bukuli Norbert wrote: > > > On Fri, 29 Nov 2013 23:53:20 +0100 > Wolfgang Denk <wd@denx.de> wrote: >> Dear Philippe Gerum, >> >> In message <52985E94.4070101@xenomai.org> you wrote: >>> On 11/29/2013 09:41 AM, Bukuli Norbert wrote: >>>> (gdb) cont >>>> Continuing. >>>> warning: Could not load shared library symbols for >>>> linux-vdso32.so.1. Do you need "set solib-search-path" or "set >>>> sysroot"? warning: .dynamic section for >>>> "/opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libpthread_rt.so.1" >>>> is not at the expected address (wrong library or version >>>> mismatch?) warning: .dynamic section for >>>> "/opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libxenomai.so.0" >>>> is not at the expected address (wrong library or version >>>> mismatch?) >>> >>> These warnings may trigger with recent broken gdbserver releases, >>> let's ignore them. >> >> I don't think this is a good idea. The actual problem is in the >> previous warning: >> >> warning: Could not load shared library symbols for linux-vdso32.so.1. >> Do you need "set solib-search-path" or "set sysroot"? >> >> You must set solib-search-path. > > As Philippe Gerum asked it, I have used the Xenomai libraries provided > by the ELDK 5.4 and kept my kernel. In the following test I set the > solib-search path and the sysroot properly, however the > powerpc-linux-gdb was unable to find linux-vdso32.so.1. I installed it > from the kernel with vdso_install but it creates > only /lib/modules/3.8.13/vdso/vdso32.so file. > > What is the proper way to make the gdb know the linux-vdso32.so.1 file? > Shall I create a simlink to the vdso32.so file? > > Anyway, after I created the simlink on the target system like this : > root@generic-powerpc:/lib# ln -s /lib/modules/3.8.13/vdso/vdso32.so linux-vdso32 > > and on the host system like this: > # cd $(POWERPC-SYSROOT)/lib/modules/3.8.13/vdso > # ln -s vdso32.so linux-vdso32.so.1 > > gdb found all libraries. However, there is no debugging info in the shared libraries, but I think the disassembled code around the crash point will be sufficient. > > GDB output (irrelevant parts are removed): > $ powerpc-linux-gdb usr/xenomai/bin/powerpc-linux-clocktest > ... > Reading symbols from /srv/tftpboot/172.31.2.11/usr/xenomai/bin/powerpc-linux-clocktest...(nodebugging symbols found)...done. > > (gdb) set solib-search-path "/srv/tftpboot/172.31.2.11/lib/:/srv/tftpboot/172.31.2.11/usr/lib/:/srv/tftpboot/172.31.2.11/usr/xenomai/lib/:/srv/tftpboot/172.31.2.11/lib/modules/3.8.13/vdso/ > (gdb) set sysroot /opt/eldk-5.4/powerpc/sysroots/powerpc-linux > > (gdb) target remote 172.31.2.11:2001 > Remote debugging using 172.31.2.11:2001 > Reading symbols from /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/ld.so.1...Reading symbols from /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/.debug/ld-2.17.so...done. > done. > Loaded symbols for /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/ld.so.1 > 0x0ffd76e8 in ?? () > > (gdb) cont > Continuing. > [New Thread 338] > > Program received signal SIGILL, Illegal instruction. > [Switching to Thread 338] > 0x4800ce74 in ?? () > > (gdb) bt > #0 0x4800ce74 in ?? () > #1 0x0ff98534 in ?? () > #2 0x0fe17a68 in ?? () > #3 0x480eba4c in ?? () > > (gdb) info sharedlibrary > From To Syms Read Shared Object Library > 0x00001ff0 0x0001b014 Yes /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/ld.so.1 > 0x00100360 0x00100648 No /srv/tftpboot/172.31.2.11/lib/modules/3.8.13/vdso/linux-vdso32.so.1 > 0x0ff979b4 0x0ff9e948 No /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libpthread_rt.so.1 > 0x0ff6fba0 0x0ff731d0 No /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libxenomai.so.0 > 0x0fe14b84 0x0fe233fc No /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/libpthread.so.0 > 0x480225c0 0x48135844 No /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/libc.so.6 > 0x0fdf1a94 0x0fdf599c No /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/librt.so.1 > > (gdb) disass $pc-64,$pc+20 > Dump of assembler code from 0x4800ce34 to 0x4800ce88: > 0x4800ce34: .long 0x3894 > 0x4800ce38: twi 31,r22,-18268 > 0x4800ce3c: .long 0x80 > 0x4800ce40: vaddfp v16,v0,v0 > 0x4800ce44: .long 0x19fb > 0x4800ce48: twi 31,r18,-26168 > 0x4800ce4c: .long 0xa0 > 0x4800ce50: vaddfp v16,v0,v0 > 0x4800ce54: .long 0x2742 > 0x4800ce58: twi 31,r18,14172 > 0x4800ce5c: .long 0x4c > 0x4800ce60: subfic r16,r0,10 > 0x4800ce64: .long 0x378a > 0x4800ce68: twi 31,r19,-31924 > 0x4800ce6c: .long 0x58 > 0x4800ce70: vaddfp v16,v0,v0 > => 0x4800ce74: .long 0x5a3e > 0x4800ce78: twi 31,r18,10348 > 0x4800ce7c: .long 0x68 > 0x4800ce80: vaddfp v16,v0,v0 > 0x4800ce84: .long 0x80e > End of assembler dump. > While we are at it, could please you paste-bin a larger disassembly ( $pc-256, $pc + 256) of frame #1, just below this one? I'd like to see the call site. Also, could you paste-bin the disassembly of libxenomai.so? TIA, -- Philippe. ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Xenomai] test suite programs crash with Illegal instruction on MPC5200 2013-12-02 9:58 ` Philippe Gerum @ 2013-12-02 10:16 ` Bukuli Norbert 2013-12-09 14:52 ` Bukuli Norbert 0 siblings, 1 reply; 23+ messages in thread From: Bukuli Norbert @ 2013-12-02 10:16 UTC (permalink / raw) To: Philippe Gerum; +Cc: Xenomai On Mon, 2 Dec 2013 10:58:42 +0100 Philippe Gerum <rpm@xenomai.org> wrote: > On 12/02/2013 09:50 AM, Bukuli Norbert wrote: > > > > > > On Fri, 29 Nov 2013 23:53:20 +0100 > > Wolfgang Denk <wd@denx.de> wrote: > >> Dear Philippe Gerum, > >> > >> In message <52985E94.4070101@xenomai.org> you wrote: > >>> On 11/29/2013 09:41 AM, Bukuli Norbert wrote: > >>>> (gdb) cont > >>>> Continuing. > >>>> warning: Could not load shared library symbols for > >>>> linux-vdso32.so.1. Do you need "set solib-search-path" or "set > >>>> sysroot"? warning: .dynamic section for > >>>> "/opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libpthread_rt.so.1" > >>>> is not at the expected address (wrong library or version > >>>> mismatch?) warning: .dynamic section for > >>>> "/opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libxenomai.so.0" > >>>> is not at the expected address (wrong library or version > >>>> mismatch?) > >>> > >>> These warnings may trigger with recent broken gdbserver releases, > >>> let's ignore them. > >> > >> I don't think this is a good idea. The actual problem is in the > >> previous warning: > >> > >> warning: Could not load shared library symbols for > >> linux-vdso32.so.1. Do you need "set solib-search-path" or "set > >> sysroot"? > >> > >> You must set solib-search-path. > > > > As Philippe Gerum asked it, I have used the Xenomai libraries > > provided by the ELDK 5.4 and kept my kernel. In the following test > > I set the solib-search path and the sysroot properly, however the > > powerpc-linux-gdb was unable to find linux-vdso32.so.1. I installed > > it from the kernel with vdso_install but it creates > > only /lib/modules/3.8.13/vdso/vdso32.so file. > > > > What is the proper way to make the gdb know the linux-vdso32.so.1 > > file? Shall I create a simlink to the vdso32.so file? > > > > Anyway, after I created the simlink on the target system like this : > > root@generic-powerpc:/lib# ln -s /lib/modules/3.8.13/vdso/vdso32.so > > linux-vdso32 > > > > and on the host system like this: > > # cd $(POWERPC-SYSROOT)/lib/modules/3.8.13/vdso > > # ln -s vdso32.so linux-vdso32.so.1 > > > > gdb found all libraries. However, there is no debugging info in the > > shared libraries, but I think the disassembled code around the > > crash point will be sufficient. > > > > GDB output (irrelevant parts are removed): > > $ powerpc-linux-gdb usr/xenomai/bin/powerpc-linux-clocktest > > ... > > Reading symbols > > from /srv/tftpboot/172.31.2.11/usr/xenomai/bin/powerpc-linux-clocktest...(nodebugging > > symbols found)...done. > > > > (gdb) set solib-search-path > > "/srv/tftpboot/172.31.2.11/lib/:/srv/tftpboot/172.31.2.11/usr/lib/:/srv/tftpboot/172.31.2.11/usr/xenomai/lib/:/srv/tftpboot/172.31.2.11/lib/modules/3.8.13/vdso/ > > (gdb) set sysroot /opt/eldk-5.4/powerpc/sysroots/powerpc-linux > > > > (gdb) target remote 172.31.2.11:2001 > > Remote debugging using 172.31.2.11:2001 > > Reading symbols > > from /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/ld.so.1...Reading > > symbols > > from /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/.debug/ld-2.17.so...done. > > done. Loaded symbols > > for /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/ld.so.1 > > 0x0ffd76e8 in ?? () > > > > (gdb) cont > > Continuing. > > [New Thread 338] > > > > Program received signal SIGILL, Illegal instruction. > > [Switching to Thread 338] > > 0x4800ce74 in ?? () > > > > (gdb) bt > > #0 0x4800ce74 in ?? () > > #1 0x0ff98534 in ?? () > > #2 0x0fe17a68 in ?? () > > #3 0x480eba4c in ?? () > > > > (gdb) info sharedlibrary > > From To Syms Read Shared Object Library > > 0x00001ff0 0x0001b014 > > Yes /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/ld.so.1 > > 0x00100360 0x00100648 > > No /srv/tftpboot/172.31.2.11/lib/modules/3.8.13/vdso/linux-vdso32.so.1 > > 0x0ff979b4 0x0ff9e948 > > No /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libpthread_rt.so.1 > > 0x0ff6fba0 0x0ff731d0 > > No /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libxenomai.so.0 > > 0x0fe14b84 0x0fe233fc > > No /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/libpthread.so.0 > > 0x480225c0 0x48135844 > > No /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/libc.so.6 > > 0x0fdf1a94 0x0fdf599c > > No /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/librt.so.1 > > > > (gdb) disass $pc-64,$pc+20 > > Dump of assembler code from 0x4800ce34 to 0x4800ce88: > > 0x4800ce34: .long 0x3894 > > 0x4800ce38: twi 31,r22,-18268 > > 0x4800ce3c: .long 0x80 > > 0x4800ce40: vaddfp v16,v0,v0 > > 0x4800ce44: .long 0x19fb > > 0x4800ce48: twi 31,r18,-26168 > > 0x4800ce4c: .long 0xa0 > > 0x4800ce50: vaddfp v16,v0,v0 > > 0x4800ce54: .long 0x2742 > > 0x4800ce58: twi 31,r18,14172 > > 0x4800ce5c: .long 0x4c > > 0x4800ce60: subfic r16,r0,10 > > 0x4800ce64: .long 0x378a > > 0x4800ce68: twi 31,r19,-31924 > > 0x4800ce6c: .long 0x58 > > 0x4800ce70: vaddfp v16,v0,v0 > > => 0x4800ce74: .long 0x5a3e > > 0x4800ce78: twi 31,r18,10348 > > 0x4800ce7c: .long 0x68 > > 0x4800ce80: vaddfp v16,v0,v0 > > 0x4800ce84: .long 0x80e > > End of assembler dump. > > > > While we are at it, could please you paste-bin a larger disassembly ( > $pc-256, $pc + 256) of frame #1, just below this one? I'd like to see > the call site. This is the disassembly of frame #1 0x0ff98434: stw r27,44(r1) 0x0ff98438: stw r29,52(r1) 0x0ff9843c: bl 0xffaf2e0 0x0ff98440: stw r3,16(r1) 0x0ff98444: stw r3,24(r1) 0x0ff98448: bl 0xffaf278 0x0ff9844c: lwz r9,16(r31) 0x0ff98450: mr r5,r1 0x0ff98454: lwz r28,8(r31) 0x0ff98458: stwu r9,8(r5) 0x0ff9845c: lwz r3,24(r1) 0x0ff98460: mr r4,r28 0x0ff98464: lwz r25,12(r31) 0x0ff98468: bl 0xffaf548 0x0ff9846c: lwz r9,-32768(r30) 0x0ff98470: lwz r3,16(r1) 0x0ff98474: addi r6,r1,12 0x0ff98478: lwz r0,0(r9) 0x0ff9847c: lwz r4,8(r31) 0x0ff98480: ori r0,r0,555 0x0ff98484: lwz r5,16(r31) 0x0ff98488: sc 0x0ff9848c: mfcr r0 0x0ff98490: andis. r9,r0,4096 0x0ff98494: beq- 0xff9849c 0x0ff98498: neg r3,r3 0x0ff9849c: cmpwi cr7,r3,0 0x0ff984a0: neg r29,r3 0x0ff984a4: stw r29,36(r31) 0x0ff984a8: lwz r27,0(r31) 0x0ff984ac: lwz r26,4(r31) 0x0ff984b0: beq- cr7,0xff984ec 0x0ff984b4: addi r3,r31,20 0x0ff984b8: bl 0xffaf3d8 0x0ff984bc: lwz r0,68(r1) 0x0ff984c0: mr r3,r29 0x0ff984c4: lwz r25,36(r1) 0x0ff984c8: mtlr r0 0x0ff984cc: lwz r26,40(r1) 0x0ff984d0: lwz r27,44(r1) 0x0ff984d4: lwz r28,48(r1) 0x0ff984d8: lwz r29,52(r1) 0x0ff984dc: lwz r30,56(r1) 0x0ff984e0: lwz r31,60(r1) 0x0ff984e4: addi r1,r1,64 0x0ff984e8: blr 0x0ff984ec: bl 0xffaf488 0x0ff984f0: lwz r3,12(r1) 0x0ff984f4: bl 0xffaf590 0x0ff984f8: addi r3,r31,20 0x0ff984fc: bl 0xffaf3d8 0x0ff98500: lwz r9,8(r1) 0x0ff98504: cmpw cr7,r9,r25 0x0ff98508: beq- cr7,0xff98560 0x0ff9850c: cmpwi cr7,r28,0 0x0ff98510: beq- cr7,0xff98528 0x0ff98514: lis r0,512 0x0ff98518: li r3,1 0x0ff9851c: ori r0,r0,555 0x0ff98520: sc 0x0ff98524: mfcr r0 0x0ff98528: mr r3,r26 0x0ff9852c: mtctr r27 0x0ff98530: bctrl => 0x0ff98534: lwz r0,68(r1) 0x0ff98538: lwz r25,36(r1) 0x0ff9853c: mtlr r0 0x0ff98540: lwz r26,40(r1) 0x0ff98544: lwz r27,44(r1) 0x0ff98548: lwz r28,48(r1) 0x0ff9854c: lwz r29,52(r1) 0x0ff98550: lwz r30,56(r1) 0x0ff98554: lwz r31,60(r1) 0x0ff98558: addi r1,r1,64 0x0ff9855c: blr 0x0ff98560: bl 0xffaf550 0x0ff98564: b 0xff9850c 0x0ff98568: b 0xffaf550 0x0ff9856c: .long 0x1eb0c 0x0ff98570: stwu r1,-128(r1) 0x0ff98574: mflr r0 0x0ff98578: bcl- 20,4*cr7+so,0xff9857c 0x0ff9857c: stw r30,120(r1) 0x0ff98580: mflr r30 0x0ff98584: stw r29,116(r1) 0x0ff98588: mr. r29,r4 0x0ff9858c: stw r0,132(r1) 0x0ff98590: lwz r0,-16(r30) 0x0ff98594: stw r26,104(r1) 0x0ff98598: mr r26,r3 0x0ff9859c: add r30,r0,r30 0x0ff985a0: stw r27,108(r1) 0x0ff985a4: stw r28,112(r1) 0x0ff985a8: mr r27,r5 0x0ff985ac: stw r31,124(r1) 0x0ff985b0: mr r28,r6 0x0ff985b4: lwz r31,-32764(r30) 0x0ff985b8: beq- 0xff98778 0x0ff985bc: addi r4,r1,92 0x0ff985c0: mr r3,r29 0x0ff985c4: bl 0xffaf400 0x0ff985c8: bl 0xffaf2e0 0x0ff985cc: addi r4,r1,16 0x0ff985d0: addi r5,r1,96 0x0ff985d4: bl 0xffaf480 0x0ff985d8: lwz r10,92(r1) 0x0ff985dc: lwz r9,96(r1) 0x0ff985e0: cmpwi cr7,r10,1 0x0ff985e4: stw r9,20(r1) 0x0ff985e8: beq- cr7,0xff987ac 0x0ff985ec: addi r3,r1,48 0x0ff985f0: mr r4,r29 0x0ff985f4: li r5,36 0x0ff985f8: stw r9,24(r1) 0x0ff985fc: bl 0xffaf2d8 0x0ff98600: lwz r9,36(r31) 0x0ff98604: cmpwi cr7,r9,0 0x0ff98608: beq- cr7,0xff98618 0x0ff9860c: bl 0xffaf358 0x0ff98610: cmpwi cr7,r3,0 0x0ff98614: bne- cr7,0xff98748 0x0ff98618: addi r3,r1,48 0x0ff9861c: li r4,0 0x0ff98620: bl 0xffaf440 0x0ff98624: addi r3,r1,48 0x0ff98628: addi r4,r1,84 0x0ff9862c: bl 0xffaf4d8 0x0ff98630: lwz r3,40(r31) > > Also, could you paste-bin the disassembly of libxenomai.so? You can find it here: http://pastebin.com/YjUDZRMp > > TIA, > You are welcome! TIA, too! -- Norbert Bukuli software engineer embedded development Mediso Ltd. Tel.: +36 1 3993 030 Fax.: +36 1 3993 040 Mailing address: Hungary, H-1047 Budapest, Baross utca 91-95. Billing address: Hungary, H-1022 Budapest, Alsotorokvesz 14. norbert.bukuli@mediso.com www.mediso.com -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 490 bytes Desc: not available URL: <http://www.xenomai.org/pipermail/xenomai/attachments/20131202/91af35e9/attachment.sig> ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Xenomai] test suite programs crash with Illegal instruction on MPC5200 2013-12-02 10:16 ` Bukuli Norbert @ 2013-12-09 14:52 ` Bukuli Norbert 0 siblings, 0 replies; 23+ messages in thread From: Bukuli Norbert @ 2013-12-09 14:52 UTC (permalink / raw) To: Xenomai On Mon, 2 Dec 2013 11:16:34 +0100 Bukuli Norbert <norbert.bukuli@mediso.hu> wrote: > > > On Mon, 2 Dec 2013 10:58:42 +0100 > Philippe Gerum <rpm@xenomai.org> wrote: > > On 12/02/2013 09:50 AM, Bukuli Norbert wrote: > > > > > > > > > On Fri, 29 Nov 2013 23:53:20 +0100 > > > Wolfgang Denk <wd@denx.de> wrote: > > >> Dear Philippe Gerum, > > >> > > >> In message <52985E94.4070101@xenomai.org> you wrote: > > >>> On 11/29/2013 09:41 AM, Bukuli Norbert wrote: > > >>>> (gdb) cont > > >>>> Continuing. > > >>>> warning: Could not load shared library symbols for > > >>>> linux-vdso32.so.1. Do you need "set solib-search-path" or "set > > >>>> sysroot"? warning: .dynamic section for > > >>>> "/opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libpthread_rt.so.1" > > >>>> is not at the expected address (wrong library or version > > >>>> mismatch?) warning: .dynamic section for > > >>>> "/opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libxenomai.so.0" > > >>>> is not at the expected address (wrong library or version > > >>>> mismatch?) > > >>> > > >>> These warnings may trigger with recent broken gdbserver > > >>> releases, let's ignore them. > > >> > > >> I don't think this is a good idea. The actual problem is in the > > >> previous warning: > > >> > > >> warning: Could not load shared library symbols for > > >> linux-vdso32.so.1. Do you need "set solib-search-path" or "set > > >> sysroot"? > > >> > > >> You must set solib-search-path. > > > > > > As Philippe Gerum asked it, I have used the Xenomai libraries > > > provided by the ELDK 5.4 and kept my kernel. In the following test > > > I set the solib-search path and the sysroot properly, however the > > > powerpc-linux-gdb was unable to find linux-vdso32.so.1. I > > > installed it from the kernel with vdso_install but it creates > > > only /lib/modules/3.8.13/vdso/vdso32.so file. > > > > > > What is the proper way to make the gdb know the linux-vdso32.so.1 > > > file? Shall I create a simlink to the vdso32.so file? > > > > > > Anyway, after I created the simlink on the target system like > > > this : root@generic-powerpc:/lib# ln > > > -s /lib/modules/3.8.13/vdso/vdso32.so linux-vdso32 > > > > > > and on the host system like this: > > > # cd $(POWERPC-SYSROOT)/lib/modules/3.8.13/vdso > > > # ln -s vdso32.so linux-vdso32.so.1 > > > > > > gdb found all libraries. However, there is no debugging info in > > > the shared libraries, but I think the disassembled code around the > > > crash point will be sufficient. > > > > > > GDB output (irrelevant parts are removed): > > > $ powerpc-linux-gdb usr/xenomai/bin/powerpc-linux-clocktest > > > ... > > > Reading symbols > > > from /srv/tftpboot/172.31.2.11/usr/xenomai/bin/powerpc-linux-clocktest...(nodebugging > > > symbols found)...done. > > > > > > (gdb) set solib-search-path > > > "/srv/tftpboot/172.31.2.11/lib/:/srv/tftpboot/172.31.2.11/usr/lib/:/srv/tftpboot/172.31.2.11/usr/xenomai/lib/:/srv/tftpboot/172.31.2.11/lib/modules/3.8.13/vdso/ > > > (gdb) set sysroot /opt/eldk-5.4/powerpc/sysroots/powerpc-linux > > > > > > (gdb) target remote 172.31.2.11:2001 > > > Remote debugging using 172.31.2.11:2001 > > > Reading symbols > > > from /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/ld.so.1...Reading > > > symbols > > > from /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/.debug/ld-2.17.so...done. > > > done. Loaded symbols > > > for /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/ld.so.1 > > > 0x0ffd76e8 in ?? () > > > > > > (gdb) cont > > > Continuing. > > > [New Thread 338] > > > > > > Program received signal SIGILL, Illegal instruction. > > > [Switching to Thread 338] > > > 0x4800ce74 in ?? () > > > > > > (gdb) bt > > > #0 0x4800ce74 in ?? () > > > #1 0x0ff98534 in ?? () > > > #2 0x0fe17a68 in ?? () > > > #3 0x480eba4c in ?? () > > > > > > (gdb) info sharedlibrary > > > From To Syms Read Shared Object Library > > > 0x00001ff0 0x0001b014 > > > Yes /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/ld.so.1 > > > 0x00100360 0x00100648 > > > No /srv/tftpboot/172.31.2.11/lib/modules/3.8.13/vdso/linux-vdso32.so.1 > > > 0x0ff979b4 0x0ff9e948 > > > No /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libpthread_rt.so.1 > > > 0x0ff6fba0 0x0ff731d0 > > > No /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/usr/xenomai/lib/libxenomai.so.0 > > > 0x0fe14b84 0x0fe233fc > > > No /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/libpthread.so.0 > > > 0x480225c0 0x48135844 > > > No /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/libc.so.6 > > > 0x0fdf1a94 0x0fdf599c > > > No /opt/eldk-5.4/powerpc/sysroots/powerpc-linux/lib/librt.so.1 > > > > > > (gdb) disass $pc-64,$pc+20 > > > Dump of assembler code from 0x4800ce34 to 0x4800ce88: > > > 0x4800ce34: .long 0x3894 > > > 0x4800ce38: twi 31,r22,-18268 > > > 0x4800ce3c: .long 0x80 > > > 0x4800ce40: vaddfp v16,v0,v0 > > > 0x4800ce44: .long 0x19fb > > > 0x4800ce48: twi 31,r18,-26168 > > > 0x4800ce4c: .long 0xa0 > > > 0x4800ce50: vaddfp v16,v0,v0 > > > 0x4800ce54: .long 0x2742 > > > 0x4800ce58: twi 31,r18,14172 > > > 0x4800ce5c: .long 0x4c > > > 0x4800ce60: subfic r16,r0,10 > > > 0x4800ce64: .long 0x378a > > > 0x4800ce68: twi 31,r19,-31924 > > > 0x4800ce6c: .long 0x58 > > > 0x4800ce70: vaddfp v16,v0,v0 > > > => 0x4800ce74: .long 0x5a3e > > > 0x4800ce78: twi 31,r18,10348 > > > 0x4800ce7c: .long 0x68 > > > 0x4800ce80: vaddfp v16,v0,v0 > > > 0x4800ce84: .long 0x80e > > > End of assembler dump. > > > > > > > While we are at it, could please you paste-bin a larger disassembly > > ( $pc-256, $pc + 256) of frame #1, just below this one? I'd like to > > see the call site. > > This is the disassembly of frame #1 > 0x0ff98434: stw r27,44(r1) > 0x0ff98438: stw r29,52(r1) > 0x0ff9843c: bl 0xffaf2e0 > 0x0ff98440: stw r3,16(r1) > 0x0ff98444: stw r3,24(r1) > 0x0ff98448: bl 0xffaf278 > 0x0ff9844c: lwz r9,16(r31) > 0x0ff98450: mr r5,r1 > 0x0ff98454: lwz r28,8(r31) > 0x0ff98458: stwu r9,8(r5) > 0x0ff9845c: lwz r3,24(r1) > 0x0ff98460: mr r4,r28 > 0x0ff98464: lwz r25,12(r31) > 0x0ff98468: bl 0xffaf548 > 0x0ff9846c: lwz r9,-32768(r30) > 0x0ff98470: lwz r3,16(r1) > 0x0ff98474: addi r6,r1,12 > 0x0ff98478: lwz r0,0(r9) > 0x0ff9847c: lwz r4,8(r31) > 0x0ff98480: ori r0,r0,555 > 0x0ff98484: lwz r5,16(r31) > 0x0ff98488: sc > 0x0ff9848c: mfcr r0 > 0x0ff98490: andis. r9,r0,4096 > 0x0ff98494: beq- 0xff9849c > 0x0ff98498: neg r3,r3 > 0x0ff9849c: cmpwi cr7,r3,0 > 0x0ff984a0: neg r29,r3 > 0x0ff984a4: stw r29,36(r31) > 0x0ff984a8: lwz r27,0(r31) > 0x0ff984ac: lwz r26,4(r31) > 0x0ff984b0: beq- cr7,0xff984ec > 0x0ff984b4: addi r3,r31,20 > 0x0ff984b8: bl 0xffaf3d8 > 0x0ff984bc: lwz r0,68(r1) > 0x0ff984c0: mr r3,r29 > 0x0ff984c4: lwz r25,36(r1) > 0x0ff984c8: mtlr r0 > 0x0ff984cc: lwz r26,40(r1) > 0x0ff984d0: lwz r27,44(r1) > 0x0ff984d4: lwz r28,48(r1) > 0x0ff984d8: lwz r29,52(r1) > 0x0ff984dc: lwz r30,56(r1) > 0x0ff984e0: lwz r31,60(r1) > 0x0ff984e4: addi r1,r1,64 > 0x0ff984e8: blr > 0x0ff984ec: bl 0xffaf488 > 0x0ff984f0: lwz r3,12(r1) > 0x0ff984f4: bl 0xffaf590 > 0x0ff984f8: addi r3,r31,20 > 0x0ff984fc: bl 0xffaf3d8 > 0x0ff98500: lwz r9,8(r1) > 0x0ff98504: cmpw cr7,r9,r25 > 0x0ff98508: beq- cr7,0xff98560 > 0x0ff9850c: cmpwi cr7,r28,0 > 0x0ff98510: beq- cr7,0xff98528 > 0x0ff98514: lis r0,512 > 0x0ff98518: li r3,1 > 0x0ff9851c: ori r0,r0,555 > 0x0ff98520: sc > 0x0ff98524: mfcr r0 > 0x0ff98528: mr r3,r26 > 0x0ff9852c: mtctr r27 > 0x0ff98530: bctrl > => 0x0ff98534: lwz r0,68(r1) > 0x0ff98538: lwz r25,36(r1) > 0x0ff9853c: mtlr r0 > 0x0ff98540: lwz r26,40(r1) > 0x0ff98544: lwz r27,44(r1) > 0x0ff98548: lwz r28,48(r1) > 0x0ff9854c: lwz r29,52(r1) > 0x0ff98550: lwz r30,56(r1) > 0x0ff98554: lwz r31,60(r1) > 0x0ff98558: addi r1,r1,64 > 0x0ff9855c: blr > 0x0ff98560: bl 0xffaf550 > 0x0ff98564: b 0xff9850c > 0x0ff98568: b 0xffaf550 > 0x0ff9856c: .long 0x1eb0c > 0x0ff98570: stwu r1,-128(r1) > 0x0ff98574: mflr r0 > 0x0ff98578: bcl- 20,4*cr7+so,0xff9857c > 0x0ff9857c: stw r30,120(r1) > 0x0ff98580: mflr r30 > 0x0ff98584: stw r29,116(r1) > 0x0ff98588: mr. r29,r4 > 0x0ff9858c: stw r0,132(r1) > 0x0ff98590: lwz r0,-16(r30) > 0x0ff98594: stw r26,104(r1) > 0x0ff98598: mr r26,r3 > 0x0ff9859c: add r30,r0,r30 > 0x0ff985a0: stw r27,108(r1) > 0x0ff985a4: stw r28,112(r1) > 0x0ff985a8: mr r27,r5 > 0x0ff985ac: stw r31,124(r1) > 0x0ff985b0: mr r28,r6 > 0x0ff985b4: lwz r31,-32764(r30) > 0x0ff985b8: beq- 0xff98778 > 0x0ff985bc: addi r4,r1,92 > 0x0ff985c0: mr r3,r29 > 0x0ff985c4: bl 0xffaf400 > 0x0ff985c8: bl 0xffaf2e0 > 0x0ff985cc: addi r4,r1,16 > 0x0ff985d0: addi r5,r1,96 > 0x0ff985d4: bl 0xffaf480 > 0x0ff985d8: lwz r10,92(r1) > 0x0ff985dc: lwz r9,96(r1) > 0x0ff985e0: cmpwi cr7,r10,1 > 0x0ff985e4: stw r9,20(r1) > 0x0ff985e8: beq- cr7,0xff987ac > 0x0ff985ec: addi r3,r1,48 > 0x0ff985f0: mr r4,r29 > 0x0ff985f4: li r5,36 > 0x0ff985f8: stw r9,24(r1) > 0x0ff985fc: bl 0xffaf2d8 > 0x0ff98600: lwz r9,36(r31) > 0x0ff98604: cmpwi cr7,r9,0 > 0x0ff98608: beq- cr7,0xff98618 > 0x0ff9860c: bl 0xffaf358 > 0x0ff98610: cmpwi cr7,r3,0 > 0x0ff98614: bne- cr7,0xff98748 > 0x0ff98618: addi r3,r1,48 > 0x0ff9861c: li r4,0 > 0x0ff98620: bl 0xffaf440 > 0x0ff98624: addi r3,r1,48 > 0x0ff98628: addi r4,r1,84 > 0x0ff9862c: bl 0xffaf4d8 > 0x0ff98630: lwz r3,40(r31) > > > > > Also, could you paste-bin the disassembly of libxenomai.so? > You can find it here: > http://pastebin.com/YjUDZRMp > > > > > TIA, > > > You are welcome! > > TIA, too! > > With kind help of Mr. Philippe Gerum, Mr. Gilles Chanteperdrix and Mr. Wolfgang Denk the issue is solved now. Thank you! There was two related issues in my setup. 1. FUTEX support was disabled in my kernel configuration, thus all FUTEX operations return with ENOSYS. When FUTEXes are enabled, the clocktest pass, no illegal instruction was reported. 2. When FUTEX support is disabled, a fragility in the Xenomai POSIX skin caused calling random code. This second issue is fixed by Mr. Philippe Gerum in: http://git.xenomai.org/xenomai-2.6.git/commit/?id=435f87958222c885b3dd94c9c7b2ef9c01efda7b Thank you once aganin! -- Norbert Bukuli software engineer embedded development Mediso Ltd. Tel.: +36 1 3993 030 Fax.: +36 1 3993 040 Mailing address: Hungary, H-1047 Budapest, Baross utca 91-95. Billing address: Hungary, H-1022 Budapest, Alsotorokvesz 14. norbert.bukuli@mediso.com www.mediso.com -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 490 bytes Desc: not available URL: <http://www.xenomai.org/pipermail/xenomai/attachments/20131209/ffd0ea0b/attachment.sig> ^ permalink raw reply [flat|nested] 23+ messages in thread
end of thread, other threads:[~2013-12-09 14:52 UTC | newest] Thread overview: 23+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2013-11-28 13:31 [Xenomai] test suite programs crash with Illegal instruction on MPC5200 Bukuli Norbert 2013-11-28 20:17 ` Gilles Chanteperdrix 2013-11-28 20:30 ` Gilles Chanteperdrix 2013-11-29 7:59 ` Bukuli Norbert 2013-11-29 7:45 ` Bukuli Norbert 2013-11-28 22:01 ` Philippe Gerum 2013-11-29 8:41 ` Bukuli Norbert 2013-11-29 8:41 ` Bukuli Norbert 2013-11-29 9:29 ` Philippe Gerum 2013-11-29 9:34 ` Philippe Gerum 2013-11-29 10:44 ` Bukuli Norbert 2013-11-29 10:27 ` Bukuli Norbert 2013-11-29 15:33 ` Philippe Gerum 2013-12-02 7:50 ` Bukuli Norbert 2013-11-29 22:53 ` Wolfgang Denk 2013-12-02 8:50 ` Bukuli Norbert 2013-12-02 9:15 ` Philippe Gerum 2013-12-02 9:24 ` Bukuli Norbert 2013-12-02 9:41 ` Philippe Gerum 2013-12-02 9:44 ` Bukuli Norbert 2013-12-02 9:58 ` Philippe Gerum 2013-12-02 10:16 ` Bukuli Norbert 2013-12-09 14:52 ` Bukuli Norbert
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.