From: Gregory Bell <[email protected]>
redhat/spec: Do not use source fortification for selftests
Some selftests (e.g. BPF) fail to build with the _FORTIFY_SOURCE option
defined. Since selftests are not shipped, disable source fortification
for them. This is done by undefining the %{_fortify_level} RPM macro and
resetting CFLAGS to %{build_flags}.
Similarly, we reset the source fortification after selftests are built.
Signed-off-by: Gregory Bell <[email protected]>
diff --git a/redhat/kernel.spec.template b/redhat/kernel.spec.template
index blahblah..blahblah 100644
--- a/redhat/kernel.spec.template
+++ b/redhat/kernel.spec.template
@@ -3254,8 +3254,20 @@ pushd tools/testing/selftests
%endif
%{log_msg "main selftests compile"}
+
+# Some selftests (especially bpf) do not build with source fortification.
+# Since selftests are not shipped, disable source fortification for them.
+%global _fortify_level_bak %{_fortify_level}
+%undefine _fortify_level
+export CFLAGS="%{build_cflags}"
+
%{make} %{?_smp_mflags} EXTRA_CFLAGS="${RPM_OPT_FLAGS}"
EXTRA_CXXFLAGS="${RPM_OPT_FLAGS}" EXTRA_LDFLAGS="%{__global_ldflags}"
ARCH=$Arch V=1 TARGETS="bpf cgroup mm net net/forwarding net/mptcp netfilter
tc-testing memfd drivers/net/bonding iommu cachestat" SKIP_TARGETS=""
$force_targets INSTALL_PATH=%{buildroot}%{_libexecdir}/kselftests
VMLINUX_H="${RPM_VMLINUX_H}" install
+
+# Restore the original level of source fortification
+%define _fortify_level %{_fortify_level_bak}
+export CFLAGS="%{build_cflags}"
+
%ifarch %{klptestarches}
# kernel livepatching selftest test_modules will build against
# /lib/modules/$(shell uname -r)/build tree unless KDIR is set
--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/3956
--
_______________________________________________
kernel mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct:
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives:
https://lists.fedoraproject.org/archives/list/[email protected]
Do not reply to spam, report it:
https://pagure.io/fedora-infrastructure/new_issue