gdb: add comment in dwarf_evaluate_loc_desc::push_dwarf_reg_entry_value
Add a comment to clarify why we temporarily override some of the
context's fields, and especially the per_objfile field. A longer
explanation can be found in this previous commit
44486dcf19
("gdb: use caller objfile in dwarf_evaluate_loc_desc::push_dwarf_reg_entry_value")
gdb/ChangeLog:
* dwarf2/loc.c (class dwarf_evaluate_loc_desc)
<push_dwarf_reg_entry_value>: Add comment.
Change-Id: I60c6e1062799f729b30a9db78bcb6448783324b4
This commit is contained in:
parent
c47bae859a
commit
989ade0552
|
@ -1,3 +1,8 @@
|
|||
2020-05-28 Simon Marchi <simon.marchi@polymtl.ca>
|
||||
|
||||
* dwarf2/loc.c (class dwarf_evaluate_loc_desc)
|
||||
<push_dwarf_reg_entry_value>: Add comment.
|
||||
|
||||
2020-05-28 Kevin Buettner <kevinb@redhat.com>
|
||||
Keith Seitz <keiths@redhat.com>
|
||||
|
||||
|
|
|
@ -731,6 +731,12 @@ public:
|
|||
throw_error (NO_ENTRY_VALUE_ERROR,
|
||||
_("Cannot resolve DW_AT_call_data_value"));
|
||||
|
||||
/* We are about to evaluate an expression in the context of the caller
|
||||
of the current frame. This evaluation context may be different from
|
||||
the current (callee's) context), so temporarily set the caller's context.
|
||||
|
||||
It is possible for the caller to be from a different objfile from the
|
||||
callee if the call is made through a function pointer. */
|
||||
scoped_restore save_frame = make_scoped_restore (&this->frame,
|
||||
caller_frame);
|
||||
scoped_restore save_per_cu = make_scoped_restore (&this->per_cu,
|
||||
|
|
Loading…
Reference in New Issue