diff options
author | Mark Wielaard <mjw@redhat.com> | 2009-09-16 12:22:04 +0200 |
---|---|---|
committer | Mark Wielaard <mjw@redhat.com> | 2009-09-16 12:22:04 +0200 |
commit | 86598ebfa13479b4ba3b6b7a9de25c3e497ff57e (patch) | |
tree | cf4db8f202856ad1d9546ab377b88c3379d14951 /loc2c.c | |
parent | e3e5c5563d361c206fba99b98b0f9f8a135089ce (diff) | |
download | systemtap-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.c | 34 |
1 files changed, 0 insertions, 34 deletions
@@ -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) |