diff options
author | Mark Wielaard <[email protected]> | 2011-02-25 12:58:54 +0100 |
---|---|---|
committer | Mark Wielaard <[email protected]> | 2011-02-25 12:58:54 +0100 |
commit | cf454ab68981584c50ad28133c7065344f06db80 (patch) | |
tree | 9089cad74ce661b94561e2b8d3fb09da652516e7 | |
parent | 725aad5d2f8b78ed21a5e253fb38f9722c2c8b2d (diff) |
Merge over readelf dwarf string additions from dwarf branch dwarfstrings.
* readelf.c (dwarf_attr_string): Add DW_AT_GNU_* handling.
(dwarf_form_string): Properly format and return unknown form.
-rw-r--r-- | src/ChangeLog | 5 | ||||
-rw-r--r-- | src/readelf.c | 37 |
2 files changed, 39 insertions, 3 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index a7c2513d..5ef2aec2 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2011-02-25 Mark Wielaard <[email protected]> + + * readelf.c (dwarf_attr_string): Add DW_AT_GNU_* handling. + (dwarf_form_string): Properly format and return unknown form. + 2011-02-23 Roland McGrath <[email protected]> * readelf.c (section_name): New function. diff --git a/src/readelf.c b/src/readelf.c index 78ee2b77..b798b5ac 100644 --- a/src/readelf.c +++ b/src/readelf.c @@ -3514,6 +3514,34 @@ dwarf_attr_string (unsigned int attrnum) result = "GNU_vector"; break; + case DW_AT_GNU_guarded_by: + result = "GNU_guarded_by"; + break; + + case DW_AT_GNU_pt_guarded_by: + result = "GNU_pt_guarded_by"; + break; + + case DW_AT_GNU_guarded: + result = "GNU_guarded"; + break; + + case DW_AT_GNU_pt_guarded: + result = "GNU_pt_guarded"; + break; + + case DW_AT_GNU_locks_excluded: + result = "GNU_locks_excluded"; + break; + + case DW_AT_GNU_exclusive_locks_required: + result = "GNU_exclusive_locks_required"; + break; + + case DW_AT_GNU_shared_locks_required: + result = "GNU_shared_locks_required"; + break; + case DW_AT_GNU_odr_signature: result = "GNU_odr_signature"; break; @@ -3566,7 +3594,7 @@ dwarf_form_string (unsigned int form) [DW_FORM_sec_offset] = "sec_offset", [DW_FORM_exprloc] = "exprloc", [DW_FORM_flag_present] = "flag_present", - [DW_FORM_ref_sig8] = "ref_sig8" + [DW_FORM_ref_sig8] = "ref_sig8", }; const unsigned int nknown_forms = (sizeof (known_forms) / sizeof (known_forms[0])); @@ -3577,8 +3605,11 @@ dwarf_form_string (unsigned int form) result = known_forms[form]; if (unlikely (result == NULL)) - snprintf (buf, sizeof buf, gettext ("unknown form %" PRIx64), - (uint64_t) form); + { + snprintf (buf, sizeof buf, gettext ("unknown form %#" PRIx64), + (uint64_t) form); + result = buf; + } return result; } |