diff options
author | Andrew Cagney <cagney@redhat.com> | 2004-05-01 15:34:49 +0000 |
---|---|---|
committer | Andrew Cagney <cagney@redhat.com> | 2004-05-01 15:34:49 +0000 |
commit | f2524b93f342c757b14cc16595e00833aaaa49b5 (patch) | |
tree | b975a5ab4c46cb3be345643d5f0ce03df82af1d5 /gdb/alpha-tdep.c | |
parent | 17e20bce79d64f0856cd38d3e00b56beb6fa7e8c (diff) | |
download | gdb-f2524b93f342c757b14cc16595e00833aaaa49b5.zip gdb-f2524b93f342c757b14cc16595e00833aaaa49b5.tar.gz gdb-f2524b93f342c757b14cc16595e00833aaaa49b5.tar.bz2 |
2004-05-01 Andrew Cagney <cagney@redhat.com>
* alpha-tdep.c (alpha_sigtramp_frame_sniffer): Use pc_in_sigtramp.
* alpha-tdep.h (struct gdbarch_tdep): Add pc_in_sigtramp.
* alphafbsd-tdep.c (alphafbsd_init_abi): Update.
* alpha-osf1-tdep.c (alpha_osf1_init_abi): Update.
* alpha-linux-tdep.c (alpha_linux_init_abi): Update.
Diffstat (limited to 'gdb/alpha-tdep.c')
-rw-r--r-- | gdb/alpha-tdep.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/gdb/alpha-tdep.c b/gdb/alpha-tdep.c index 0f4eaa7..378b652 100644 --- a/gdb/alpha-tdep.c +++ b/gdb/alpha-tdep.c @@ -863,14 +863,20 @@ alpha_sigtramp_frame_sniffer (struct frame_info *next_frame) CORE_ADDR pc = frame_pc_unwind (next_frame); char *name; - /* We shouldn't even bother to try if the OSABI didn't register - a sigcontext_addr handler. */ - if (!gdbarch_tdep (current_gdbarch)->sigcontext_addr) + /* NOTE: cagney/2004-04-30: Do not copy/clone this code. Instead + look at tramp-frame.h and other simplier per-architecture + sigtramp unwinders. */ + + /* We shouldn't even bother to try if the OSABI didn't register a + sigcontext_addr handler or pc_in_sigtramp hander. */ + if (gdbarch_tdep (current_gdbarch)->sigcontext_addr == NULL) + return NULL; + if (gdbarch_tdep (current_gdbarch)->pc_in_sigtramp == NULL) return NULL; /* Otherwise we should be in a signal frame. */ find_pc_partial_function (pc, &name, NULL, NULL); - if (DEPRECATED_PC_IN_SIGTRAMP (pc, name)) + if (gdbarch_tdep (current_gdbarch)->pc_in_sigtramp (pc, name)) return &alpha_sigtramp_frame_unwind; return NULL; |