Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

selftests/nolibc: split out CFLAGS logic

Some upcoming changes will reuse the CFLAGS.

Split the computation into a reusable Makefile.

Acked-by: Willy Tarreau <w@1wt.eu>
Link: https://lore.kernel.org/r/20250620-nolibc-selftests-v1-2-f6b2ce7c5071@weissschuh.net
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>

+14 -8
+4 -8
tools/testing/selftests/nolibc/Makefile
··· 195 195 ifeq ($(origin XARCH),command line) 196 196 CFLAGS_XARCH = $(CFLAGS_$(XARCH)) 197 197 endif 198 - _CFLAGS_STACKPROTECTOR = $(call cc-option,-fstack-protector-all) $(call cc-option,-mstack-protector-guard=global) 199 - CFLAGS_STACKPROTECTOR ?= $(call try-run, \ 200 - echo 'void foo(void) {}' | $(CC) -x c - -o - -S $(CLANG_CROSS_FLAGS) $(_CFLAGS_STACKPROTECTOR) | grep -q __stack_chk_guard, \ 201 - $(_CFLAGS_STACKPROTECTOR)) 202 - CFLAGS_SANITIZER ?= $(call cc-option,-fsanitize=undefined -fsanitize-trap=all) 203 - CFLAGS ?= -Os -fno-ident -fno-asynchronous-unwind-tables -std=c89 -W -Wall -Wextra \ 204 - $(call cc-option,-fno-stack-protector) $(call cc-option,-Wmissing-prototypes) \ 205 - $(CFLAGS_XARCH) $(CFLAGS_STACKPROTECTOR) $(CFLAGS_SANITIZER) $(CFLAGS_EXTRA) 198 + 199 + include Makefile.include 200 + 201 + CFLAGS ?= $(CFLAGS_NOLIBC_TEST) $(CFLAGS_XARCH) $(CFLAGS_EXTRA) 206 202 LDFLAGS := 207 203 208 204 LIBGCC := -lgcc
+10
tools/testing/selftests/nolibc/Makefile.include
··· 1 + # SPDX-License-Identifier: GPL-2.0 2 + 3 + __CFLAGS_STACKPROTECTOR = $(call cc-option,-fstack-protector-all) $(call cc-option,-mstack-protector-guard=global) 4 + _CFLAGS_STACKPROTECTOR ?= $(call try-run, \ 5 + echo 'void foo(void) {}' | $(CC) -x c - -o - -S $(CLANG_CROSS_FLAGS) $(__CFLAGS_STACKPROTECTOR) | grep -q __stack_chk_guard, \ 6 + $(__CFLAGS_STACKPROTECTOR)) 7 + _CFLAGS_SANITIZER ?= $(call cc-option,-fsanitize=undefined -fsanitize-trap=all) 8 + CFLAGS_NOLIBC_TEST ?= -Os -fno-ident -fno-asynchronous-unwind-tables -std=c89 -W -Wall -Wextra \ 9 + $(call cc-option,-fno-stack-protector) $(call cc-option,-Wmissing-prototypes) \ 10 + $(_CFLAGS_STACKPROTECTOR) $(_CFLAGS_SANITIZER)