On Wed 01 Dec 2021 at 21:14:37 +0100, Rhialto wrote: > I thought I'd try building u-boot for my Pinebook (from NetBSD/amd64 9.2, > pkgsrc-2021Q3), but it failed in > sysutils/arm-trusted-firmware-sun50i_a64: So when I looked into it deeper, I found the cause. Here are the messages again: > ===> configure-message [arm-trusted-firmware-sun50i_a64-2.3 u-boot-pinebook-2018 > .11rc3nb3] ===> Configuring for arm-trusted-firmware-sun50i_a64-2.3 > => Checking for portability problems in extracted files > ===> build-message [arm-trusted-firmware-sun50i_a64-2.3 u-boot-pinebook-2018.11r > c3nb3] ===> Building for arm-trusted-firmware-sun50i_a64-2.3 > ... > AR build/sun50i_a64/release/lib/libfdt.a > AS lib/libc/aarch64/setjmp.S > AR build/sun50i_a64/release/lib/libc.a > LD build/sun50i_a64/release/bl31/bl31.elf > /usr/pkg/cross-aarch64-none-elf/bin/aarch64-none-elf-ld: skipping incompatible /usr/pkg/lib/libfdt.so when searching for -lfdt > /usr/pkg/cross-aarch64-none-elf/bin/aarch64-none-elf-ld: skipping incompatible /usr/pkg/lib/libfdt.a when searching for -lfdt > /usr/pkg/cross-aarch64-none-elf/bin/aarch64-none-elf-ld: skipping incompatible /usr/lib/libc.so when searching for -lc > /usr/pkg/cross-aarch64-none-elf/bin/aarch64-none-elf-ld: skipping incompatible /usr/lib/libc.a when searching for -lc > gmake: *** [Makefile:1071: build/sun50i_a64/release/bl31/bl31.elf] Error 1 > *** Error code 2 It turns out that the top-level Makefile in the sources has a linker option "--fatal-warnings". And the above messages apparently count as warnings. So a simple patch fixes things: $NetBSD$ --- Makefile.orig 2020-04-20 15:56:43.000000000 +0000 +++ Makefile @@ -375,7 +375,7 @@ TF_LDFLAGS += $(TF_LDFLAGS_$(ARCH)) # LD = gcc (used when GCC LTO is enabled) else ifneq ($(findstring gcc,$(notdir $(LD))),) # Pass ld options with Wl or Xlinker switches -TF_LDFLAGS += -Wl,--fatal-warnings -O1 +TF_LDFLAGS += -O1 TF_LDFLAGS += -Wl,--gc-sections ifeq ($(ENABLE_LTO),1) ifeq (${ARCH},aarch64) @@ -392,7 +392,7 @@ TF_LDFLAGS += $(subst --,-Xlinker --,$( # LD = gcc-ld (ld) or llvm-ld (ld.lld) or other else -TF_LDFLAGS += --fatal-warnings -O1 +TF_LDFLAGS += -O1 TF_LDFLAGS += --gc-sections # ld.lld doesn't recognize the errata flags, # therefore don't add those in that case Does that look like a reasonable thing to commit? (to sysutils/arm-trusted-firmware/patches/patch-Makefile) -Olaf. -- ___ "Buying carbon credits is a bit like a serial killer paying someone else to \X/ have kids to make his activity cost neutral." -The BOFH falu.nl@rhialto
Attachment:
signature.asc
Description: PGP signature