[binutils-gdb/binutils-2_36-branch] gold: Skip address size and segment selector for DWARF5
H.J. Lu
hjl@sourceware.org
Thu Jan 28 12:40:34 GMT 2021
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=69caaa81ae6296b1f01481874520174abcceac11
commit 69caaa81ae6296b1f01481874520174abcceac11
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Thu Jan 28 04:21:15 2021 -0800
gold: Skip address size and segment selector for DWARF5
The .debug_line secton in DWARF5 has a byte for address size and a byte
for segment selector after DWARF version. Skip them for DWARF5.
PR gold/27246
* dwarf_reader.cc (Sized_dwarf_line_info::read_header_prolog):
Skip address size and segment selector for DWARF5.
(cherry picked from commit 0318cca4934fc5d85e83351842985ad2a3475146)
Diff:
---
gold/ChangeLog | 6 ++++++
gold/dwarf_reader.cc | 4 ++++
2 files changed, 10 insertions(+)
diff --git a/gold/ChangeLog b/gold/ChangeLog
index 94443eeaaa4..8988f198b21 100644
--- a/gold/ChangeLog
+++ b/gold/ChangeLog
@@ -1,3 +1,9 @@
+2021-01-28 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR gold/27246
+ * dwarf_reader.cc (Sized_dwarf_line_info::read_header_prolog):
+ Skip address size and segment selector for DWARF5.
+
2021-01-24 Nick Clifton <nickc@redhat.com>
This is the 2.36 release.
diff --git a/gold/dwarf_reader.cc b/gold/dwarf_reader.cc
index 487376965db..f0e6b89bde2 100644
--- a/gold/dwarf_reader.cc
+++ b/gold/dwarf_reader.cc
@@ -1658,6 +1658,10 @@ Sized_dwarf_line_info<size, big_endian>::read_header_prolog(
header_.version = elfcpp::Swap_unaligned<16, big_endian>::readval(lineptr);
lineptr += 2;
+ // Skip address size and segment selector for DWARF5.
+ if (header_.version >= 5)
+ lineptr += 2;
+
if (header_.offset_size == 4)
header_.prologue_length = elfcpp::Swap_unaligned<32, big_endian>::readval(lineptr);
else
More information about the Binutils-cvs
mailing list