Fix support for the bfd library

There was a regression: -ldl was not tried to link with the bfd library.

This commit fixes this regression.
master
Sébastien Hinderer 2020-02-13 17:41:12 +01:00
parent d26d37bf97
commit 4199406243
3 changed files with 59 additions and 12 deletions

View File

@ -547,8 +547,8 @@ OCaml 4.10.0
- #8843, #8841: fix use of off_t on 32-bit systems.
(Stephen Dolan, report by Richard Jones, review by Xavier Leroy)
- #8947, #9134: fix/improve support for the BFD library
(Sébastien Hinderer, review by Damien Doligez)
- #8947, #9134, #9302: fix/improve support for the BFD library
(Sébastien Hinderer, review by Damien Doligez and David Allsopp)
- #8951: let make's default target build the compiler
(Sébastien Hinderer, review by David Allsopp)

55
configure vendored
View File

@ -16083,7 +16083,7 @@ if ${ac_cv_lib_bfd_bfd_openr+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-lbfd -liberty $LIBS"
LIBS="-lbfd -ldl $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@ -16114,7 +16114,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bfd_bfd_openr" >&5
$as_echo "$ac_cv_lib_bfd_bfd_openr" >&6; }
if test "x$ac_cv_lib_bfd_bfd_openr" = xyes; then :
bfd_ldlibs="-lbfd -liberty"
bfd_ldlibs="-lbfd -ldl"
fi
fi
@ -16126,7 +16126,7 @@ if ${ac_cv_lib_bfd_bfd_openr+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-lbfd -liberty -lz $LIBS"
LIBS="-lbfd -ldl -liberty $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@ -16157,7 +16157,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bfd_bfd_openr" >&5
$as_echo "$ac_cv_lib_bfd_bfd_openr" >&6; }
if test "x$ac_cv_lib_bfd_bfd_openr" = xyes; then :
bfd_ldlibs="-lbfd -liberty -lz"
bfd_ldlibs="-lbfd -ldl -liberty"
fi
fi
@ -16169,7 +16169,7 @@ if ${ac_cv_lib_bfd_bfd_openr+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-lbfd -liberty -lz -lintl $LIBS"
LIBS="-lbfd -ldl -liberty -lz $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@ -16200,7 +16200,50 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bfd_bfd_openr" >&5
$as_echo "$ac_cv_lib_bfd_bfd_openr" >&6; }
if test "x$ac_cv_lib_bfd_bfd_openr" = xyes; then :
bfd_ldlibs="-lbfd -liberty -lz -lintl"
bfd_ldlibs="-lbfd -ldl -liberty -lz"
fi
fi
if test -z "$bfd_ldlibs"; then :
unset ac_cv_lib_bfd_bfd_openr
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for bfd_openr in -lbfd" >&5
$as_echo_n "checking for bfd_openr in -lbfd... " >&6; }
if ${ac_cv_lib_bfd_bfd_openr+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-lbfd -ldl -liberty -lz -lintl $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_openr ();
int
main ()
{
return bfd_openr ();
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
ac_cv_lib_bfd_bfd_openr=yes
else
ac_cv_lib_bfd_bfd_openr=no
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bfd_bfd_openr" >&5
$as_echo "$ac_cv_lib_bfd_bfd_openr" >&6; }
if test "x$ac_cv_lib_bfd_bfd_openr" = xyes; then :
bfd_ldlibs="-lbfd -ldl -liberty -lz -lintl"
fi
fi

View File

@ -1516,16 +1516,20 @@ AS_IF([test x"$with_bfd" != "xno"],
AS_IF([test -z "$bfd_ldlibs"],
[unset ac_cv_lib_bfd_bfd_openr
AC_CHECK_LIB([bfd], [bfd_openr],
[bfd_ldlibs="-lbfd -liberty"], [], [-liberty])])
[bfd_ldlibs="-lbfd -ldl"], [], [-ldl])])
AS_IF([test -z "$bfd_ldlibs"],
[unset ac_cv_lib_bfd_bfd_openr
AC_CHECK_LIB([bfd], [bfd_openr],
[bfd_ldlibs="-lbfd -liberty -lz"], [], [-liberty -lz])])
[bfd_ldlibs="-lbfd -ldl -liberty"], [], [-ldl -liberty])])
AS_IF([test -z "$bfd_ldlibs"],
[unset ac_cv_lib_bfd_bfd_openr
AC_CHECK_LIB([bfd], [bfd_openr],
[bfd_ldlibs="-lbfd -liberty -lz -lintl"], [],
[-liberty -lz -lintl])])
[bfd_ldlibs="-lbfd -ldl -liberty -lz"], [], [-ldl -liberty -lz])])
AS_IF([test -z "$bfd_ldlibs"],
[unset ac_cv_lib_bfd_bfd_openr
AC_CHECK_LIB([bfd], [bfd_openr],
[bfd_ldlibs="-lbfd -ldl -liberty -lz -lintl"], [],
[-ldl -liberty -lz -lintl])])
AS_IF([test -n "$bfd_ldlibs"],
[bfd_available=true
AC_DEFINE([HAS_LIBBFD])])])