diff options
author | Alan Hayward <alan.hayward@arm.com> | 2017-06-08 16:05:24 +0100 |
---|---|---|
committer | Alan Hayward <alan.hayward@arm.com> | 2017-06-08 16:05:24 +0100 |
commit | b8b6e72f3db1f798680742c02f3dc220175d0757 (patch) | |
tree | 7b1d64df3e7822e163e61ae6e8220524e31b0d10 /gdb/mn10300-tdep.c | |
parent | 5369082e7b786dee2c185f768b126a9a18cb2915 (diff) | |
download | binutils-gdb-b8b6e72f3db1f798680742c02f3dc220175d0757.tar.gz |
Add MN10300_MAX_REGISTER_SIZE
gdb/
* mn10300-tdep.c (MN10300_MAX_REGISTER_SIZE): Add.
(mn10300_extract_return_value): Use MN10300_MAX_REGISTER_SIZE.
(mn10300_push_dummy_call): Likewise.
Diffstat (limited to 'gdb/mn10300-tdep.c')
-rw-r--r-- | gdb/mn10300-tdep.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/gdb/mn10300-tdep.c b/gdb/mn10300-tdep.c index f8dd762cf0a..669bfa1bce5 100644 --- a/gdb/mn10300-tdep.c +++ b/gdb/mn10300-tdep.c @@ -40,6 +40,9 @@ /* The am33-2 has 64 registers. */ #define MN10300_MAX_NUM_REGS 64 +/* Big enough to hold the size of the largest register in bytes. */ +#define MN10300_MAX_REGISTER_SIZE 64 + /* This structure holds the results of a prologue analysis. */ struct mn10300_prologue { @@ -196,7 +199,7 @@ static void mn10300_extract_return_value (struct gdbarch *gdbarch, struct type *type, struct regcache *regcache, void *valbuf) { - gdb_byte buf[MAX_REGISTER_SIZE]; + gdb_byte buf[MN10300_MAX_REGISTER_SIZE]; int len = TYPE_LENGTH (type); int reg, regsz; @@ -206,6 +209,7 @@ mn10300_extract_return_value (struct gdbarch *gdbarch, struct type *type, reg = 0; regsz = register_size (gdbarch, reg); + gdb_assert (regsz <= MN10300_MAX_REGISTER_SIZE); if (len <= regsz) { regcache_raw_read (regcache, reg, buf); @@ -1224,7 +1228,7 @@ mn10300_push_dummy_call (struct gdbarch *gdbarch, int stack_offset = 0; int argnum; const gdb_byte *val; - gdb_byte valbuf[MAX_REGISTER_SIZE]; + gdb_byte valbuf[MN10300_MAX_REGISTER_SIZE]; /* This should be a nop, but align the stack just in case something went wrong. Stacks are four byte aligned on the mn10300. */ @@ -1266,6 +1270,7 @@ mn10300_push_dummy_call (struct gdbarch *gdbarch, { /* Change to pointer-to-type. */ arg_len = push_size; + gdb_assert (push_size <= MN10300_MAX_REGISTER_SIZE); store_unsigned_integer (valbuf, push_size, byte_order, value_address (*args)); val = &valbuf[0]; |