[Devel] [PATCH RHEL10 COMMIT] selftests: do not override CFLAGS set by the build environment
Konstantin Khorenko
khorenko at virtuozzo.com
Wed Feb 18 13:03:42 MSK 2026
The commit is pushed to "branch-rh10-6.12.0-55.52.1.4.x.vz10-ovz" and will appear at git at bitbucket.org:openvz/vzkernel.git
after rh10-6.12.0-55.52.1.4.8.vz10
------>
commit 7c80c5f53644f6be8d36f0eb9a849db3535c358f
Author: Aleksei Oladko <aleksey.oladko at virtuozzo.com>
Date: Tue Feb 17 15:55:50 2026 +0000
selftests: do not override CFLAGS set by the build environment
Some kselftests Makefiles assign CFLAGS using 'CFLAGS=...'
which overrides any CFLAGS provided by the build environment.
If the environment set flags, overriding CFLAGS may result in
inconsistent compiler and linker options and cause build failures,
for example when building PIE binaries:
# export CFLAGS="-fPIE"
# export LDFLAGS="-pie"
# make -C tools/testing/selftests/ TARGETS=mount_setattr
make: Entering directory '/build/kernel/tools/testing/selftests'
make[1]: Entering directory '/build/kernel/tools/testing/selftests/mount_setattr'
CC mount_setattr_test
/usr/bin/ld: warning: -z pack-relative-relocs ignored
/usr/bin/ld: /tmp/ccikConN.o: relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a PIE object; recompile with -fPIE
collect2: error: ld returned 1 exit status
make[1]: *** [../lib.mk:222: /build/kernel/tools/testing/selftests/mount_setattr/mount_setattr_test] Error 1
Fix this by appending to CFLAGS using 'CFLAGS+=' instead of
overriding them.
The fix is not applied to the Makefiles in x86, riscv, mm, arm64
and powerpc as they fully define their flags.
https://virtuozzo.atlassian.net/browse/VSTOR-123250
Signed-off-by: Aleksei Oladko <aleksey.oladko at virtuozzo.com>
Feature: fix selftests
---
tools/testing/selftests/efivarfs/Makefile | 2 +-
tools/testing/selftests/exec/Makefile | 2 +-
tools/testing/selftests/filesystems/overlayfs/Makefile | 2 +-
tools/testing/selftests/firmware/Makefile | 4 ++--
tools/testing/selftests/ipc/Makefile | 4 ++--
tools/testing/selftests/mount/Makefile | 4 ++--
tools/testing/selftests/mount_setattr/Makefile | 2 +-
tools/testing/selftests/move_mount_set_group/Makefile | 2 +-
tools/testing/selftests/nsfs/Makefile | 2 +-
tools/testing/selftests/resctrl/Makefile | 2 +-
tools/testing/selftests/safesetid/Makefile | 2 +-
tools/testing/selftests/sigaltstack/Makefile | 2 +-
tools/testing/selftests/timens/Makefile | 2 +-
tools/testing/selftests/tty/Makefile | 2 +-
tools/testing/selftests/vDSO/Makefile | 2 +-
tools/testing/selftests/ve_printk/Makefile | 2 +-
16 files changed, 19 insertions(+), 19 deletions(-)
diff --git a/tools/testing/selftests/efivarfs/Makefile b/tools/testing/selftests/efivarfs/Makefile
index e3181338ba5e9..f6c412059af34 100644
--- a/tools/testing/selftests/efivarfs/Makefile
+++ b/tools/testing/selftests/efivarfs/Makefile
@@ -1,5 +1,5 @@
# SPDX-License-Identifier: GPL-2.0-only
-CFLAGS = -Wall
+CFLAGS += -Wall
TEST_GEN_FILES := open-unlink create-read
TEST_PROGS := efivarfs.sh
diff --git a/tools/testing/selftests/exec/Makefile b/tools/testing/selftests/exec/Makefile
index ba012bc5aab9f..e0d3f7cbf54c5 100644
--- a/tools/testing/selftests/exec/Makefile
+++ b/tools/testing/selftests/exec/Makefile
@@ -1,5 +1,5 @@
# SPDX-License-Identifier: GPL-2.0
-CFLAGS = -Wall
+CFLAGS += -Wall
CFLAGS += -Wno-nonnull
ALIGNS := 0x1000 0x200000 0x1000000
diff --git a/tools/testing/selftests/filesystems/overlayfs/Makefile b/tools/testing/selftests/filesystems/overlayfs/Makefile
index 56b2b48a765b1..f87b34c4c2441 100644
--- a/tools/testing/selftests/filesystems/overlayfs/Makefile
+++ b/tools/testing/selftests/filesystems/overlayfs/Makefile
@@ -2,6 +2,6 @@
TEST_GEN_PROGS := dev_in_maps
-CFLAGS := -Wall -Werror
+CFLAGS += -Wall -Werror
include ../../lib.mk
diff --git a/tools/testing/selftests/firmware/Makefile b/tools/testing/selftests/firmware/Makefile
index 7992969deaa27..dd9acf972cf55 100644
--- a/tools/testing/selftests/firmware/Makefile
+++ b/tools/testing/selftests/firmware/Makefile
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0-only
# Makefile for firmware loading selftests
-CFLAGS = -Wall \
- -O2
+CFLAGS += -Wall \
+ -O2
TEST_PROGS := fw_run_tests.sh
TEST_FILES := fw_fallback.sh fw_filesystem.sh fw_upload.sh fw_lib.sh
diff --git a/tools/testing/selftests/ipc/Makefile b/tools/testing/selftests/ipc/Makefile
index 50e9c299fc4ae..5a5577767a35e 100644
--- a/tools/testing/selftests/ipc/Makefile
+++ b/tools/testing/selftests/ipc/Makefile
@@ -3,11 +3,11 @@ uname_M := $(shell uname -m 2>/dev/null || echo not)
ARCH ?= $(shell echo $(uname_M) | sed -e s/i.86/i386/)
ifeq ($(ARCH),i386)
ARCH := x86
- CFLAGS := -DCONFIG_X86_32 -D__i386__
+ CFLAGS += -DCONFIG_X86_32 -D__i386__
endif
ifeq ($(ARCH),x86_64)
ARCH := x86
- CFLAGS := -DCONFIG_X86_64 -D__x86_64__
+ CFLAGS += -DCONFIG_X86_64 -D__x86_64__
endif
CFLAGS += $(KHDR_INCLUDES)
diff --git a/tools/testing/selftests/mount/Makefile b/tools/testing/selftests/mount/Makefile
index 2d9454841644a..38361a8963633 100644
--- a/tools/testing/selftests/mount/Makefile
+++ b/tools/testing/selftests/mount/Makefile
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0
# Makefile for mount selftests.
-CFLAGS = -Wall \
- -O2
+CFLAGS += -Wall \
+ -O2
TEST_PROGS := run_unprivileged_remount.sh run_nosymfollow.sh
TEST_GEN_FILES := unprivileged-remount-test nosymfollow-test
diff --git a/tools/testing/selftests/mount_setattr/Makefile b/tools/testing/selftests/mount_setattr/Makefile
index 0c0d7b1234c19..f5eb8d8223d7f 100644
--- a/tools/testing/selftests/mount_setattr/Makefile
+++ b/tools/testing/selftests/mount_setattr/Makefile
@@ -1,6 +1,6 @@
# SPDX-License-Identifier: GPL-2.0
# Makefile for mount selftests.
-CFLAGS = -g $(KHDR_INCLUDES) -Wall -O2 -pthread
+CFLAGS += -g $(KHDR_INCLUDES) -Wall -O2 -pthread
TEST_GEN_PROGS := mount_setattr_test
diff --git a/tools/testing/selftests/move_mount_set_group/Makefile b/tools/testing/selftests/move_mount_set_group/Makefile
index 94235846b6f9b..8771a5491ea3a 100644
--- a/tools/testing/selftests/move_mount_set_group/Makefile
+++ b/tools/testing/selftests/move_mount_set_group/Makefile
@@ -1,6 +1,6 @@
# SPDX-License-Identifier: GPL-2.0
# Makefile for mount selftests.
-CFLAGS = -g $(KHDR_INCLUDES) -Wall -O2
+CFLAGS += -g $(KHDR_INCLUDES) -Wall -O2
TEST_GEN_FILES += move_mount_set_group_test
diff --git a/tools/testing/selftests/nsfs/Makefile b/tools/testing/selftests/nsfs/Makefile
index dd9bd50b7b936..b51379b3f35ce 100644
--- a/tools/testing/selftests/nsfs/Makefile
+++ b/tools/testing/selftests/nsfs/Makefile
@@ -1,6 +1,6 @@
# SPDX-License-Identifier: GPL-2.0-only
TEST_GEN_PROGS := owner pidns
-CFLAGS := -Wall -Werror
+CFLAGS += -Wall -Werror
include ../lib.mk
diff --git a/tools/testing/selftests/resctrl/Makefile b/tools/testing/selftests/resctrl/Makefile
index f408bd6bfc3d4..f38b45b773d00 100644
--- a/tools/testing/selftests/resctrl/Makefile
+++ b/tools/testing/selftests/resctrl/Makefile
@@ -1,6 +1,6 @@
# SPDX-License-Identifier: GPL-2.0
-CFLAGS = -g -Wall -O2 -D_FORTIFY_SOURCE=2
+CFLAGS += -g -Wall -O2 -D_FORTIFY_SOURCE=2
CFLAGS += $(KHDR_INCLUDES)
TEST_GEN_PROGS := resctrl_tests
diff --git a/tools/testing/selftests/safesetid/Makefile b/tools/testing/selftests/safesetid/Makefile
index e815bbf2d0f4a..d3811515d8e31 100644
--- a/tools/testing/selftests/safesetid/Makefile
+++ b/tools/testing/selftests/safesetid/Makefile
@@ -1,6 +1,6 @@
# SPDX-License-Identifier: GPL-2.0
# Makefile for SafeSetID selftest.
-CFLAGS = -Wall -O2
+CFLAGS += -Wall -O2
LDLIBS = -lcap
TEST_PROGS := safesetid-test.sh
diff --git a/tools/testing/selftests/sigaltstack/Makefile b/tools/testing/selftests/sigaltstack/Makefile
index 3e96d5d470362..5b41d660143c7 100644
--- a/tools/testing/selftests/sigaltstack/Makefile
+++ b/tools/testing/selftests/sigaltstack/Makefile
@@ -1,5 +1,5 @@
# SPDX-License-Identifier: GPL-2.0-only
-CFLAGS = -Wall
+CFLAGS += -Wall
TEST_GEN_PROGS = sas
include ../lib.mk
diff --git a/tools/testing/selftests/timens/Makefile b/tools/testing/selftests/timens/Makefile
index f0d51d4d2c879..357077792395a 100644
--- a/tools/testing/selftests/timens/Makefile
+++ b/tools/testing/selftests/timens/Makefile
@@ -1,7 +1,7 @@
TEST_GEN_PROGS := timens timerfd timer clock_nanosleep procfs exec futex vfork_exec
TEST_GEN_PROGS_EXTENDED := gettime_perf
-CFLAGS := -Wall -Werror -pthread
+CFLAGS += -Wall -Werror -pthread
LDLIBS := -lrt -ldl
include ../lib.mk
diff --git a/tools/testing/selftests/tty/Makefile b/tools/testing/selftests/tty/Makefile
index 50d7027b2ae3f..03cb8de7e20e1 100644
--- a/tools/testing/selftests/tty/Makefile
+++ b/tools/testing/selftests/tty/Makefile
@@ -1,5 +1,5 @@
# SPDX-License-Identifier: GPL-2.0
-CFLAGS = -O2 -Wall
+CFLAGS += -O2 -Wall
TEST_GEN_PROGS := tty_tstamp_update
include ../lib.mk
diff --git a/tools/testing/selftests/vDSO/Makefile b/tools/testing/selftests/vDSO/Makefile
index 1cf14a8da4380..9e6bd936960f1 100644
--- a/tools/testing/selftests/vDSO/Makefile
+++ b/tools/testing/selftests/vDSO/Makefile
@@ -12,7 +12,7 @@ TEST_GEN_PROGS += vdso_test_correctness
TEST_GEN_PROGS += vdso_test_getrandom
TEST_GEN_PROGS += vdso_test_chacha
-CFLAGS := -std=gnu99 -O2
+CFLAGS += -std=gnu99 -O2
ifeq ($(CONFIG_X86_32),y)
LDLIBS += -lgcc_s
diff --git a/tools/testing/selftests/ve_printk/Makefile b/tools/testing/selftests/ve_printk/Makefile
index e3edcbacda1ed..9e171908c2375 100644
--- a/tools/testing/selftests/ve_printk/Makefile
+++ b/tools/testing/selftests/ve_printk/Makefile
@@ -1,6 +1,6 @@
# SPDX-License-Identifier: GPL-2.0
# Makefile for ve_printk selftests.
-CFLAGS = -g -I../../../../usr/include/ -Wall -O2
+CFLAGS += -g -I../../../../usr/include/ -Wall -O2
TEST_GEN_PROGS += ve_printk_test
TEST_GEN_FILES += test_segf test_trap
More information about the Devel
mailing list