aboutsummaryrefslogtreecommitdiff
path: root/gold/options.h
diff options
context:
space:
mode:
authorCary Coutant <ccoutant@gmail.com>2016-12-16 19:17:38 -0800
committerCary Coutant <ccoutant@gmail.com>2016-12-22 20:07:23 -0800
commit7a0c0a1475bf41913c7f25a9e363df26c8f772a1 (patch)
tree8bfd9c4d7c3e1063ac2784f51baf1e51f2331c03 /gold/options.h
parentc4d5a76223f74930add9014f2a77339eb80b737c (diff)
downloadgdb-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.h3
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"));