Fix gdbserver build when intl already built

gdbserver uses gdb's alloc.c, and this in turn can include headers
from intl via gdbsupport/gdb_locale.h.  This can cause build failures
in some situations, for example if you build gdb and gdbserver on
mingw.

This patch restores the gdbsupport dependency on intl, and changes
gdbserver to use ZW_GNU_GETTEXT_SISTER_DIR.  This fixes this build
problem.

ChangeLog
2020-03-12  Tom Tromey  <tom@tromey.com>

	* Makefile.in: Rebuild.
	* Makefile.def (gdbsupport): Depend on intl.

gdbserver/ChangeLog
2020-03-12  Tom Tromey  <tom@tromey.com>

	* config.in, configure: Rebuild.
	* configure.ac: Call ZW_GNU_GETTEXT_SISTER_DIR.
	* acinclude.m4: Include gettext-sister.m4.
	* Makefile.in (top_builddir, INTL, INTL_DEPS, INTL_CFLAGS): New
	variables.
	(INCLUDE_CFLAGS): Add INTL_CFLAGS.
	(gdbserver$(EXEEXT), gdbreplay$(EXEEXT)): Use INTL_DEPS, INTL.
This commit is contained in:
Tom Tromey 2020-03-12 13:32:15 -06:00 committed by Tom Tromey
parent 227031b2bf
commit 9a665d6226
9 changed files with 127 additions and 5 deletions

View File

@ -1,3 +1,8 @@
2020-03-12 Tom Tromey <tom@tromey.com>
* Makefile.in: Rebuild.
* Makefile.def (gdbsupport): Depend on intl.
2020-02-17 Tom Tromey <tom@tromey.com>
* configure: Rebuild.

View File

@ -423,8 +423,10 @@ dependencies = { module=all-libgui; on=all-itcl; };
dependencies = { module=configure-gdbsupport; on=configure-bfd; };
dependencies = { module=configure-gdbsupport; on=configure-gnulib; };
dependencies = { module=configure-gdbsupport; on=configure-intl; };
dependencies = { module=all-gdbsupport; on=all-bfd; };
dependencies = { module=all-gdbsupport; on=all-gnulib; };
dependencies = { module=all-gdbsupport; on=all-intl; };
// Host modules specific to binutils.
dependencies = { module=configure-bfd; on=configure-libiberty; hard=true; };

View File

@ -52455,7 +52455,9 @@ all-gdb: maybe-all-libdecnumber
all-gdb: maybe-all-libctf
all-gdbserver: maybe-all-libiberty
configure-gdbsupport: maybe-configure-bfd
configure-gdbsupport: maybe-configure-intl
all-gdbsupport: maybe-all-bfd
all-gdbsupport: maybe-all-intl
configure-gprof: maybe-configure-intl
all-gprof: maybe-all-libiberty
all-gprof: maybe-all-bfd

View File

@ -1,3 +1,13 @@
2020-03-12 Tom Tromey <tom@tromey.com>
* config.in, configure: Rebuild.
* configure.ac: Call ZW_GNU_GETTEXT_SISTER_DIR.
* acinclude.m4: Include gettext-sister.m4.
* Makefile.in (top_builddir, INTL, INTL_DEPS, INTL_CFLAGS): New
variables.
(INCLUDE_CFLAGS): Add INTL_CFLAGS.
(gdbserver$(EXEEXT), gdbreplay$(EXEEXT)): Use INTL_DEPS, INTL.
2020-03-12 Simon Marchi <simon.marchi@efficios.com>
* acinclude.m4: Update path to selftest.m4.

View File

@ -75,6 +75,8 @@ abs_top_srcdir = @abs_top_srcdir@
abs_srcdir = @abs_srcdir@
VPATH = @srcdir@
top_builddir = .
include $(srcdir)/../gdb/silent-rules.mk
# Note that these are overridden by GNU make-specific code below if
@ -109,6 +111,11 @@ GNULIB_BUILDDIR = ../gnulib
LIBGNU = $(GNULIB_BUILDDIR)/import/libgnu.a
INCGNU = -I$(srcdir)/../gnulib/import -I$(GNULIB_BUILDDIR)/import
# Where is the INTL library? Typically in ../intl.
INTL = @LIBINTL@
INTL_DEPS = @LIBINTL_DEP@
INTL_CFLAGS = @INCINTL@
INCSUPPORT = -I$(srcdir)/.. -I..
# All the includes used for CFLAGS and for lint.
@ -122,7 +129,8 @@ INCSUPPORT = -I$(srcdir)/.. -I..
#
INCLUDE_CFLAGS = -I. -I${srcdir} \
-I$(srcdir)/../gdb/regformats -I$(srcdir)/.. -I$(INCLUDE_DIR) \
-I$(srcdir)/../gdb $(INCGNU) $(INCSUPPORT)
-I$(srcdir)/../gdb $(INCGNU) $(INCSUPPORT) \
$(INTL_CFLAGS)
# M{H,T}_CFLAGS, if defined, has host- and target-dependent CFLAGS
# from the config/ directory.
@ -403,17 +411,19 @@ html:
install-html:
clean-info:
gdbserver$(EXEEXT): $(sort $(OBS)) ${CDEPS} $(LIBGNU) $(LIBIBERTY)
gdbserver$(EXEEXT): $(sort $(OBS)) ${CDEPS} $(LIBGNU) $(LIBIBERTY) \
$(INTL_DEPS)
$(SILENCE) rm -f gdbserver$(EXEEXT)
$(ECHO_CXXLD) $(CC_LD) $(INTERNAL_CFLAGS) $(INTERNAL_LDFLAGS) \
-o gdbserver$(EXEEXT) $(OBS) $(LIBGNU) $(LIBIBERTY) \
$(GDBSERVER_LIBS) $(XM_CLIBS)
$(INTL) $(GDBSERVER_LIBS) $(XM_CLIBS)
gdbreplay$(EXEEXT): $(sort $(GDBREPLAY_OBS)) $(LIBGNU) $(LIBIBERTY)
gdbreplay$(EXEEXT): $(sort $(GDBREPLAY_OBS)) $(LIBGNU) $(LIBIBERTY) \
$(INTL_DEPS)
$(SILENCE) rm -f gdbreplay$(EXEEXT)
$(ECHO_CXXLD) $(CC_LD) $(INTERNAL_CFLAGS) $(INTERNAL_LDFLAGS) \
-o gdbreplay$(EXEEXT) $(GDBREPLAY_OBS) $(XM_CLIBS) $(LIBGNU) \
$(LIBIBERTY)
$(LIBIBERTY) $(INTL)
IPA_OBJS = \
alloc-ipa.o \

