[gold commit] PR gold/19019: Add support for STT_SPARC_REGISTER symbols

Cary Coutant ccoutant@gmail.com
Fri Mar 4 02:27:00 GMT 2016


I've committed the attached patch to better support REGISTER symbols
on Sparc. I've only done limited testing of it with a sparc
cross-assembler; additional native testing on Sparc would be
appreciated.

-cary


2016-03-03  Cary Coutant  <ccoutant@gmail.com>

gold/
        PR gold/19019
        * layout.h (Layout::add_target_specific_dynamic_tag): New function.
        * layout.cc (Layout::add_target_specific_dynamic_tag): New function.
        * mips.cc (Target_mips::make_symbol): Adjust function signature.
        * sparc.cc (Target_sparc::Target_sparc): Initialize register_syms_.
        (Target_sparc::do_is_defined_by_abi): Remove test for
        STT_SPARC_REGISTER.
        (Target_sparc::Register_symbol): New struct type.
        (Target_sparc::register_syms_): New data member.
        (Target_sparc<64, true>::sparc_info): Set has_make_symbol to true.
        (Target_sparc::make_symbol): New function.
        (Target_sparc::do_finalize_sections): Add register symbols and new
        dynamic table entries.
        * symtab.h (Sized_symbol::init_undefined): Add value parameter.
        (Symbol_table::add_target_global_symbol): New function.
        (Symbol_table::target_symbols_): New data member.
        * symtab.cc (Sized_symbol::init_undefined): Add value parameter.
        (Symbol_table::Symbol_table): Initialize target_symbols_.
        (Symbol_table::add_from_object): Pass additional parameters to
        Target::make_symbol.
        (Symbol_table::define_special_symbol): Likewise.
        (Symbol_table::add_undefined_symbol_from_command_line): Pass 0 for
        undefined symbol value.
        (Symbol_table::set_dynsym_indexes): Process target-specific symbols.
        (Symbol_table::sized_finalize): Likewise.
        (Symbol_table::sized_write_globals): Likewise.
        * target.h (Sized_target::make_symbol): Add name, st_type, object,
        st_shndx, and value parameters.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: stt-register.patch
Type: application/octet-stream
Size: 14769 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20160304/76bbdbd1/attachment.obj>


More information about the Binutils mailing list