summaryrefslogtreecommitdiffstats
path: root/loc2c.c
diff options
context:
space:
mode:
authorMark Wielaard <mjw@redhat.com>2009-09-16 12:22:04 +0200
committerMark Wielaard <mjw@redhat.com>2009-09-16 12:22:04 +0200
commit86598ebfa13479b4ba3b6b7a9de25c3e497ff57e (patch)
treecf4db8f202856ad1d9546ab377b88c3379d14951 /loc2c.c
parente3e5c5563d361c206fba99b98b0f9f8a135089ce (diff)
downloadsystemtap-steved-86598ebfa13479b4ba3b6b7a9de25c3e497ff57e.tar.gz
systemtap-steved-86598ebfa13479b4ba3b6b7a9de25c3e497ff57e.tar.xz
systemtap-steved-86598ebfa13479b4ba3b6b7a9de25c3e497ff57e.zip
Clean up dwflpp::translate_location workaround for DW_AT_data_member_location.
Do the same workaround as loc2c-test.c does. Just treat a constant member location offset as a DW_OP_plus_uconst and call c_translate_location for it. Also Remove c_translate_add_offset. * dwflpp.cxx (dwflpp::translate_location): Check elfutils version and only do workaround for elfutils < 0.142. * loc2c.h (c_translate_add_offset): Removed. * loc2c.c (c_translate_add_offset): Likewise.
Diffstat (limited to 'loc2c.c')
-rw-r--r--loc2c.c34
1 files changed, 0 insertions, 34 deletions
diff --git a/loc2c.c b/loc2c.c
index d4cb4666..5cf59691 100644
--- a/loc2c.c
+++ b/loc2c.c
@@ -1711,40 +1711,6 @@ c_translate_pointer_store (struct obstack *pool, int indent,
// XXX: what about multiple-location lvalues?
}
-
-/* Translate a fragment to add an offset to the currently calculated
- address of the input location. Used for struct fields. Only works
- when location is already an actual base address.
-*/
-
-void
-c_translate_add_offset (struct obstack *pool, int indent, const char *comment,
- Dwarf_Sword off, struct location **input)
-{
- indent++;
- if (comment == NULL || comment[0] == '\0')
- comment = "field offset";
- switch ((*input)->type)
- {
- case loc_address:
- obstack_printf (pool, "%*saddr += " SFORMAT "; // %s\n",
- indent * 2 + 2, "", off, comment);
- *input = (*input)->next = new_synthetic_loc (pool, *input, false);
- break;
-
- case loc_register:
- FAIL (*input, N_("cannot add offset of object in register"));
- break;
- case loc_noncontiguous:
- FAIL (*input, N_("cannot add offset of noncontiguous object"));
- break;
-
- default:
- abort ();
- break;
- }
-}
-
/* Determine the element stride of an array type. */
static Dwarf_Word
array_stride (Dwarf_Die *typedie, struct location *origin)