diff options
-rw-r--r-- | ld/ld.texi | 5 | ||||
-rw-r--r-- | ld/ldlex.h | 1 | ||||
-rw-r--r-- | ld/lexsup.c | 5 |
3 files changed, 11 insertions, 0 deletions
@@ -2150,6 +2150,11 @@ address the OS chooses for them (which can vary between invocations). Like normal dynamically linked executables they can be executed and symbols defined in the executable cannot be overridden by shared libraries. +@kindex -no-pie +@item -no-pie +@cindex position dependent executables +Create a position dependent executable. This is the default. + @kindex -qmagic @item -qmagic This option is ignored for Linux compatibility. @@ -133,6 +133,7 @@ enum option_values OPTION_ACCEPT_UNKNOWN_INPUT_ARCH, OPTION_NO_ACCEPT_UNKNOWN_INPUT_ARCH, OPTION_PIE, + OPTION_NO_PIE, OPTION_UNRESOLVED_SYMBOLS, OPTION_WARN_UNRESOLVED_SYMBOLS, OPTION_ERROR_UNRESOLVED_SYMBOLS, 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) { |