2000-03-04 Mark Kettenis <kettenis@gnu.org>
authorMark Kettenis <kettenis@gnu.org>
Sat, 4 Mar 2000 23:37:33 +0000 (23:37 +0000)
committerMark Kettenis <kettenis@gnu.org>
Sat, 4 Mar 2000 23:37:33 +0000 (23:37 +0000)
commit45a816d93ec86fb4aec161713ec6b3deaac68872
tree84a798d968969f459c8976cc4e8cb3f349888119
parent8ae7f924f36810814ec82c523bfc938c26b78c00
2000-03-04  Mark Kettenis  <kettenis@gnu.org>

Fix support for Linux/i386 signal trampolines.  The old approach
didn't work for Linux 2.2 and beyond, and didn't work with recent
versions of the GNU C library.
* i386-tdep.c (LINUX_RT_SIGTRAMP_INSN0, LINUX_RT_SIGTRAMP_OFFSET0,
LINUX_RT_SIGTRAMP_INSN1, LINUX_RT_SIGTRAMP_OFFSET1): New defines.
(linux_rt_sigtramp_code): New variable.
(LINUX_RT_SIGTRAMP_LEN): New define.
(i386_linux_rt_sigtramp_start): New function.  Detect start of
signal trampolines for RT signals.
(i386_linux_sigtramp): Removed.
(i386_linux_in_sigtramp): New function.
(i386_linux_sigcontext_addr): New function.  Recognize the names
of the signal tranmpolines used by recent versions of the GNU C
library, and add support for RT signals.
        (LINUX_SIGCONTEXT_PC_OFFSET, LINUX_SIGCONTEXT_SP_OFFSET):  New
defines.  Moved here from config/i386/tm-linux.h.
(i386_linux_sigtramp_saved_pc, i386_linux_sigtramp_saved_sp):
Reimplement in terms of i386_linux_sigcontext_addr.
* config/i386/tm-linux.h (LINUX_SIGCONTEXT_SIZE): Removed.
        (LINUX_SIGCONTEXT_PC_OFFSET, LINUX_SIGCONTEXT_SP_OFFSET):
        Moved to i386-tdep.c.
(IN_SIGTRAMP): Redefine to call i386_linux_in_sigtramp.
gdb/ChangeLog
gdb/config/i386/tm-linux.h
gdb/i386-tdep.c
This page took 0.023891 seconds and 4 git commands to generate.