* i386-tdep.c (i386_breakpoint_from_pc): Change return type to

`const gdb_byte *'.  Use gdb_byte for break_insn.
(i386_follow_jump): Use gdb_byte for op.
(i386_analyze_struct_return): Use gdb_byte for proto1, proto2, buf
and op.
(i386_skip_probe): Use gdb_byte for buf and op.
(struct i386_insn): Use gdb_byte for insn and mask.
(i386_match_insn, i386_analyze_frame_setup)
(i386_analyze_register_saves): Use gdb_byte for op.
(i386_skip_prologue): Use gdb_byte for pic_pat and op;
(i386_unwind_pc, i386_frame_cache, i386_sigtramp_frame_cache)
(i386_unwind_dummy_id, i386_get_longjmp_target): Use gdb_byte for
buf.
(i386_extract_return_value, i386_store_return_value): Use
`bfd_byte *' instead of `void *' for valbuf argument.  Remove now
redundant cast.
(i386_pseudo_register_read, i386_pseudo_register_write): Use
gdb_byte for mmx_buf.
(i386_register_to_value, i386_value_to_register): Use `gdb_byte *'
instead of `char *' for buf.
(i386_supply_gregset, i386_collect_gregset): Use `gdb_byte *'
instead of `char *' for regs.
(i386_svr4_sigcontext_addr): Use gdb_byte for buf.
* i386obsd-tdep.c (i386obsd_sigtramp_p): Use gdb_byte for
sigreturn and `gdb_byte *' for buf.
(i386obsd_aout_supply_regset): Use `const gdb_byte *' in cast.
(i386obsd_supply_uthread, i386obsd_collect_uthread): Use gdb_byte
for buf.
* i386bsd-tdep.c (i386bsd_sigcontext_addr): Use gdb_byte for buf.
This commit is contained in:
Mark Kettenis 2005-05-08 16:27:34 +00:00
parent b57b6c2e22
commit 63c0089f20
4 changed files with 73 additions and 42 deletions

View file

@ -1,5 +1,35 @@
2005-05-08 Mark Kettenis <kettenis@gnu.org>
* i386-tdep.c (i386_breakpoint_from_pc): Change return type to
`const gdb_byte *'. Use gdb_byte for break_insn.
(i386_follow_jump): Use gdb_byte for op.
(i386_analyze_struct_return): Use gdb_byte for proto1, proto2, buf
and op.
(i386_skip_probe): Use gdb_byte for buf and op.
(struct i386_insn): Use gdb_byte for insn and mask.
(i386_match_insn, i386_analyze_frame_setup)
(i386_analyze_register_saves): Use gdb_byte for op.
(i386_skip_prologue): Use gdb_byte for pic_pat and op;
(i386_unwind_pc, i386_frame_cache, i386_sigtramp_frame_cache)
(i386_unwind_dummy_id, i386_get_longjmp_target): Use gdb_byte for
buf.
(i386_extract_return_value, i386_store_return_value): Use
`bfd_byte *' instead of `void *' for valbuf argument. Remove now
redundant cast.
(i386_pseudo_register_read, i386_pseudo_register_write): Use
gdb_byte for mmx_buf.
(i386_register_to_value, i386_value_to_register): Use `gdb_byte *'
instead of `char *' for buf.
(i386_supply_gregset, i386_collect_gregset): Use `gdb_byte *'
instead of `char *' for regs.
(i386_svr4_sigcontext_addr): Use gdb_byte for buf.
* i386obsd-tdep.c (i386obsd_sigtramp_p): Use gdb_byte for
sigreturn and `gdb_byte *' for buf.
(i386obsd_aout_supply_regset): Use `const gdb_byte *' in cast.
(i386obsd_supply_uthread, i386obsd_collect_uthread): Use gdb_byte
for buf.
* i386bsd-tdep.c (i386bsd_sigcontext_addr): Use gdb_byte for buf.
* defs.h (gdb_byte): New typedef. Tweak comments.
* target.h (target_link): Remove prototype.

View file

