From: Tom Tromey Date: Tue, 21 Oct 2025 13:42:40 +0000 (-0600) Subject: Avoid c-ctype.h in libinproctrace.so X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=297a5c44ddfa6dc6efbd0f049cd8d06e466a7445;p=thirdparty%2Fbinutils-gdb.git Avoid c-ctype.h in libinproctrace.so libinproctrace.so doesn't link against gnulib, and some versions of clang won't inline the c-ctype.h functions. This causes link failures. This patch works around the problem by reverting to in this case. Tested-By: Guinevere Larsen --- diff --git a/gdbsupport/common-utils.cc b/gdbsupport/common-utils.cc index 5c7ba313996..bccd6729f06 100644 --- a/gdbsupport/common-utils.cc +++ b/gdbsupport/common-utils.cc @@ -21,6 +21,22 @@ #include "host-defs.h" #include "gdbsupport/gdb-xfree.h" +/* When compiling for the in-process agent, we can't use c-ctype.h, + because (1) libinproctrace.so doesn't link against gnulib and (2) + some versions of clang won't inline all the functions. So, + redefine them here. */ +#ifdef IN_PROCESS_AGENT +#include +#undef c_isspace +#define c_isspace(X) (isspace (X)) +#undef c_isalnum +#define c_isalnum(X) (isalnum (X)) +#undef c_isdigit +#define c_isdigit(X) (isdigit (X)) +#undef c_tolower +#define c_tolower(X) (tolower (X)) +#endif /* IN_PROCESS_AGENT */ + void * xzalloc (size_t size) {