summaryrefslogtreecommitdiffstats
path: root/dwflpp.cxx
diff options
context:
space:
mode:
authorMark Wielaard <mjw@redhat.com>2009-09-17 15:06:57 +0200
committerMark Wielaard <mjw@redhat.com>2009-09-17 17:01:38 +0200
commit24c7957b4dbddc8545d0e0c734377746a5ae6e60 (patch)
treee276329ae8a27bc46dda20c2ef665766cc97baa2 /dwflpp.cxx
parent6287a9e628bcbe6192da8fd9f0ce659a8acc13fc (diff)
downloadsystemtap-steved-24c7957b4dbddc8545d0e0c734377746a5ae6e60.tar.gz
systemtap-steved-24c7957b4dbddc8545d0e0c734377746a5ae6e60.tar.xz
systemtap-steved-24c7957b4dbddc8545d0e0c734377746a5ae6e60.zip
PR10417 Pass around attributes for supporting DW_OP_{implicit,stack}_value.
Preparation for retrieving the Dwarf_Block that holds the value of an DW_OP_implicit_value. We need the Dwarf_Attribute that is associated with the location expression operants. Depends on new elfutils 0.143 functionality. Recognizes, but does not yet handle the new operants DW_OP_{implicit,stack}_value. * loc2c.h (c_translate_location): Take an Dwarf_Attribute. * loc2c.c (c_translate_location): Likewise and pass it on. (location_relative): Likewise. (location_from_address): Likewise. (translate): Likewise and capture Dwarf_Block. * loc2c-test.c (handle_variable): Pass in Dwarf_Attribute. * dwflpp.cxx (translate_location): Likewise. (literal_stmt_for_return): Pass in NULL to indicate no attribute.
Diffstat (limited to 'dwflpp.cxx')
-rw-r--r--dwflpp.cxx4
1 files changed, 2 insertions, 2 deletions
diff --git a/dwflpp.cxx b/dwflpp.cxx
index ee3985cb..f3015fcc 100644
--- a/dwflpp.cxx
+++ b/dwflpp.cxx
@@ -1774,7 +1774,7 @@ dwflpp::translate_location(struct obstack *pool,
return c_translate_location (pool, &loc2c_error, this,
&loc2c_emit_address,
1, 0 /* PR9768 */,
- pc, expr, len, tail, fb_attr, cfa_ops);
+ pc, attr, expr, len, tail, fb_attr, cfa_ops);
}
@@ -2397,7 +2397,7 @@ dwflpp::literal_stmt_for_return (Dwarf_Die *scope_die,
struct location *head = c_translate_location (&pool, &loc2c_error, this,
&loc2c_emit_address,
1, 0 /* PR9768 */,
- pc, locops, nlocops,
+ pc, NULL, locops, nlocops,
&tail, NULL, NULL);
/* Translate the ->bar->baz[NN] parts. */