Skip to contentSkip to conversation

package/elf2flt: fix build with Binutils >= 2.31

PATCH New Romain Naour 3 participants 4 messages Jul 17, 2018 – Jul 18, 2018

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 package/elf2flt: fix build with Binutils >= 2.31

Binutils added diagnostics.h to bfd.h [1], so elf2flt must create a symlink for this header.

Fixes:
https://gitlab.com/free-electrons/toolchains-builder/-/jobs/82284139

[1] https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=95da9854466ada2572b42f5528711a06a2d42db1

Cc Thomas Petazzoni <[email protected]>

---
Note: for Binutils < 2.31 elf2flt create a broken symlink diagnostics.h in bfd-headers:
diagnostics.h -> output/build/host-binutils-2.30/include/diagnostics.h

We can add a HOST_ELF2FLT_POST_INSTALL_HOOKS to remove it if necessary.

---
 ...002-Makefile-fix-build-with-Binutils-2.31.patch | 34 ++++++++++++++++++++++
 1 file changed, 34 insertions(+)
 create mode 100644 package/elf2flt/0002-Makefile-fix-build-with-Binutils-2.31.patch
package/elf2flt/0002-Makefile-fix-build-with-Binutils-2.31.patch new file +34 -0
new file mode 100644
index 0000000..8255825
@@ -0,0 +1,34 @@
+From faf1a1646093fbc5ed279bae1c7250c7dfea56f8 Mon Sep 17 00:00:00 2001
+From: Romain Naour <[email protected]>
+Date: Tue, 17 Jul 2018 16:36:16 +0200
+Subject: [PATCH] Makefile: fix build with Binutils 2.31
+
+Binutils added diagnostics.h to bfd.h [1], so elf2flt must create a symlink
+for this header.
+
+Fixes:
+https://gitlab.com/free-electrons/toolchains-builder/-/jobs/82284139
+
+[1] https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=95da9854466ada2572b42f5528711a06a2d42db1
+
+Signed-off-by: Romain Naour <[email protected]>
+---
+ Makefile.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index cfad06c..164e306 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -127,7 +127,7 @@ bfd-headers/.stamp:
+ 	rm -rf bfd-headers
+ 	mkdir bfd-headers
+ 	ln -sf $(BFD_INCLUDE_DIR)/bfd.h bfd-headers/bfd.h
+-	for f in ansidecl filenames hashtab libiberty symcat; do \
++	for f in ansidecl diagnostics filenames hashtab libiberty symcat; do \
+ 		ln -sf $(BINUTILS_INCLUDE_DIR)/$$f.h bfd-headers/$$f.h || exit 1; \
+ 	done
+ 	ln -sf $(BINUTILS_INCLUDE_DIR)/elf bfd-headers/elf
+-- 
+2.7.4
+
Signature · 1 line
2.7.4
#1 lore raw

PATCH 1/1 package/elf2flt: fix build with Binutils >= 2.31

Quoted 14 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Romain" == Romain Naour <[email protected]> writes:

Binutils added diagnostics.h to bfd.h [1], so elf2flt must create a symlink for this header.

Fixes:
https://gitlab.com/free-electrons/toolchains-builder/-/jobs/82284139

[1]
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=95da9854466ada2572b42f5528711a06a2d42db1

Cc Thomas Petazzoni <[email protected]>
Quoted 6 lines

---
Note: for Binutils < 2.31 elf2flt create a broken symlink diagnostics.h in bfd-headers:
diagnostics.h -> output/build/host-binutils-2.30/include/diagnostics.h

We can add a HOST_ELF2FLT_POST_INSTALL_HOOKS to remove it if necessary.

Committed, thanks.

Signature · 1 line
Bye, Peter Korsgaard
#2 lore raw

PATCH 1/1 package/elf2flt: fix build with Binutils >= 2.31

In reply to Romain Naour

Hello Romain,

Quoted 10 lines · Romain Naour

Binutils added diagnostics.h to bfd.h [1], so elf2flt must create a symlink for this header.

Fixes:
https://gitlab.com/free-electrons/toolchains-builder/-/jobs/82284139

[1] https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=95da9854466ada2572b42f5528711a06a2d42db1

Cc Thomas Petazzoni <[email protected]>

Thanks for this fix. After it was applied by Peter, I used it for the Bootlin toolchains, and I was able to build the ARMv7-M and m68k Coldfire toolchains with binutils 2.31. They are now online on toolchains.bootlin.com.

The only remaining toolchain not building with binutils 2.31 is the xtensa toolchain.

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
#3 lore raw

PATCH 1/1 package/elf2flt: fix build with Binutils >= 2.31

Hi Thomas,

Le 18/07/2018 ? 13:14, Thomas Petazzoni a ?crit?:

Quoted 11 lines

Hello Romain,

Quoted 8 lines · Romain Naour

Binutils added diagnostics.h to bfd.h [1], so elf2flt must create a symlink for this header.

Fixes:
https://gitlab.com/free-electrons/toolchains-builder/-/jobs/82284139

[1] https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=95da9854466ada2572b42f5528711a06a2d42db1

Quoted 7 lines
Quoted 2 lines
Cc Thomas Petazzoni <[email protected]>

Thanks for this fix. After it was applied by Peter, I used it for the Bootlin toolchains, and I was able to build the ARMv7-M and m68k Coldfire toolchains with binutils 2.31. They are now online on toolchains.bootlin.com.

Great :)

Quoted 3 lines

The only remaining toolchain not building with binutils 2.31 is the xtensa toolchain.

Yes I know, this require more time to find a fix.
Maybe Max Filippov can help us (once again :) )

Best regards,
Romain

Quoted 5 lines

Thanks!

Thomas