[gold][aarch64]patch3: static link/shared objects

Hán Shěn (沈涵) shenhan@google.com
Tue Aug 12 00:48:00 GMT 2014


Here is the third patch for aarch64 backend.

This patches enables -
1. static linking hello world
2. limited support for TLSIE and TLSLE
3. limited support for linking shared library, linking executable against shared
   library.

Builds pass -
On x86:
$ ../binutils-gdb/configure --enable-plugins --disable-multilib
--disable-nls --enable-threads --enable-gold=default
--enable-targets=all
On aarch64:
$ ../binutils-gdb/configure --enable-plugins --disable-multilib
--disable-nls --enable-threads --enable-gold=default
--enable-targets=all

2014-08-11 Han Shen <shenhan@google.com>
                  Jing Yu <jingyu@google.com>

* gold/aarch64-reloc-property.cc(AArch64_reloc_property_table::reloc_name_in_error_message):
  Fix bug in reference reloc property in the table.
* gold/aarch64-reloc.def: Add TLSLE reloc types and fix some errors in
3 other entries.
* gold/aarch64.cc:
  (TARGET_TCB_SIZE): New macro defining how tcb size is computed.
  (Output_data_got_aarch64::add_static_reloc): 2 new methods
(overloaded version).
  (Output_data_got_aarch64::do_write): Add code to write out static relocs.
  (class Output_data_got_aarch64::Static_reloc): New class to wrap
static relocs.
  (Output_data_got_aarch64::static_relocs): New vector to hold static relocs.
  (Target_aarch64::tcb_size): New method.
  (Target_aarch64::Relocate::relocate): Add code handling new reloc types.
  (Target_aarch64::Relocate::relocate_tls): New method.
  (Target_aarch64::Scan::local): Add code handling new reloc types.
  (Target_aarch64::Scan::global): Add code handling new reloc types.




Thanks,
Han
-------------- next part --------------
A non-text attachment was scrubbed...
Name: gold.patch3
Type: application/octet-stream
Size: 38195 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20140812/a2490bf1/attachment.obj>


More information about the Binutils mailing list