diff options
author | Han Shen <shenhan@chromium.org> | 2014-10-15 15:23:01 -0700 |
---|---|---|
committer | Han Shen <shenhan@chromium.org> | 2014-10-15 15:23:01 -0700 |
commit | 83a01957175f787ad5d7ac06885a2c0213e21028 (patch) | |
tree | 239879bde0c3e44f2e1e5d8a9e66694b9a5e7ef6 /gold/ChangeLog | |
parent | 44ee4a526db6160b302417127e736b73fc00ee87 (diff) | |
download | gdb-83a01957175f787ad5d7ac06885a2c0213e21028.zip gdb-83a01957175f787ad5d7ac06885a2c0213e21028.tar.gz gdb-83a01957175f787ad5d7ac06885a2c0213e21028.tar.bz2 |
Here we have the patch for gold aarch64 backend to support relaxation.
In short relaxation is the linker's generation of stubs that fixes the
out-of-range jumps/branches in the original object file.
With this implementation, we are able to link a 456MB aarch64 application.
Tested:
1) Build natively on x86_64 and aarch64 machines.
2) Pass unit tests regarding relaxation.
Diffstat (limited to 'gold/ChangeLog')
-rw-r--r-- | gold/ChangeLog | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog index f636afa..c2c3253 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,3 +1,30 @@ +2014-09-22 Han Shen <shenhan@google.com> + Jing Yu <jingyu@google.com> + + Patch for gold aarch64 backend to support relaxation. + * aarch64-reloc.def: Change format. + * aarch64.cc (class Reloc_stub): New class. + (class Stub_table): New class. + (class AArch64_relobj): New class. + (class AArch64_input_section): New class. + (class AArch64_output_section): New class. + (Target_aarch64::new_stub_table): New method. + (Target_aarch64::new_aarch64_input_section): New method. + (Target_aarch64::find_aarch64_input_section): New method. + (Target_aarch64::scan_section_for_stubs): New method. + (Target_aarch64::scan_reloc_section_for_stubs): New method. + (Target_aarch64::relocate_stub): New method. + (Target_aarch64::current_target): New method. + (Target_aarch64::do_make_elf_object): New method. + (Target_aarch64::do_may_relax): New method. + (Target_aarch64::do_relax): New method. + (Target_aarch64::group_sections): New method. + (Target_aarch64::scan_reloc_for_stub): New method. + (Target_aarch64::do_make_output_section): New method. + (Target_aarch64::stub_tables_): New data member. + (Target_aarch64::aarch64_input_section_map_): New data member. + (AArch64_relocate_functions::maybe_apply_stub): New method. + 2014-09-30 Cary Coutant <ccoutant@google.com> PR gold/17432 |