aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSlava Barinov <v.barinov@samsung.com>2017-06-05 09:27:38 +0930
committerAlan Modra <amodra@gmail.com>2017-06-05 09:58:05 +0930
commit6734f10ae9af6cfd47e70baa2cd3e326afabe5ed (patch)
treeafa7629a0be2b40664ddffb5550cf929a24c0995
parent3ea0007c8ca3ec851df6ab5391a98467b4021f92 (diff)
downloadbinutils-6734f10ae9af6cfd47e70baa2cd3e326afabe5ed.zip
binutils-6734f10ae9af6cfd47e70baa2cd3e326afabe5ed.tar.gz
binutils-6734f10ae9af6cfd47e70baa2cd3e326afabe5ed.tar.bz2
Introduce --enable-new-dtags configure option.
This option switches on ld.bfd --enable-new-dtags by default. * configure.ac: Add --enable-new-dtags option. * ldmain.c: Set link_info.new_dtags to 1 if when --enable-new-dtags is switched on. * configure: Regenerate. * config.in: Regenerate.
-rw-r--r--ld/ChangeLog14
-rw-r--r--ld/config.in4
-rwxr-xr-xld/configure26
-rw-r--r--ld/configure.ac18
-rw-r--r--ld/ldmain.c3
5 files changed, 60 insertions, 5 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index ee9fff0..2e63b26 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,11 @@
+2017-06-05 Slava Barinov <v.barinov@samsung.com>
+
+ * configure.ac: Add --enable-new-dtags option.
+ * ldmain.c: Set link_info.new_dtags to 1 if when --enable-new-dtags is
+ switched on.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+
2017-06-02 H.J. Lu <hongjiu.lu@intel.com>
* emulparams/call_nop.sh: Remove -z prefix-nop.
@@ -804,9 +812,9 @@
2017-02-27 Georg-Johann Lay <gjl@gcc.gnu.org>
PR target/20849
- * scripttempl/avrtiny.sc (__RODATA_PM_OFFSET__): New define.
- (.rodata): New section.
- (.data): Remove .rodata*.
+ * scripttempl/avrtiny.sc (__RODATA_PM_OFFSET__): New define.
+ (.rodata): New section.
+ (.data): Remove .rodata*.
2017-02-25 Alan Modra <amodra@gmail.com>
diff --git a/ld/config.in b/ld/config.in
index 2c6d698..5d91380 100644
--- a/ld/config.in
+++ b/ld/config.in
@@ -13,6 +13,10 @@
/* Define to 1 if you want to enable -z relro in ELF linker by default. */
#undef DEFAULT_LD_Z_RELRO
+/* Define to 1 if you want to set DT_RUNPATH instead of DT_RPATH by default.
+ */
+#undef DEFAULT_NEW_DTAGS
+
/* Define to 1 if translation of program messages to the user's native
language is requested. */
#undef ENABLE_NLS
diff --git a/ld/configure b/ld/configure
index dd94301..919fbc2 100755
--- a/ld/configure
+++ b/ld/configure
@@ -788,6 +788,7 @@ with_sysroot
enable_gold
enable_got
enable_compressed_debug_sections
+enable_new_dtags
enable_relro
enable_werror
enable_build_warnings
@@ -1447,6 +1448,7 @@ Optional Features:
multigot)
--enable-compressed-debug-sections={all,ld,none}
compress debug sections by default]
+ --enable-new-dtags set DT_RUNPATH instead of DT_RPATH by default]
--enable-relro enable -z relro in ELF linker by default
--enable-werror treat compile warnings as errors
--enable-build-warnings enable build-time compiler warnings
@@ -11720,7 +11722,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11723 "configure"
+#line 11725 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -11826,7 +11828,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11829 "configure"
+#line 11831 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -15540,6 +15542,17 @@ if test "${enable_compressed_debug_sections+set}" = set; then :
esac
fi
+# Decide setting DT_RUNPATH instead of DT_RPATH by default
+ac_default_new_dtags=unset
+# Provide a configure time option to override our default.
+# Check whether --enable-new_dtags was given.
+if test "${enable_new_dtags+set}" = set; then :
+ enableval=$enable_new_dtags; case "${enableval}" in
+ yes) ac_default_new_dtags=1 ;;
+ no) ac_default_new_dtags=0 ;;
+esac
+fi
+
# Decide if -z relro should be enabled in ELF linker by default.
ac_default_ld_z_relro=unset
# Provide a configure time option to override our default.
@@ -17196,6 +17209,15 @@ $as_echo "#define DEFAULT_FLAG_COMPRESS_DEBUG 1" >>confdefs.h
fi
+if test "${ac_default_new_dtags}" = unset; then
+ ac_default_new_dtags=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define DEFAULT_NEW_DTAGS $ac_default_new_dtags
+_ACEOF
+
+
if test "${ac_default_ld_z_relro}" = unset; then
ac_default_ld_z_relro=0
fi
diff --git a/ld/configure.ac b/ld/configure.ac
index f3a7f54..4e2dc86 100644
--- a/ld/configure.ac
+++ b/ld/configure.ac
@@ -155,6 +155,17 @@ AC_ARG_ENABLE(compressed_debug_sections,
,no, | ,none,) ac_default_compressed_debug_sections=no ;;
esac])dnl
+# Decide setting DT_RUNPATH instead of DT_RPATH by default
+ac_default_new_dtags=unset
+# Provide a configure time option to override our default.
+AC_ARG_ENABLE(new_dtags,
+ AS_HELP_STRING([--enable-new-dtags],
+ [set DT_RUNPATH instead of DT_RPATH by default])],
+[case "${enableval}" in
+ yes) ac_default_new_dtags=1 ;;
+ no) ac_default_new_dtags=0 ;;
+esac])dnl
+
# Decide if -z relro should be enabled in ELF linker by default.
ac_default_ld_z_relro=unset
# Provide a configure time option to override our default.
@@ -383,6 +394,13 @@ if test x$ac_default_compressed_debug_sections = xyes ; then
AC_DEFINE(DEFAULT_FLAG_COMPRESS_DEBUG, 1, [Define if you want compressed debug sections by default.])
fi
+if test "${ac_default_new_dtags}" = unset; then
+ ac_default_new_dtags=0
+fi
+AC_DEFINE_UNQUOTED(DEFAULT_NEW_DTAGS,
+ $ac_default_new_dtags,
+ [Define to 1 if you want to set DT_RUNPATH instead of DT_RPATH by default.])
+
if test "${ac_default_ld_z_relro}" = unset; then
ac_default_ld_z_relro=0
fi
diff --git a/ld/ldmain.c b/ld/ldmain.c
index e049de3..045f323 100644
--- a/ld/ldmain.c
+++ b/ld/ldmain.c
@@ -298,6 +298,9 @@ main (int argc, char **argv)
#ifdef DEFAULT_FLAG_COMPRESS_DEBUG
link_info.compress_debug = COMPRESS_DEBUG_GABI_ZLIB;
#endif
+#ifdef DEFAULT_NEW_DTAGS
+ link_info.new_dtags = TRUE;
+#endif
ldfile_add_arch ("");
emulation = get_emulation (argc, argv);