Le Friday 19 October 2007 10:45:47 Aurelien Jarno, vous avez écrit : > Gallien Matthieu a écrit : > > Hi, > > > > I can confirm that if /etc/ld.so.nohwcap exists, running perl -e "use Qt" > > leads to a segfault in an up to date unstable. And thus at each upgrade > > of libc6 the problem occurs. > > Which is something really strange. When this file exists, the dynamic > loader uses the non-optimized version of the glibc instead of the normal > one, but they are both ABI compatible. I guess that either your > non-optimized glibc is broken or libqt-perl is doing bad things. > > Could you please tell me what's the output of "ldd /usr/bin/perl" when > the /etc/ld.so.nohwcap file is present and when it is not?
ldd /usr/bin/perl without /etc/ld.so.nohwcap linux-gate.so.1 => (0xffffe000) libdl.so.2 => /lib/i686/cmov/libdl.so.2 (0xb7f46000) libm.so.6 => /lib/i686/cmov/libm.so.6 (0xb7f21000) libpthread.so.0 => /lib/i686/cmov/libpthread.so.0 (0xb7f0a000) libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb7dc2000) libcrypt.so.1 => /lib/i686/cmov/libcrypt.so.1 (0xb7d94000) /lib/ld-linux.so.2 (0xb7f68000) ldd /usr/bin/perl with /etc/ld.so.nohwcap linux-gate.so.1 => (0xffffe000) libdl.so.2 => /lib/libdl.so.2 (0xb7fa5000) libm.so.6 => /lib/libm.so.6 (0xb7f7f000) libpthread.so.0 => /lib/libpthread.so.0 (0xb7f67000) libc.so.6 => /lib/libc.so.6 (0xb7e1f000) libcrypt.so.1 => /lib/libcrypt.so.1 (0xb7df1000) /lib/ld-linux.so.2 (0xb7fc6000) > > Also do you have a backtrace of the segfault? #0 0x40c02898 in ?? () #1 0xb7d6a6a8 in ?? () from /lib/libc.so.6 #2 0xbfc4d100 in ?? () #3 0xbfc4d074 in ?? () #4 0xb7e83ff4 in ?? () from /lib/libc.so.6 #5 0xbfc4d094 in ?? () #6 0xb7d6a5ec in siglongjmp () from /lib/libc.so.6 Backtrace stopped: frame did not save the PC Not a usable one. I suppose I should install debug packages. Starting program: /usr/bin/debugperl -e "use Qt" [Thread debugging using libthread_db enabled] [New Thread 0xb7ddd8c0 (LWP 16091)] Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xb7ddd8c0 (LWP 16091)] 0x40d62898 in ?? () (gdb) bt #0 0x40d62898 in ?? () #1 0xb7e366a8 in _longjmp_unwind () from /lib/libc.so.6 #2 0xb7e365ec in siglongjmp () from /lib/libc.so.6 #3 0xb7f5f8d4 in siglongjmp () from /lib/libpthread.so.0 #4 0x0806fb7f in S_my_exit_jump (my_perl=0x81bc008) at perl.c:5334 #5 0x0806f6ea in Perl_my_exit (my_perl=0x81bc008, status=0) at perl.c:5282 #6 0x08069263 in S_run_body (my_perl=0x81bc008, oldscope=1) at perl.c:2368 #7 0x08068c85 in perl_run (my_perl=0x81bc008) at perl.c:2283 #8 0x080638cf in main (argc=3, argv=0xbffa6db4, env=0xbffa6dc4) at perlmain.c:99 -- Gallien Matthieu