2004-12-13 Randolph Chung <tausq@debian.org>

* tramp-frame.c (tramp_frame_sniffer): Allow frames with names or
	sections to be trampolines too.
This commit is contained in:
Randolph Chung 2004-12-13 03:38:23 +00:00
parent af596d0889
commit 0efcf9dce5
2 changed files with 9 additions and 11 deletions

View File

@ -1,3 +1,8 @@
2004-12-13 Randolph Chung <tausq@debian.org>
* tramp-frame.c (tramp_frame_sniffer): Allow frames with names or
sections to be trampolines too.
2004-12-13 Ben Elliston <bje@au.ibm.com>
* f-exp.y (typename): Remove unused nonterminal.

View File

@ -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;