Re: A partial workaround for lang/gcc14 building on/for armv7, given STANDARD_BOOTSTRAP hitting some FreeBSD __aeabi_* symbol issues
- Reply: Mark Millard : "RETITLED/edited/shorter: Building lang/gcc14 fails only on main [so: 15], works on 14.2-Release and 14.2-Stable, why?"
- Reply: mmel@freebsd.org: "Re: A partial workaround for lang/gcc14 building on/for armv7, given STANDARD_BOOTSTRAP hitting some FreeBSD __aeabi_* symbol issues"
- In reply to: mmel@freebsd.org: "Re: A partial workaround for lang/gcc14 building on/for armv7, given STANDARD_BOOTSTRAP hitting some FreeBSD __aeabi_* symbol issues"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 27 Apr 2025 15:34:58 UTC
[Most text deleted.] On Apr 27, 2025, at 00:33, mmel@freebsd.org <mmel@FreeBSD.org> wrote: > > It's hard to respond in the right place because of tons of unrelated statements, but you overlooked that gcc14 uses the '-static-libgcc' option for the failed test. *That's different from gcc13*, and it also takes libgcc_s.so out of the picture because it's not used at all (in the case of gcc14). ... > I don't know the internals of gcc, but the problem is clear and simple. gcc14 does not provide unwinder symbols in the case of '-static-libgcc' and the FBSD configuration in default(implicit) libraries. Then why does building lang/gcc14 work on each of: 14.1-Release 14.2-Release 14.2-Stable but not on main [so: 15]? Only main has armv7 lang/gcc14* build failures on the official builders. Seems odd if it is just lang/gcc1[45]* 's problem. Official 14.1R builder success logs include: https://pkg-status.freebsd.org/ampere3/data/141releng-armv7-default/a66c1b68c862/logs/gcc14-14.2.0_3.log ---Begin OPTIONS List--- ===> The following configuration options are available for gcc14-14.2.0_3: GRAPHITE=off: Support for Graphite loop optimizations ====> Options available for the radio BOOTSTRAP: you can only select none or one of them LTO_BOOTSTRAP=off: Build using a full LTO bootstrap STANDARD_BOOTSTRAP=on: Build using a full bootstrap without LTO ===> Use 'make config' to modify these settings ---End OPTIONS List--- https://pkg-status.freebsd.org/ampere3/data/141releng-armv7-default/a66c1b68c862/logs/gcc14-devel-14.2.1.s20250308,1.log ---Begin OPTIONS List--- ===> The following configuration options are available for gcc14-devel-14.2.1.s20250308,1: GRAPHITE=off: Support for Graphite loop optimizations ====> Options available for the single BOOTSTRAP: you have to select exactly one of them LTO_BOOTSTRAP=off: Build using a full LTO bootstrap STANDARD_BOOTSTRAP=on: Build using a full bootstrap without LTO ===> Use 'make config' to modify these settings ---End OPTIONS List--- Note: armv7 has not had much build time in 2025-Apr so far, thus the lack of 14.2R examples. And local builds via: release-armv7 14.2-RELEASE-p2 armv7 pkgbase 2025-03-13 21:50:17 /usr/local/poudriere/jails/release-armv7 [01:58:58] [01] [01:34:53] Finished lang/gcc14 | gcc14-14.2.0_3: Success and via: official-armv7 14.2-STABLE armv7 pkgbase 2025-03-13 21:47:04 /usr/local/poudriere/jails/official-armv7 [01:53:58] [01] [01:32:13] Finished lang/gcc14 | gcc14-14.2.0_3: Success work as well. > I can only assume that there is some problem with the implicit library definition related to the FBSD configuration. > > IMHO '-static-libgcc' should imply '-lgcc_eh', but again this is just gues. Or the default linker script needs more love. The failing context on main has: File: /wrkdirs/usr/ports/lang/gcc14/work/.build/prev-gcc/libgcc_eh.a(unwind-arm.o) 000000f8 00002f1a R_ARM_GOT_BREL 00000c30 __aeabi_unwind_cpp_pr2 000000fc 0000301a R_ARM_GOT_BREL 00000c28 __aeabi_unwind_cpp_pr1 46: 0000000000000c20 8 FUNC GLOBAL HIDDEN 1 __aeabi_unwind_cpp_pr0 47: 0000000000000c30 8 FUNC WEAK HIDDEN 1 __aeabi_unwind_cpp_pr2 48: 0000000000000c28 8 FUNC WEAK HIDDEN 1 __aeabi_unwind_cpp_pr1 That looks the same as what is install by working builds on: 14.1-Release 14.2-Release 14.2-Stable Mark Millard marklmi at yahoo.com