aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2021-10-17 17:34:46 +1030
committerAlan Modra <amodra@gmail.com>2021-10-17 20:01:34 +1030
commite7f024765a48fba4452535a5fc006a7e858730fd (patch)
tree7c67d8be7dd3ce334e4c9886521fa1adb327c1a5
parent31629daee5f896c94cccf0a11b6ff34d0a756eba (diff)
downloadbinutils-e7f024765a48fba4452535a5fc006a7e858730fd.zip
binutils-e7f024765a48fba4452535a5fc006a7e858730fd.tar.gz
binutils-e7f024765a48fba4452535a5fc006a7e858730fd.tar.bz2
PR28459, readelf issues bogus warning
I'd missed the fact that the .debug_rnglists dump doesn't exactly display the contents of the section. Instead readelf rummages through .debug_info looking for DW_AT_ranges entries, then displays the entries in .debug_rnglists pointed at, sorted. A simpler dump of the actual section contents might be more useful and robust, but it was likely done that way to detect overlap and holes. Anyway, the headers in .debug_rnglists besides the first are ignored, and limiting to the unit length of the first header fails if there is more than one unit. PR 28459 * dwarf.c (display_debug_ranges): Don't constrain data to length in header.
-rw-r--r--binutils/dwarf.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/binutils/dwarf.c b/binutils/dwarf.c
index 6e10281..d42dc64 100644
--- a/binutils/dwarf.c
+++ b/binutils/dwarf.c
@@ -7730,7 +7730,6 @@ display_debug_ranges (struct dwarf_section *section,
return 0;
}
}
- finish = start + initial_length;
/* Get and check the version number. */
SAFE_BYTE_GET_AND_INC (version, start, 2, finish);