X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=ld%2Fconfigure.ac;h=99957df3763bd3e1587fe71070553873dce30b42;hb=7a77f1ac2c6f899faa39e8c0b42d4284d586c44e;hp=6da8c8e50f1de149eec066b1aa0ab3486f567faf;hpb=33589acbfea909ca2a26b977ff2f672332990747;p=deliverable%2Fbinutils-gdb.git diff --git a/ld/configure.ac b/ld/configure.ac index 6da8c8e50f..99957df376 100644 --- a/ld/configure.ac +++ b/ld/configure.ac @@ -1,6 +1,6 @@ dnl Process this file with autoconf to produce a configure script dnl -dnl Copyright (C) 2012-2018 Free Software Foundation, Inc. +dnl Copyright (C) 2012-2020 Free Software Foundation, Inc. dnl dnl This file is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by @@ -17,7 +17,6 @@ dnl along with this program; see the file COPYING3. If not see dnl . dnl -AC_PREREQ(2.59) m4_include([../bfd/version.m4]) AC_INIT([ld], BFD_VERSION) AC_CONFIG_SRCDIR(ldmain.c) @@ -177,6 +176,25 @@ AC_ARG_ENABLE(relro, no) ac_default_ld_z_relro=0 ;; esac])dnl +# Decide if DT_TEXTREL check should be enabled in ELF linker. +ac_default_ld_textrel_check=unset +AC_ARG_ENABLE([textrel-check], + AC_HELP_STRING([--enable-textrel-check=@<:@yes|no|warning|error@:>@], + [enable DT_TEXTREL check in ELF linker]), +[case "${enableval}" in + yes|no|warning|error) ac_default_ld_textrel_check=${enableval} ;; +esac]) + +# Decide if -z separate-code should be enabled in ELF linker by default. +ac_default_ld_z_separate_code=unset +AC_ARG_ENABLE(separate-code, + AS_HELP_STRING([--enable-separate-code], + [enable -z separate-code in ELF linker by default]), +[case "${enableval}" in + yes) ac_default_ld_z_separate_code=1 ;; + no) ac_default_ld_z_separate_code=0 ;; +esac]) + # Decide which "--hash-style" to use by default # Provide a configure time option to override our default. AC_ARG_ENABLE([default-hash-style], @@ -227,7 +245,7 @@ fi # host-specific stuff: -ALL_LINGUAS="bg da de es fi fr ga id it ru sr sv tr uk vi zh_CN zh_TW pt_BR" +ALL_LINGUAS="bg da de es fi fr ga id it ja pt_BR ru sr sv tr uk vi zh_CN zh_TW" ZW_GNU_GETTEXT_SISTER_DIR AM_PO_SUBDIRS @@ -284,6 +302,10 @@ BFD_BINARY_FOPEN AC_CHECK_DECLS([strstr, free, sbrk, getenv, environ]) +# Link in zlib if we can. This allows us to read and write +# compressed CTF sections. +AM_ZLIB + # When converting linker scripts into strings for use in emulation # files, use astring.sed if the compiler supports ANSI string # concatenation, or ostring.sed otherwise. This is to support the @@ -310,12 +332,7 @@ EMUL= all_emuls= all_emul_extras= all_libpath= - -dnl We need to get an arbitrary number of tdir definitions into -dnl Makefile. We can't do it using AC_SUBST, because autoconf does -dnl not permit literal newlines in an AC_SUBST variables. So we use a -dnl file. -rm -f tdirs +TDIRS= # If the host is 64-bit, then we enable 64-bit targets by default. # This is consistent with what ../bfd/configure.ac does. @@ -367,19 +384,24 @@ do all_emuls="$all_emuls e${i}.o" eval result=\$tdir_$i test -z "$result" && result=$targ_alias - echo tdir_$i=$result >> tdirs + TDIRS="$TDIRS +tdir_$i=$result" case "${i}" in *elf*) elf_list_options=TRUE ;; *) - if $GREP "TEMPLATE_NAME=elf32" ${srcdir}/emulparams/${i}.sh >/dev/null 2>/dev/null; then + if $GREP "TEMPLATE_NAME=elf" ${srcdir}/emulparams/${i}.sh >/dev/null 2>/dev/null; then elf_list_options=TRUE fi ;; esac if test "$elf_list_options" = "TRUE"; then - . ${srcdir}/emulparams/${i}.sh + source_sh() + { + . $1 + } + source_sh ${srcdir}/emulparams/${i}.sh if test x${GENERATE_SHLIB_SCRIPT} = xyes; then elf_shlib_list_options=TRUE fi @@ -434,6 +456,33 @@ AC_DEFINE_UNQUOTED(DEFAULT_LD_Z_RELRO, $ac_default_ld_z_relro, [Define to 1 if you want to enable -z relro in ELF linker by default.]) +ac_default_ld_textrel_check_warning=0 +case "${ac_default_ld_textrel_check}" in + unset|no) + ac_default_ld_textrel_check=textrel_check_none + ;; + yes|warning) + ac_default_ld_textrel_check=textrel_check_warning + ac_default_ld_textrel_check_warning=1 + ;; + error) + ac_default_ld_textrel_check=textrel_check_error + ;; +esac +AC_DEFINE_UNQUOTED(DEFAULT_LD_TEXTREL_CHECK, + $ac_default_ld_textrel_check, + [The default method for DT_TEXTREL check in ELF linker.]) +AC_DEFINE_UNQUOTED(DEFAULT_LD_TEXTREL_CHECK_WARNING, + $ac_default_ld_textrel_check_warning, + [Define to 1 if DT_TEXTREL check is warning in ELF linker by default.]) + +if test "${ac_default_ld_z_separate_code}" = unset; then + ac_default_ld_z_separate_code=0 +fi +AC_DEFINE_UNQUOTED(DEFAULT_LD_Z_SEPARATE_CODE, + $ac_default_ld_z_separate_code, + [Define to 1 if you want to enable -z separate-code in ELF linker by default.]) + AC_DEFINE_UNQUOTED([DEFAULT_EMIT_SYSV_HASH], [$ac_default_emit_sysv_hash], [Define to 1 if you want to emit sysv hash in the ELF linker by default.]) @@ -447,8 +496,8 @@ AC_SUBST(elf_shlib_list_options) AC_SUBST(elf_plt_unwind_list_options) AC_SUBST(EMUL) -TDIRS=tdirs -AC_SUBST_FILE(TDIRS) +AC_SUBST(TDIRS) +AM_SUBST_NOTMAKE(TDIRS) if test x${all_targets} = xtrue; then if test x${want64} = xtrue; then @@ -471,10 +520,13 @@ AC_SUBST(EMULATION_LIBPATH) if test x${enable_static} = xno; then TESTBFDLIB="-Wl,--rpath,../bfd/.libs ../bfd/.libs/libbfd.so" + TESTCTFLIB="-Wl,--rpath,../libctf/.libs ../libctf/.libs/libctf.so" else TESTBFDLIB="../bfd/.libs/libbfd.a" + TESTCTFLIB="../libctf/.libs/libctf.a" fi AC_SUBST(TESTBFDLIB) +AC_SUBST(TESTCTFLIB) target_vendor=${target_vendor=$host_vendor} case "$target_vendor" in