bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug gold/27246] ld.gold does not support DWARF5


From: cvs-commit at gcc dot gnu.org
Subject: [Bug gold/27246] ld.gold does not support DWARF5
Date: Fri, 19 Mar 2021 20:56:18 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=27246

--- Comment #17 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot 
gnu.org> ---
The master branch has been updated by Cary Coutant <ccoutant@sourceware.org>:

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=5cde809b7b9da3ad3aa0d65f0e5e92ab199d64f0

commit 5cde809b7b9da3ad3aa0d65f0e5e92ab199d64f0
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Wed Mar 17 21:31:15 2021 -0700

    Add DWARF 5 support in gold.

    elfcpp/
            PR gold/27246
            * dwarf.h (enum DW_LNCT): Add line number table content type codes.
            (enum DW_LINE_OPS): Reformat.
            (enum DW_LINE_EXTENDED_OPS): Reformat.
            (enum DW_CHILDREN): Reformat.
            (enum DW_RLE): Add range list entry types.
            (enum DW_SECT): Update values for DWARF 5.

    gold/
            PR gold/27246
            * dwarf_reader.cc (Dwarf_abbrev_table::do_get_abbrev): Handle
            DW_FORM_implicit_const.
            (Dwarf_ranges_table::read_ranges_table): Add version parameter;
            Adjust all callers.  Look for .debug_rnglists section if DWARF 5.
            (Dwarf_ranges_table::read_range_list_v5): New method.
            (Dwarf_die::read_attributes): Handle new DWARF 5 DW_FORM codes.
            (Dwarf_die::skip_attributes): Likewise.
            (Dwarf_info_reader::do_parse): Support DWARF 5 unit header format.
            (Dwarf_info_reader::read_3bytes_from_pointer): New method.
            (Sized_dwarf_line_info::Sized_dwarf_line_info): Initialize
            str_buffer_, str_buffer_start, reloc_map_, line_number_map_.
            Look for .debug_line_str section.
            (Sized_dwarf_line_info::read_header_prolog): Support DWARF 5
prolog.
            (Sized_dwarf_line_info::read_header_tables): Rename to...
            (Sized_dwarf_line_info::read_header_tables_v2): ... this.
            (Sized_dwarf_line_info::read_header_tables_v5): New method.
            (Sized_dwarf_line_info::process_one_opcode): Insert missing
"this->".
            Change advance_line to signed int64_t.
            (Sized_dwarf_line_info::read_lines): Add endptr parameter; adjust
            callers.  Insert missing "this->".
            (Sized_dwarf_line_info::read_line_mappings): Support DWARF 5.
            (Sized_dwarf_line_info::do_addr2line): Add debug code.
            * dwarf_reader.h (Dwarf_abbrev_table::Attribute): Add
implicit_const
            field. Adjust constructor.
            (Dwarf_abbrev_table::add_sttribute): Add implicit_const parameter.
            (Dwarf_ranges_table::read_ranges_table): Add version parameter.
            (Dwarf_ranges_table::read_range_list_v5): New method.
            (Dwarf_die): Remove unused attr_off field.
            (Dwarf_info_reader::Dwarf_info_reader): Initialize unit_type_
field.
            (Dwarf_info_reader::is_type_unit): New method.
            (Dwarf_info_reader::read_3bytes_from_pointer): New method.
            (Dwarf_info_reader::read_range_list): Call read_range_list_v5 for
            DWARF 5 range lists.
            (Dwarf_info_reader::is_type_unit_): Remove.
            (Dwarf_info_reader::unit_type_): New field.
            (Sized_dwarf_line_info::~Sized_dwarf_line_info): Delete
            str_buffer_start_.
            (Sized_dwarf_line_info::read_header_tables): Rename to...
            (Sized_dwarf_line_info::read_header_tables_v2): ... this.
            (Sized_dwarf_line_info::read_header_tables_v5): New method.
            (Sized_dwarf_line_info::read_lines): Add endptr parameter.
            (Sized_dwarf_line_info::Dwarf_line_infoHeader): Add address_size
field.
            (Sized_dwarf_line_info::str_buffer_): New field.
            (Sized_dwarf_line_info::str_buffer_end_): New field.
            (Sized_dwarf_line_info::str_buffer_start_): New field.
            (Sized_dwarf_line_info::end_of_header_length_): New field.
            (Sized_dwarf_line_info::end_of_unit_): New field.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]