This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug libc/3924] New: LD_AUDIT implementation causing process segfaulting
- From: "olsajiri at gmail dot com" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sources dot redhat dot com
- Date: 25 Jan 2007 21:49:06 -0000
- Subject: [Bug libc/3924] New: LD_AUDIT implementation causing process segfaulting
- Reply-to: sourceware-bugzilla at sourceware dot org
There's a bug in the sysdeps/i386/dl-trampoline.S _dl_runtime_profile function
making process segfaulting. Under some conditions the 'edi' and 'esi' registers
are restored to wrong values. IMHO this could be fixed like this:
Index: sysdeps/i386/dl-trampoline.S
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/i386/dl-trampoline.S,v
retrieving revision 1.2
diff -r1.2 dl-trampoline.S
116d115
< andl $0xfffffff0, %edi # Align stack
edi and esi registers are pushed on stack before it is alligned. In case it is
really aligned those register wont be restored properly. I tried the fix and it
is working for me. I dont know the reason for alligning the stack here, so
hopefully I'm not missing something... :)
I'm running the 2.4 version, but seems it is an issue in current sources as well.
regards
Jiri Olsa
--
Summary: LD_AUDIT implementation causing process segfaulting
Product: glibc
Version: 2.4
Status: NEW
Severity: enhancement
Priority: P2
Component: libc
AssignedTo: drepper at redhat dot com
ReportedBy: olsajiri at gmail dot com
CC: glibc-bugs at sources dot redhat dot com
http://sourceware.org/bugzilla/show_bug.cgi?id=3924
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.