2023-07-13 12:14:37

by Alexandre Ghiti

[permalink] [raw]
Subject: [PATCH] selftests: riscv: Fix compilation error with vstate_exec_nolibc.c

The following error happens:

In file included from vstate_exec_nolibc.c:2:
/usr/include/riscv64-linux-gnu/sys/prctl.h:42:12: error: conflicting types for ‘prctl’; h
ave ‘int(int, ...)’
42 | extern int prctl (int __option, ...) __THROW;
| ^~~~~
In file included from ./../../../../include/nolibc/nolibc.h:99,
from <command-line>:
./../../../../include/nolibc/sys.h:892:5: note: previous definition of ‘prctl’ with type
‘int(int, long unsigned int, long unsigned int, long unsigned int, long unsigned int)

892 | int prctl(int option, unsigned long arg2, unsigned long arg3,
| ^~~~~

Fix this by not including <sys/prctl.h>, which is not needed here since
prctl syscall is directly called using its number.

Fixes: 7cf6198ce22d ("selftests: Test RISC-V Vector prctl interface")
Signed-off-by: Alexandre Ghiti <[email protected]>
---
tools/testing/selftests/riscv/vector/vstate_exec_nolibc.c | 2 --
1 file changed, 2 deletions(-)

diff --git a/tools/testing/selftests/riscv/vector/vstate_exec_nolibc.c b/tools/testing/selftests/riscv/vector/vstate_exec_nolibc.c
index 5cbc392944a6..2c0d2b1126c1 100644
--- a/tools/testing/selftests/riscv/vector/vstate_exec_nolibc.c
+++ b/tools/testing/selftests/riscv/vector/vstate_exec_nolibc.c
@@ -1,6 +1,4 @@
// SPDX-License-Identifier: GPL-2.0-only
-#include <sys/prctl.h>
-
#define THIS_PROGRAM "./vstate_exec_nolibc"

int main(int argc, char **argv)
--
2.39.2



Subject: Re: [PATCH] selftests: riscv: Fix compilation error with vstate_exec_nolibc.c

Hello:

This patch was applied to riscv/linux.git (fixes)
by Palmer Dabbelt <[email protected]>:

On Thu, 13 Jul 2023 13:58:29 +0200 you wrote:
> The following error happens:
>
> In file included from vstate_exec_nolibc.c:2:
> /usr/include/riscv64-linux-gnu/sys/prctl.h:42:12: error: conflicting types for ‘prctl’; h
> ave ‘int(int, ...)’
> 42 | extern int prctl (int __option, ...) __THROW;
> | ^~~~~
> In file included from ./../../../../include/nolibc/nolibc.h:99,
> from <command-line>:
> ./../../../../include/nolibc/sys.h:892:5: note: previous definition of ‘prctl’ with type
> ‘int(int, long unsigned int, long unsigned int, long unsigned int, long unsigned int)
> ’
> 892 | int prctl(int option, unsigned long arg2, unsigned long arg3,
> | ^~~~~
>
> [...]

Here is the summary with links:
- selftests: riscv: Fix compilation error with vstate_exec_nolibc.c
https://git.kernel.org/riscv/c/25696067202f

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



2023-08-03 16:54:43

by Palmer Dabbelt

[permalink] [raw]
Subject: Re: [PATCH] selftests: riscv: Fix compilation error with vstate_exec_nolibc.c


On Thu, 13 Jul 2023 13:58:29 +0200, Alexandre Ghiti wrote:
> The following error happens:
>
> In file included from vstate_exec_nolibc.c:2:
> /usr/include/riscv64-linux-gnu/sys/prctl.h:42:12: error: conflicting types for ‘prctl’; h
> ave ‘int(int, ...)’
> 42 | extern int prctl (int __option, ...) __THROW;
> | ^~~~~
> In file included from ./../../../../include/nolibc/nolibc.h:99,
> from <command-line>:
> ./../../../../include/nolibc/sys.h:892:5: note: previous definition of ‘prctl’ with type
> ‘int(int, long unsigned int, long unsigned int, long unsigned int, long unsigned int)
> ’
> 892 | int prctl(int option, unsigned long arg2, unsigned long arg3,
> | ^~~~~
>
> [...]

Applied, thanks!

[1/1] selftests: riscv: Fix compilation error with vstate_exec_nolibc.c
https://git.kernel.org/palmer/c/25696067202f

Best regards,
--
Palmer Dabbelt <[email protected]>