Add -z bndplt support (for Intel MPX).
commit7a0c0a1475bf41913c7f25a9e363df26c8f772a1
authorCary Coutant <ccoutant@gmail.com>
Sat, 17 Dec 2016 03:17:38 +0000 (16 19:17 -0800)
committerCary Coutant <ccoutant@gmail.com>
Fri, 23 Dec 2016 04:07:23 +0000 (22 20:07 -0800)
tree8bfd9c4d7c3e1063ac2784f51baf1e51f2331c03
parentc4d5a76223f74930add9014f2a77339eb80b737c
Add -z bndplt support (for Intel MPX).

gold/
PR gold/17643
* options.h (-z bndplt): New option.
* x86_64.cc (Output_data_plt_x86_64::regular_count): New method.
(Output_data_plt_x86_64::address_for_global): Move implementation into
virtual method.
(Output_data_plt_x86_64::address_for_local): Likewise.
(Output_data_plt_x86_64::got): New method.
(Output_data_plt_x86_64::got_plt): New method.
(Output_data_plt_x86_64::got_irelative): New method.
(Output_data_plt_x86_64::do_address_for_global): New virtual method.
(Output_data_plt_x86_64::do_address_for_local): New virtual method.
(class Output_data_plt_x86_64_bnd): New class.
(Target_x86_64::do_make_data_plt): Move out of line and specialize
for each size (both overloads).
(Output_data_plt_x86_64::set_final_data_size): Cosmetic changes.
* testsuite/Makefile.am (bnd_plt_1): New test case.
(bnd_ifunc_1): New test case.
(bnd_ifunc_2): New test case.
* testsuite/Makefile.in: Regenerate.
* testsuite/bnd_ifunc_1.s: New source file.
* testsuite/bnd_ifunc_1.sh: New shell script.
* testsuite/bnd_ifunc_2.s: New source file.
* testsuite/bnd_ifunc_2.sh: New shell script.
* testsuite/bnd_plt_1.s: New source file.
* testsuite/bnd_plt_1.sh: New shell script.
gold/ChangeLog
gold/options.h
gold/testsuite/Makefile.am
gold/testsuite/Makefile.in
gold/testsuite/bnd_ifunc_1.s [new file with mode: 0644]
gold/testsuite/bnd_ifunc_1.sh [new file with mode: 0755]
gold/testsuite/bnd_ifunc_2.s [new file with mode: 0644]
gold/testsuite/bnd_ifunc_2.sh [new file with mode: 0755]
gold/testsuite/bnd_plt_1.s [new file with mode: 0644]
gold/testsuite/bnd_plt_1.sh [new file with mode: 0755]
gold/x86_64.cc