perf tools build broken for RISCV 32 bit
From: Emiliano Ingrassia
Date: Thu Jan 14 2021 - 13:39:55 EST
Hi,
When building perf for RISCV 32 bit (v5.10.7) I got the following
| In file included from bench/futex-hash.c:29:
| bench/futex.h: In function ‘futex_wait’:
| bench/futex.h:37:10: error: ‘SYS_futex’ undeclared (first use in this function); did you mean ‘SYS_tee’?
This issue is similar to the one reported in https://lkml.org/lkml/2019/4/19/631
I found that patching tools/arch/riscv/include/uapi/asm/unistd.h as following:
#ifdef __LP64__
#define __ARCH_WANT_NEW_STAT
#define __ARCH_WANT_SET_GET_RLIMIT
+#else
+#define __ARCH_WANT_TIME32_SYSCALLS
#endif /* __LP64__ */
solved the problem.
I also found that a similar patch for arch/riscv/include/uapi/asm/unistd.h
was removed in commit d4c08b9776b3, so probably this is not the right way(?).
Thank you, best regards.