aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ld/ChangeLog9
-rw-r--r--ld/emulparams/elf_x86_64.sh9
-rw-r--r--ld/emultempl/elf32.em22
3 files changed, 24 insertions, 16 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 1bbd4d5..9e79980 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,12 @@
+2015-04-09 H.J. Lu <hongjiu.lu@intel.com>
+
+ * emulparams/elf_x86_64.sh (BNDPLT): Removed.
+ (PARSE_AND_LIST_OPTIONS): New.
+ (PARSE_AND_LIST_ARGS_CASE_Z): Likewise.
+ * emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Remove
+ BNDPLT check. Handle PARSE_AND_LIST_ARGS_CASE_Z.
+ (gld${EMULATION_NAME}_list_options): Remove BNDPLT check.
+
2015-04-09 Nick Clifton <nickc@redhat.com>
* po/fr.po: Updated French translation.
diff --git a/ld/emulparams/elf_x86_64.sh b/ld/emulparams/elf_x86_64.sh
index aa26a1b..984e5e9 100644
--- a/ld/emulparams/elf_x86_64.sh
+++ b/ld/emulparams/elf_x86_64.sh
@@ -36,7 +36,14 @@ case "$target" in
case "$EMULATION_NAME" in
*64*)
LIBPATH_SUFFIX=64
- BNDPLT=yes
+ PARSE_AND_LIST_OPTIONS='
+ fprintf (file, _("\
+ -z bndplt Always generate BND prefix in PLT entries\n"));
+'
+ PARSE_AND_LIST_ARGS_CASE_Z='
+ else if (strcmp (optarg, "bndplt") == 0)
+ link_info.bndplt = TRUE;
+'
;;
esac
;;
diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em
index dc643b6..5db5a93 100644
--- a/ld/emultempl/elf32.em
+++ b/ld/emultempl/elf32.em
@@ -2286,13 +2286,6 @@ fragment <<EOF
}
EOF
-if test x"$BNDPLT" = xyes; then
-fragment <<EOF
- else if (strcmp (optarg, "bndplt") == 0)
- link_info.bndplt = TRUE;
-EOF
-fi
-
if test x"$GENERATE_SHLIB_SCRIPT" = xyes; then
fragment <<EOF
else if (strcmp (optarg, "global") == 0)
@@ -2345,6 +2338,12 @@ fragment <<EOF
EOF
fi
+if test -n "$PARSE_AND_LIST_ARGS_CASE_Z" ; then
+fragment <<EOF
+ $PARSE_AND_LIST_ARGS_CASE_Z
+EOF
+fi
+
fragment <<EOF
else
einfo (_("%P: warning: -z %s ignored.\n"), optarg);
@@ -2367,7 +2366,7 @@ EOF
if test x"$LDEMUL_LIST_OPTIONS" != xgld"$EMULATION_NAME"_list_options; then
gld_list_options="gld${EMULATION_NAME}_list_options"
-if test -n "$PARSE_AND_LIST_OPTIONS" || test x"$BNDPLT" = xyes; then
+if test -n "$PARSE_AND_LIST_OPTIONS"; then
fragment <<EOF
static void
@@ -2375,13 +2374,6 @@ gld${EMULATION_NAME}_list_options (FILE * file)
{
EOF
-if test x"$BNDPLT" = xyes; then
-fragment <<EOF
- fprintf (file, _("\
- -z bndplt Always generate BND prefix in PLT entries\n"));
-EOF
-fi
-
if test -n "$PARSE_AND_LIST_OPTIONS" ; then
fragment <<EOF
$PARSE_AND_LIST_OPTIONS