]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
stress-ng: Do not enforce gold linker
authorKhem Raj <raj.khem@gmail.com>
Tue, 3 Jan 2023 20:05:50 +0000 (12:05 -0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 6 Jan 2023 12:03:31 +0000 (12:03 +0000)
This can then be controlled by yocto environment through LDFLAGS if
needed since we support multiple linkers and distro policy may want a
different linker, moreover gold fails on ppc32 to link since its missing

Fixes errors like below on ppc/gold + clang

/usr/lib/clang/15.0.6/lib/linux/libclang_rt.builtins-powerpc.a(mulsc3.c.o): unsupported -mbss-plt code

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-extended/stress-ng/stress-ng/0001-Pass-LD_GOLD-1-via-makefile-to-enable-gold-linker.patch [new file with mode: 0644]
meta/recipes-extended/stress-ng/stress-ng_0.15.01.bb

diff --git a/meta/recipes-extended/stress-ng/stress-ng/0001-Pass-LD_GOLD-1-via-makefile-to-enable-gold-linker.patch b/meta/recipes-extended/stress-ng/stress-ng/0001-Pass-LD_GOLD-1-via-makefile-to-enable-gold-linker.patch
new file mode 100644 (file)
index 0000000..821e4d9
--- /dev/null
@@ -0,0 +1,65 @@
+From 32386c13420f676bd938a8b1ceaeab8a5da46d17 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 3 Jan 2023 11:00:09 -0800
+Subject: [PATCH] Pass LD_GOLD=1 via makefile to enable gold linker
+
+Current logic prefers gold if a toolchain has gold linker installed and
+does not offer any option to chose default linker which might not be
+gold linker. Its better to pass this control to user instead of auto
+detecting and deciding.
+
+Upstream-Status: Submitted [https://github.com/ColinIanKing/stress-ng/pull/251]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile        | 7 +++++++
+ Makefile.config | 9 +--------
+ 2 files changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index f2fd4b6c..bff6b8ac 100644
+--- a/Makefile
++++ b/Makefile
+@@ -69,6 +69,13 @@ endif
+ #CFLAGS += -Weverything
+ #endif
++#
++# Use gold linker
++#
++ifeq ($(LD_GOLD),1)
++LDFLAGS += -fuse-ld=gold
++endif
++
+ GREP = grep
+ #
+ # SunOS requires special grep for -e support
+diff --git a/Makefile.config b/Makefile.config
+index 394ed20d..48c94fa1 100644
+--- a/Makefile.config
++++ b/Makefile.config
+@@ -241,7 +241,7 @@ define check_ld
+       $(call check_ld_tmp,$1,$2,$3)
+ endef
+-all: linkers libraries headers cpufeatures types functions
++all: libraries headers cpufeatures types functions
+       @for I in $$(ls $(CONFIGS)); do \
+               if [ -s $(CONFIGS)/$$I ]; then \
+                       echo "#define $$I"; \
+@@ -262,13 +262,6 @@ configdir:
+ clean:
+       @rm -rf $(CONFIGS) config config.h
+-linkers: \
+-      configdir \
+-      LD_GOLD
+-
+-LD_GOLD:
+-      $(call check_ld,test-ld,HAVE_LD_GOLD,gold)
+-
+ libraries: \
+       configdir \
+       LIB_AIO LIB_APPARMOR LIB_BSD LIB_CRYPT LIB_DL \
+-- 
+2.39.0
+
index 38fd6698b3bd2d6790187c8828976a715b1a0b77..0d95cad69f1925944a588f7d72245c40923ee784 100644 (file)
@@ -5,7 +5,8 @@ HOMEPAGE = "https://github.com/ColinIanKing/stress-ng#readme"
 LICENSE = "GPL-2.0-only"
 LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
 
-SRC_URI = "git://github.com/ColinIanKing/stress-ng.git;protocol=https;branch=master"
+SRC_URI = "git://github.com/ColinIanKing/stress-ng.git;protocol=https;branch=master \
+           file://0001-Pass-LD_GOLD-1-via-makefile-to-enable-gold-linker.patch"
 SRCREV = "8c7c3d95555c50148470553b55477db895a4f1ad"
 S = "${WORKDIR}/git"