RETITLED/edited/shorter: Building lang/gcc14 fails only on main [so: 15], works on 14.2-Release and 14.2-Stable, why?

Mark Millard <[email protected]>
Newsgroups gmane.os.freebsd.devel.toolchain,gmane.os.freebsd.devel.arm
Message-ID <[email protected]>
[I've also dropped mmel@ from the To: list.]

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.

main gets a failure where the config.log shows
that it found but rejected a hidden symbol:

configure:3479:  /wrkdirs/usr/ports/lang/gcc14/work/.build/./prev-gcc/xgcc -B/wrkdirs/usr/ports/lang/gcc14/work/.build/./prev-gcc/ -B/usr/local/armv7-portbld-freebsd15.0/bin/ -B/usr/local/armv7-portbl
d-freebsd15.0/bin/ -B/usr/local/armv7-portbld-freebsd15.0/lib/ -isystem /usr/local/armv7-portbld-freebsd15.0/include -isystem /usr/local/armv7-portbld-freebsd15.0/sys-include   -fno-checking -o confte
st -g -O2 -fno-checking -gtoggle -mcpu=cortex-a7 -DLIBICONV_PLUG -static-libstdc++ -static-libgcc  conftest.c  >&5
/usr/local/bin/ld: warning: libunwind.o: missing .note.GNU-stack section implies executable stack
/usr/local/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
/usr/local/bin/ld: conftest: hidden symbol `__aeabi_unwind_cpp_pr0' in /wrkdirs/usr/ports/lang/gcc14/work/.build/./prev-gcc/libgcc_eh.a(unwind-arm.o) is referenced by DSO
/usr/local/bin/ld: final link failed: bad value
collect2: error: ld returned 1 exit status

Per mmel@: Note the -static-libgcc is involved,
something that only happens for lang/gcc1[45]* .
(This explains lang/gcc13 building on main.)

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.

The failing context on main has (involving a grep for
lines of interest):

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 the working
builds on:

14.1-Release
14.2-Release
14.2-Stable

The official build logs show the following also
fail --just on main:

lang/gcc14-devel
lang/gcc15-devel

===
Mark Millard
marklmi at yahoo.com
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.