From 03f87942b6a216bc5cd07c5cfbb5ce5ad8185133 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Wed, 16 Dec 2015 16:35:59 -0800 Subject: [PATCH] PR gold/17473: Fix gold build with system C++ headers that use . gold/ PR gold/17473 * binary.cc: Move #include "safe-ctype.h" to be last #include. (cherry picked from commit 95c29a83ebadd0038fd304539a83c5e90798c1b9) --- gold/ChangeLog | 5 +++++ gold/binary.cc | 8 +++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/gold/ChangeLog b/gold/ChangeLog index 5f3ec40dbed..b283a884328 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,3 +1,8 @@ +2015-12-16 Roland McGrath + + PR ld/17473 + * binary.cc: Move #include "safe-ctype.h" to be last #include. + 2015-12-10 Alan Modra Apply from master. diff --git a/gold/binary.cc b/gold/binary.cc index 12ca296eb90..52df81adce2 100644 --- a/gold/binary.cc +++ b/gold/binary.cc @@ -24,7 +24,6 @@ #include #include -#include "safe-ctype.h" #include "elfcpp.h" #include "stringpool.h" @@ -32,6 +31,13 @@ #include "output.h" #include "binary.h" +// safe-ctype.h interferes with macros defined by the system . +// Some C++ system headers might include and rely on its macro +// definitions being intact. So make sure that safe-ctype.h is included +// only after any C++ system headers, whether directly here (above) or via +// other local header files (e.g. #include in "binary.h"). +#include "safe-ctype.h" + // Support for reading binary files as input. These become blobs in // the final output. These files are treated as though they have a // single .data section and define three symbols: -- 2.47.3