aboutsummaryrefslogtreecommitdiff
path: root/opcodes/configure
diff options
context:
space:
mode:
authorMaciej W. Rozycki <macro@imgtec.com>2016-12-23 12:11:12 +0000
committerMaciej W. Rozycki <macro@imgtec.com>2016-12-23 19:14:17 +0000
commit9e76c212e6311abaee4d02473473f7d6dcad972f (patch)
tree25b247c7de7d40bd22ad8ae3d7b0bd681d9e0d3c /opcodes/configure
parent5b362f04b2a56d446b024027963be52d61f939cb (diff)
downloadbinutils-9e76c212e6311abaee4d02473473f7d6dcad972f.zip
binutils-9e76c212e6311abaee4d02473473f7d6dcad972f.tar.gz
binutils-9e76c212e6311abaee4d02473473f7d6dcad972f.tar.bz2
opcodes: Use autoconf to check for `bfd_mips_elf_get_abiflags' in BFD
Fix a regression introduced with commit 5e7fc731f80e ("MIPS/opcodes: Also set disassembler's ASE flags from ELF structures"), further updated with commit 4df995c77118 ("MIPS/opcodes: Also set disassembler's ASE flags from ELF structures"), and use autoconf to check for the presence of `bfd_mips_elf_get_abiflags' in BFD. opcodes/ * mips-dis.c (set_default_mips_dis_options): Use HAVE_BFD_MIPS_ELF_GET_ABIFLAGS rather than BFD64 to guard the call to `bfd_mips_elf_get_abiflags'. * configure.ac: Check for `bfd_mips_elf_get_abiflags' in BFD. * Makefile.am (CONFIG_STATUS_DEPENDENCIES): Add `libbfd.la'. * aclocal.m4: Regenerate. * configure: Regenerate. * config.in: Regenerate. * Makefile.in: Regenerate.
Diffstat (limited to 'opcodes/configure')
-rwxr-xr-xopcodes/configure100
1 files changed, 98 insertions, 2 deletions
diff --git a/opcodes/configure b/opcodes/configure
index c3aa76e..386352e 100755
--- a/opcodes/configure
+++ b/opcodes/configure
@@ -604,6 +604,8 @@ LTLIBOBJS
LIBOBJS
BFD_MACHINES
archdefs
+BFDLIB
+BFDHDIR
SHARED_DEPENDENCIES
SHARED_LIBADD
SHARED_LDFLAGS
@@ -11151,7 +11153,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11154 "configure"
+#line 11156 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -11257,7 +11259,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11260 "configure"
+#line 11262 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12586,6 +12588,100 @@ fi
# target-specific stuff:
+# Check if `bfd_mips_elf_get_abiflags' is present in BFD, needed by
+# `mips-dis.c'. Avoid using AC_CHECK_LIB as it uses a cache variable
+# which could hold the wrong value if we are rerun due to the
+# `../bfd/libbfd.la' dependency for `config.status', so use a handcoded
+# sequence which is equivalent but does not use the cache.
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for the bfd header in the build tree" >&5
+$as_echo_n "checking for the bfd header in the build tree... " >&6; }
+dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
+if test "${ac_cv_c_bfdh+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+
+for i in $dirlist; do
+ if test -f "$i/bfd/bfd.h" ; then
+ ac_cv_c_bfdh=`(cd $i/bfd; ${PWDCMD-pwd})`
+ break
+ fi
+done
+
+fi
+
+if test x"${ac_cv_c_bfdh}" != x; then
+ BFDHDIR="-I${ac_cv_c_bfdh}"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${ac_cv_c_bfdh}" >&5
+$as_echo "${ac_cv_c_bfdh}" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
+$as_echo "none" >&6; }
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for the bfd library in the build tree" >&5
+$as_echo_n "checking for the bfd library in the build tree... " >&6; }
+if test "${ac_cv_c_bfdlib+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+
+for i in $dirlist; do
+ if test -f "$i/bfd/Makefile" ; then
+ ac_cv_c_bfdlib=`(cd $i/bfd; ${PWDCMD-pwd})`
+ fi
+done
+
+fi
+
+if test x"${ac_cv_c_bfdlib}" != x; then
+ BFDLIB="-L${ac_cv_c_bfdlib} -L${ac_cv_c_bfdlib}/.libs"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${ac_cv_c_bfdlib}" >&5
+$as_echo "${ac_cv_c_bfdlib}" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
+$as_echo "none" >&6; }
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for bfd_mips_elf_get_abiflags in -lbfd" >&5
+$as_echo_n "checking for bfd_mips_elf_get_abiflags in -lbfd... " >&6; }
+opcodes_save_LIBS=$LIBS
+LIBS="$BFDLIB -lbfd ../libiberty/libiberty.a `test -e ../bfd/libbfd.la && . ../bfd/libbfd.la; echo $dependency_libs`"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char bfd_mips_elf_get_abiflags ();
+int
+main ()
+{
+return bfd_mips_elf_get_abiflags ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ opcodes_lib_bfd_bfd_mips_elf_get_abiflags=yes
+else
+ opcodes_lib_bfd_bfd_mips_elf_get_abiflags=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$opcodes_save_LIBS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $opcodes_lib_bfd_bfd_mips_elf_get_abiflags" >&5
+$as_echo "$opcodes_lib_bfd_bfd_mips_elf_get_abiflags" >&6; }
+if test x"$opcodes_lib_bfd_bfd_mips_elf_get_abiflags" = xyes; then
+
+$as_echo "#define HAVE_BFD_MIPS_ELF_GET_ABIFLAGS 1" >>confdefs.h
+
+fi
+
# Canonicalize the secondary target names.
if test -n "$enable_targets" ; then
for targ in `echo $enable_targets | sed 's/,/ /g'`