@ -263,12 +263,12 @@ static const char *disassembly_flavor = att_flavor;
and can be inserted anywhere.
This function is 64-bit safe. */
static const unsigned char *
static const gdb_byte *
i386_breakpoint_from_pc (CORE_ADDR *pc, int *len)
{
static unsigned char break_insn[] = { 0xcc }; /* int 3 */
static gdb_byte break_insn[] = { 0xcc }; /* int 3 */
*len = sizeof (break_insn);
return break_insn;
}
@ -335,7 +335,7 @@ i386_alloc_frame_cache (void)
static CORE_ADDR
i386_follow_jump (CORE_ADDR pc)
{
unsigned char op;
gdb_byte op;
long delta = 0;
int data16 = 0;
@ -397,10 +397,10 @@ i386_analyze_struct_return (CORE_ADDR pc, CORE_ADDR current_pc,
and the assembler doesn't try to optimize it, so the 'sib' form
gets generated). This sequence is used to get the address of the
return buffer for a function that returns a structure. */
static unsigned char proto1[3] = { 0x87, 0x04, 0x24 };
static unsigned char proto2[4] = { 0x87, 0x44, 0x24, 0x00 };
unsigned char buf[4];
unsigned char op;
static gdb_byte proto1[3] = { 0x87, 0x04, 0x24 };
static gdb_byte proto2[4] = { 0x87, 0x44, 0x24, 0x00 };
gdb_byte buf[4];
gdb_byte op;
if (current_pc <= pc)
return pc;
@ -446,8 +446,8 @@ i386_skip_probe (CORE_ADDR pc)
pushl %ebp
etc. */
unsigned char buf[8];
unsigned char op;
gdb_byte buf[8];
gdb_byte op;
op = read_memory_unsigned_integer (pc, 1);
@ -479,8 +479,8 @@ i386_skip_probe (CORE_ADDR pc)
struct i386_insn
{
size_t len;
unsigned char insn[I386_MAX_INSN_LEN];
unsigned char mask[I386_MAX_INSN_LEN];
gdb_byte insn[I386_MAX_INSN_LEN];
gdb_byte mask[I386_MAX_INSN_LEN];
};
/* Search for the instruction at PC in the list SKIP_INSNS. Return
@ -491,7 +491,7 @@ static struct i386_insn *
i386_match_insn (CORE_ADDR pc, struct i386_insn *skip_insns)
{
struct i386_insn *insn;
unsigned char op;
gdb_byte op;
op = read_memory_unsigned_integer (pc, 1);
@ -584,7 +584,7 @@ i386_analyze_frame_setup (CORE_ADDR pc, CORE_ADDR limit,
struct i386_frame_cache *cache)
{
struct i386_insn *insn;
unsigned char op;
gdb_byte op;
int skip = 0;
if (limit <= pc)
@ -708,7 +708,7 @@ i386_analyze_register_saves (CORE_ADDR pc, CORE_ADDR current_pc,
struct i386_frame_cache *cache)
{
CORE_ADDR offset = 0;
unsigned char op;
gdb_byte op;
int i;
if (cache->locals > 0)
@ -771,14 +771,14 @@ i386_analyze_prologue (CORE_ADDR pc, CORE_ADDR current_pc,
static CORE_ADDR
i386_skip_prologue (CORE_ADDR start_pc)
{
static unsigned char pic_pat[6] =
static gdb_byte pic_pat[6] =
{
0xe8, 0, 0, 0, 0, /* call 0x0 */
0x5b, /* popl %ebx */
};
struct i386_frame_cache cache;
CORE_ADDR pc;
unsigned char op;
gdb_byte op;
int i;
cache.locals = -1;
@ -849,7 +849,7 @@ i386_skip_prologue (CORE_ADDR start_pc)
static CORE_ADDR
i386_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame)
{
char buf[8];
gdb_byte buf[8];
frame_unwind_register (next_frame, PC_REGNUM, buf);
return extract_typed_address (buf, builtin_type_void_func_ptr);
@ -862,7 +862,7 @@ static struct i386_frame_cache *
i386_frame_cache (struct frame_info *next_frame, void **this_cache)
{
struct i386_frame_cache *cache;
char buf[4];
gdb_byte buf[4];
int i;
if (*this_cache)
@ -1052,7 +1052,7 @@ i386_sigtramp_frame_cache (struct frame_info *next_frame, void **this_cache)
struct i386_frame_cache *cache;
struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch);
CORE_ADDR addr;
char buf[4];
gdb_byte buf[4];
if (*this_cache)
return *this_cache;
@ -1163,7 +1163,7 @@ static const struct frame_base i386_frame_base =
static struct frame_id
i386_unwind_dummy_id (struct gdbarch *gdbarch, struct frame_info *next_frame)
{
char buf[4];
gdb_byte buf[4];
CORE_ADDR fp;
frame_unwind_register (next_frame, I386_EBP_REGNUM, buf);
@ -1185,7 +1185,7 @@ i386_unwind_dummy_id (struct gdbarch *gdbarch, struct frame_info *next_frame)
static int
i386_get_longjmp_target (CORE_ADDR *pc)
{
char buf[8];
gdb_byte buf[8];
CORE_ADDR sp, jb_addr;
int jb_pc_offset = gdbarch_tdep (current_gdbarch)->jb_pc_offset;
int len = TYPE_LENGTH (builtin_type_void_func_ptr);
@ -1217,7 +1217,7 @@ i386_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
struct value **args, CORE_ADDR sp, int struct_return,
CORE_ADDR struct_addr)
{
char buf[4];
gdb_byte buf[4];
int i;
/* Push arguments in reverse order. */
@ -1279,11 +1279,11 @@ i386_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
static void
i386_extract_return_value (struct gdbarch *gdbarch, struct type *type,
struct regcache *regcache, void *valbuf)
struct regcache *regcache, gdb_byte *valbuf)
{
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
int len = TYPE_LENGTH (type);
char buf[I386_MAX_REGISTER_SIZE];
gdb_byte buf[I386_MAX_REGISTER_SIZE];
if (TYPE_CODE (type) == TYPE_CODE_FLT)
{
@ -1316,7 +1316,7 @@ i386_extract_return_value (struct gdbarch *gdbarch, struct type *type,
regcache_raw_read (regcache, LOW_RETURN_REGNUM, buf);
memcpy (valbuf, buf, low_size);
regcache_raw_read (regcache, HIGH_RETURN_REGNUM, buf);
memcpy ((char *) valbuf + low_size, buf, len - low_size);
memcpy (valbuf + low_size, buf, len - low_size);
}
else
internal_error (__FILE__, __LINE__,
@ -1329,7 +1329,7 @@ i386_extract_return_value (struct gdbarch *gdbarch, struct type *type,
static void
i386_store_return_value (struct gdbarch *gdbarch, struct type *type,
struct regcache *regcache, const void *valbuf)
struct regcache *regcache, const gdb_byte *valbuf)
{
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
int len = TYPE_LENGTH (type);
@ -1341,7 +1341,7 @@ i386_store_return_value (struct gdbarch *gdbarch, struct type *type,
if (TYPE_CODE (type) == TYPE_CODE_FLT)
{
ULONGEST fstat;
char buf[I386_MAX_REGISTER_SIZE];
gdb_byte buf[I386_MAX_REGISTER_SIZE];
if (tdep->st0_regnum < 0)
{
@ -1384,7 +1384,7 @@ i386_store_return_value (struct gdbarch *gdbarch, struct type *type,
{
regcache_raw_write (regcache, LOW_RETURN_REGNUM, valbuf);
regcache_raw_write_part (regcache, HIGH_RETURN_REGNUM, 0,
len - low_size, (char *) valbuf + low_size);
len - low_size, valbuf + low_size);
}
else
internal_error (__FILE__, __LINE__,
@ -1607,7 +1607,7 @@ i386_pseudo_register_read (struct gdbarch *gdbarch, struct regcache *regcache,
{
if (i386_mmx_regnum_p (gdbarch, regnum))
{
char mmx_buf[MAX_REGISTER_SIZE];
gdb_byte mmx_buf[MAX_REGISTER_SIZE];
int fpnum = i386_mmx_regnum_to_fp_regnum (regcache, regnum);
/* Extract (always little endian). */
@ -1624,7 +1624,7 @@ i386_pseudo_register_write (struct gdbarch *gdbarch, struct regcache *regcache,
{
if (i386_mmx_regnum_p (gdbarch, regnum))
{
char mmx_buf[MAX_REGISTER_SIZE];
gdb_byte mmx_buf[MAX_REGISTER_SIZE];
int fpnum = i386_mmx_regnum_to_fp_regnum (regcache, regnum);
/* Read ... */
@ -1706,7 +1706,7 @@ i386_register_to_value (struct frame_info *frame, int regnum,
struct type *type, void *to)
{
int len = TYPE_LENGTH (type);
char *buf = to;
gdb_byte *buf = to;
/* FIXME: kettenis/20030609: What should we do if REGNUM isn't
available in FRAME (i.e. if it wasn't saved)? */
@ -1741,7 +1741,7 @@ i386_value_to_register (struct frame_info *frame, int regnum,
struct type *type, const void *from)
{
int len = TYPE_LENGTH (type);
const char *buf = from;
const gdb_byte *buf = from;
if (i386_fp_regnum_p (regnum))
{
@ -1774,7 +1774,7 @@ i386_supply_gregset (const struct regset *regset, struct regcache *regcache,
int regnum, const void *gregs, size_t len)
{
const struct gdbarch_tdep *tdep = gdbarch_tdep (regset->arch);
const char *regs = gregs;
const bfd_byte *regs = gregs;
int i;
gdb_assert (len == tdep->sizeof_gregset);
@ -1798,7 +1798,7 @@ i386_collect_gregset (const struct regset *regset,
int regnum, void *gregs, size_t len)
{
const struct gdbarch_tdep *tdep = gdbarch_tdep (regset->arch);
char *regs = gregs;
bfd_byte *regs = gregs;
int i;
gdb_assert (len == tdep->sizeof_gregset);
@ -1996,7 +1996,7 @@ i386_svr4_sigtramp_p (struct frame_info *next_frame)
static CORE_ADDR
i386_svr4_sigcontext_addr (struct frame_info *next_frame)
{
char buf[4];
gdb_byte buf[4];
CORE_ADDR sp;
frame_unwind_register (next_frame, I386_ESP_REGNUM, buf);

View file

@ -38,7 +38,7 @@
static CORE_ADDR
i386bsd_sigcontext_addr (struct frame_info *next_frame)
{
char buf[4];
gdb_byte buf[4];
CORE_ADDR sp;
frame_unwind_register (next_frame, I386_ESP_REGNUM, buf);

View file

@ -60,14 +60,15 @@ i386obsd_sigtramp_p (struct frame_info *next_frame)
{
CORE_ADDR pc = frame_pc_unwind (next_frame);
CORE_ADDR start_pc = (pc & ~(i386obsd_page_size - 1));
const char sigreturn[] =
const gdb_byte sigreturn[] =
{
0xb8,
0x67, 0x00, 0x00, 0x00, /* movl $SYS_sigreturn, %eax */
0xcd, 0x80 /* int $0x80 */
};
size_t buflen = sizeof sigreturn;
char *name, *buf;
gdb_byte *buf;
char *name;
/* If the function has a valid symbol name, it isn't a
trampoline. */
@ -218,7 +219,7 @@ i386obsd_supply_uthread (struct regcache *regcache,
{
CORE_ADDR sp_addr = addr + I386OBSD_UTHREAD_ESP_OFFSET;
CORE_ADDR sp = 0;
char buf[4];
gdb_byte buf[4];
int i;
gdb_assert (regnum >= -1);
@ -261,7 +262,7 @@ i386obsd_collect_uthread (const struct regcache *regcache,
{
CORE_ADDR sp_addr = addr + I386OBSD_UTHREAD_ESP_OFFSET;
CORE_ADDR sp = 0;
char buf[4];
gdb_byte buf[4];
int i;
gdb_assert (regnum >= -1);