From 43e05cd4f48b550023819d823fec02abf54e26d3 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Mon, 12 Apr 2021 18:33:45 +0930 Subject: ENABLE_CHECKING in bfd, opcodes, binutils, ld gas already has this. Here it enables checking hash table type passed to elf_link_hash_lookup and elf_link_hash_traverse. bfd/ * elf-bfd.h (ENABLE_CHECKING): Define. (elf_link_hash_lookup): Abort if wrong type of hash table. (elf_link_hash_traverse): Likewise. * configure.ac (--enable-checking): Add support. * config.in: Regenerate. * configure: Regenerate. binutils/ * configure.ac (--enable-checking): Add support. * config.in: Regenerate. * configure: Regenerate. ld/ * configure.ac (--enable-checking): Add support. * config.in: Regenerate. * configure: Regenerate. opcodes/ * configure.ac (--enable-checking): Add support. * config.in: Regenerate. * configure: Regenerate. --- ld/ChangeLog | 6 ++++++ ld/config.in | 3 +++ ld/configure | 22 ++++++++++++++++++++-- ld/configure.ac | 13 +++++++++++++ 4 files changed, 42 insertions(+), 2 deletions(-) (limited to 'ld') diff --git a/ld/ChangeLog b/ld/ChangeLog index 244f286..c862e8b 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,5 +1,11 @@ 2021-04-12 Alan Modra + * configure.ac (--enable-checking): Add support. + * config.in: Regenerate. + * configure: Regenerate. + +2021-04-12 Alan Modra + * emultempl/mipself.em (mips_create_output_section_statements): Pass base type of hash table to is_elf_hash_table. * ldelf.c (ldelf_after_open): Likewise. diff --git a/ld/config.in b/ld/config.in index 1e78b00..26d55a0 100644 --- a/ld/config.in +++ b/ld/config.in @@ -33,6 +33,9 @@ */ #undef DEFAULT_NEW_DTAGS +/* Define if you want run-time sanity checks. */ +#undef ENABLE_CHECKING + /* Handle .ctf type-info sections */ #undef ENABLE_LIBCTF diff --git a/ld/configure b/ld/configure index d46fcef..d8f8b2d 100755 --- a/ld/configure +++ b/ld/configure @@ -824,6 +824,7 @@ with_gnu_ld enable_libtool_lock enable_plugins enable_largefile +enable_checking with_lib_path enable_targets enable_64_bit_bfd @@ -1494,6 +1495,7 @@ Optional Features: --disable-libtool-lock avoid locking (might break parallel builds) --enable-plugins Enable support for plugins --disable-largefile omit support for large files + --enable-checking enable run-time checks --enable-targets alternative target configurations --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes) --enable-gold[=ARG] build gold [ARG={default,yes,no}] @@ -11410,7 +11412,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11413 "configure" +#line 11415 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11516,7 +11518,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11519 "configure" +#line 11521 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -15127,6 +15129,22 @@ fi +ac_checking= +. ${srcdir}/../bfd/development.sh +test "$development" = true && ac_checking=yes +# Check whether --enable-checking was given. +if test "${enable_checking+set}" = set; then : + enableval=$enable_checking; case "${enableval}" in + no|none) ac_checking= ;; + *) ac_checking=yes ;; +esac +fi +if test x$ac_checking != x ; then + +$as_echo "#define ENABLE_CHECKING 1" >>confdefs.h + +fi + # Check whether --with-lib-path was given. if test "${with_lib_path+set}" = set; then : diff --git a/ld/configure.ac b/ld/configure.ac index 5429f22..8ea97c4 100644 --- a/ld/configure.ac +++ b/ld/configure.ac @@ -37,6 +37,19 @@ AC_PROG_INSTALL LT_INIT ACX_LARGEFILE +ac_checking= +. ${srcdir}/../bfd/development.sh +test "$development" = true && ac_checking=yes +AC_ARG_ENABLE(checking, +[ --enable-checking enable run-time checks], +[case "${enableval}" in + no|none) ac_checking= ;; + *) ac_checking=yes ;; +esac])dnl +if test x$ac_checking != x ; then + AC_DEFINE(ENABLE_CHECKING, 1, [Define if you want run-time sanity checks.]) +fi + AC_ARG_WITH(lib-path, [ --with-lib-path=dir1:dir2... set default LIB_PATH],LIB_PATH=$withval) AC_ARG_ENABLE(targets, [ --enable-targets alternative target configurations], -- cgit v1.1