[PATCH] gold: Skip address size and segment selector for DWARF5
H.J. Lu
hjl.tools@gmail.com
Wed Jan 27 18:05:35 GMT 2021
On Wed, Jan 27, 2021 at 9:59 AM H.J. Lu <hjl.tools@gmail.com> wrote:
>
> 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.
> ---
> gold/dwarf_reader.cc | 4 ++++
> 1 file changed, 4 insertions(+)
>
> 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
> --
> 2.29.2
>
This patch fixes the gold crash. But there is no real DWARF5 support in gold.
--
H.J.
More information about the Binutils
mailing list