[PATCH] kselftest/arm4: Provide local defines for AT_HWCAP3

Mark Brown posted 1 patch 2 months, 3 weeks ago
tools/testing/selftests/arm64/abi/hwcap.c       | 4 ++++
tools/testing/selftests/arm64/mte/check_prctl.c | 4 ++++
2 files changed, 8 insertions(+)
[PATCH] kselftest/arm4: Provide local defines for AT_HWCAP3
Posted by Mark Brown 2 months, 3 weeks ago
Some build environments for the selftests are not picking up the newly
added AT_HWCAP3 when using the libc headers, even with headers_install
(which we require already for the arm64 selftests).  As a quick fix add
local definitions of the constant to tools use it, while auxvec.h is
installed with some toolchains it needs some persuasion to get picked up.

Signed-off-by: Mark Brown <broonie@kernel.org>
---
 tools/testing/selftests/arm64/abi/hwcap.c       | 4 ++++
 tools/testing/selftests/arm64/mte/check_prctl.c | 4 ++++
 2 files changed, 8 insertions(+)

diff --git a/tools/testing/selftests/arm64/abi/hwcap.c b/tools/testing/selftests/arm64/abi/hwcap.c
index 35f521e5f41c..aa902408facd 100644
--- a/tools/testing/selftests/arm64/abi/hwcap.c
+++ b/tools/testing/selftests/arm64/abi/hwcap.c
@@ -21,6 +21,10 @@
 
 #define TESTS_PER_HWCAP 3
 
+#ifndef AT_HWCAP3
+#define AT_HWCAP3 29
+#endif
+
 /*
  * Function expected to generate exception when the feature is not
  * supported and return when it is supported. If the specific exception
diff --git a/tools/testing/selftests/arm64/mte/check_prctl.c b/tools/testing/selftests/arm64/mte/check_prctl.c
index 4c89e9538ca0..c36c4c49ff95 100644
--- a/tools/testing/selftests/arm64/mte/check_prctl.c
+++ b/tools/testing/selftests/arm64/mte/check_prctl.c
@@ -12,6 +12,10 @@
 
 #include "kselftest.h"
 
+#ifndef AT_HWCAP3
+#define AT_HWCAP3 29
+#endif
+
 static int set_tagged_addr_ctrl(int val)
 {
 	int ret;

---
base-commit: 86731a2a651e58953fc949573895f2fa6d456841
change-id: 20250710-arm64-selftest-bodge-hwcap3-b6ab30ab69cd

Best regards,
--  
Mark Brown <broonie@kernel.org>
Re: [PATCH] kselftest/arm4: Provide local defines for AT_HWCAP3
Posted by Will Deacon 2 months, 3 weeks ago
On Tue, 15 Jul 2025 22:11:41 +0100, Mark Brown wrote:
> Some build environments for the selftests are not picking up the newly
> added AT_HWCAP3 when using the libc headers, even with headers_install
> (which we require already for the arm64 selftests).  As a quick fix add
> local definitions of the constant to tools use it, while auxvec.h is
> installed with some toolchains it needs some persuasion to get picked up.
> 
> 
> [...]

Applied to arm64 (for-next/kselftest), thanks!

[1/1] kselftest/arm4: Provide local defines for AT_HWCAP3
      https://git.kernel.org/arm64/c/54c605124da6

Cheers,
-- 
Will

https://fixes.arm64.dev
https://next.arm64.dev
https://will.arm64.dev
Re: [PATCH] kselftest/arm4: Provide local defines for AT_HWCAP3
Posted by Anshuman Khandual 2 months, 3 weeks ago

On 16/07/25 2:41 AM, Mark Brown wrote:
> Some build environments for the selftests are not picking up the newly
> added AT_HWCAP3 when using the libc headers, even with headers_install
> (which we require already for the arm64 selftests).  As a quick fix add
> local definitions of the constant to tools use it, while auxvec.h is
> installed with some toolchains it needs some persuasion to get picked up.
> 
> Signed-off-by: Mark Brown <broonie@kernel.org>
> ---
>  tools/testing/selftests/arm64/abi/hwcap.c       | 4 ++++
>  tools/testing/selftests/arm64/mte/check_prctl.c | 4 ++++
>  2 files changed, 8 insertions(+)
> 
> diff --git a/tools/testing/selftests/arm64/abi/hwcap.c b/tools/testing/selftests/arm64/abi/hwcap.c
> index 35f521e5f41c..aa902408facd 100644
> --- a/tools/testing/selftests/arm64/abi/hwcap.c
> +++ b/tools/testing/selftests/arm64/abi/hwcap.c
> @@ -21,6 +21,10 @@
>  
>  #define TESTS_PER_HWCAP 3
>  
> +#ifndef AT_HWCAP3
> +#define AT_HWCAP3 29

Just wondering - would it be better to add a comment that this is a
temporary construct till libc headers pick up AT_HWCAP3 definitions.


> +#endif
> +
>  /*
>   * Function expected to generate exception when the feature is not
>   * supported and return when it is supported. If the specific exception
> diff --git a/tools/testing/selftests/arm64/mte/check_prctl.c b/tools/testing/selftests/arm64/mte/check_prctl.c
> index 4c89e9538ca0..c36c4c49ff95 100644
> --- a/tools/testing/selftests/arm64/mte/check_prctl.c
> +++ b/tools/testing/selftests/arm64/mte/check_prctl.c
> @@ -12,6 +12,10 @@
>  
>  #include "kselftest.h"
>  
> +#ifndef AT_HWCAP3
> +#define AT_HWCAP3 29
> +#endif
> +
>  static int set_tagged_addr_ctrl(int val)
>  {
>  	int ret;
> 
> ---
> base-commit: 86731a2a651e58953fc949573895f2fa6d456841
> change-id: 20250710-arm64-selftest-bodge-hwcap3-b6ab30ab69cd
> 
> Best regards,
> --  
> Mark Brown <broonie@kernel.org>
> 
>
Re: [PATCH] kselftest/arm4: Provide local defines for AT_HWCAP3
Posted by Mark Brown 2 months, 3 weeks ago
On Wed, Jul 16, 2025 at 08:04:54AM +0530, Anshuman Khandual wrote:
> On 16/07/25 2:41 AM, Mark Brown wrote:

> >  #define TESTS_PER_HWCAP 3

> > +#ifndef AT_HWCAP3
> > +#define AT_HWCAP3 29

> Just wondering - would it be better to add a comment that this is a
> temporary construct till libc headers pick up AT_HWCAP3 definitions.

Possibly?  We tend to be against comments for this stuff in the tests
though.  We don't 100% need people's libcs updating, if we can work out
how to get the kernel header picked up in favour of the libc one
robustly that'd be fine too.