One of my friends found this:
http://gcc.gnu.org/ml/gcc-patches/2006-11/msg01238.html
Both boards have e500 cores.
I think this locates the problem both in libstdc++6 and in the compiler used to
compile the powerpc packages which should be compiled with options to support
e500 cores (either TARGET_NO_LWSYNC or TARGET_E500), for this may be present in
other packages.
Here are some tests I did:
gdb backtrace gives:
#0 0x0fe85bd4 in __cxa_guard_release () from /usr/lib/libstdc++.so.6
# objdump -d /usr/lib/libstdc++.so.6.0.10
[....]
000e5b30 <__cxa_guard_release>:
[....]
e5bd4: 7c 20 04 ac lwsync
[....]
# cat test.c
#include <stdio.h>
int main( int argc, char *argv[] )
{
printf("doing lwsync in asm.\n");
asm volatile("lwsync" : : : "memory");
printf("done lwsync in asm.\n");
return 0;
}
# gcc test.c -o test
# ./test
doing lwsync in asm.
Illegal instruction
#
# gdb test
[....]
(gdb) run
Starting program: /root/test
doing lwsync in asm.
Program received signal SIGILL, Illegal instruction.
0x10000494 in main ()
Current language: auto; currently asm
(gdb) bt
#0 0x10000494 in main ()
(gdb)
# objdump -d test
[....]
10000494: 7c 20 04 ac lwsync
[....]
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]