[2/4] tests/tcg/aarch64: Fix compilation parameters for pauth-%
diff mbox series

Message ID 20200116230809.19078-3-richard.henderson@linaro.org
State New
Headers show
Series
  • target/arm: Fix ComputePAC (LP 1859713)
Related show

Commit Message

Richard Henderson Jan. 16, 2020, 11:08 p.m. UTC
Hiding the required architecture within asm() is not correct.
Add it to the cflags of the (cross-) compiler.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
 tests/tcg/aarch64/pauth-1.c       | 2 --
 tests/tcg/aarch64/pauth-2.c       | 2 --
 tests/tcg/aarch64/Makefile.target | 1 +
 3 files changed, 1 insertion(+), 4 deletions(-)

Comments

Philippe Mathieu-Daudé Jan. 17, 2020, 6:42 a.m. UTC | #1
On 1/17/20 12:08 AM, Richard Henderson wrote:
> Hiding the required architecture within asm() is not correct.
> Add it to the cflags of the (cross-) compiler.
> 
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---
>   tests/tcg/aarch64/pauth-1.c       | 2 --
>   tests/tcg/aarch64/pauth-2.c       | 2 --
>   tests/tcg/aarch64/Makefile.target | 1 +
>   3 files changed, 1 insertion(+), 4 deletions(-)
> 
> diff --git a/tests/tcg/aarch64/pauth-1.c b/tests/tcg/aarch64/pauth-1.c
> index a3c1443cd0..ea0984ea82 100644
> --- a/tests/tcg/aarch64/pauth-1.c
> +++ b/tests/tcg/aarch64/pauth-1.c
> @@ -2,8 +2,6 @@
>   #include <sys/prctl.h>
>   #include <stdio.h>
>   
> -asm(".arch armv8.4-a");
> -
>   #ifndef PR_PAC_RESET_KEYS
>   #define PR_PAC_RESET_KEYS  54
>   #define PR_PAC_APDAKEY     (1 << 2)
> diff --git a/tests/tcg/aarch64/pauth-2.c b/tests/tcg/aarch64/pauth-2.c
> index 2fe030ba3d..9bba0beb63 100644
> --- a/tests/tcg/aarch64/pauth-2.c
> +++ b/tests/tcg/aarch64/pauth-2.c
> @@ -1,8 +1,6 @@
>   #include <stdint.h>
>   #include <assert.h>
>   
> -asm(".arch armv8.4-a");
> -
>   void do_test(uint64_t value)
>   {
>       uint64_t salt1, salt2;
> diff --git a/tests/tcg/aarch64/Makefile.target b/tests/tcg/aarch64/Makefile.target
> index df3fe8032c..374c8d6830 100644
> --- a/tests/tcg/aarch64/Makefile.target
> +++ b/tests/tcg/aarch64/Makefile.target
> @@ -20,6 +20,7 @@ run-fcvt: fcvt
>   # Pauth Tests
>   AARCH64_TESTS += pauth-1 pauth-2
>   run-pauth-%: QEMU_OPTS += -cpu max
> +pauth-%: CFLAGS += -march=armv8.3-a

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>

>   
>   # Semihosting smoke test for linux-user
>   AARCH64_TESTS += semihosting
>
Peter Maydell Jan. 20, 2020, 1:10 p.m. UTC | #2
On Thu, 16 Jan 2020 at 23:08, Richard Henderson
<richard.henderson@linaro.org> wrote:
>
> Hiding the required architecture within asm() is not correct.
> Add it to the cflags of the (cross-) compiler.

This commit message implies that we're just moving the architecture
specification from the asm statements to the cflags, but the
patch also changes the requested value from v8.4-a to v8.3-a.

I plan to tweak the commit message to be a bit clearer:

We were incorrectly requiring ARMv8.4 support for the pauth
tests, but Pointer Authentication is an ARMv8.3 extension.
Further, hiding the required architecture within asm() is
not correct.

Correct the architecture version requested, and specify it
in the cflags of the (cross-) compiler rather than in the asm.


thanks
-- PMM

Patch
diff mbox series

diff --git a/tests/tcg/aarch64/pauth-1.c b/tests/tcg/aarch64/pauth-1.c
index a3c1443cd0..ea0984ea82 100644
--- a/tests/tcg/aarch64/pauth-1.c
+++ b/tests/tcg/aarch64/pauth-1.c
@@ -2,8 +2,6 @@ 
 #include <sys/prctl.h>
 #include <stdio.h>
 
-asm(".arch armv8.4-a");
-
 #ifndef PR_PAC_RESET_KEYS
 #define PR_PAC_RESET_KEYS  54
 #define PR_PAC_APDAKEY     (1 << 2)
diff --git a/tests/tcg/aarch64/pauth-2.c b/tests/tcg/aarch64/pauth-2.c
index 2fe030ba3d..9bba0beb63 100644
--- a/tests/tcg/aarch64/pauth-2.c
+++ b/tests/tcg/aarch64/pauth-2.c
@@ -1,8 +1,6 @@ 
 #include <stdint.h>
 #include <assert.h>
 
-asm(".arch armv8.4-a");
-
 void do_test(uint64_t value)
 {
     uint64_t salt1, salt2;
diff --git a/tests/tcg/aarch64/Makefile.target b/tests/tcg/aarch64/Makefile.target
index df3fe8032c..374c8d6830 100644
--- a/tests/tcg/aarch64/Makefile.target
+++ b/tests/tcg/aarch64/Makefile.target
@@ -20,6 +20,7 @@  run-fcvt: fcvt
 # Pauth Tests
 AARCH64_TESTS += pauth-1 pauth-2
 run-pauth-%: QEMU_OPTS += -cpu max
+pauth-%: CFLAGS += -march=armv8.3-a
 
 # Semihosting smoke test for linux-user
 AARCH64_TESTS += semihosting