aboutsummaryrefslogtreecommitdiff
path: root/ld/configure
diff options
context:
space:
mode:
authorNick Alcock <nick.alcock@oracle.com>2019-09-30 15:04:05 +0100
committerNick Alcock <nick.alcock@oracle.com>2020-06-26 15:56:39 +0100
commit094e34f22146ad53eb93da22e480cab428bd23b5 (patch)
tree67dcb4257f8436adcde9d021bd8f99c774de47d8 /ld/configure
parent1776e3e59ca6200dff981894361b8b49cb453766 (diff)
downloadgdb-094e34f22146ad53eb93da22e480cab428bd23b5.zip
gdb-094e34f22146ad53eb93da22e480cab428bd23b5.tar.gz
gdb-094e34f22146ad53eb93da22e480cab428bd23b5.tar.bz2
binutils, ld: work with --disable-libctf
This unfortunately means conditionalizing out all the libctf code, but the result is not too unbearably ugly, if a bit repetitive. I have stubbed out code in the !ENABLE_LIBCTF path to avoid extra redundant ifdefs where it seems that might be helpful. (The stubs are not too disruptive, but I've tried to keep them on one line where possible to avoid filling up the screen with stubs that nobody would care about. If this is too much of a coding style violation I can change it.) Changes since v2: use GCC_ENABLE rather than repeating all the AC_ARG_ENABLE stuff over and over again. ld/ * configure.ac [--enable-libctf]: New, default yes. Set ENABLE_LIBCTF accordingly. * Makefile.am [!ENABLE_LIBCTF]: Empty LIBCTF. * configure: Regenerate. * config.in: Regenerate. * Makefile.in: Regenerate. * aclocal.m4: Regenerate. * ldlang.c (ctf_output): Conditionalize on ENABLE_LIBCTF. (ldlang_open_ctf): Likewise. (lang_merge_ctf): Likewise. (ldlang_ctf_apply_strsym): Likewise. (lang_write_ctf): Likewise. (ldlang_write_ctf_late): Likewise. (ldlang_open_ctf) [!ENABLE_LIBCTF]: Warn about the presence of CTF sections. (lang_merge_ctf) [!ENABLE_LIBCTF]: New stub. (ldlang_ctf_apply_strsym) [!ENABLE_LIBCTF]: Likewise. (lang_write_ctf) [!ENABLE_LIBCTF]: Likewise. (ldlang_write_ctf_late) [!ENABLE_LIBCTF]: Likewise. * ldelfgen.c (ldelf_emit_ctf_early): Conditionalize on ENABLE_LIBCTF. (struct ctf_strsym_iter_cb_arg): Likewise. (ldelf_ctf_strtab_iter_cb): Likewise. (ldelf_ctf_symbols_iter_cb): Likewise. (ldelf_examine_strtab_for_ctf): Likewise. (ldelf_emit_ctf_early) [!ENABLE_LIBCTF]: New stub. (ldelf_examine_strtab_for_ctf) [!ENABLE_LIBCTF]: New stub. binutils/ * configure.ac [--enable-libctf]: New, default yes. Set ENABLE_LIBCTF accordingly. * Makefile.am [!ENABLE_LIBCTF]: Empty LIBCTF and LIBCTF_NOBFD. * configure: Regenerate. * config.in: Regenerate. * Makefile.in: Regenerate. * aclocal.m4: Regenerate. * objdump.c (usage): Conditionalize portions on ENABLE_LIBCTF. (option_values): Likewise. (long_options): Likewise. (main): Likewise. (dump_ctf_indent_lines): Conditionalize out when !ENABLE_LIBCTF. (make_ctfsect): Likewise. (dump_ctf_archive_member): Likewise. (dump_ctf) [ENABLE_LIBCTF]: Likewise. (dump_ctf) [!ENABLE_LIBCTF]: New empty stub. * readelf.c (options): Conditionalize portions on ENABLE_LIBCTF. (usage): Likewise. (process_section_contents): Likewise. (shdr_to_ctf_sect): Conditionalize out when !ENABLE_LIBCTF. (dump_ctf_indent_lines): Likewise. (dump_section_as_ctf) [ENABLE_LIBCTF]: Likewise.
Diffstat (limited to 'ld/configure')
-rwxr-xr-xld/configure42
1 files changed, 40 insertions, 2 deletions
diff --git a/ld/configure b/ld/configure
index fba65c5..11c69be 100755
--- a/ld/configure
+++ b/ld/configure
@@ -678,6 +678,8 @@ WARN_WRITE_STRINGS
NO_WERROR
WARN_CFLAGS_FOR_BUILD
WARN_CFLAGS
+ENABLE_LIBCTF_FALSE
+ENABLE_LIBCTF_TRUE
installed_linker
install_as_default
TARGET_SYSTEM_ROOT_DEFINE
@@ -832,6 +834,7 @@ enable_relro
enable_textrel_check
enable_separate_code
enable_default_hash_style
+enable_libctf
enable_werror
enable_build_warnings
enable_nls
@@ -1502,6 +1505,7 @@ Optional Features:
--enable-separate-code enable -z separate-code in ELF linker by default
--enable-default-hash-style={sysv,gnu,both}
use this default hash style
+ --enable-libctf Handle .ctf type-info sections [default=yes]
--enable-werror treat compile warnings as errors
--enable-build-warnings enable build-time compiler warnings
--disable-nls do not use Native Language Support
@@ -12033,7 +12037,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12036 "configure"
+#line 12040 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12139,7 +12143,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12142 "configure"
+#line 12146 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -15926,6 +15930,33 @@ case "${enable_default_hash_style}" in
*) ac_default_emit_gnu_hash=0 ;;
esac
+ # Check whether --enable-libctf was given.
+if test "${enable_libctf+set}" = set; then :
+ enableval=$enable_libctf;
+ case "$enableval" in
+ yes|no) ;;
+ *) as_fn_error $? "Argument to enable/disable libctf must be yes or no" "$LINENO" 5 ;;
+ esac
+
+else
+ enable_libctf=yes
+fi
+
+
+if test "${enable_libctf}" = yes; then
+
+$as_echo "#define ENABLE_LIBCTF 1" >>confdefs.h
+
+fi
+ if test "${enable_libctf}" = yes; then
+ ENABLE_LIBCTF_TRUE=
+ ENABLE_LIBCTF_FALSE='#'
+else
+ ENABLE_LIBCTF_TRUE='#'
+ ENABLE_LIBCTF_FALSE=
+fi
+
+
# Set the 'development' global.
. $srcdir/../bfd/development.sh
@@ -17700,6 +17731,9 @@ else
TESTBFDLIB="../bfd/.libs/libbfd.a"
TESTCTFLIB="../libctf/.libs/libctf.a"
fi
+if test "${enable_libctf}" = no; then
+ TESTCTFLIB=
+fi
@@ -17872,6 +17906,10 @@ if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
as_fn_error $? "conditional \"am__fastdepCXX\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
+if test -z "${ENABLE_LIBCTF_TRUE}" && test -z "${ENABLE_LIBCTF_FALSE}"; then
+ as_fn_error $? "conditional \"ENABLE_LIBCTF\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5