aboutsummaryrefslogtreecommitdiff
path: root/ld/lexsup.c
diff options
context:
space:
mode:
authorFangrui Song <maskray@google.com>2021-06-17 09:57:40 -0700
committerFangrui Song <maskray@google.com>2021-06-17 09:57:40 -0700
commite8f6c2a5bab10b039a12b69a30a8248c91161e11 (patch)
tree4ced3beb85ae6e760db5aa1c291f7e1a06282d93 /ld/lexsup.c
parent2af6d46fd331b8e632bb9245614bad0c974392a4 (diff)
downloadbinutils-e8f6c2a5bab10b039a12b69a30a8248c91161e11.zip
binutils-e8f6c2a5bab10b039a12b69a30a8248c91161e11.tar.gz
binutils-e8f6c2a5bab10b039a12b69a30a8248c91161e11.tar.bz2
ld: Add -no-pie
gold has had this option for many years. Not having this option caused some confusion to users. The help message clarifies the default state. ld/ * ldlex.h (enum option_values): Add OPTION_NO_PIE. * lexsup.c (struct ld_options): Add -no-pie. (parse_args): Handle -no-pie. * ld.texi: Document -no-pie.
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 dcb2d9d..00274c5 100644
--- a/ld/lexsup.c
+++ b/ld/lexsup.c
@@ -453,6 +453,8 @@ static const struct ld_option ld_options[] =
'\0', NULL, N_("Create a position independent executable"), ONE_DASH },
{ {"pic-executable", no_argument, NULL, OPTION_PIE},
'\0', NULL, NULL, TWO_DASHES },
+ { {"no-pie", no_argument, NULL, OPTION_NO_PIE},
+ '\0', NULL, N_("Create a position dependent executable (default)"), ONE_DASH },
{ {"sort-common", optional_argument, NULL, OPTION_SORT_COMMON},
'\0', N_("[=ascending|descending]"),
N_("Sort common symbols by alignment [in specified order]"),
@@ -1262,6 +1264,9 @@ parse_args (unsigned argc, char **argv)
else
einfo (_("%F%P: -shared not supported\n"));
break;
+ case OPTION_NO_PIE:
+ link_info.type = type_pde;
+ break;
case OPTION_PIE:
if (config.has_shared)
{