This commit dropped the patch, included upstream in:
5d419c790e
which was included in V0.14.04.
Three patches are also introduced to fix build issues (all
upstream not but not yet in version).
Also, this new version now depends on BR2_TOOLCHAIN_HAS_SYNC_4.
Finally, a new _MAKE_FLAGS is introduced to prevent the package to
modify too much its CFLAGS.
For change log since V0.13.05, see:
- https://github.com/ColinIanKing/stress-ng/blob/V0.15.04/debian/changelog
or commit logs:
- https://github.com/ColinIanKing/stress-ng/commits/V0.15.04
Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
79 lines
2.8 KiB
Diff
79 lines
2.8 KiB
Diff
From d3ab0bad6afc2e8f4be70fe38dd24788f1b3d4be Mon Sep 17 00:00:00 2001
|
|
From: Julien Olivain <ju.o@free.fr>
|
|
Date: Fri, 24 Feb 2023 21:11:30 +0100
|
|
Subject: [PATCH] Makefile: introduce PRESERVE_CFLAGS build flag
|
|
|
|
The stress-ng Makefile includes many nice environment auto-detection
|
|
features to adjust compilation flags. This is very convenient in
|
|
many compilation use-cases. However, in some other specific cross
|
|
compilation environments, those automatic CFLAGS adjustments may
|
|
create compilation failures.
|
|
|
|
For example, commit c00e695ed5 added -fstack-protector-strong if the
|
|
compiler recognize the flag. In some situations, for example a gcc
|
|
toolchain based on uClibc-ng without stack-protector libssp
|
|
enabled, gcc will recognize the option. Then, the Makefile adds the
|
|
option to CFLAGS, and the compilation/link fails at link time with an
|
|
error like:
|
|
|
|
/toolchain/arm-buildroot-linux-uclibcgnueabi/bin/ld: cannot find -lssp_nonshared: No such file or directory
|
|
/toolchain/arm-buildroot-linux-uclibcgnueabi/bin/ld: cannot find -lssp: No such file or directory
|
|
|
|
stress-ng is included in the Buildroot build system [1] [2], which
|
|
supports many architectures and toolchain configurations. This build
|
|
system carefully controls its CFLAGS. In such a case, it is
|
|
preferable for a package to avoid changing compilation flags.
|
|
|
|
This patch introduces the PRESERVE_CFLAGS Makefile variable which will
|
|
disable those CFLAGS adjustments, if set to 1. The current build
|
|
behavior is preserved if unset.
|
|
|
|
Upstream-reference:
|
|
https://github.com/ColinIanKing/stress-ng/commit/3d87d50561505a5a79008c01e35fc2e100000160
|
|
|
|
[1] https://buildroot.org/
|
|
[2] https://git.buildroot.org/buildroot/tree/package/stress-ng?h=2022.11.1
|
|
|
|
Signed-off-by: Julien Olivain <ju.o@free.fr>
|
|
---
|
|
Makefile | 4 ++++
|
|
1 file changed, 4 insertions(+)
|
|
|
|
diff --git a/Makefile b/Makefile
|
|
index 7a969aba..35151d74 100644
|
|
--- a/Makefile
|
|
+++ b/Makefile
|
|
@@ -45,6 +45,7 @@ endif
|
|
# Test for hardening flags and apply them if applicable
|
|
#
|
|
MACHINE = $(shell uname -m)
|
|
+ifneq ($(PRESERVE_CFLAGS),1)
|
|
ifneq ($(MACHINE),$(filter $(MACHINE),alpha parisc))
|
|
ifeq ($(shell $(CC) $(CFLAGS) -fstack-protector-strong -E -xc /dev/null > /dev/null 2>& 1 && echo 1),1)
|
|
CFLAGS += -fstack-protector-strong
|
|
@@ -58,6 +59,7 @@ ifeq ($(shell $(CC) $(CFLAGS) -D_FORTIFY_SOURCE=2 -E -xc /dev/null > /dev/null 2
|
|
CFLAGS += -D_FORTIFY_SOURCE=2
|
|
endif
|
|
endif
|
|
+endif
|
|
|
|
#
|
|
# Expected build warnings
|
|
@@ -83,11 +85,13 @@ PRE_V=
|
|
PRE_Q=@#
|
|
endif
|
|
|
|
+ifneq ($(PRESERVE_CFLAGS),1)
|
|
ifeq ($(findstring icc,$(CC)),icc)
|
|
CFLAGS += -no-inline-max-size -no-inline-max-total-size
|
|
CFLAGS += -axAVX,CORE-AVX2,CORE-AVX-I,CORE-AVX512,SSE2,SSE3,SSSE3,SSE4.1,SSE4.2,SANDYBRIDGE,SKYLAKE,SKYLAKE-AVX512,TIGERLAKE,SAPPHIRERAPIDS
|
|
CFLAGS += -ip -falign-loops -funroll-loops -ansi-alias -fma -qoverride-limits
|
|
endif
|
|
+endif
|
|
|
|
#ifeq ($(findstring clang,$(CC)),clang)
|
|
#CFLAGS += -Weverything
|
|
--
|
|
2.39.2
|
|
|