summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2016-01-21 11:18:45 +0000
committerPedro Alves <palves@redhat.com>2016-01-21 11:18:45 +0000
commita994041db36c9a6058fe591c7ccd018ed7affc76 (patch)
tree92f99c044731b750b9855d971f15d6182d287210
parentaebf9be7089c1903581740851ae9ae67ffee2f4b (diff)
downloadbinutils-gdb-a994041db36c9a6058fe591c7ccd018ed7affc76.tar.gz
gdb: Respect CXXFLAGS when building with C++ compiler
Currently, even when built with --enable-build-with-cxx, gdb uses CFLAGS instead of CXXFLAGS. This commit fixes it. CXXFLAGS set in the environment when configure was run is now honored in the generated gdb/Makefile, and you can also override CXXFLAGS in the command like at make time, with the usual 'make CXXFLAGS="..."' Objects built with a C compiler (e.g., gnulib) still honor CFLAGS instead. gdb/ChangeLog: 2016-01-21 Pedro Alves <palves@redhat.com> * Makefile.in (COMPILER_CFLAGS): New. (CXXFLAGS): Get it from configure. (INTERNAL_CFLAGS_BASE, INTERNAL_LDFLAGS): Use COMPILER_CFLAGS instead of CFLAGS. * build-with-cxx.m4 (GDB_AC_BUILD_WITH_CXX): Set and AC_SUBST COMPILER_CFLAGS. * configure: Regenerate. gdb/gdbserver/ChangeLog: 2016-01-21 Pedro Alves <palves@redhat.com> * Makefile.in (COMPILER_CFLAGS, CXXFLAGS): New. (INTERNAL_CFLAGS_BASE): Use COMPILER_CFLAGS instead of CFLAGS. * configure: Regenerate.
-rw-r--r--gdb/ChangeLog10
-rw-r--r--gdb/Makefile.in18
-rw-r--r--gdb/build-with-cxx.m43
-rwxr-xr-xgdb/configure4
-rw-r--r--gdb/gdbserver/ChangeLog6
-rw-r--r--gdb/gdbserver/Makefile.in7
-rwxr-xr-xgdb/gdbserver/configure4
7 files changed, 41 insertions, 11 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index a377a322984..68d10ad0acb 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,13 @@
+2016-01-21 Pedro Alves <palves@redhat.com>
+
+ * Makefile.in (COMPILER_CFLAGS): New.
+ (CXXFLAGS): Get it from configure.
+ (INTERNAL_CFLAGS_BASE, INTERNAL_LDFLAGS): Use COMPILER_CFLAGS
+ instead of CFLAGS.
+ * build-with-cxx.m4 (GDB_AC_BUILD_WITH_CXX): Set and AC_SUBST
+ COMPILER_CFLAGS.
+ * configure: Regenerate.
+
2016-01-21 Joel Brobecker <brobecker@adacore.com>
* location.h (new_address_location): Add new parameters
diff --git a/gdb/Makefile.in b/gdb/Makefile.in
index 895ece68661..5e8eb9aa039 100644
--- a/gdb/Makefile.in
+++ b/gdb/Makefile.in
@@ -81,6 +81,8 @@ CATALOGS = @CATALOGS@
# The name of the compiler to use.
COMPILER = @COMPILER@
+# Set to CFLAGS or CXXFLAGS, depending on compiler/language.
+COMPILER_CFLAGS = @COMPILER_CFLAGS@
# If you are compiling with GCC, make sure that either 1) You have the
# fixed include files where GCC can reach them, or 2) You use the
@@ -551,9 +553,10 @@ GLOBAL_CFLAGS = $(MH_CFLAGS)
PROFILE_CFLAGS = @PROFILE_CFLAGS@
-# CFLAGS is specifically reserved for setting from the command line
-# when running make. I.E. "make CFLAGS=-Wmissing-prototypes".
+# These are specifically reserved for setting from the command line
+# when running make. I.E.: "make CFLAGS=-Wmissing-prototypes".
CFLAGS = @CFLAGS@
+CXXFLAGS = @CXXFLAGS@
# Set by configure, for e.g. expat. Python installations are such that
# C headers are included using their basename (for example, we #include
@@ -563,14 +566,9 @@ CFLAGS = @CFLAGS@
# a bit the consequences by putting the Python includes last in the list.
INTERNAL_CPPFLAGS = @CPPFLAGS@ @GUILE_CPPFLAGS@ @PYTHON_CPPFLAGS@
-# Need to pass this to testsuite for "make check". Probably should be
-# consistent with top-level Makefile.in and gdb/testsuite/Makefile.in
-# so "make check" has the same result no matter where it is run.
-CXXFLAGS = -g -O
-
# INTERNAL_CFLAGS is the aggregate of all other *CFLAGS macros.
INTERNAL_CFLAGS_BASE = \
- $(CFLAGS) $(GLOBAL_CFLAGS) $(PROFILE_CFLAGS) \
+ $(COMPILER_CFLAGS) $(GLOBAL_CFLAGS) $(PROFILE_CFLAGS) \
$(GDB_CFLAGS) $(OPCODES_CFLAGS) $(READLINE_CFLAGS) $(ZLIBINC) \
$(BFD_CFLAGS) $(INCLUDE_CFLAGS) $(LIBDECNUMBER_CFLAGS) \
$(INTL_CFLAGS) $(INCGNU) $(ENABLE_CFLAGS) $(INTERNAL_CPPFLAGS)
@@ -585,7 +583,9 @@ LDFLAGS = @LDFLAGS@
# I think it's perfectly reasonable for a user to set -pg in CFLAGS
# and have it work; that's why CFLAGS is here.
# PROFILE_CFLAGS is _not_ included, however, because we use monstartup.
-INTERNAL_LDFLAGS = $(CFLAGS) $(GLOBAL_CFLAGS) $(MH_LDFLAGS) $(LDFLAGS) $(CONFIG_LDFLAGS)
+INTERNAL_LDFLAGS = \
+ $(COMPILER_CFLAGS) $(GLOBAL_CFLAGS) $(MH_LDFLAGS) \
+ $(LDFLAGS) $(CONFIG_LDFLAGS)
# If your system is missing alloca(), or, more likely, it's there but
# it doesn't work, then refer to libiberty.
diff --git a/gdb/build-with-cxx.m4 b/gdb/build-with-cxx.m4
index d282092b127..6eb91434791 100644
--- a/gdb/build-with-cxx.m4
+++ b/gdb/build-with-cxx.m4
@@ -33,8 +33,11 @@ AC_DEFUN([GDB_AC_BUILD_WITH_CXX],
if test "$enable_build_with_cxx" = "yes"; then
COMPILER='$(CXX)'
+ COMPILER_CFLAGS='$(CXXFLAGS)'
else
COMPILER='$(CC)'
+ COMPILER_CFLAGS='$(CFLAGS)'
fi
AC_SUBST(COMPILER)
+ AC_SUBST(COMPILER_CFLAGS)
])
diff --git a/gdb/configure b/gdb/configure
index 701cfcb0239..26a00d8f224 100755
--- a/gdb/configure
+++ b/gdb/configure
@@ -731,6 +731,7 @@ MAKE
CCDEPMODE
DEPDIR
am__leading_dot
+COMPILER_CFLAGS
COMPILER
INSTALL_STRIP_PROGRAM
STRIP
@@ -5015,12 +5016,15 @@ fi
if test "$enable_build_with_cxx" = "yes"; then
COMPILER='$(CXX)'
+ COMPILER_CFLAGS='$(CXXFLAGS)'
else
COMPILER='$(CC)'
+ COMPILER_CFLAGS='$(CFLAGS)'
fi
+
# Dependency checking.
rm -rf .tst 2>/dev/null
mkdir .tst 2>/dev/null
diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog
index c33c5d33d25..9c42fcf97ff 100644
--- a/gdb/gdbserver/ChangeLog
+++ b/gdb/gdbserver/ChangeLog
@@ -1,3 +1,9 @@
+2016-01-21 Pedro Alves <palves@redhat.com>
+
+ * Makefile.in (COMPILER_CFLAGS, CXXFLAGS): New.
+ (INTERNAL_CFLAGS_BASE): Use COMPILER_CFLAGS instead of CFLAGS.
+ * configure: Regenerate.
+
2016-01-21 Yao Qi <yao.qi@linaro.org>
* linux-arm-low.c (arm_sigreturn_next_pc): Add parameter
diff --git a/gdb/gdbserver/Makefile.in b/gdb/gdbserver/Makefile.in
index 4719e48576a..f9b9dbe79a3 100644
--- a/gdb/gdbserver/Makefile.in
+++ b/gdb/gdbserver/Makefile.in
@@ -51,6 +51,8 @@ RANLIB = @RANLIB@
# The name of the compiler to use.
COMPILER = @COMPILER@
+# Set to CFLAGS or CXXFLAGS, depending on compiler/language.
+COMPILER_CFLAGS = @COMPILER_CFLAGS@
CC = @CC@
CXX = @CXX@
@@ -129,13 +131,14 @@ WERROR_CFLAGS = @WERROR_CFLAGS@
WARN_CFLAGS_NO_FORMAT = `echo " $(WARN_CFLAGS) " \
| sed "s/ -Wformat-nonliteral / -Wno-format-nonliteral /g"`
-# CFLAGS is specifically reserved for setting from the command line
+# These are specifically reserved for setting from the command line
# when running make. I.E. "make CFLAGS=-Wmissing-prototypes".
CFLAGS = @CFLAGS@
+CXXFLAGS = @CXXFLAGS@
CPPFLAGS = @CPPFLAGS@
# INTERNAL_CFLAGS is the aggregate of all other *CFLAGS macros.
-INTERNAL_CFLAGS_BASE = ${CFLAGS} ${GLOBAL_CFLAGS} \
+INTERNAL_CFLAGS_BASE = ${COMPILER_CFLAGS} ${GLOBAL_CFLAGS} \
${PROFILE_CFLAGS} ${INCLUDE_CFLAGS} ${CPPFLAGS}
INTERNAL_WARN_CFLAGS = ${INTERNAL_CFLAGS_BASE} $(WARN_CFLAGS)
INTERNAL_CFLAGS = ${INTERNAL_WARN_CFLAGS} $(WERROR_CFLAGS) -DGDBSERVER
diff --git a/gdb/gdbserver/configure b/gdb/gdbserver/configure
index 763c77db069..4a6f26badf9 100755
--- a/gdb/gdbserver/configure
+++ b/gdb/gdbserver/configure
@@ -615,6 +615,7 @@ DEPDIR
am__leading_dot
host_noncanonical
target_noncanonical
+COMPILER_CFLAGS
COMPILER
RANLIB
AR
@@ -4834,12 +4835,15 @@ fi
if test "$enable_build_with_cxx" = "yes"; then
COMPILER='$(CXX)'
+ COMPILER_CFLAGS='$(CXXFLAGS)'
else
COMPILER='$(CC)'
+ COMPILER_CFLAGS='$(CFLAGS)'
fi
+
# Set the 'development' global.
. $srcdir/../../bfd/development.sh