gdb: Fix building with latest libc++

Latest libc++[1] causes transitive include to <locale> when
<mutex> or <thread> header is included. This causes
gdb to not build[2] since <locale> defines isupper/islower etc.
functions that are explicitly macroed-out in safe-ctype.h to
prevent their use.
Use the suggestion from libc++ to include <locale> internally when
building in C++ mode to avoid build errors.
Use safe-gdb-ctype.h as the include instead of "safe-ctype.h"
to keep this isolated to gdb since rest of binutils
does not seem to use much C++.

[1]: https://reviews.llvm.org/D144331
[2]: https://issuetracker.google.com/issues/277967395
This commit is contained in:
Manoj Gupta
2023-04-17 13:33:15 -07:00
committed by Roland McGrath
parent bc752bfbd9
commit e0f4b3ec5f
15 changed files with 18 additions and 15 deletions

View File

@@ -40,7 +40,7 @@
#include "defs.h"
#include <unistd.h>
#include "safe-ctype.h"
#include "gdbsupport/gdb-safe-ctype.h"
#include "demangle.h"
#include "cp-support.h"
#include "c-support.h"