[PATCH v7 37/39] kselftest/arm64: Add a GCS stress test
Thiago Jung Bauermann
thiago.bauermann at linaro.org
Tue Dec 12 18:45:06 PST 2023
I'm going a bit out-of-order to report a build failure in a test:
Mark Brown <broonie at kernel.org> writes:
> +// Recurse x20 times
> +.macro recurse id
I get an assembler error here:
gcc -nostdlib gcs-stress-thread.S -o /home/thiago.bauermann/src/linux/tools/testing/selftests/arm64/gcs/gcs-stress-thread
gcs-stress-thread.S: Assembler messages:
gcs-stress-thread.S:236: Error: unexpected end of file in macro `recurse' definition
make[2]: *** [Makefile:24: /home/thiago.bauermann/src/linux/tools/testing/selftests/arm64/gcs/gcs-stress-thread] Error 1
This is with gas from Ubuntu 22.04, which ships binutils 2.38.
> +function recurse\id
> + stp x29, x30, [sp, #-16]!
> + mov x29, sp
> +
> + cmp x20, 0
> + beq 1f
> + sub x20, x20, 1
> + bl recurse\id
> +
> +1:
> + ldp x29, x30, [sp], #16
> +
> + // Do a syscall immediately prior to returning to try to provoke
> + // scheduling and migration at a point where coherency issues
> + // might trigger.
> + mov x8, #__NR_getpid
> + svc #0
> +
> + ret
> +endfunction
> +.endmacro
> +
> +// Generate and use two copies so we're changing the GCS contents
> +recurse 1
> +recurse 2
--
Thiago
More information about the linux-riscv
mailing list