diff options
author | Cary Coutant <ccoutant@gmail.com> | 2016-12-16 19:17:38 -0800 |
---|---|---|
committer | Cary Coutant <ccoutant@gmail.com> | 2016-12-22 20:07:23 -0800 |
commit | 7a0c0a1475bf41913c7f25a9e363df26c8f772a1 (patch) | |
tree | 8bfd9c4d7c3e1063ac2784f51baf1e51f2331c03 /gold/options.h | |
parent | c4d5a76223f74930add9014f2a77339eb80b737c (diff) | |
download | gdb-7a0c0a1475bf41913c7f25a9e363df26c8f772a1.zip gdb-7a0c0a1475bf41913c7f25a9e363df26c8f772a1.tar.gz gdb-7a0c0a1475bf41913c7f25a9e363df26c8f772a1.tar.bz2 |
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.
Diffstat (limited to 'gold/options.h')
-rw-r--r-- | gold/options.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gold/options.h b/gold/options.h index ebe08df..32d8b05 100644 --- a/gold/options.h +++ b/gold/options.h @@ -1403,6 +1403,9 @@ class General_options // The -z options. + DEFINE_bool(bndplt, options::DASH_Z, '\0', false, + N_("(x86-64 only) Generate a BND PLT for Intel MPX"), + N_("Generate a regular PLT")); DEFINE_bool(combreloc, options::DASH_Z, '\0', true, N_("Sort dynamic relocs"), N_("Do not sort dynamic relocs")); |