mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-02-17 13:10:12 +08:00
New OPTIMIZED_OUT_ERROR error code.
In order to catch <optimized out> errors like we catch <unavailable> errors, this adds a new OPTIMIZED_OUT_ERROR error code, and throws it in various places. gdb/ChangeLog 2013-12-06 Andrew Burgess <aburgess@broadcom.com> Pedro Alves <palves@redhat.com> * exceptions.h (errors): Add OPTIMIZED_OUT_ERROR. * dwarf2loc.c (write_pieced_value): Throw OPTIMIZED_OUT_ERROR. * frame.c (frame_unwind_register): Throw OPTIMIZED_OUT_ERROR. * spu-tdep.c (spu_software_single_step): Throw OPTIMIZED_OUT_ERROR. * valops.c (value_assign): Throw OPTIMIZED_OUT_ERROR.
This commit is contained in:
parent
7580e91767
commit
710409a221
@ -1,3 +1,13 @@
|
||||
2013-12-06 Andrew Burgess <aburgess@broadcom.com>
|
||||
Pedro Alves <palves@redhat.com>
|
||||
|
||||
* exceptions.h (errors): Add OPTIMIZED_OUT_ERROR.
|
||||
* dwarf2loc.c (write_pieced_value): Throw OPTIMIZED_OUT_ERROR.
|
||||
* frame.c (frame_unwind_register): Throw OPTIMIZED_OUT_ERROR.
|
||||
* spu-tdep.c (spu_software_single_step): Throw
|
||||
OPTIMIZED_OUT_ERROR.
|
||||
* valops.c (value_assign): Throw OPTIMIZED_OUT_ERROR.
|
||||
|
||||
2013-12-06 Tom Tromey <tromey@redhat.com>
|
||||
|
||||
* objfiles.c (free_objfile): Update comment.
|
||||
|
@ -1893,9 +1893,10 @@ write_pieced_value (struct value *to, struct value *from)
|
||||
&optim, &unavail))
|
||||
{
|
||||
if (optim)
|
||||
error (_("Can't do read-modify-write to "
|
||||
"update bitfield; containing word has been "
|
||||
"optimized out"));
|
||||
throw_error (OPTIMIZED_OUT_ERROR,
|
||||
_("Can't do read-modify-write to "
|
||||
"update bitfield; containing word "
|
||||
"has been optimized out"));
|
||||
if (unavail)
|
||||
throw_error (NOT_AVAILABLE_ERROR,
|
||||
_("Can't do read-modify-write to update "
|
||||
|
@ -86,6 +86,10 @@ enum errors {
|
||||
traceframe. */
|
||||
NOT_AVAILABLE_ERROR,
|
||||
|
||||
/* Value was optimized out. Note: if the value was a register, this
|
||||
means the register was not saved in the frame. */
|
||||
OPTIMIZED_OUT_ERROR,
|
||||
|
||||
/* DW_OP_GNU_entry_value resolving failed. */
|
||||
NO_ENTRY_VALUE_ERROR,
|
||||
|
||||
|
@ -1007,7 +1007,8 @@ frame_unwind_register (struct frame_info *frame, int regnum, gdb_byte *buf)
|
||||
&lval, &addr, &realnum, buf);
|
||||
|
||||
if (optimized)
|
||||
error (_("Register %d was not saved"), regnum);
|
||||
throw_error (OPTIMIZED_OUT_ERROR,
|
||||
_("Register %d was not saved"), regnum);
|
||||
if (unavailable)
|
||||
throw_error (NOT_AVAILABLE_ERROR,
|
||||
_("Register %d is not available"), regnum);
|
||||
|
@ -1614,8 +1614,9 @@ spu_software_single_step (struct frame_info *frame)
|
||||
else
|
||||
{
|
||||
if (optim)
|
||||
error (_("Could not determine address of "
|
||||
"single-step breakpoint."));
|
||||
throw_error (OPTIMIZED_OUT_ERROR,
|
||||
_("Could not determine address of "
|
||||
"single-step breakpoint."));
|
||||
if (unavail)
|
||||
throw_error (NOT_AVAILABLE_ERROR,
|
||||
_("Could not determine address of "
|
||||
|
@ -1188,7 +1188,8 @@ value_assign (struct value *toval, struct value *fromval)
|
||||
&optim, &unavail))
|
||||
{
|
||||
if (optim)
|
||||
error (_("value has been optimized out"));
|
||||
throw_error (OPTIMIZED_OUT_ERROR,
|
||||
_("value has been optimized out"));
|
||||
if (unavail)
|
||||
throw_error (NOT_AVAILABLE_ERROR,
|
||||
_("value is not available"));
|
||||
|
Loading…
Reference in New Issue
Block a user