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] |
On 02/28/2014 11:16 PM, Joseph S. Myers wrote:
On Fri, 28 Feb 2014, Richard Henderson wrote:I'll note that this *may* affect other tools, that have previously looked through trampolines via code inspection.I don't know if the comment in sysdeps/unix/sysv/linux/mips/sigaction.c is still accurate: /* NOTE: Please think twice before making any changes to the bits of code below. GDB needs some intimate knowledge about it to recognize them as signal trampolines, and make backtraces through signal handlers work right. Important are both the names (__restore_rt) and the exact instruction sequence. If you ever feel the need to make any changes, please notify the appropriate GDB maintainer. */ (<https://sourceware.org/glibc/wiki/Development_Todo/Master#MIPS> points to a summary of known MIPS cases of CFI information missing in assembly sources, which includes this one.)
If we're fine with showing another stack frame in the backtrace of signal handlers, we could just avoid the fancy tail call and not change the restorer function at all. Then, from GDB's point of view, the signal handler is the glibc-provided wrapper (which obviously needs proper unwinding information etc.), and the user-installed handler is just some function called from a signal handler.
-- Florian Weimer / Red Hat Product Security Team
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |