1
0
mirror of https://git.yoctoproject.org/poky synced 2026-05-08 05:09:24 +00:00

stress-ng: Do not enforce gold linker

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

(From OE-Core rev: 089cc4b036e370bf82973ca6ced038578e4682cf)

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>
This commit is contained in:
Khem Raj
2023-01-03 12:05:50 -08:00
committed by Richard Purdie
parent a50bad0c58
commit 3f833254a4
2 changed files with 67 additions and 1 deletions
@@ -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
@@ -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"