From 297a5c44ddfa6dc6efbd0f049cd8d06e466a7445 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Tue, 21 Oct 2025 07:42:40 -0600 Subject: [PATCH] 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 --- gdbsupport/common-utils.cc | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) 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) {