* gdbarch.sh (pointer_to_address): Change to type 'm'.
(address_to_pointer): Likewise. * gdbarch.c, gdbarch.h: Regenerate. * inferior.h (unsigned_pointer_to_address): Add GDBARCH argument. (signed_pointer_to_address): Likewise. (unsigned_address_to_pointer, address_to_signed_pointer): Likewise. * findvar.c (unsigned_pointer_to_address): Likewise. (signed_pointer_to_address): Likewise. (unsigned_address_to_pointer, address_to_signed_pointer): Likewise. * avr-tdep.c (avr_address_to_pointer): Likewise. (avr_pointer_to_address): Likewise. * iq2000-tdep.c (iq2000_pointer_to_address): Likewise. (iq2000_address_to_pointer): Likewise. * m32c-tdep.c (m32c_m16c_address_to_pointer): Likewise. (m32c_m16c_pointer_to_address): Likewise. * spu-tdep.c (spu_pointer_to_address): Likewise. * xstormy16-tdep.c (xstormy16_pointer_to_address): Likewise. (xstormy16_address_to_pointer): Likewise.
This commit is contained in:
parent
1fac167a76
commit
9898f801b4
11 changed files with 65 additions and 26 deletions
|
@ -1,3 +1,26 @@
|
|||
2009-06-17 Ulrich Weigand <uweigand@de.ibm.com>
|
||||
|
||||
* gdbarch.sh (pointer_to_address): Change to type 'm'.
|
||||
(address_to_pointer): Likewise.
|
||||
* gdbarch.c, gdbarch.h: Regenerate.
|
||||
|
||||
* inferior.h (unsigned_pointer_to_address): Add GDBARCH argument.
|
||||
(signed_pointer_to_address): Likewise.
|
||||
(unsigned_address_to_pointer, address_to_signed_pointer): Likewise.
|
||||
* findvar.c (unsigned_pointer_to_address): Likewise.
|
||||
(signed_pointer_to_address): Likewise.
|
||||
(unsigned_address_to_pointer, address_to_signed_pointer): Likewise.
|
||||
|
||||
* avr-tdep.c (avr_address_to_pointer): Likewise.
|
||||
(avr_pointer_to_address): Likewise.
|
||||
* iq2000-tdep.c (iq2000_pointer_to_address): Likewise.
|
||||
(iq2000_address_to_pointer): Likewise.
|
||||
* m32c-tdep.c (m32c_m16c_address_to_pointer): Likewise.
|
||||
(m32c_m16c_pointer_to_address): Likewise.
|
||||
* spu-tdep.c (spu_pointer_to_address): Likewise.
|
||||
* xstormy16-tdep.c (xstormy16_pointer_to_address): Likewise.
|
||||
(xstormy16_address_to_pointer): Likewise.
|
||||
|
||||
2009-06-17 Ulrich Weigand <uweigand@de.ibm.com>
|
||||
|
||||
* printcmd.c (print_scalar_formatted): Always truncate
|
||||
|
|
|
@ -279,7 +279,8 @@ avr_convert_saddr_to_raw (CORE_ADDR x)
|
|||
/* Convert from address to pointer and vice-versa. */
|
||||
|
||||
static void
|
||||
avr_address_to_pointer (struct type *type, gdb_byte *buf, CORE_ADDR addr)
|
||||
avr_address_to_pointer (struct gdbarch *gdbarch,
|
||||
struct type *type, gdb_byte *buf, CORE_ADDR addr)
|
||||
{
|
||||
/* Is it a code address? */
|
||||
if (TYPE_CODE (TYPE_TARGET_TYPE (type)) == TYPE_CODE_FUNC
|
||||
|
@ -297,7 +298,8 @@ avr_address_to_pointer (struct type *type, gdb_byte *buf, CORE_ADDR addr)
|
|||
}
|
||||
|
||||
static CORE_ADDR
|
||||
avr_pointer_to_address (struct type *type, const gdb_byte *buf)
|
||||
avr_pointer_to_address (struct gdbarch *gdbarch,
|
||||
struct type *type, const gdb_byte *buf)
|
||||
{
|
||||
CORE_ADDR addr = extract_unsigned_integer (buf, TYPE_LENGTH (type));
|
||||
|
||||
|
|
|
@ -309,13 +309,15 @@ value_of_register_lazy (struct frame_info *frame, int regnum)
|
|||
/* Given a pointer of type TYPE in target form in BUF, return the
|
||||
address it represents. */
|
||||
CORE_ADDR
|
||||
unsigned_pointer_to_address (struct type *type, const gdb_byte *buf)
|
||||
unsigned_pointer_to_address (struct gdbarch *gdbarch,
|
||||
struct type *type, const gdb_byte *buf)
|
||||
{
|
||||
return extract_unsigned_integer (buf, TYPE_LENGTH (type));
|
||||
}
|
||||
|
||||
CORE_ADDR
|
||||
signed_pointer_to_address (struct type *type, const gdb_byte *buf)
|
||||
signed_pointer_to_address (struct gdbarch *gdbarch,
|
||||
struct type *type, const gdb_byte *buf)
|
||||
{
|
||||
return extract_signed_integer (buf, TYPE_LENGTH (type));
|
||||
}
|
||||
|
@ -323,14 +325,15 @@ signed_pointer_to_address (struct type *type, const gdb_byte *buf)
|
|||
/* Given an address, store it as a pointer of type TYPE in target
|
||||
format in BUF. */
|
||||
void
|
||||
unsigned_address_to_pointer (struct type *type, gdb_byte *buf,
|
||||
CORE_ADDR addr)
|
||||
unsigned_address_to_pointer (struct gdbarch *gdbarch, struct type *type,
|
||||
gdb_byte *buf, CORE_ADDR addr)
|
||||
{
|
||||
store_unsigned_integer (buf, TYPE_LENGTH (type), addr);
|
||||
}
|
||||
|
||||
void
|
||||
address_to_signed_pointer (struct type *type, gdb_byte *buf, CORE_ADDR addr)
|
||||
address_to_signed_pointer (struct gdbarch *gdbarch, struct type *type,
|
||||
gdb_byte *buf, CORE_ADDR addr)
|
||||
{
|
||||
store_signed_integer (buf, TYPE_LENGTH (type), addr);
|
||||
}
|
||||
|
|
|
@ -317,8 +317,8 @@ struct gdbarch startup_gdbarch =
|
|||
0, /* register_to_value */
|
||||
0, /* value_to_register */
|
||||
0, /* value_from_register */
|
||||
0, /* pointer_to_address */
|
||||
0, /* address_to_pointer */
|
||||
unsigned_pointer_to_address, /* pointer_to_address */
|
||||
unsigned_address_to_pointer, /* address_to_pointer */
|
||||
0, /* integer_to_address */
|
||||
0, /* return_value */
|
||||
0, /* skip_prologue */
|
||||
|
@ -2096,7 +2096,7 @@ gdbarch_pointer_to_address (struct gdbarch *gdbarch, struct type *type, const gd
|
|||
gdb_assert (gdbarch->pointer_to_address != NULL);
|
||||
if (gdbarch_debug >= 2)
|
||||
fprintf_unfiltered (gdb_stdlog, "gdbarch_pointer_to_address called\n");
|
||||
return gdbarch->pointer_to_address (type, buf);
|
||||
return gdbarch->pointer_to_address (gdbarch, type, buf);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -2113,7 +2113,7 @@ gdbarch_address_to_pointer (struct gdbarch *gdbarch, struct type *type, gdb_byte
|
|||
gdb_assert (gdbarch->address_to_pointer != NULL);
|
||||
if (gdbarch_debug >= 2)
|
||||
fprintf_unfiltered (gdb_stdlog, "gdbarch_address_to_pointer called\n");
|
||||
gdbarch->address_to_pointer (type, buf, addr);
|
||||
gdbarch->address_to_pointer (gdbarch, type, buf, addr);
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -359,11 +359,11 @@ typedef struct value * (gdbarch_value_from_register_ftype) (struct type *type, i
|
|||
extern struct value * gdbarch_value_from_register (struct gdbarch *gdbarch, struct type *type, int regnum, struct frame_info *frame);
|
||||
extern void set_gdbarch_value_from_register (struct gdbarch *gdbarch, gdbarch_value_from_register_ftype *value_from_register);
|
||||
|
||||
typedef CORE_ADDR (gdbarch_pointer_to_address_ftype) (struct type *type, const gdb_byte *buf);
|
||||
typedef CORE_ADDR (gdbarch_pointer_to_address_ftype) (struct gdbarch *gdbarch, struct type *type, const gdb_byte *buf);
|
||||
extern CORE_ADDR gdbarch_pointer_to_address (struct gdbarch *gdbarch, struct type *type, const gdb_byte *buf);
|
||||
extern void set_gdbarch_pointer_to_address (struct gdbarch *gdbarch, gdbarch_pointer_to_address_ftype *pointer_to_address);
|
||||
|
||||
typedef void (gdbarch_address_to_pointer_ftype) (struct type *type, gdb_byte *buf, CORE_ADDR addr);
|
||||
typedef void (gdbarch_address_to_pointer_ftype) (struct gdbarch *gdbarch, struct type *type, gdb_byte *buf, CORE_ADDR addr);
|
||||
extern void gdbarch_address_to_pointer (struct gdbarch *gdbarch, struct type *type, gdb_byte *buf, CORE_ADDR addr);
|
||||
extern void set_gdbarch_address_to_pointer (struct gdbarch *gdbarch, gdbarch_address_to_pointer_ftype *address_to_pointer);
|
||||
|
||||
|
|
|
@ -466,8 +466,8 @@ f:void:value_to_register:struct frame_info *frame, int regnum, struct type *type
|
|||
# (but not the value contents) filled in.
|
||||
f:struct value *:value_from_register:struct type *type, int regnum, struct frame_info *frame:type, regnum, frame::default_value_from_register::0
|
||||
#
|
||||
f:CORE_ADDR:pointer_to_address:struct type *type, const gdb_byte *buf:type, buf::unsigned_pointer_to_address::0
|
||||
f:void:address_to_pointer:struct type *type, gdb_byte *buf, CORE_ADDR addr:type, buf, addr::unsigned_address_to_pointer::0
|
||||
m:CORE_ADDR:pointer_to_address:struct type *type, const gdb_byte *buf:type, buf::unsigned_pointer_to_address::0
|
||||
m:void:address_to_pointer:struct type *type, gdb_byte *buf, CORE_ADDR addr:type, buf, addr::unsigned_address_to_pointer::0
|
||||
M:CORE_ADDR:integer_to_address:struct type *type, const gdb_byte *buf:type, buf
|
||||
|
||||
# Return the return-value convention that will be used by FUNCTYPE
|
||||
|
|
|
@ -155,13 +155,17 @@ extern void terminal_save_ours (void);
|
|||
|
||||
extern void terminal_ours (void);
|
||||
|
||||
extern CORE_ADDR unsigned_pointer_to_address (struct type *type,
|
||||
extern CORE_ADDR unsigned_pointer_to_address (struct gdbarch *gdbarch,
|
||||
struct type *type,
|
||||
const gdb_byte *buf);
|
||||
extern void unsigned_address_to_pointer (struct type *type, gdb_byte *buf,
|
||||
extern void unsigned_address_to_pointer (struct gdbarch *gdbarch,
|
||||
struct type *type, gdb_byte *buf,
|
||||
CORE_ADDR addr);
|
||||
extern CORE_ADDR signed_pointer_to_address (struct type *type,
|
||||
extern CORE_ADDR signed_pointer_to_address (struct gdbarch *gdbarch,
|
||||
struct type *type,
|
||||
const gdb_byte *buf);
|
||||
extern void address_to_signed_pointer (struct type *type, gdb_byte *buf,
|
||||
extern void address_to_signed_pointer (struct gdbarch *gdbarch,
|
||||
struct type *type, gdb_byte *buf,
|
||||
CORE_ADDR addr);
|
||||
|
||||
extern void wait_for_inferior (int treat_exec_as_sigtrap);
|
||||
|
|
|
@ -87,7 +87,8 @@ insn_addr_from_ptr (CORE_ADDR ptr) /* target_pointer to CORE_ADDR. */
|
|||
Convert a target pointer to an address in host (CORE_ADDR) format. */
|
||||
|
||||
static CORE_ADDR
|
||||
iq2000_pointer_to_address (struct type * type, const gdb_byte * buf)
|
||||
iq2000_pointer_to_address (struct gdbarch *gdbarch,
|
||||
struct type * type, const gdb_byte * buf)
|
||||
{
|
||||
enum type_code target = TYPE_CODE (TYPE_TARGET_TYPE (type));
|
||||
CORE_ADDR addr = extract_unsigned_integer (buf, TYPE_LENGTH (type));
|
||||
|
@ -104,7 +105,8 @@ iq2000_pointer_to_address (struct type * type, const gdb_byte * buf)
|
|||
Convert a host-format address (CORE_ADDR) into a target pointer. */
|
||||
|
||||
static void
|
||||
iq2000_address_to_pointer (struct type *type, gdb_byte *buf, CORE_ADDR addr)
|
||||
iq2000_address_to_pointer (struct gdbarch *gdbarch,
|
||||
struct type *type, gdb_byte *buf, CORE_ADDR addr)
|
||||
{
|
||||
enum type_code target = TYPE_CODE (TYPE_TARGET_TYPE (type));
|
||||
|
||||
|
|
|
@ -2401,7 +2401,8 @@ m32c_skip_trampoline_code (struct frame_info *frame, CORE_ADDR stop_pc)
|
|||
programmer! :) */
|
||||
|
||||
static void
|
||||
m32c_m16c_address_to_pointer (struct type *type, gdb_byte *buf, CORE_ADDR addr)
|
||||
m32c_m16c_address_to_pointer (struct gdbarch *gdbarch,
|
||||
struct type *type, gdb_byte *buf, CORE_ADDR addr)
|
||||
{
|
||||
enum type_code target_code;
|
||||
gdb_assert (TYPE_CODE (type) == TYPE_CODE_PTR ||
|
||||
|
@ -2449,7 +2450,8 @@ m32c_m16c_address_to_pointer (struct type *type, gdb_byte *buf, CORE_ADDR addr)
|
|||
|
||||
|
||||
static CORE_ADDR
|
||||
m32c_m16c_pointer_to_address (struct type *type, const gdb_byte *buf)
|
||||
m32c_m16c_pointer_to_address (struct gdbarch *gdbarch,
|
||||
struct type *type, const gdb_byte *buf)
|
||||
{
|
||||
CORE_ADDR ptr;
|
||||
enum type_code target_code;
|
||||
|
|
|
@ -327,7 +327,8 @@ spu_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
|
|||
/* Address conversion. */
|
||||
|
||||
static CORE_ADDR
|
||||
spu_pointer_to_address (struct type *type, const gdb_byte *buf)
|
||||
spu_pointer_to_address (struct gdbarch *gdbarch,
|
||||
struct type *type, const gdb_byte *buf)
|
||||
{
|
||||
ULONGEST addr = extract_unsigned_integer (buf, TYPE_LENGTH (type));
|
||||
ULONGEST lslr = SPU_LS_SIZE - 1; /* Hard-wired LS size. */
|
||||
|
|
|
@ -592,7 +592,8 @@ xstormy16_skip_trampoline_code (struct frame_info *frame, CORE_ADDR pc)
|
|||
and vice versa. */
|
||||
|
||||
static CORE_ADDR
|
||||
xstormy16_pointer_to_address (struct type *type, const gdb_byte *buf)
|
||||
xstormy16_pointer_to_address (struct gdbarch *gdbarch,
|
||||
struct type *type, const gdb_byte *buf)
|
||||
{
|
||||
enum type_code target = TYPE_CODE (TYPE_TARGET_TYPE (type));
|
||||
CORE_ADDR addr = extract_unsigned_integer (buf, TYPE_LENGTH (type));
|
||||
|
@ -608,7 +609,8 @@ xstormy16_pointer_to_address (struct type *type, const gdb_byte *buf)
|
|||
}
|
||||
|
||||
static void
|
||||
xstormy16_address_to_pointer (struct type *type, gdb_byte *buf, CORE_ADDR addr)
|
||||
xstormy16_address_to_pointer (struct gdbarch *gdbarch,
|
||||
struct type *type, gdb_byte *buf, CORE_ADDR addr)
|
||||
{
|
||||
enum type_code target = TYPE_CODE (TYPE_TARGET_TYPE (type));
|
||||
|
||||
|
|
Loading…
Reference in a new issue