package/s390-tools: fix build with binutils 2.36
authorFabrice Fontaine <fontaine.fabrice@gmail.com>
Tue, 3 Aug 2021 13:01:10 +0000 (15:01 +0200)
committerArnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Tue, 3 Aug 2021 21:26:46 +0000 (23:26 +0200)
Fix the following build failure with binutils 2.36:

/tmp/instance-16/output-1/host/bin/s390x-buildroot-linux-gnu-ld: Error: unable to disambiguate: -no-pie (did you mean --no-pie ?)
make[3]: *** [Makefile:113: data.o] Error 1

Fixes:
 - http://autobuild.buildroot.org/results/90100519d696c49441669117276fb8084796544b

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
package/s390-tools/0004-zipl-boot-Makefile-no-pie-is-not-a-valid-ld-flag.patch [new file with mode: 0644]

diff --git a/package/s390-tools/0004-zipl-boot-Makefile-no-pie-is-not-a-valid-ld-flag.patch b/package/s390-tools/0004-zipl-boot-Makefile-no-pie-is-not-a-valid-ld-flag.patch
new file mode 100644 (file)
index 0000000..fcdf060
--- /dev/null
@@ -0,0 +1,29 @@
+From 9fd3c733c645be13a2e39a3bae3983f88530b48d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Lukas=20M=C3=A4rdian?= <lukas.maerdian@canonical.com>
+Date: Thu, 7 Jan 2021 12:46:22 +0100
+Subject: [PATCH] zipl/boot/Makefile: -no-pie is not a valid ld flag
+
+The "-no-pie" option never has been a valid flag of ld. It breaks the build with newer binutils.
+See:
+https://sourceware.org/bugzilla/show_bug.cgi?id=27050
+https://bugs.launchpad.net/ubuntu/+source/s390-tools/+bug/1907789
+
+[Retrieved from: https://github.com/ibm-s390-linux/s390-tools/pull/106]
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+---
+ zipl/boot/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/zipl/boot/Makefile b/zipl/boot/Makefile
+index a2e5f190..b81df778 100644
+--- a/zipl/boot/Makefile
++++ b/zipl/boot/Makefile
+@@ -109,7 +109,7 @@ stage3.bin:        stage3.exec
+               $< $@
+ data.o: $(FILES)
+-      $(LD) $(NO_PIE_LDFLAGS) -r -b binary -o data.o $(FILES)
++      $(LD) -r -b binary -o data.o $(FILES)
+ data.h: data.o
+       rm -f data.h