[PATCH] [gdb/build] Fix build on postmarketos
Tom de Vries
tdevries@suse.de
Thu Mar 14 09:54:40 GMT 2024
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, but WSETEXIT is:
...
/* 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 using WSETEXIT.
Tested on x86_64-linux.
PR build/31483
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=31483
---
gdbserver/linux-low.cc | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/gdbserver/linux-low.cc b/gdbserver/linux-low.cc
index 9d5a6242803..aaa7bbc2a4c 100644
--- a/gdbserver/linux-low.cc
+++ b/gdbserver/linux-low.cc
@@ -1904,7 +1904,9 @@ linux_process_target::check_zombie_leaders ()
thread_info *leader_thread = get_lwp_thread (leader_lp);
if (report_exit_events_for (leader_thread))
{
- mark_lwp_dead (leader_lp, W_EXITCODE (0, 0), true);
+ int wstat;
+ WSETEXIT (wstat, 0);
+ mark_lwp_dead (leader_lp, wstat, true);
new_pending_event = true;
}
else
base-commit: 3a4c6f1aa958739705ee69526fdeed7c69d7243c
--
2.35.3
More information about the Gdb-patches
mailing list