* i386-dicos-tdep.c: Include "inferior.h".
(i386_dicos_frame_align): New. (i386_dicos_init_abi): Register i386_dicos_frame_align. Set call dummy location ON_STACK. * Makefile.in (i386-dicos-tdep.o): Depend on $(inferior_h).
This commit is contained in:
parent
a6d8f55bfd
commit
42f0bc8eaf
|
@ -1,3 +1,11 @@
|
||||||
|
2008-07-07 Pedro Alves <pedro@codesourcery.com>
|
||||||
|
|
||||||
|
* i386-dicos-tdep.c: Include "inferior.h".
|
||||||
|
(i386_dicos_frame_align): New.
|
||||||
|
(i386_dicos_init_abi): Register i386_dicos_frame_align. Set call
|
||||||
|
dummy location ON_STACK.
|
||||||
|
* Makefile.in (i386-dicos-tdep.o): Depend on $(inferior_h).
|
||||||
|
|
||||||
2008-07-07 Joel Brobecker <brobecker@adacore.com>
|
2008-07-07 Joel Brobecker <brobecker@adacore.com>
|
||||||
|
|
||||||
* gstdint.h: New file.
|
* gstdint.h: New file.
|
||||||
|
|
|
@ -2236,7 +2236,7 @@ i386-cygwin-tdep.o: i386-cygwin-tdep.c $(defs_h) $(osabi_h) $(gdb_string_h) \
|
||||||
$(i386_tdep_h) $(regset_h) $(gdb_obstack_h) $(xml_support_h) \
|
$(i386_tdep_h) $(regset_h) $(gdb_obstack_h) $(xml_support_h) \
|
||||||
$(gdbcore_h) $(solib_h) $(solib_target_h) $(i386_cygwin_tdep_h)
|
$(gdbcore_h) $(solib_h) $(solib_target_h) $(i386_cygwin_tdep_h)
|
||||||
i386-dicos-tdep.o: i386-dicos-tdep.c $(defs_h) $(osabi_h) $(gdb_string_h) \
|
i386-dicos-tdep.o: i386-dicos-tdep.c $(defs_h) $(osabi_h) $(gdb_string_h) \
|
||||||
$(solib_h) $(solib_target_h)
|
$(solib_h) $(solib_target_h) $(inferior_h)
|
||||||
i386fbsd-nat.o: i386fbsd-nat.c $(defs_h) $(inferior_h) $(regcache_h) \
|
i386fbsd-nat.o: i386fbsd-nat.c $(defs_h) $(inferior_h) $(regcache_h) \
|
||||||
$(target_h) $(fbsd_nat_h) $(i386_tdep_h) $(i386bsd_nat_h) \
|
$(target_h) $(fbsd_nat_h) $(i386_tdep_h) $(i386bsd_nat_h) \
|
||||||
$(bsd_kvm_h)
|
$(bsd_kvm_h)
|
||||||
|
|
|
@ -22,6 +22,18 @@
|
||||||
#include "gdb_string.h"
|
#include "gdb_string.h"
|
||||||
#include "solib.h"
|
#include "solib.h"
|
||||||
#include "solib-target.h"
|
#include "solib-target.h"
|
||||||
|
#include "inferior.h"
|
||||||
|
|
||||||
|
static CORE_ADDR
|
||||||
|
i386_dicos_frame_align (struct gdbarch *gdbarch, CORE_ADDR sp)
|
||||||
|
{
|
||||||
|
/* Having a call dummy on the stack requires a gdbarch_frame_align
|
||||||
|
method to align the breakpoint instruction in the stack.
|
||||||
|
Strictly speaking, we could just return SP pristine on x86. But,
|
||||||
|
as long as we're providing a frame align method, might as well
|
||||||
|
align for efficiency. */
|
||||||
|
return sp & -(CORE_ADDR)16;
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
i386_dicos_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
|
i386_dicos_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
|
||||||
|
@ -29,6 +41,12 @@ i386_dicos_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
|
||||||
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
|
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
|
||||||
|
|
||||||
set_solib_ops (gdbarch, &solib_target_so_ops);
|
set_solib_ops (gdbarch, &solib_target_so_ops);
|
||||||
|
|
||||||
|
/* There's no (standard definition of) entry point or a guaranteed
|
||||||
|
text location we could find with a symbol where to place the call
|
||||||
|
dummy, so we put it on the stack. */
|
||||||
|
set_gdbarch_call_dummy_location (gdbarch, ON_STACK);
|
||||||
|
set_gdbarch_frame_align (gdbarch, i386_dicos_frame_align);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Look in the elf symbol table of ABFD for a symbol named WANTED.
|
/* Look in the elf symbol table of ABFD for a symbol named WANTED.
|
||||||
|
|
Loading…
Reference in New Issue