diff options
author | Tom de Vries <tdevries@suse.de> | 2024-03-14 21:28:44 +0100 |
---|---|---|
committer | Tom de Vries <tdevries@suse.de> | 2024-03-14 21:28:44 +0100 |
commit | 97e9c24c38513a69db81fe4c8206785c3a7050af (patch) | |
tree | b1986749a3c67350a8208ae9e39fbfe028f953ba /gdbsupport | |
parent | da48217f315084097ef25226c0acab3bbd55ebd3 (diff) | |
download | binutils-97e9c24c38513a69db81fe4c8206785c3a7050af.zip binutils-97e9c24c38513a69db81fe4c8206785c3a7050af.tar.gz binutils-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.h | 8 |
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 |