mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-27 22:48:57 +08:00
Remove MAX_REGISTER_SIZE from frame.c
gdb/ * frame.c (get_frame_register_bytes): Unwind using value. (put_frame_register_bytes): Likewise.
This commit is contained in:
@ -1,3 +1,8 @@
|
|||||||
|
2017-05-04 Alan Hayward <alan.hayward@arm.com>
|
||||||
|
|
||||||
|
* frame.c (get_frame_register_bytes): Unwind using value.
|
||||||
|
(put_frame_register_bytes): Likewise.
|
||||||
|
|
||||||
2017-03-29 Jan Kratochvil <jan.kratochvil@redhat.com>
|
2017-03-29 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||||
|
|
||||||
* auto-load.c (auto_load_section_scripts): Check SEC_HAS_CONTENTS.
|
* auto-load.c (auto_load_section_scripts): Check SEC_HAS_CONTENTS.
|
||||||
|
31
gdb/frame.c
31
gdb/frame.c
@ -1410,16 +1410,21 @@ get_frame_register_bytes (struct frame_info *frame, int regnum,
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
gdb_byte buf[MAX_REGISTER_SIZE];
|
struct value *value = frame_unwind_register_value (frame->next,
|
||||||
enum lval_type lval;
|
regnum);
|
||||||
CORE_ADDR addr;
|
gdb_assert (value != NULL);
|
||||||
int realnum;
|
*optimizedp = value_optimized_out (value);
|
||||||
|
*unavailablep = !value_entirely_available (value);
|
||||||
|
|
||||||
frame_register (frame, regnum, optimizedp, unavailablep,
|
|
||||||
&lval, &addr, &realnum, buf);
|
|
||||||
if (*optimizedp || *unavailablep)
|
if (*optimizedp || *unavailablep)
|
||||||
|
{
|
||||||
|
release_value (value);
|
||||||
|
value_free (value);
|
||||||
return 0;
|
return 0;
|
||||||
memcpy (myaddr, buf + offset, curr_len);
|
}
|
||||||
|
memcpy (myaddr, value_contents_all (value) + offset, curr_len);
|
||||||
|
release_value (value);
|
||||||
|
value_free (value);
|
||||||
}
|
}
|
||||||
|
|
||||||
myaddr += curr_len;
|
myaddr += curr_len;
|
||||||
@ -1460,11 +1465,15 @@ put_frame_register_bytes (struct frame_info *frame, int regnum,
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
gdb_byte buf[MAX_REGISTER_SIZE];
|
struct value *value = frame_unwind_register_value (frame->next,
|
||||||
|
regnum);
|
||||||
|
gdb_assert (value != NULL);
|
||||||
|
|
||||||
deprecated_frame_register_read (frame, regnum, buf);
|
memcpy ((char *) value_contents_writeable (value) + offset, myaddr,
|
||||||
memcpy (buf + offset, myaddr, curr_len);
|
curr_len);
|
||||||
put_frame_register (frame, regnum, buf);
|
put_frame_register (frame, regnum, value_contents_raw (value));
|
||||||
|
release_value (value);
|
||||||
|
value_free (value);
|
||||||
}
|
}
|
||||||
|
|
||||||
myaddr += curr_len;
|
myaddr += curr_len;
|
||||||
|
Reference in New Issue
Block a user