72aba2be32
Move is_negated_errno() to a separate new header file negated_errno.h and include it just for architectures which require it. is_negated_errno() is not used on those architectures that have a dedicated register to signal a syscall error. The issue was raised when compiling with clang, which is more strict regarding semantics of unused static inline functions defined in C files and will issue a -Wunused-function warrning if they are not used anywhere. * syscall.c (is_negated_errno): Move to ... * negated_errno.h: ... new file. * Makefile.am (strace_SOURCES): Add it. * linux/aarch64/get_error.c: Include it. * linux/arc/get_error.c: Likewise. * linux/arm/get_error.c: Likewise. * linux/avr32/get_error.c: Likewise. * linux/bfin/get_error.c: Likewise. * linux/crisv10/get_error.c: Likewise. * linux/hppa/get_error.c: Likewise. * linux/i386/get_error.c: Likewise. * linux/ia64/get_error.c: Likewise. * linux/m68k/get_error.c: Likewise. * linux/metag/get_error.c: Likewise. * linux/microblaze/get_error.c: Likewise. * linux/or1k/get_error.c: Likewise. * linux/riscv/get_error.c: Likewise. * linux/s390/get_error.c: Likewise. * linux/sh/get_error.c: Likewise. * linux/sh64/get_error.c: Likewise. * linux/tile/get_error.c: Likewise. * linux/x86_64/get_error.c: Likewise. * linux/xtensa/get_error.c: Likewise.
13 lines
232 B
C
13 lines
232 B
C
#include "negated_errno.h"
|
|
|
|
static void
|
|
get_error(struct tcb *tcp, const bool check_errno)
|
|
{
|
|
if (check_errno && is_negated_errno(hppa_r28)) {
|
|
tcp->u_rval = -1;
|
|
tcp->u_error = -hppa_r28;
|
|
} else {
|
|
tcp->u_rval = hppa_r28;
|
|
}
|
|
}
|