strace/wait.h
Eugene Syromyatnikov 81c9974f11 strace: always define WCOREDUMP
wait.c does it already.

* strace.c: Remove <sys/wait.h> include, add "wait.h" include.
[!WCOREDUMP]: Remove.
* wait.c: Remove <sys/wait.h> include, add "wait.h" include.
[!WCOREFLAG] (WCOREFLAG), [!WCOREDUMP] (WCOREDUMP): Move to wait.h,
rework.
[!W_STOPCODE] (W_STOPCODE), [!W_EXITCODE] (W_EXITCODE),
[!W_CONTINUED] (W_CONTINUED): Move to wait.h.
2018-10-03 10:31:30 +02:00

36 lines
799 B
C

#ifndef STRACE_WAIT_H
#define STRACE_WAIT_H
#include "defs.h"
#include <sys/wait.h>
#include "static_assert.h"
/*
* on Linux, the "core dumped" flag is hard-coded to 0x80:
* fs/coredump.c:coredump_finish() after v3.10-rc1~143^2~41,
* fs/coredump.c:do_coredump() between v3.7-rc1~134^2~4 and v3.10-rc1~143^2~41,
* or fs/exec.c:do_coredump() before v3.7-rc1~134^2~4
*/
#ifndef WCOREFLAG
# define WCOREFLAG 0x80
#else
static_assert((WCOREFLAG) == 0x80, "WCOREFLAG != 0x80");
#endif
#ifndef WCOREDUMP
# define WCOREDUMP(status) ((status) & (WCOREFLAG))
#endif
#ifndef W_STOPCODE
# define W_STOPCODE(sig) ((sig) << 8 | 0x7f)
#endif
#ifndef W_EXITCODE
# define W_EXITCODE(ret, sig) ((ret) << 8 | (sig))
#endif
#ifndef W_CONTINUED
# define W_CONTINUED 0xffff
#endif
#endif /* STRACE_WAIT_H */