aboutsummaryrefslogtreecommitdiff
path: root/gdbsupport
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2024-03-14 21:28:44 +0100
committerTom de Vries <tdevries@suse.de>2024-03-14 21:28:44 +0100
commit97e9c24c38513a69db81fe4c8206785c3a7050af (patch)
treeb1986749a3c67350a8208ae9e39fbfe028f953ba /gdbsupport
parentda48217f315084097ef25226c0acab3bbd55ebd3 (diff)
downloadgdb-97e9c24c38513a69db81fe4c8206785c3a7050af.zip
gdb-97e9c24c38513a69db81fe4c8206785c3a7050af.tar.gz
gdb-97e9c24c38513a69db81fe4c8206785c3a7050af.tar.bz2
[gdb/build] Fix build on postmarketos
I tried building gdbserver on postmarketos (which is based on alpine linux, which uses musl libc), and ran into: ... gdbserver/linux-low.cc: In lambda function: gdbserver/linux-low.cc:1907:41: error: \ 'W_EXITCODE' was not declared in this scope 1907 | mark_lwp_dead (leader_lp, W_EXITCODE (0, 0), true); | ^~~~~~~~~~ ... The macro W_EXITCODE is not defined in gdbsupport/gdb_wait.h. OTOH, WSETEXIT is defined there, but unused: ... /* These are not defined in POSIX, but are used by our programs. */ #ifndef WSETEXIT # ifdef W_EXITCODE #define WSETEXIT(w,status) ((w) = W_EXITCODE(status,0)) # else #define WSETEXIT(w,status) ((w) = (0 | ((status) << 8))) # endif #endif ... Fix this by dropping the WSETEXIT definition, and instead defining W_EXITCODE. Tested on x86_64-linux, in combination with an "#undef W_EXITCODE" to make sure the definition is exercised. Approved-By: Tom Tromey <tom@tromey.com> PR build/31483 Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=31483
Diffstat (limited to 'gdbsupport')
-rw-r--r--gdbsupport/gdb_wait.h8
1 files changed, 2 insertions, 6 deletions
diff --git a/gdbsupport/gdb_wait.h b/gdbsupport/gdb_wait.h
index e9e3958..c6348db 100644
--- a/gdbsupport/gdb_wait.h
+++ b/gdbsupport/gdb_wait.h
@@ -99,12 +99,8 @@ extern int windows_status_to_termsig (unsigned long);
/* These are not defined in POSIX, but are used by our programs. */
-#ifndef WSETEXIT
-# ifdef W_EXITCODE
-#define WSETEXIT(w,status) ((w) = W_EXITCODE(status,0))
-# else
-#define WSETEXIT(w,status) ((w) = (0 | ((status) << 8)))
-# endif
+#ifndef W_EXITCODE
+#define W_EXITCODE(status, sig) ((status) << 8 | (sig))
#endif
#ifndef W_STOPCODE