selftests/nolibc: make stackprotector probing more robust
authorThomas Weißschuh <linux@weissschuh.net>
Mon, 9 Jun 2025 07:39:16 +0000 (09:39 +0200)
committerThomas Weißschuh <linux@weissschuh.net>
Tue, 10 Jun 2025 15:55:34 +0000 (17:55 +0200)
commitb2c765778a2ea953a448816ba7c034f02a2fd6c6
tree17c35f083168baaf8e926927fec1964ceb8da378
parent19272b37aa4f83ca52bdf9c16d5d81bdd1354494
selftests/nolibc: make stackprotector probing more robust

nolibc only supports symbol-based stackprotectors, based on the global
variable __stack_chk_guard. Support for this differs between
architectures and toolchains. Some use the symbol mode by default, some
require a flag to enable it and some don't support it at all.

Before the nolibc test Makefile required the availability of
"-mstack-protector-guard=global" to enable stackprotectors.
While this flag makes sure that the correct mode is available it doesn't
work where the correct mode is the only supported one and therefore the
flag is not implemented.

Switch to a more dynamic probing mechanism.
This correctly enables stack protectors for mips, loongarch and m68k.

Acked-by: Willy Tarreau <w@1wt.eu>
Link: https://lore.kernel.org/r/20250609-nolibc-stackprotector-robust-v1-1-a1cfc92a568a@weissschuh.net
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
tools/testing/selftests/nolibc/Makefile