This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Hi Ulrich, please temporarily remove the patch as there are compatibility problems with it needing update of the libgcc_s unwinder (*). After its accepted update I hope the patch can get back. Problem reported and analysed by Jakub Jelinek. His modified testcase output: /tmp/clone-testcase[0x4005eb] /lib64/libpthread.so.0[0x3f234061b5] /lib64/libc.so.6(clone+0x6d)[0x3f22ccd39d] /lib64/libc.so.6(clone+0x6d)[0x3f22ccd39d] [...stuck] Thanks, Jan (*) such as for libunwind: http://sources.redhat.com/cgi-bin/cvsweb.cgi/frysk-imports/libunwind/src/dwarf/Gparser.c.diff?r1=1.3&r2=1.4&cvsroot=frysk
2006-12-11 Jan Kratochvil <jan.kratochvil@redhat.com> * sysdeps/unix/sysv/linux/i386/clone.S: Revert the patch of 2006-11-30. At least the libgcc_s unwinder needs to handle `.cfi_undefined' first. * sysdeps/unix/sysv/linux/x86_64/clone.S: Likewise. Index: sysdeps/unix/sysv/linux/i386/clone.S =================================================================== RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/i386/clone.S,v retrieving revision 1.27 retrieving revision 1.26 diff -u -p -r1.27 -r1.26 --- sysdeps/unix/sysv/linux/i386/clone.S 3 Dec 2006 23:12:36 -0000 1.27 +++ sysdeps/unix/sysv/linux/i386/clone.S 4 May 2005 17:52:08 -0000 1.26 @@ -120,9 +120,6 @@ L(pseudo_end): ret L(thread_start): - cfi_startproc; - /* Clearing frame pointer is insufficient, use CFI. */ - cfi_undefined (eip); /* Note: %esi is zero. */ movl %esi,%ebp /* terminate the stack frame */ #ifdef RESET_PID @@ -155,7 +152,6 @@ L(nomoregetpid): jmp L(haspid) .previous #endif - cfi_endproc; cfi_startproc PSEUDO_END (BP_SYM (__clone)) Index: sysdeps/unix/sysv/linux/x86_64/clone.S =================================================================== RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/x86_64/clone.S,v retrieving revision 1.7 retrieving revision 1.6 diff -u -p -r1.7 -r1.6 --- sysdeps/unix/sysv/linux/x86_64/clone.S 3 Dec 2006 23:12:36 -0000 1.7 +++ sysdeps/unix/sysv/linux/x86_64/clone.S 31 Mar 2005 10:00:12 -0000 1.6 @@ -89,9 +89,6 @@ L(pseudo_end): ret L(thread_start): - cfi_startproc; - /* Clearing frame pointer is insufficient, use CFI. */ - cfi_undefined (rip); /* Clear the frame pointer. The ABI suggests this be done, to mark the outermost frame obviously. */ xorl %ebp, %ebp @@ -116,7 +113,6 @@ L(thread_start): /* Call exit with return value from function call. */ movq %rax, %rdi call HIDDEN_JUMPTARGET (_exit) - cfi_endproc; cfi_startproc; PSEUDO_END (BP_SYM (__clone))
Attachment:
clone-testcase.c
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |