diff options
author | Slava Barinov <v.barinov@samsung.com> | 2017-06-05 09:27:38 +0930 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2017-06-05 09:58:05 +0930 |
commit | 6734f10ae9af6cfd47e70baa2cd3e326afabe5ed (patch) | |
tree | afa7629a0be2b40664ddffb5550cf929a24c0995 | |
parent | 3ea0007c8ca3ec851df6ab5391a98467b4021f92 (diff) | |
download | binutils-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/ChangeLog | 14 | ||||
-rw-r--r-- | ld/config.in | 4 | ||||
-rwxr-xr-x | ld/configure | 26 | ||||
-rw-r--r-- | ld/configure.ac | 18 | ||||
-rw-r--r-- | ld/ldmain.c | 3 |
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); |