View File

@ -36,6 +36,9 @@ m4_include(../gdbsupport/selftest.m4)
m4_include([../config/ax_pthread.m4])
dnl For ZW_GNU_GETTEXT_SISTER_DIR.
m4_include(../config/gettext-sister.m4)
dnl Check for existence of a type $1 in libthread_db.h
dnl Based on BFD_HAVE_SYS_PROCFS_TYPE in bfd/bfd.m4.

View File

@ -11,6 +11,10 @@
/* Define to 1 if using `alloca.c'. */
#undef C_ALLOCA
/* Define to 1 if translation of program messages to the user's native
language is requested. */
#undef ENABLE_NLS
/* Define if self-testing features should be enabled */
#undef GDB_SELF_TEST

83
gdbserver/configure vendored
View File

@ -639,6 +639,18 @@ ustinc
ustlibs
CCDEPMODE
CONFIG_SRC_SUBDIR
CATOBJEXT
GENCAT
INSTOBJEXT
DATADIRNAME
CATALOGS
POSUB
GMSGFMT
XGETTEXT
INCINTL
LIBINTL_DEP
LIBINTL
USE_NLS
DEPDIR
am__leading_dot
host_noncanonical
@ -8960,6 +8972,77 @@ ac_config_commands="$ac_config_commands depdir"
# If we haven't got the data from the intl directory,
# assume NLS is disabled.
USE_NLS=no
LIBINTL=
LIBINTL_DEP=
INCINTL=
XGETTEXT=
GMSGFMT=
POSUB=
if test -f ../intl/config.intl; then
. ../intl/config.intl
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5
$as_echo_n "checking whether NLS is requested... " >&6; }
if test x"$USE_NLS" != xyes; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
$as_echo "#define ENABLE_NLS 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for catalogs to be installed" >&5
$as_echo_n "checking for catalogs to be installed... " >&6; }
# Look for .po and .gmo files in the source directory.
CATALOGS=
XLINGUAS=
for cat in $srcdir/po/*.gmo $srcdir/po/*.po; do
# If there aren't any .gmo files the shell will give us the
# literal string "../path/to/srcdir/po/*.gmo" which has to be
# weeded out.
case "$cat" in *\**)
continue;;
esac
# The quadruple backslash is collapsed to a double backslash
# by the backticks, then collapsed again by the double quotes,
# leaving us with one backslash in the sed expression (right
# before the dot that mustn't act as a wildcard).
cat=`echo $cat | sed -e "s!$srcdir/po/!!" -e "s!\\\\.po!.gmo!"`
lang=`echo $cat | sed -e "s!\\\\.gmo!!"`
# The user is allowed to set LINGUAS to a list of languages to
# install catalogs for. If it's empty that means "all of them."
if test "x$LINGUAS" = x; then
CATALOGS="$CATALOGS $cat"
XLINGUAS="$XLINGUAS $lang"
else
case "$LINGUAS" in *$lang*)
CATALOGS="$CATALOGS $cat"
XLINGUAS="$XLINGUAS $lang"
;;
esac
fi
done
LINGUAS="$XLINGUAS"
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $LINGUAS" >&5
$as_echo "$LINGUAS" >&6; }
DATADIRNAME=share
INSTOBJEXT=.mo
GENCAT=gencat
CATOBJEXT=.gmo
fi
# Create sub-directories for objects and dependencies.
CONFIG_SRC_SUBDIR="arch gdbsupport nat target"

View File

@ -55,6 +55,9 @@ ACX_NONCANONICAL_HOST
# Dependency checking.
ZW_CREATE_DEPDIR
dnl Set up for gettext.
ZW_GNU_GETTEXT_SISTER_DIR
# Create sub-directories for objects and dependencies.
CONFIG_SRC_SUBDIR="arch gdbsupport nat target"
AC_SUBST(CONFIG_SRC_SUBDIR)