From 0efcf9dce5173dc3206260261dcf01487e6e8b5d Mon Sep 17 00:00:00 2001 From: Randolph Chung Date: Mon, 13 Dec 2004 03:38:23 +0000 Subject: 2004-12-13 Randolph Chung * tramp-frame.c (tramp_frame_sniffer): Allow frames with names or sections to be trampolines too. --- gdb/tramp-frame.c | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) (limited to 'gdb/tramp-frame.c') diff --git a/gdb/tramp-frame.c b/gdb/tramp-frame.c index 19ce3bd..75fb22f 100644 --- a/gdb/tramp-frame.c +++ b/gdb/tramp-frame.c @@ -122,19 +122,12 @@ tramp_frame_sniffer (const struct frame_unwind *self, const struct tramp_frame *tramp = self->unwind_data->tramp_frame; CORE_ADDR pc = frame_pc_unwind (next_frame); CORE_ADDR func; - char *name; struct tramp_frame_cache *tramp_cache; - /* If the function has a valid symbol name, it isn't a - trampoline. */ - find_pc_partial_function (pc, &name, NULL, NULL); - if (name != NULL) - return 0; - /* If the function lives in a valid section (even without a starting - point) it isn't a trampoline. */ - if (find_pc_section (pc) != NULL) - return 0; - /* Finally, check that the trampoline matches at PC. */ + /* tausq/2004-12-12: We used to assume if pc has a name or is in a valid + section, then this is not a trampoline. However, this assumption is + false on HPUX which has a signal trampoline that has a name; it can + also be false when using an alternative signal stack. */ func = tramp_frame_start (tramp, next_frame, pc); if (func == 0) return 0; -- cgit v1.1