summaryrefslogtreecommitdiff
path: root/ld/lexsup.c
diff options
context:
space:
mode:
authorFangrui Song <maskray@google.com>2021-05-11 23:10:45 -0700
committerAlan Modra <amodra@gmail.com>2021-05-13 12:53:49 +0930
commitcf893b0ef7482ec11df3787772f35e820ef2592a (patch)
tree77832443e8f794f951b402a1824b2151d107f999 /ld/lexsup.c
parent4863cddb5079ce34007c5bebc0315b8eddb9ef6d (diff)
downloadbinutils-gdb-cf893b0ef7482ec11df3787772f35e820ef2592a.tar.gz
ld: Add -Bno-symbolic
PR 27834 * ldlex.h (enum option_values): Add OPTION_NO_SYMBOLIC. * lexsup.c (ld_options): Add -Bno-symbolic. (parse_args): Handle -Bno-symbolic. * ld.texi: Document -Bno-symbolic. * NEWS: Mention -Bno-symbolic. * testsuite/ld-elf/shared.exp: Add a test.
Diffstat (limited to 'ld/lexsup.c')
-rw-r--r--ld/lexsup.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/ld/lexsup.c b/ld/lexsup.c
index f6b6b2ec202..dcb2d9d9ab3 100644
--- a/ld/lexsup.c
+++ b/ld/lexsup.c
@@ -302,6 +302,8 @@ static const struct ld_option ld_options[] =
'\0', NULL, NULL, ONE_DASH },
{ {"static", no_argument, NULL, OPTION_NON_SHARED},
'\0', NULL, NULL, ONE_DASH },
+ { {"Bno-symbolic", no_argument, NULL, OPTION_NO_SYMBOLIC},
+ '\0', NULL, N_("Don't bind global references locally"), ONE_DASH },
{ {"Bsymbolic", no_argument, NULL, OPTION_SYMBOLIC},
'\0', NULL, N_("Bind global references locally"), ONE_DASH },
{ {"Bsymbolic-functions", no_argument, NULL, OPTION_SYMBOLIC_FUNCTIONS},
@@ -1301,6 +1303,9 @@ parse_args (unsigned argc, char **argv)
case OPTION_STATS:
config.stats = true;
break;
+ case OPTION_NO_SYMBOLIC:
+ opt_symbolic = symbolic_unset;
+ break;
case OPTION_SYMBOLIC:
opt_symbolic = symbolic;
break;