mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-08-06 06:45:56 +08:00
libctf: rip out BFD_DEPENDENCIES / BFD_LIBADD
This complex morass inherited from libopcodes, which endeavours to implement the effect of specifying ../bfd/libbfd.la in _LIBADD without actually doing so, appears to be working around a libtool bug which as far as I can see is no longer present (i.e., the install directory no longer appears in -L arguments in libtool link-mode invocations, so there is no danger of picking up old libbfds or other dependent libraries). Replaced with a simple reference to libbfd.la in the appropriate place. Also adjusted things a little more so that libctf.la and libctf-nobfd.la are self-contained, even when linking statically. This opens up the possibility of running libtool to link against libctf from inside the (upcoming) testsuite. libctf/ChangeLog 2021-01-05 Nick Alcock <nick.alcock@oracle.com> * configure.ac (BFD_LIBADD): Remove. (BFD_DEPENDENCIES): Likewise. Remove associated cases. (SHARED_LIBADD): Rename to... (CTF_LIBADD): ... this. Stick in a suitable libiberty even when linking statically. * Makefile.am (libctf_nobfd_la_LIBADD): Adjust accordingly. libctf uses libintl. (libctf_la_LIBADD): Reference libbfd.la directly, not via BFD_LIBADD. (libctf_la_DEPENDENCIES): Remove. * Makefile.in: Regenerate. * configure: Likewise.
This commit is contained in:
@ -1,3 +1,18 @@
|
||||
2021-01-05 Nick Alcock <nick.alcock@oracle.com>
|
||||
|
||||
* configure.ac (BFD_LIBADD): Remove.
|
||||
(BFD_DEPENDENCIES): Likewise. Remove associated cases.
|
||||
(SHARED_LIBADD): Rename to...
|
||||
(CTF_LIBADD): ... this. Stick in a suitable libiberty even when
|
||||
linking statically.
|
||||
* Makefile.am (libctf_nobfd_la_LIBADD): Adjust accordingly.
|
||||
libctf uses libintl.
|
||||
(libctf_la_LIBADD): Reference libbfd.la directly, not via
|
||||
BFD_LIBADD.
|
||||
(libctf_la_DEPENDENCIES): Remove.
|
||||
* Makefile.in: Regenerate.
|
||||
* configure: Likewise.
|
||||
|
||||
2021-01-05 Nick Alcock <nick.alcock@oracle.com>
|
||||
|
||||
* ctf-decl.c (ctf_decl_push): Exclude slices from the decl stack.
|
||||
|
@ -39,7 +39,7 @@ include_HEADERS =
|
||||
noinst_LTLIBRARIES = libctf.la libctf-nobfd.la
|
||||
endif
|
||||
|
||||
libctf_nobfd_la_LIBADD = @SHARED_LIBADD@ $(ZLIB)
|
||||
libctf_nobfd_la_LIBADD = @CTF_LIBADD@ $(LIBINTL) $(ZLIB)
|
||||
libctf_nobfd_la_LDFLAGS = -version-info 0:0:0 @SHARED_LDFLAGS@ @VERSION_FLAGS@
|
||||
libctf_nobfd_la_CPPFLAGS = $(AM_CPPFLAGS) -DNOBFD=1
|
||||
libctf_nobfd_la_SOURCES = ctf-archive.c ctf-dump.c ctf-create.c ctf-decl.c ctf-error.c \
|
||||
@ -50,8 +50,7 @@ if NEED_CTF_QSORT_R
|
||||
libctf_nobfd_la_SOURCES += ctf-qsort_r.c
|
||||
endif
|
||||
|
||||
libctf_la_LIBADD = @BFD_LIBADD@ $(libctf_nobfd_la_LIBADD)
|
||||
libctf_la_LIBADD = ../bfd/libbfd.la $(libctf_nobfd_la_LIBADD)
|
||||
libctf_la_CPPFLAGS = $(AM_CPPFLAGS) -DNOBFD=0
|
||||
libctf_la_DEPENDENCIES = @BFD_DEPENDENCIES@
|
||||
libctf_la_LDFLAGS = $(libctf_nobfd_la_LDFLAGS)
|
||||
libctf_la_SOURCES = $(libctf_nobfd_la_SOURCES) ctf-open-bfd.c
|
||||
|
@ -163,7 +163,8 @@ am__uninstall_files_from_dir = { \
|
||||
am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)"
|
||||
LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES)
|
||||
am__DEPENDENCIES_1 =
|
||||
libctf_nobfd_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
|
||||
libctf_nobfd_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
|
||||
$(am__DEPENDENCIES_1)
|
||||
am__libctf_nobfd_la_SOURCES_DIST = ctf-archive.c ctf-dump.c \
|
||||
ctf-create.c ctf-decl.c ctf-error.c ctf-hash.c ctf-labels.c \
|
||||
ctf-dedup.c ctf-link.c ctf-lookup.c ctf-open.c ctf-sha1.c \
|
||||
@ -189,7 +190,8 @@ libctf_nobfd_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
|
||||
-o $@
|
||||
@INSTALL_LIBBFD_FALSE@am_libctf_nobfd_la_rpath =
|
||||
@INSTALL_LIBBFD_TRUE@am_libctf_nobfd_la_rpath = -rpath $(libdir)
|
||||
am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1)
|
||||
am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
|
||||
libctf_la_DEPENDENCIES = ../bfd/libbfd.la $(am__DEPENDENCIES_2)
|
||||
am__libctf_la_SOURCES_DIST = ctf-archive.c ctf-dump.c ctf-create.c \
|
||||
ctf-decl.c ctf-error.c ctf-hash.c ctf-labels.c ctf-dedup.c \
|
||||
ctf-link.c ctf-lookup.c ctf-open.c ctf-sha1.c ctf-string.c \
|
||||
@ -307,8 +309,6 @@ AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
BFD_DEPENDENCIES = @BFD_DEPENDENCIES@
|
||||
BFD_LIBADD = @BFD_LIBADD@
|
||||
CATALOGS = @CATALOGS@
|
||||
CATOBJEXT = @CATOBJEXT@
|
||||
CC = @CC@
|
||||
@ -316,6 +316,7 @@ CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CTF_LIBADD = @CTF_LIBADD@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DATADIRNAME = @DATADIRNAME@
|
||||
DEFS = @DEFS@
|
||||
@ -370,7 +371,6 @@ RANLIB = @RANLIB@
|
||||
SED = @SED@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHARED_LDFLAGS = @SHARED_LDFLAGS@
|
||||
SHARED_LIBADD = @SHARED_LIBADD@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
USE_NLS = @USE_NLS@
|
||||
@ -453,16 +453,15 @@ AM_CFLAGS = -std=gnu99 @ac_libctf_warn_cflags@ @warn@ @c_warn@ @WARN_PEDANTIC@ @
|
||||
@INSTALL_LIBBFD_FALSE@include_HEADERS =
|
||||
@INSTALL_LIBBFD_TRUE@include_HEADERS = $(INCDIR)/ctf.h $(INCDIR)/ctf-api.h
|
||||
@INSTALL_LIBBFD_FALSE@noinst_LTLIBRARIES = libctf.la libctf-nobfd.la
|
||||
libctf_nobfd_la_LIBADD = @SHARED_LIBADD@ $(ZLIB)
|
||||
libctf_nobfd_la_LIBADD = @CTF_LIBADD@ $(LIBINTL) $(ZLIB)
|
||||
libctf_nobfd_la_LDFLAGS = -version-info 0:0:0 @SHARED_LDFLAGS@ @VERSION_FLAGS@
|
||||
libctf_nobfd_la_CPPFLAGS = $(AM_CPPFLAGS) -DNOBFD=1
|
||||
libctf_nobfd_la_SOURCES = ctf-archive.c ctf-dump.c ctf-create.c \
|
||||
ctf-decl.c ctf-error.c ctf-hash.c ctf-labels.c ctf-dedup.c \
|
||||
ctf-link.c ctf-lookup.c ctf-open.c ctf-sha1.c ctf-string.c \
|
||||
ctf-subr.c ctf-types.c ctf-util.c $(am__append_1)
|
||||
libctf_la_LIBADD = @BFD_LIBADD@ $(libctf_nobfd_la_LIBADD)
|
||||
libctf_la_LIBADD = ../bfd/libbfd.la $(libctf_nobfd_la_LIBADD)
|
||||
libctf_la_CPPFLAGS = $(AM_CPPFLAGS) -DNOBFD=0
|
||||
libctf_la_DEPENDENCIES = @BFD_DEPENDENCIES@
|
||||
libctf_la_LDFLAGS = $(libctf_nobfd_la_LDFLAGS)
|
||||
libctf_la_SOURCES = $(libctf_nobfd_la_SOURCES) ctf-open-bfd.c
|
||||
all: config.h
|
||||
|
36
libctf/configure
vendored
36
libctf/configure
vendored
@ -636,9 +636,7 @@ am__EXEEXT_TRUE
|
||||
LTLIBOBJS
|
||||
LIBOBJS
|
||||
VERSION_FLAGS
|
||||
BFD_DEPENDENCIES
|
||||
BFD_LIBADD
|
||||
SHARED_LIBADD
|
||||
CTF_LIBADD
|
||||
SHARED_LDFLAGS
|
||||
NEED_CTF_QSORT_R_FALSE
|
||||
NEED_CTF_QSORT_R_TRUE
|
||||
@ -11520,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 11523 "configure"
|
||||
#line 11521 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#if HAVE_DLFCN_H
|
||||
@ -11626,7 +11624,7 @@ else
|
||||
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
||||
lt_status=$lt_dlunknown
|
||||
cat > conftest.$ac_ext <<_LT_EOF
|
||||
#line 11629 "configure"
|
||||
#line 11627 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#if HAVE_DLFCN_H
|
||||
@ -13339,10 +13337,9 @@ $as_echo "#define HAVE_O_CLOEXEC 1" >>confdefs.h
|
||||
fi
|
||||
|
||||
# Horrible hacks to build DLLs on Windows and a shared library elsewhere.
|
||||
SHARED_LIBADD=
|
||||
|
||||
CTF_LIBADD="-L`pwd`/../libiberty -liberty"
|
||||
SHARED_LDFLAGS=
|
||||
BFD_LIBADD=
|
||||
BFD_DEPENDENCIES=
|
||||
if test "$enable_shared" = "yes"; then
|
||||
# When building a shared libctf, link against the pic version of libiberty
|
||||
# so that apps that use libctf won't need libiberty just to satisfy any
|
||||
@ -13354,39 +13351,20 @@ if test "$enable_shared" = "yes"; then
|
||||
# since libbfd may not pull in the entirety of libiberty.
|
||||
x=`sed -n -e 's/^[ ]*PICFLAG[ ]*=[ ]*//p' < ../libiberty/Makefile | sed -n '$p'`
|
||||
if test -n "$x"; then
|
||||
SHARED_LIBADD="-L`pwd`/../libiberty/pic -liberty"
|
||||
CTF_LIBADD="-L`pwd`/../libiberty/pic -liberty"
|
||||
fi
|
||||
|
||||
case "${host}" in
|
||||
# More hacks to build DLLs on Windows.
|
||||
*-*-cygwin*)
|
||||
SHARED_LDFLAGS="-no-undefined"
|
||||
SHARED_LIBADD="-L`pwd`/../libiberty -liberty -L`pwd`/../intl -lintl -lcygwin"
|
||||
BFD_LIBADD="-L`pwd`/../bfd -lbfd"
|
||||
;;
|
||||
|
||||
*-*-darwin*)
|
||||
BFD_LIBADD="-Wl,`pwd`/../bfd/.libs/libbfd.dylib"
|
||||
BFD_DEPENDENCIES="../bfd/libbfd.la"
|
||||
;;
|
||||
*)
|
||||
case "$host_vendor" in
|
||||
hp)
|
||||
BFD_LIBADD="-Wl,`pwd`/../bfd/.libs/libbfd.sl"
|
||||
;;
|
||||
*)
|
||||
BFD_LIBADD="-Wl,`pwd`/../bfd/.libs/libbfd.so"
|
||||
;;
|
||||
esac
|
||||
BFD_DEPENDENCIES="../bfd/libbfd.la"
|
||||
CTF_LIBADD="$CTF_LIBADD -L`pwd`/../intl -lintl -lcygwin"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# Use a version script, if possible, or an -export-symbols-regex otherwise.
|
||||
VERSION_FLAGS='-export-symbols-regex ctf_.*'
|
||||
if $LD --help 2>&1 | grep -- --version-script >/dev/null; then
|
||||
|
@ -170,10 +170,9 @@ if test $ac_cv_libctf_macro_O_CLOEXEC = yes; then
|
||||
fi
|
||||
|
||||
# Horrible hacks to build DLLs on Windows and a shared library elsewhere.
|
||||
SHARED_LIBADD=
|
||||
|
||||
CTF_LIBADD="-L`pwd`/../libiberty -liberty"
|
||||
SHARED_LDFLAGS=
|
||||
BFD_LIBADD=
|
||||
BFD_DEPENDENCIES=
|
||||
if test "$enable_shared" = "yes"; then
|
||||
# When building a shared libctf, link against the pic version of libiberty
|
||||
# so that apps that use libctf won't need libiberty just to satisfy any
|
||||
@ -187,38 +186,19 @@ changequote(,)dnl
|
||||
x=`sed -n -e 's/^[ ]*PICFLAG[ ]*=[ ]*//p' < ../libiberty/Makefile | sed -n '$p'`
|
||||
changequote([,])dnl
|
||||
if test -n "$x"; then
|
||||
SHARED_LIBADD="-L`pwd`/../libiberty/pic -liberty"
|
||||
CTF_LIBADD="-L`pwd`/../libiberty/pic -liberty"
|
||||
fi
|
||||
|
||||
case "${host}" in
|
||||
# More hacks to build DLLs on Windows.
|
||||
*-*-cygwin*)
|
||||
SHARED_LDFLAGS="-no-undefined"
|
||||
SHARED_LIBADD="-L`pwd`/../libiberty -liberty -L`pwd`/../intl -lintl -lcygwin"
|
||||
BFD_LIBADD="-L`pwd`/../bfd -lbfd"
|
||||
;;
|
||||
|
||||
*-*-darwin*)
|
||||
BFD_LIBADD="-Wl,`pwd`/../bfd/.libs/libbfd.dylib"
|
||||
BFD_DEPENDENCIES="../bfd/libbfd.la"
|
||||
;;
|
||||
*)
|
||||
case "$host_vendor" in
|
||||
hp)
|
||||
BFD_LIBADD="-Wl,`pwd`/../bfd/.libs/libbfd.sl"
|
||||
;;
|
||||
*)
|
||||
BFD_LIBADD="-Wl,`pwd`/../bfd/.libs/libbfd.so"
|
||||
;;
|
||||
esac
|
||||
BFD_DEPENDENCIES="../bfd/libbfd.la"
|
||||
CTF_LIBADD="$CTF_LIBADD -L`pwd`/../intl -lintl -lcygwin"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
AC_SUBST(SHARED_LDFLAGS)
|
||||
AC_SUBST(SHARED_LIBADD)
|
||||
AC_SUBST(BFD_LIBADD)
|
||||
AC_SUBST(BFD_DEPENDENCIES)
|
||||
AC_SUBST(CTF_LIBADD)
|
||||
|
||||
# Use a version script, if possible, or an -export-symbols-regex otherwise.
|
||||
VERSION_FLAGS='-export-symbols-regex ctf_.*'
|
||||
|
Reference in New Issue
Block a user