summaryrefslogtreecommitdiffstats
path: root/libdw/dwarf_begin_elf.c
diff options
context:
space:
mode:
authorMark Wielaard <[email protected]>2018-03-14 22:45:56 +0100
committerMark Wielaard <[email protected]>2018-04-03 13:13:07 +0200
commit9535e6bdba62052c59f2c89007a1a40f3f2334ec (patch)
treeaaab05582e243bf3dcba436a1ee9ce0354af12c8 /libdw/dwarf_begin_elf.c
parent4a97eb02bb0bcd6562f8777596e3bbad0045d7a4 (diff)
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 <[email protected]>
Diffstat (limited to 'libdw/dwarf_begin_elf.c')
-rw-r--r--libdw/dwarf_begin_elf.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/libdw/dwarf_begin_elf.c b/libdw/dwarf_begin_elf.c
index 1ffa6c93..19a5fbbb 100644
--- a/libdw/dwarf_begin_elf.c
+++ b/libdw/dwarf_begin_elf.c
@@ -46,8 +46,8 @@
#include "libdwP.h"
-/* Section names. */
-static const char dwarf_scnnames[IDX_last][18] =
+/* Section names. (Note .debug_str_offsets is the largest 19 chars.) */
+static const char dwarf_scnnames[IDX_last][19] =
{
[IDX_debug_info] = ".debug_info",
[IDX_debug_types] = ".debug_types",
@@ -59,6 +59,7 @@ static const char dwarf_scnnames[IDX_last][18] =
[IDX_debug_loc] = ".debug_loc",
[IDX_debug_pubnames] = ".debug_pubnames",
[IDX_debug_str] = ".debug_str",
+ [IDX_debug_str_offsets] = ".debug_str_offsets",
[IDX_debug_macinfo] = ".debug_macinfo",
[IDX_debug_macro] = ".debug_macro",
[IDX_debug_ranges] = ".debug_ranges",