seg fault before main() in _pthread_cleanup_push_defer

Karl Hiramoto karl at hiramoto.org
Thu Jul 17 09:42:36 UTC 2008


Hi,

Previously i was using gcc 3.4.6, uclibc 0.28.3, kernel 2.6.16  and my 
program worked. 

I upgraded to gcc 4.2.4, uclibc 0.29, kernel 2.6.26  (using the current 
buildroot trunk  and linuxthreads.old)

And now i have:

running gdb on the target:

 gdb /usr/bin/myprog
GNU gdb 6.6
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain 
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "armeb-linux-uclibc"...
Using host libthread_db library "/lib/libthread_db.so.1".
(gdb) break main
Breakpoint 1 at 0xc0e8: file /home/karl/Work/myprog.c, line 355.
(gdb) run
Starting program: /usr/bin/myprog
[Thread debugging using libthread_db enabled]
[New Thread 1024 (LWP 1321)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1024 (LWP 1321)]
0x400beb70 in _pthread_cleanup_push_defer () from /lib/libc.so.0


# /strace /usr/bin/myprog
execve("/usr/bin/myprog", ["/usr/bin/myprog"], [/* 6 vars */]) = 0
syscall: unknown syscall trap 0x00000017



A lot of other software i have on the target works, but  I'm trying to 
debug what is going wrong with  this case of the segfault before main().


Any ideas of things i can try?
--
Karl





More information about the uClibc mailing list