On 2025-05-05, Efraim Flashner wrote:
> I was trying to deploy a new generation on my pine64 and the
> arm-trusted-firmware failed to build. I tried changing the make-flags
> on arm-trusted-firmware to set CFLAGS=-Os but the overflow was still 216
> bytes. Changing it to -O2 made it 4312 bytes. Adding DEBUG=0 didn't
> make a difference either.
>
>
> Excerpt from the build log:
>
> AS plat/common/aarch64/platform_mp_stack.S
> PP bl31/bl31.ld.S
> AR
> /tmp/guix-build-arm-trusted-firmware-sun50i-a64-2.12.1.drv-0/source/build/sun50i_a64/debug/lib/libfdt.a
> AR
> /tmp/guix-build-arm-trusted-firmware-sun50i-a64-2.12.1.drv-0/source/build/sun50i_a64/debug/lib/libc.a
> LD
> /tmp/guix-build-arm-trusted-firmware-sun50i-a64-2.12.1.drv-0/source/build/sun50i_a64/debug/bl31/bl31.elf
> ld: address 0x500d8 of
> /tmp/guix-build-arm-trusted-firmware-sun50i-a64-2.12.1.drv-0/source/build/sun50i_a64/debug/bl31/bl31.elf
> section `.data' is not within region `RAM'
> ld:
> /tmp/guix-build-arm-trusted-firmware-sun50i-a64-2.12.1.drv-0/source/build/sun50i_a64/debug/bl31/bl31.elf
> section `.rela.dyn' will not fit in region `RAM'
> ld: address 0x500d8 of
> /tmp/guix-build-arm-trusted-firmware-sun50i-a64-2.12.1.drv-0/source/build/sun50i_a64/debug/bl31/bl31.elf
> section `.data' is not within region `RAM'
> ld: address 0x500d8 of
> /tmp/guix-build-arm-trusted-firmware-sun50i-a64-2.12.1.drv-0/source/build/sun50i_a64/debug/bl31/bl31.elf
> section `.data' is not within region `RAM'
> ld: address 0x500d8 of
> /tmp/guix-build-arm-trusted-firmware-sun50i-a64-2.12.1.drv-0/source/build/sun50i_a64/debug/bl31/bl31.elf
> section `.data' is not within region `RAM'
> ld: address 0x500d8 of
> /tmp/guix-build-arm-trusted-firmware-sun50i-a64-2.12.1.drv-0/source/build/sun50i_a64/debug/bl31/bl31.elf
> section `.data' is not within region `RAM'
> ld: BL31 image has exceeded its limit.
> ld: region `RAM' overflowed by 216 bytes
> collect2: error: ld returned 1 exit status
> make: *** [Makefile:1557:
> /tmp/guix-build-arm-trusted-firmware-sun50i-a64-2.12.1.drv-0/source/build/sun50i_a64/debug/bl31/bl31.elf]
> Error 1
> error: in phase 'build': uncaught exception:
> %exception #<&invoke-error program: "make" arguments: ("-j" "4"
> "PLAT=sun50i_a64" "DEBUG=0" "CC=gcc" "DEBUG=1") exit-status: 2 term-signal:
> #f stop-signal: #f>
> phase `build' failed after 4.6 seconds
> command "make" "-j" "4" "PLAT=sun50i_a64" "DEBUG=0" "CC=gcc" "DEBUG=1" failed
> with status 2
> build process 6 exited with status 256
> builder for
> `/gnu/store/9d5f5yaqsiagglzlhwak0ywwlv7gfji0-arm-trusted-firmware-sun50i-a64-2.12.1.drv'
> failed with exit code 1
> @ build-failed
> /gnu/store/9d5f5yaqsiagglzlhwak0ywwlv7gfji0-arm-trusted-firmware-sun50i-a64-2.12.1.drv
> - 1 builder for
> `/gnu/store/9d5f5yaqsiagglzlhwak0ywwlv7gfji0-arm-trusted-firmware-sun50i-a64-2.12.1.drv'
> failed with exit code 1
> derivation
> '/gnu/store/9d5f5yaqsiagglzlhwak0ywwlv7gfji0-arm-trusted-firmware-sun50i-a64-2.12.1.drv'
> offloaded to 'ubuntu.unicorn-typhon.ts.net' failed: build of
> `/gnu/store/9d5f5yaqsiagglzlhwak0ywwlv7gfji0-arm-trusted-firmware-sun50i-a64-2.12.1.drv'
> failed
> build of
> /gnu/store/9d5f5yaqsiagglzlhwak0ywwlv7gfji0-arm-trusted-firmware-sun50i-a64-2.12.1.drv
> failed
> View build log at
> '/var/log/guix/drvs/9d/5f5yaqsiagglzlhwak0ywwlv7gfji0-arm-trusted-firmware-sun50i-a64-2.12.1.drv'.
> guix build: error: build of
> `/gnu/store/9d5f5yaqsiagglzlhwak0ywwlv7gfji0-arm-trusted-firmware-sun50i-a64-2.12.1.drv'
> failedIt also fails to buidl for me on a mnt/reform2 rk3588 running guix system on aarch64-linux ... Interestingly, it appears to cross-build for x86_64-linux just fine ... I do not see any immediately obvious toolchain changes at a cursory glance... Might be worth bisecting to see where it started failing (presuming it ever built natively)? I might give that a whirl... There is also a 2.12.2 version available now; might be worth updating just to see if it fixes it... live well, vagrant
signature.asc
Description: PGP signature
