This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.
See the CrossGCC FAQ for lots more information.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
I'm not the author of that bug; my toolchain, config, kernel and all are EABI, I just have the same problem. MOST of the executables run just fine, so if there was EABI issues it wouldn't work at all -- beside, my kernel is configured not run OABI stuff anyway. Michael On Wed, Jan 12, 2011 at 8:16 PM, Bryan Hundven <bryanhundven@gmail.com> wrote: > Michael, > > On Wed, Jan 12, 2011 at 3:40 AM, M P <buserror@gmail.com> wrote: >> Seems the busybox people don't care about this one... >> >> Anyone on crosstool-land is aware of the problem ? Any workaround ? > > I wouldn't say they don't care. The holidays is a hard time to get > bugs worked on. > > I know that I am back at work, I'm stuck in meetings and other "big > issues" that have nothing to do with toolchains or system programs. > > In the case of the problem at hand; you have an eabi toolchain, and > are building uclibc with OABI. > In the config that is attached to that bug CONFIG_ARM_EABI is > disabled, and CONFIG_ARM_OABI is enabled. > Maybe try disabling OABI and enabling EABI, and see if that works. > > Otherwise, try building an OABI toolchain and try this config again. > >> Michael >> >> >> ---------- Forwarded message ---------- >> From: M P <buserror@gmail.com> >> Date: Tue, Jan 11, 2011 at 8:58 AM >> Subject: SEGV on start of dyn linked exec on ARM >> To: busybox@busybox.net >> >> >> Hi guys, I'm being bitten by >> https://bugs.busybox.net/show_bug.cgi?id=1075 -- I have exactly the >> same problem, using crosstool-ng to build a uclibc 0.9.30.3, then a >> range of packages using shared libraries, MOST of them work, but some >> (seemingly randomly) fail before they reach main() >> >> According to strace, the libraries are found and mapped, but it seems >> to jump at 0x0 at some point in the init phase... >> >> I can reproduce the problem using qemu-arm as well, but I can't seem >> to dig any deeper than this easily. Is there a workaround ? >> >> >> Heres a typical gcc build line: >> /opt/minifs/toolchain/arm-v4t-linux-uclibcgnueabi/bin/arm-v4t-linux-uclibcgnueabi-gcc >> -I/opt/minifs/build-df3120/staging/include >> -I/opt/minifs/build-df3120/staging/usr/include -Os -march=armv4t >> -mtune=arm920t -mthumb-interwork -mthumb -std=gnu99 -Wall >> /opt/minifs/conf/board/df3120/fbvncslave.c -o >> /opt/minifs/build-df3120/staging/usr/bin/fbvncslave >> -L/opt/minifs/build-df3120/staging/lib >> -L/opt/minifs/build-df3120/staging/usr/lib -Wl,-rpath -Wl,/usr/lib >> -Wl,-rpath-link -Wl,/opt/minifs/build-df3120/staging/lib >> -Wl,-rpath-link -Wl,/opt/minifs/build-df3120/staging/usr/lib >> -lvncclient -ljpeg -lz >> >> Typical strace session: >> >> % qemu-arm -strace -L . ./usr/bin/fbvncslave >> 30594 mmap2(NULL,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) >> = 0x42081000 >> 30594 stat("/etc/ld.so.cache",0x4007f6d8) = 0 >> 30594 open("/etc/ld.so.cache",O_RDONLY) = 3 >> 30594 mmap2(NULL,99928,PROT_READ,MAP_SHARED,3,0) = 0x42082000 >> 30594 close(3) = 0 >> 30594 stat("/etc/ld.so.preload",0x4007f86c) = -1 errno=2 (No such file >> or directory) >> 30594 open("/usr/lib/libvncclient.so.0",O_RDONLY) = 3 >> 30594 fstat(3,0x4007ee48) = 0 >> 30594 mmap2(NULL,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) >> = 0x4209b000 >> 30594 read(3,0x4209b000,4096) = 4096 >> 30594 mmap2(NULL,106496,PROT_NONE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0x4209c000 >> 30594 mmap2(0x4209c000,67068,PROT_EXEC|PROT_READ,MAP_PRIVATE|MAP_FIXED,3,0) >> = 0x4209c000 >> 30594 mmap2(0x420b4000,4573,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED,3,0x10) >> = 0x420b4000 >> 30594 close(3) = 0 >> 30594 munmap(0x4209b000,4096) = 0 >> 30594 open("/usr/lib/libjpeg.so.8",O_RDONLY) = 3 >> 30594 fstat(3,0x4007ee38) = 0 >> 30594 mmap2(NULL,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) >> = 0x420b6000 >> 30594 read(3,0x420b6000,4096) = 4096 >> 30594 mmap2(NULL,192512,PROT_NONE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0x420b7000 >> 30594 mmap2(0x420b7000,152312,PROT_EXEC|PROT_READ,MAP_PRIVATE|MAP_FIXED,3,0) >> = 0x420b7000 >> 30594 mmap2(0x420e4000,4716,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED,3,0x25) >> = 0x420e4000 >> 30594 close(3) = 0 >> 30594 munmap(0x420b6000,4096) = 0 >> 30594 open("/usr/lib/libz.so.1",O_RDONLY) = 3 >> 30594 fstat(3,0x4007ee28) = 0 >> 30594 mmap2(NULL,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) >> = 0x420e6000 >> 30594 read(3,0x420e6000,4096) = 4096 >> 30594 mmap2(NULL,94208,PROT_NONE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0x420e7000 >> 30594 mmap2(0x420e7000,54688,PROT_EXEC|PROT_READ,MAP_PRIVATE|MAP_FIXED,3,0) >> = 0x420e7000 >> 30594 mmap2(0x420fc000,4360,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED,3,0xd) >> = 0x420fc000 >> 30594 close(3) = 0 >> 30594 munmap(0x420e6000,4096) = 0 >> 30594 open("/usr/lib/libgcc_s.so.1",O_RDONLY) = -1 errno=2 (No such >> file or directory) >> 30594 open("/lib/libgcc_s.so.1",O_RDONLY) = 3 >> 30594 fstat(3,0x4007ee18) = 0 >> 30594 mmap2(NULL,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) >> = 0x420fe000 >> 30594 read(3,0x420fe000,4096) = 4096 >> 30594 mmap2(NULL,77824,PROT_NONE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0x420ff000 >> 30594 mmap2(0x420ff000,40464,PROT_EXEC|PROT_READ,MAP_PRIVATE|MAP_FIXED,3,0) >> = 0x420ff000 >> 30594 mmap2(0x42110000,4376,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED,3,0x9) >> = 0x42110000 >> 30594 close(3) = 0 >> 30594 munmap(0x420fe000,4096) = 0 >> 30594 open("/usr/lib/libc.so.0",O_RDONLY) = -1 errno=2 (No such file >> or directory) >> 30594 open("/lib/libc.so.0",O_RDONLY) = 3 >> 30594 fstat(3,0x4007ee08) = 0 >> 30594 mmap2(NULL,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) >> = 0x42112000 >> 30594 read(3,0x42112000,4096) = 4096 >> 30594 mmap2(NULL,352256,PROT_NONE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0x42113000 >> 30594 mmap2(0x42113000,302340,PROT_EXEC|PROT_READ,MAP_PRIVATE|MAP_FIXED,3,0) >> = 0x42113000 >> 30594 mmap2(0x42164000,5600,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED,3,0x49) >> = 0x42164000 >> 30594 mmap2(0x42166000,9744,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED,-1,0) >> = 0x42166000 >> 30594 close(3) = 0 >> 30594 munmap(0x42112000,4096) = 0 >> 30594 open("/opt/minifs/build-df3120/staging/usr/lib/libnsl.so.0",O_RDONLY) >> = -1 errno=2 (No such file or directory) >> 30594 open("/lib/libnsl.so.0",O_RDONLY) = 3 >> 30594 fstat(3,0x4007edf8) = 0 >> 30594 mmap2(NULL,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) >> = 0x42169000 >> 30594 read(3,0x42169000,4096) = 4096 >> 30594 mmap2(NULL,40960,PROT_NONE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0x4216a000 >> 30594 mmap2(0x4216a000,708,PROT_EXEC|PROT_READ,MAP_PRIVATE|MAP_FIXED,3,0) >> = 0x4216a000 >> 30594 mmap2(0x42172000,4108,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED,3,0) >> = 0x42172000 >> 30594 close(3) = 0 >> 30594 munmap(0x42169000,4096) = 0 >> 30594 open("/opt/minifs/build-df3120/staging/usr/lib/libpthread.so.0",O_RDONLY) >> = -1 errno=2 (No such file or directory) >> 30594 open("/lib/libpthread.so.0",O_RDONLY) = 3 >> 30594 fstat(3,0x4007ede8) = 0 >> 30594 mmap2(NULL,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) >> = 0x42174000 >> 30594 read(3,0x42174000,4096) = 4096 >> 30594 mmap2(NULL,106496,PROT_NONE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0x42175000 >> 30594 mmap2(0x42175000,44412,PROT_EXEC|PROT_READ,MAP_PRIVATE|MAP_FIXED,3,0) >> = 0x42175000 >> 30594 mmap2(0x42187000,7480,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED,3,0xa) >> = 0x42187000 >> 30594 mmap2(0x42189000,24040,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED,-1,0) >> = 0x42189000 >> 30594 close(3) = 0 >> 30594 munmap(0x42174000,4096) = 0 >> 30594 open("/opt/minifs/build-df3120/staging/usr/lib/libz.so.1",O_RDONLY) = 3 >> 30594 fstat(3,0x4007edb8) = 0 >> 30594 close(3) = 0 >> 30594 open("/opt/minifs/build-df3120/staging/usr/lib/libjpeg.so.8",O_RDONLY) = 3 >> 30594 fstat(3,0x4007eda8) = 0 >> 30594 close(3) = 0 >> 30594 open("/opt/minifs/build-df3120/staging/usr/lib/libgcc_s.so.1",O_RDONLY) >> = -1 errno=2 (No such file or directory) >> 30594 open("/lib/libgcc_s.so.1",O_RDONLY) = 3 >> 30594 fstat(3,0x4007edb8) = 0 >> 30594 close(3) = 0 >> 30594 open("/opt/minifs/build-df3120/staging/usr/lib/libc.so.0",O_RDONLY) >> = -1 errno=2 (No such file or directory) >> 30594 open("/lib/libc.so.0",O_RDONLY) = 3 >> 30594 fstat(3,0x4007eda8) = 0 >> 30594 close(3) = 0 >> 30594 open("/lib/libc.so.0",O_RDONLY) = 3 >> 30594 fstat(3,0x4007ed98) = 0 >> 30594 close(3) = 0 >> 30594 open("/lib/libc.so.0",O_RDONLY) = 3 >> 30594 fstat(3,0x4007ed88) = 0 >> 30594 close(3) = 0 >> 30594 open("/lib/libc.so.0",O_RDONLY) = 3 >> 30594 fstat(3,0x4007ed78) = 0 >> 30594 close(3) = 0 >> 30594 open("/lib/libc.so.0",O_RDONLY) = 3 >> 30594 fstat(3,0x4007ed68) = 0 >> 30594 close(3) = 0 >> 30594 open("/lib/libc.so.0",O_RDONLY) = 3 >> 30594 fstat(3,0x4007ed58) = 0 >> 30594 close(3) = 0 >> 30594 munmap(0x42082000,99928) = 0 >> 30594 stat("/lib/ld-uClibc.so.0",0x4007f86c) = 0 >> 30594 mprotect(0x00011000,4096,PROT_READ) = 0 >> 30594 mprotect(0x420b4000,4096,PROT_READ) = 0 >> 30594 mprotect(0x420e4000,4096,PROT_READ) = 0 >> 30594 mprotect(0x420fc000,4096,PROT_READ) = 0 >> 30594 mprotect(0x42110000,4096,PROT_READ) = 0 >> 30594 mprotect(0x42164000,4096,PROT_READ) = 0 >> 30594 mprotect(0x42172000,4096,PROT_READ) = 0 >> 30594 mprotect(0x42187000,4096,PROT_READ) = 0 >> 30594 mprotect(0x4008d000,4096,PROT_READ) = 0 >> 30594 ioctl(0,21505,1074263444,1074263436,1074263500,688) = 0 >> 30594 ioctl(1,21505,1074263444,1074263436,1074263500,272) = 0 >> 30594 ugetrlimit(3,1074262736,1108824064,516,1108901888,0) = 0 >> 30594 setrlimit(3,1074262736,1108768996,8388608,1108901888,2093056) = 0 >> 30594 getpid(0,1074262736,2093056,1069547520,1108901888,0) = 30594 >> 30594 rt_sigaction(32,1074262596,0,8,0,1108758528) = 0 >> 30594 rt_sigaction(33,1074262596,0,8,0,1108758528) = -1 errno=22 >> (Invalid argument) >> 30594 rt_sigaction(34,1074262596,0,8,0,1108758528) = 0 >> 30594 rt_sigprocmask(0,1074263420,0,8,1108901888,1074263420) = 0 >> 30594 rt_sigprocmask(1,1074263420,0,8,1108901888,1074263420) = 0 >> qemu: uncaught target signal 11 (Segmentation fault) - core dumped >> zsh: segmentation fault ?qemu-arm -strace -L . ./usr/bin/fbvncslave >> >> -- >> For unsubscribe information see http://sourceware.org/lists.html#faq >> >> > > -Bryan > -- For unsubscribe information see http://sourceware.org/lists.html#faq
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |