mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-21 04:42:53 +08:00
5edad15d7c
Doesn't yet trim off the unused TOC entries. * powerpc.cc (class Powerpc_copy_relocs): New. (Powerpc_copy_relocs::emit): New function. (Powerpc_relobj::relatoc_, toc_, no_toc_opt_): New variables. (Powerpc_relobj::toc_shndx, set_no_toc_opt, no_toc_opt): New inlines. (Powerpc_relobj::do_relocate_sections): New function. (Powerpc_relobj::make_toc_relative): Likewise. (Powerpc_relobj::do_find_special_sections): Stash away .rela.toc and .toc too. (ok_lo_toc_insn): Move earlier, and handle more insns. (Target_powerpc::Scan::local): If optimizing toc accesses, set no_toc_opt for entries we can't edit. Check insn validity. Emit "toc optimization is not supported" warning, downgraded from error. (Target_powerpc::Scan::global): Likewise. (Target_powerpc::Relocate::relocate): Edit TOC indirect code to TOC relative. Don't emit "toc optimization is not supported" error here.
79 lines
2.7 KiB
Plaintext
79 lines
2.7 KiB
Plaintext
2017-01-11 Alan Modra <amodra@gmail.com>
|
||
|
||
* powerpc.cc (class Powerpc_copy_relocs): New.
|
||
(Powerpc_copy_relocs::emit): New function.
|
||
(Powerpc_relobj::relatoc_, toc_, no_toc_opt_): New variables.
|
||
(Powerpc_relobj::toc_shndx, set_no_toc_opt, no_toc_opt): New inlines.
|
||
(Powerpc_relobj::do_relocate_sections): New function.
|
||
(Powerpc_relobj::make_toc_relative): Likewise.
|
||
(Powerpc_relobj::do_find_special_sections): Stash away .rela.toc
|
||
and .toc too.
|
||
(ok_lo_toc_insn): Move earlier, and handle more insns.
|
||
(Target_powerpc::Scan::local): If optimizing toc accesses, set
|
||
no_toc_opt for entries we can't edit. Check insn validity.
|
||
Emit "toc optimization is not supported" warning, downgraded
|
||
from error.
|
||
(Target_powerpc::Scan::global): Likewise.
|
||
(Target_powerpc::Relocate::relocate): Edit TOC indirect code
|
||
to TOC relative. Don't emit "toc optimization is not supported"
|
||
error here.
|
||
|
||
2017-01-10 Cary Coutant <ccoutant@gmail.com>
|
||
|
||
* aarch64.cc (AArch64_relobj::do_relocate_sections): Call
|
||
Sized_relobj_file::relocate_section_range().
|
||
* arm.cc (Arm_relobj::do_relocate_sections): Likewise.
|
||
* object.h (Sized_relobj_file::relocate_section_range): New method.
|
||
* reloc.cc (Sized_relobj_file::do_relocate_sections): Move
|
||
implementation...
|
||
(Sized_relobj_file::relocate_section_range): ...to new method.
|
||
|
||
2017-01-10 Alan Modra <amodra@gmail.com>
|
||
|
||
* testsuite/ver_test_8.sh: Accept .TOC. in lieu of
|
||
_GLOBAL_OFFSET_TABLE_. Allow zero count.
|
||
* testsuite/copy_test_relro_1.cc (c, q): New vars.
|
||
* testsuite/copy_test_relro.cc: Rewrite to test read-only
|
||
status of variables directly. Reference new vars in
|
||
read-only data.
|
||
|
||
2017-01-10 Alan Modra <amodra@gmail.com>
|
||
|
||
* options.h: Add --secure-plt option.
|
||
* powerpc.cc (Target_powerpc::Scan::local): Detect and error
|
||
on -fPIC -mbss-plt code.
|
||
(Target_powerpc::Scan::global): Likewise.
|
||
|
||
2017-01-09 Alan Modra <amodra@gmail.com>
|
||
|
||
* powerpc.cc (Target_powerpc::make_plt_section): Point sh_info of
|
||
".rela.plt" at ".plt".
|
||
|
||
2017-01-07 Alan Modra <amodra@gmail.com>
|
||
|
||
* powerpc.cc: Use shorter equivalent elfcpp typedef for
|
||
Reltype and reloc_size throughout.
|
||
(Target_powerpc::symval_for_branch): Exclude dynamic symbols.
|
||
(Target_powerpc::Scan::local): Use local var r_sym.
|
||
(Target_powerpc::Scan::global: Likewise.
|
||
(Target_powerpc::Relocate::relocate): Delete shadowing r_sym.
|
||
|
||
2017-01-02 Alan Modra <amodra@gmail.com>
|
||
|
||
Update year range in copyright notice of all files.
|
||
|
||
For older changes see ChangeLog-2016
|
||
|
||
Copyright (C) 2017 Free Software Foundation, Inc.
|
||
|
||
Copying and distribution of this file, with or without modification,
|
||
are permitted in any medium without royalty provided the copyright
|
||
notice and this notice are preserved.
|
||
|
||
Local Variables:
|
||
mode: change-log
|
||
left-margin: 8
|
||
fill-column: 74
|
||
version-control: never
|
||
End:
|