* i386-sol2-tdep.c: Include "gdb_string.h".

(i386_sol2_sigtramp_p): Recognize signal trampoline based on its
name.
* Makefile.in (i386-sol2-tdep.o): Update dependencies.
This commit is contained in:
Mark Kettenis 2004-04-09 23:15:53 +00:00
parent 75f501b5c9
commit d9f8c85b8e
3 changed files with 17 additions and 4 deletions

View File

@ -1,3 +1,10 @@
2004-04-10 Mark Kettenis <kettenis@gnu.org>
* i386-sol2-tdep.c: Include "gdb_string.h".
(i386_sol2_sigtramp_p): Recognize signal trampoline based on its
name.
* Makefile.in (i386-sol2-tdep.o): Update dependencies.
2004-04-10 Mark Kettenis <kettenis@gnu.org>
* i386-sol2-tdep.c: Include "solib-svr4.h".

View File

@ -1877,7 +1877,7 @@ i386obsd-tdep.o: i386obsd-tdep.c $(defs_h) $(arch_utils_h) $(frame_h) \
$(osabi_h) $(target_h) $(gdb_assert_h) $(gdb_string_h) \
$(i386_tdep_h) $(i387_tdep_h) $(solib_svr4_h)
i386-sol2-tdep.o: i386-sol2-tdep.c $(defs_h) $(value_h) $(osabi_h) \
$(i386_tdep_h) $(solib_svr4_h)
$(gdb_string_h) $(i386_tdep_h) $(solib_svr4_h)
i386-stub.o: i386-stub.c
i386-tdep.o: i386-tdep.c $(defs_h) $(arch_utils_h) $(command_h) \
$(dummy_frame_h) $(dwarf2_frame_h) $(doublest_h) $(floatformat_h) \

View File

@ -23,6 +23,8 @@
#include "value.h"
#include "osabi.h"
#include "gdb_string.h"
#include "i386-tdep.h"
#include "solib-svr4.h"
@ -47,14 +49,18 @@ static int i386_sol2_gregset_reg_offset[] =
0 * 4 /* %gs */
};
/* Return whether the frame preceding NEXT_FRAME corresponds to a
Solaris sigtramp routine. */
static int
i386_sol2_sigtramp_p (struct frame_info *next_frame)
{
CORE_ADDR pc = frame_pc_unwind (next_frame);
char *name;
/* Signal handler frames under Solaris 2 are recognized by a return
address of 0xffffffff. */
return (pc == 0xffffffff);
find_pc_partial_function (pc, &name, NULL, NULL);
return (name && (strcmp ("sigacthandler", name) == 0
|| strcmp (name, "ucbsigvechandler") == 0));
}
/* Solaris doesn't have a `struct sigcontext', but it does have a