Go to file
Simon Marchi a038ffd88e gdb: put user-supplied CFLAGS at the end
GDB currently doesn't build cleanly with clang (a -Wdeprecated-copy-dtor
error).  I configured my clang-based GDB build with
CXXFLAGS="-Wno-error=deprecated-copy-dtor", so I can use it despite that
problem.  However, I found that it had no effect.  This is because my
-Wno-error=Wdeprecated-copy-dtor switch is followed by -Werror in the
command line, which switches back all warnings to be errors.

If we want the user-supplied C(XX)FLAGS to be able to override flags
added by our configure script, the user-supplied C(XX)FLAGS should
appear after the configure-supplied flags.

This patch moves the user-supplied CXXFLAGS at the very end of the
compilation command line, which fixes the problem described above.  This
means moving it out of INTERNAL_CFLAGS and inlining it in the users of
INTERNAL_CFLAGS.

I observed the problem when building GDB, but the same problem could
happen with GDBserver, so the change is done there too.

In GDBserver, INTERNAL_CFLAGS is passed when linking

gdb/ChangeLog:

	* Makefile.in (COMPILE): Add CXXFLAGS.
	(INTERNAL_CFLAGS_BASE): Remove CXXFLAGS.
	(check-headers): Add CXXFLAGS.

gdbserver/ChangeLog:

	* Makefile.in (COMPILE): Add CXXFLAGS.
	(INTERNAL_CFLAGS_BASE): Remove CXXFLAGS.
	(gdbserver$(EXEEXT)): Add CXXFLAGS.
	(gdbreplay$(EXEEXT)): Add CXXFLAGS.
	($(IPA_LIB)): Add CXXFLAGS.
	(IPAGENT_COMPILE): Add CXXFLAGS.

Change-Id: I00e054506695e0e9536095c6d14827e48abd8f69
2020-10-07 13:59:23 -04:00
bfd Automatic date update in version.in 2020-10-07 00:00:10 +00:00
binutils Fix a bug in objcopy/strip's ability to merge notes in multiple same-named sections. 2020-10-06 15:49:40 +01:00
config
contrib
cpu Fix spelling mistakes 2020-10-05 14:20:15 +01:00
elfcpp
etc
gas aarch64: Fix bogus type punning in parse_barrier() [PR26699] 2020-10-06 15:56:44 +01:00
gdb gdb: put user-supplied CFLAGS at the end 2020-10-07 13:59:23 -04:00
gdbserver gdb: put user-supplied CFLAGS at the end 2020-10-07 13:59:23 -04:00
gdbsupport gdb: add debug prints in event loop 2020-10-02 14:47:42 -04:00
gnulib
gold
gprof
include
intl
ld x86: Properly merge -z ibt and -z shstk 2020-10-06 15:38:34 -07:00
libctf
libdecnumber
libiberty
opcodes Fix spelling mistakes 2020-10-05 14:20:15 +01:00
readline
sim sim: Fix autoreconf errors in sim/ directory 2020-10-06 11:29:44 +01:00
texinfo
zlib
.cvsignore
.gitattributes
.gitignore
ar-lib
ChangeLog
compile
config-ml.in
config.guess
config.rpath
config.sub
configure
configure.ac
COPYING
COPYING3
COPYING3.LIB
COPYING.LIB
COPYING.LIBGLOSS
COPYING.NEWLIB
depcomp
djunpack.bat
install-sh
libtool.m4
lt~obsolete.m4
ltgcc.m4
ltmain.sh
ltoptions.m4
ltsugar.m4
ltversion.m4
MAINTAINERS
Makefile.def
Makefile.in
Makefile.tpl
makefile.vms
missing
mkdep
mkinstalldirs
move-if-change
multilib.am
README
README-maintainer-mode
setup.com
src-release.sh
symlink-tree
test-driver
ylwrap

		   README for GNU development tools

This directory contains various GNU compilers, assemblers, linkers, 
debuggers, etc., plus their support routines, definitions, and documentation.

If you are receiving this as part of a GDB release, see the file gdb/README.
If with a binutils release, see binutils/README;  if with a libg++ release,
see libg++/README, etc.  That'll give you info about this
package -- supported targets, how to use it, how to report bugs, etc.

It is now possible to automatically configure and build a variety of
tools with one command.  To build all of the tools contained herein,
run the ``configure'' script here, e.g.:

	./configure 
	make

To install them (by default in /usr/local/bin, /usr/local/lib, etc),
then do:
	make install

(If the configure script can't determine your type of computer, give it
the name as an argument, for instance ``./configure sun4''.  You can
use the script ``config.sub'' to test whether a name is recognized; if
it is, config.sub translates it to a triplet specifying CPU, vendor,
and OS.)

If you have more than one compiler on your system, it is often best to
explicitly set CC in the environment before running configure, and to
also set CC when running make.  For example (assuming sh/bash/ksh):

	CC=gcc ./configure
	make

A similar example using csh:

	setenv CC gcc
	./configure
	make

Much of the code and documentation enclosed is copyright by
the Free Software Foundation, Inc.  See the file COPYING or
COPYING.LIB in the various directories, for a description of the
GNU General Public License terms under which you can copy the files.

REPORTING BUGS: Again, see gdb/README, binutils/README, etc., for info
on where and how to report problems.