aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMark Wielaard <mark@klomp.org>2018-03-14 22:45:56 +0100
committerMark Wielaard <mark@klomp.org>2018-04-03 13:13:07 +0200
commit9535e6bdba62052c59f2c89007a1a40f3f2334ec (patch)
treeaaab05582e243bf3dcba436a1ee9ce0354af12c8 /src
parent4a97eb02bb0bcd6562f8777596e3bbad0045d7a4 (diff)
downloadelfutils-9535e6bdba62052c59f2c89007a1a40f3f2334ec.tar.gz
libdw: Add support for reading DW_FORM_strx[1234] in .debug_str_offsets.
Recognize the new .debug_str_offsets section. The CU will now hold a new str_off_base offset in that section for that CU. dwarf_form_string will decode DW_FORM_strx[1234] and return strings using that str_off_base from the .debug_addr. Signed-off-by: Mark Wielaard <mark@klomp.org>
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog4
-rw-r--r--src/readelf.c5
2 files changed, 9 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 3ca090dc..55eb279c 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,7 @@
+2018-03-23 Mark Wielaard <mark@klomp.org>
+
+ * readelf.c (attr_callback): Handle DW_FORM_strx[1234].
+
2018-03-22 Mark Wielaard <mark@klomp.org>
* readelf.c (attr_callback): Handle DW_FORM_addrx[1234].
diff --git a/src/readelf.c b/src/readelf.c
index 9210b2ac..3fb5ee6f 100644
--- a/src/readelf.c
+++ b/src/readelf.c
@@ -6105,6 +6105,11 @@ attr_callback (Dwarf_Attribute *attrp, void *arg)
case DW_FORM_indirect:
case DW_FORM_strp:
+ case DW_FORM_strx:
+ case DW_FORM_strx1:
+ case DW_FORM_strx2:
+ case DW_FORM_strx3:
+ case DW_FORM_strx4:
case DW_FORM_string:
case DW_FORM_GNU_strp_alt:
if (cbargs->silent)