From c58212eaf957ef39484ed71316074fd8366e9c4a Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Wed, 8 Apr 2015 04:55:07 -0700 Subject: Add ld_list_options This patch adds ld_list_options for ELF targets to avoid duplicated outputs from ld --help. * Makefile.am (ELF_CLFAGS): New. (AM_CFLAGS): Add $(ELF_CLFAGS). * configure.ac (elf_list_options): New. AC_SUBST. (elf_shlib_list_options): Likewise. (elf_plt_unwind_list_options): Likewise. * lexsup.c (elf_shlib_list_options): New. (elf_static_list_options): Likewise. (elf_plt_unwind_list_options): Likewise. (ld_list_options): Likewise. (help): Call ld_list_options. * Makefile.in: Regenerated. * configure: Likewise. * emulparams/plt_unwind.sh (PLT_UNWIND): New. (PARSE_AND_LIST_OPTIONS): Removed. * emultempl/elf32.em (gld_list_options): New. (gld${EMULATION_NAME}_list_options): Define only if BNDPLT or PARSE_AND_LIST_OPTIONS is defined. (ld_${EMULATION_NAME}_emulation): Replace gld${EMULATION_NAME}_list_options with ${gld_list_options. --- ld/configure | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) (limited to 'ld/configure') diff --git a/ld/configure b/ld/configure index 4a312df..44bce0e 100755 --- a/ld/configure +++ b/ld/configure @@ -608,6 +608,9 @@ LIB_PATH EMUL_EXTRA_OFILES EMULATION_OFILES EMUL +elf_plt_unwind_list_options +elf_shlib_list_options +elf_list_options STRINGIFY enable_initfini_array ENABLE_PLUGINS_FALSE @@ -11710,7 +11713,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11713 "configure" +#line 11716 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11816,7 +11819,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11819 "configure" +#line 11822 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -17025,6 +17028,9 @@ _ACEOF fi fi +elf_list_options=FALSE +elf_shlib_list_options=FALSE +elf_plt_unwind_list_options=FALSE for targ_alias in `echo $target_alias $enable_targets | sed 's/,/ /g'` do if test "$targ_alias" = "all"; then @@ -17055,7 +17061,20 @@ do for i in $targ_emul $targ_extra_emuls $targ_extra_libpath; do case " $all_emuls " in - *" e${i}.o "*) ;; + *" e${i}.o "*) + case "${i}" in + *elf*) + elf_list_options=TRUE + . ${srcdir}/emulparams/${i}.sh + if test x${GENERATE_SHLIB_SCRIPT} = xyes; then + elf_shlib_list_options=TRUE + fi + if test x${PLT_UNWIND} = xyes; then + elf_plt_unwind_list_options=TRUE + fi + ;; + esac + ;; *) all_emuls="$all_emuls e${i}.o" eval result=\$tdir_$i @@ -17092,6 +17111,9 @@ done + + + TDIRS=tdirs -- cgit v1.1