Fix --enable-libctf and --disable-static
This fixes test runs and compilation when --disable-libctf, --disable-static, or --enable-shared are passed. Changes since v2: Use GCC_ENABLE and fix indentation. Fix prototype using 'void'. Use 'unsupported' and gdb_caching_proc. Changes since v3: Adapt to upstream changes providing skip_ctf_tests. Changes since v4: Adapt to upstream changes in the seven months (!) since I last looked at this. gdb/ChangeLog * configure.ac: Add --enable-libctf: handle --disable-static properly. * acinclude.m4: sinclude ../config/enable.m4. * Makefile.in (aclocal_m4_deps): Adjust accordingly. (LIBCTF): Substitute in. (CTF_DEPS): New, likewise. (CLIBS): libctf needs symbols from libbfd: move earlier. (CDEPS): Use CTF_DEPS, not LIBCTF, now LIBCTF can include rpath flags. * ctfread.c: Surround in ENABLE_LIBCTF. (elfctf_build_psymtabs) [!ENABLE_LIBCTF]: New stub. * configure: Regenerate. * config.in: Likewise. gdb/testsuite/ChangeLog * configure.ac: Add --enable-libctf. * aclocal.m4: sinclude ../config/enable.m4. * Makefile.in (site.exp): Add enable_libctf to site.exp. * lib/gdb.exp (skip_ctf_tests): Use it. * gdb.base/ctf-constvars.exp: Error message tweak. * gdb.base/ctf-ptype.exp: Likewise. * configure: Regenerate.
This commit is contained in:
parent
d1c361252b
commit
1776e3e59c
@ -1,3 +1,19 @@
|
||||
2020-06-26 Nick Alcock <nick.alcock@oracle.com>
|
||||
|
||||
* configure.ac: Add --enable-libctf: handle --disable-static
|
||||
properly.
|
||||
* acinclude.m4: sinclude ../config/enable.m4.
|
||||
* Makefile.in (aclocal_m4_deps): Adjust accordingly.
|
||||
(LIBCTF): Substitute in.
|
||||
(CTF_DEPS): New, likewise.
|
||||
(CLIBS): libctf needs symbols from libbfd: move earlier.
|
||||
(CDEPS): Use CTF_DEPS, not LIBCTF, now LIBCTF can include rpath
|
||||
flags.
|
||||
* ctfread.c: Surround in ENABLE_LIBCTF.
|
||||
(elfctf_build_psymtabs) [!ENABLE_LIBCTF]: New stub.
|
||||
* configure: Regenerate.
|
||||
* config.in: Likewise.
|
||||
|
||||
2020-06-25 Simon Marchi <simon.marchi@efficios.com>
|
||||
|
||||
* infcmd.c (set_inferior_io_terminal): Use make_unique_xstrdup.
|
||||
|
@ -154,7 +154,8 @@ INCLUDE_CFLAGS = -I$(INCLUDE_DIR)
|
||||
LIBIBERTY = ../libiberty/libiberty.a
|
||||
|
||||
# Where is the CTF library? Typically in ../libctf.
|
||||
LIBCTF = ../libctf/.libs/libctf.a
|
||||
LIBCTF = @LIBCTF@
|
||||
CTF_DEPS = @CTF_DEPS@
|
||||
|
||||
# Where is the BFD library? Typically in ../bfd.
|
||||
BFD_DIR = ../bfd
|
||||
@ -614,7 +615,7 @@ INTERNAL_LDFLAGS = \
|
||||
# Libraries and corresponding dependencies for compiling gdb.
|
||||
# XM_CLIBS, defined in *config files, have host-dependent libs.
|
||||
# LIBIBERTY appears twice on purpose.
|
||||
CLIBS = $(SIM) $(READLINE) $(OPCODES) $(BFD) $(LIBCTF) $(ZLIB) \
|
||||
CLIBS = $(SIM) $(READLINE) $(OPCODES) $(LIBCTF) $(BFD) $(ZLIB) \
|
||||
$(LIBSUPPORT) $(INTL) $(LIBIBERTY) $(LIBDECNUMBER) \
|
||||
$(XM_CLIBS) $(GDBTKLIBS) \
|
||||
@LIBS@ @GUILE_LIBS@ @PYTHON_LIBS@ \
|
||||
@ -622,7 +623,7 @@ CLIBS = $(SIM) $(READLINE) $(OPCODES) $(BFD) $(LIBCTF) $(ZLIB) \
|
||||
$(WIN32LIBS) $(LIBGNU) $(LIBICONV) \
|
||||
$(LIBMPFR) $(SRCHIGH_LIBS) $(LIBXXHASH) $(PTHREAD_LIBS) \
|
||||
@LIBDEBUGINFOD@
|
||||
CDEPS = $(NAT_CDEPS) $(SIM) $(BFD) $(READLINE_DEPS) $(LIBCTF) \
|
||||
CDEPS = $(NAT_CDEPS) $(SIM) $(BFD) $(READLINE_DEPS) $(CTF_DEPS) \
|
||||
$(OPCODES) $(INTL_DEPS) $(LIBIBERTY) $(CONFIG_DEPS) $(LIBGNU) \
|
||||
$(LIBSUPPORT)
|
||||
|
||||
@ -2006,6 +2007,7 @@ aclocal_m4_deps = \
|
||||
transform.m4 \
|
||||
../bfd/bfd.m4 \
|
||||
../config/acinclude.m4 \
|
||||
../config/enable.m4 \
|
||||
../config/plugins.m4 \
|
||||
../config/lead-dot.m4 \
|
||||
../config/override.m4 \
|
||||
|
@ -24,6 +24,9 @@ m4_include(../bfd/bfd.m4)
|
||||
dnl This gets the standard macros.
|
||||
m4_include(../config/acinclude.m4)
|
||||
|
||||
dnl This gets GCC_ENABLE.
|
||||
sinclude(../config/enable.m4)
|
||||
|
||||
dnl This gets AC_PLUGINS, needed by ACX_LARGEFILE.
|
||||
m4_include(../config/plugins.m4)
|
||||
|
||||
|
@ -36,6 +36,9 @@
|
||||
/* Define to BFD's default target vector. */
|
||||
#undef DEFAULT_BFD_VEC
|
||||
|
||||
/* Handle .ctf type-info sections */
|
||||
#undef ENABLE_LIBCTF
|
||||
|
||||
/* Define to 1 if translation of program messages to the user's native
|
||||
language is requested. */
|
||||
#undef ENABLE_NLS
|
||||
|
40
gdb/configure
vendored
40
gdb/configure
vendored
@ -631,6 +631,9 @@ GDB_NM_FILE
|
||||
LTLIBXXHASH
|
||||
LIBXXHASH
|
||||
HAVE_LIBXXHASH
|
||||
CTF_DEPS
|
||||
LIBCTF
|
||||
ENABLE_LIBCTF
|
||||
LTLIBBABELTRACE
|
||||
LIBBABELTRACE
|
||||
HAVE_LIBBABELTRACE
|
||||
@ -917,6 +920,7 @@ with_babeltrace
|
||||
with_libbabeltrace_prefix
|
||||
with_libbabeltrace_type
|
||||
with_xxhash
|
||||
enable_libctf
|
||||
with_libxxhash_prefix
|
||||
with_libxxhash_type
|
||||
enable_unit_tests
|
||||
@ -1583,6 +1587,7 @@ Optional Features:
|
||||
gcc is used
|
||||
--enable-ubsan enable undefined behavior sanitizer (auto/yes/no)
|
||||
--enable-sim link gdb with simulator
|
||||
--enable-libctf Handle .ctf type-info sections [default=yes]
|
||||
--enable-unit-tests Enable the inclusion of unit tests when compiling
|
||||
GDB
|
||||
|
||||
@ -18561,6 +18566,41 @@ else
|
||||
fi
|
||||
|
||||
|
||||
# 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 x${enable_static} = xno; then
|
||||
LIBCTF="-Wl,--rpath,../libctf/.libs ../libctf/.libs/libctf.so"
|
||||
CTF_DEPS="../libctf/.libs/libctf.so"
|
||||
else
|
||||
LIBCTF="../libctf/.libs/libctf.a"
|
||||
CTF_DEPS="$LIBCTF"
|
||||
fi
|
||||
if test "${enable_libctf}" = yes; then
|
||||
|
||||
$as_echo "#define ENABLE_LIBCTF 1" >>confdefs.h
|
||||
|
||||
else
|
||||
LIBCTF=
|
||||
CTF_DEPS=
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
# If nativefile (NAT_FILE) is not set in configure.nat, we link to an
|
||||
# empty version.
|
||||
|
||||
if test "x$with_xxhash" != "xno"; then
|
||||
|
||||
|
||||
|
@ -2066,6 +2066,27 @@ AC_ARG_WITH(xxhash,
|
||||
AC_HELP_STRING([--with-xxhash], [use libxxhash for hashing (faster) (auto/yes/no)]),
|
||||
[], [with_xxhash=auto])
|
||||
|
||||
GCC_ENABLE([libctf], [yes], [], [Handle .ctf type-info sections])
|
||||
if test x${enable_static} = xno; then
|
||||
LIBCTF="-Wl,--rpath,../libctf/.libs ../libctf/.libs/libctf.so"
|
||||
CTF_DEPS="../libctf/.libs/libctf.so"
|
||||
else
|
||||
LIBCTF="../libctf/.libs/libctf.a"
|
||||
CTF_DEPS="$LIBCTF"
|
||||
fi
|
||||
if test "${enable_libctf}" = yes; then
|
||||
AC_DEFINE(ENABLE_LIBCTF, 1, [Handle .ctf type-info sections])
|
||||
else
|
||||
LIBCTF=
|
||||
CTF_DEPS=
|
||||
fi
|
||||
AC_SUBST(ENABLE_LIBCTF)
|
||||
AC_SUBST(LIBCTF)
|
||||
AC_SUBST(CTF_DEPS)
|
||||
|
||||
# If nativefile (NAT_FILE) is not set in configure.nat, we link to an
|
||||
# empty version.
|
||||
|
||||
if test "x$with_xxhash" != "xno"; then
|
||||
AC_LIB_HAVE_LINKFLAGS([xxhash], [],
|
||||
[#include <xxhash.h>],
|
||||
|
@ -81,6 +81,9 @@
|
||||
#include "block.h"
|
||||
#include "ctfread.h"
|
||||
#include "psympriv.h"
|
||||
|
||||
#if ENABLE_LIBCTF
|
||||
|
||||
#include "ctf.h"
|
||||
#include "ctf-api.h"
|
||||
|
||||
@ -1485,3 +1488,13 @@ elfctf_build_psymtabs (struct objfile *of)
|
||||
|
||||
scan_partial_symbols (fp, of);
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
void
|
||||
elfctf_build_psymtabs (struct objfile *of)
|
||||
{
|
||||
/* Nothing to do if CTF is disabled. */
|
||||
}
|
||||
|
||||
#endif /* ENABLE_LIBCTF */
|
||||
|
@ -1,3 +1,13 @@
|
||||
2020-06-26 Nick Alcock <nick.alcock@oracle.com>
|
||||
|
||||
* configure.ac: Add --enable-libctf.
|
||||
* aclocal.m4: sinclude ../config/enable.m4.
|
||||
* Makefile.in (site.exp): Add enable_libctf to site.exp.
|
||||
* lib/gdb.exp (skip_ctf_tests): Use it.
|
||||
* gdb.base/ctf-constvars.exp: Error message tweak.
|
||||
* gdb.base/ctf-ptype.exp: Likewise.
|
||||
* configure: Regenerate.
|
||||
|
||||
2020-06-26 Gary Benson <gbenson@redhat.com>
|
||||
|
||||
* gdb.cp/try_catch.cc: Include string.h.
|
||||
|
@ -28,6 +28,7 @@ program_transform_name = @program_transform_name@
|
||||
build_canonical = @build@
|
||||
host_canonical = @host@
|
||||
target_canonical = @target@
|
||||
enable_libctf = @enable_libctf@
|
||||
|
||||
SHELL = @SHELL@
|
||||
EXEEXT = @EXEEXT@
|
||||
@ -131,6 +132,7 @@ $(abs_builddir)/site.exp site.exp: ./config.status Makefile
|
||||
@echo "set build_triplet ${build_canonical}" >> ./tmp0
|
||||
@echo "set srcdir ${abs_srcdir}" >> ./tmp0
|
||||
@echo "set tool gdb" >> ./tmp0
|
||||
@echo "set enable_libctf ${enable_libctf}" >> ./tmp0
|
||||
@echo 'source $${srcdir}/lib/append_gdb_boards_dir.exp' >> ./tmp0
|
||||
@echo "## All variables above are generated by configure. Do Not Edit ##" >> ./tmp0
|
||||
@cat ./tmp0 > site.exp
|
||||
|
1
gdb/testsuite/aclocal.m4
vendored
1
gdb/testsuite/aclocal.m4
vendored
@ -1,5 +1,6 @@
|
||||
m4_include(../../config/acx.m4)
|
||||
m4_include(../../config/override.m4)
|
||||
m4_include(../../config/enable.m4)
|
||||
m4_include(../transform.m4)
|
||||
|
||||
# AM_CONDITIONAL -*- Autoconf -*-
|
||||
|
18
gdb/testsuite/configure
vendored
18
gdb/testsuite/configure
vendored
@ -638,6 +638,7 @@ LDFLAGS
|
||||
CFLAGS
|
||||
CC
|
||||
RPATH_ENVVAR
|
||||
enable_libctf
|
||||
subdirs
|
||||
target_noncanonical
|
||||
target_os
|
||||
@ -694,6 +695,7 @@ ac_subst_files=''
|
||||
ac_user_opts='
|
||||
enable_option_checking
|
||||
enable_gdbtk
|
||||
enable_libctf
|
||||
enable_shared
|
||||
'
|
||||
ac_precious_vars='build_alias
|
||||
@ -1323,6 +1325,7 @@ Optional Features:
|
||||
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
|
||||
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
|
||||
--enable-gtk enable gdbtk graphical user interface (GUI)
|
||||
--enable-libctf Handle .ctf type-info sections [default=yes]
|
||||
--enable-shared build shared libraries deault=yes
|
||||
|
||||
Some influential environment variables:
|
||||
@ -2189,6 +2192,21 @@ subdirs="$subdirs gdb.gdbtk"
|
||||
|
||||
fi
|
||||
|
||||
# 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
|
||||
|
||||
|
||||
|
||||
|
||||
# Enable shared libraries.
|
||||
# Check whether --enable-shared was given.
|
||||
if test "${enable_shared+set}" = set; then :
|
||||
|
@ -43,6 +43,9 @@ if test $enable_gdbtk = yes; then
|
||||
AC_CONFIG_SUBDIRS(gdb.gdbtk)
|
||||
fi
|
||||
|
||||
GCC_ENABLE([libctf], [yes], [], [Handle .ctf type-info sections])
|
||||
AC_SUBST(enable_libctf)
|
||||
|
||||
# Enable shared libraries.
|
||||
AC_ARG_ENABLE(shared,
|
||||
[ --enable-shared build shared libraries [deault=yes]],,
|
||||
|
@ -25,7 +25,7 @@
|
||||
# with mixed types.
|
||||
|
||||
if [skip_ctf_tests] {
|
||||
unsupported "no ctf debug format support"
|
||||
unsupported "no CTF debug format support, or CTF disabled in GDB"
|
||||
return 0
|
||||
}
|
||||
|
||||
|
@ -16,7 +16,7 @@
|
||||
# This file is a subset of ptype.exp written by Rob Savoye. (rob@cygnus.com)
|
||||
|
||||
if [skip_ctf_tests] {
|
||||
unsupported "no ctf debug format support"
|
||||
unsupported "no CTF debug format support, or CTF disabled in GDB"
|
||||
return 0
|
||||
}
|
||||
|
||||
@ -24,6 +24,7 @@ standard_testfile .c
|
||||
|
||||
# Using `-gt` generates full-fledged CTF debug information.
|
||||
set opts "additional_flags=-gt"
|
||||
|
||||
if { [prepare_for_testing "failed to prepare" ${testfile} \
|
||||
[list $srcfile] [list $opts nowarnings]] } {
|
||||
return 0
|
||||
|
@ -7169,9 +7169,16 @@ proc cmp_file_string { file str msg } {
|
||||
}
|
||||
|
||||
# Does the compiler support CTF debug output using '-gt' compiler
|
||||
# flag? If not then we should skip these tests.
|
||||
# flag? If not then we should skip these tests. We should also
|
||||
# skip them if libctf was explicitly disabled.
|
||||
|
||||
gdb_caching_proc skip_ctf_tests {
|
||||
global enable_libctf
|
||||
|
||||
if {$enable_libctf eq "no"} {
|
||||
return 1
|
||||
}
|
||||
|
||||
return ![gdb_can_simple_compile ctfdebug {
|
||||
int main () {
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user