]> git.ipfire.org Git - thirdparty/glibc.git/commit
aarch64: Add tests for Guarded Control Stack
authorYury Khrustalev <yury.khrustalev@arm.com>
Tue, 21 Jan 2025 13:33:20 +0000 (13:33 +0000)
committerYury Khrustalev <yury.khrustalev@arm.com>
Fri, 21 Feb 2025 16:08:00 +0000 (16:08 +0000)
commit82decb59bcecb9bf9efd252e0cf67e893221cd94
treeb5c70a3674c0668c9f5b69e316076733edbb11b8
parentc05086d9043e996ba0490f029e96ca8ea549de66
aarch64: Add tests for Guarded Control Stack

These tests validate that GCS tunable works as expected depending
on the GCS markings in the test binaries.

Tests validate both static and dynamically linked binaries.

These new tests are AArch64 specific. Moreover, they are included only
if linker supports the "-z gcs=<value>" option. If built, these tests
will run on systems with and without HWCAP_GCS. In the latter case the
tests will be reported as UNSUPPORTED.

Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
15 files changed:
sysdeps/unix/sysv/linux/aarch64/Makefile
sysdeps/unix/sysv/linux/aarch64/tst-gcs-abort.sh [new file with mode: 0644]
sysdeps/unix/sysv/linux/aarch64/tst-gcs-disabled-static.c [new file with mode: 0644]
sysdeps/unix/sysv/linux/aarch64/tst-gcs-disabled.c [new file with mode: 0644]
sysdeps/unix/sysv/linux/aarch64/tst-gcs-enforced-abort.c [new file with mode: 0644]
sysdeps/unix/sysv/linux/aarch64/tst-gcs-enforced-static-abort.c [new file with mode: 0644]
sysdeps/unix/sysv/linux/aarch64/tst-gcs-enforced-static.c [new file with mode: 0644]
sysdeps/unix/sysv/linux/aarch64/tst-gcs-enforced.c [new file with mode: 0644]
sysdeps/unix/sysv/linux/aarch64/tst-gcs-optional-off.c [new file with mode: 0644]
sysdeps/unix/sysv/linux/aarch64/tst-gcs-optional-on.c [new file with mode: 0644]
sysdeps/unix/sysv/linux/aarch64/tst-gcs-optional-static-off.c [new file with mode: 0644]
sysdeps/unix/sysv/linux/aarch64/tst-gcs-optional-static-on.c [new file with mode: 0644]
sysdeps/unix/sysv/linux/aarch64/tst-gcs-override-static.c [new file with mode: 0644]
sysdeps/unix/sysv/linux/aarch64/tst-gcs-override.c [new file with mode: 0644]
sysdeps/unix/sysv/linux/aarch64/tst-gcs-skeleton.c [new file with mode: 0644]