Re: 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.arm,gmane.os.freebsd.devel.toolchain
Message-ID <[email protected]>
On Apr 27, 2025, at 09:21, Mark Millard <[email protected]> wrote:

> [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]?

To be more explicit . . .

For all the combinations of:

FreeBSD 14.2-* vs. main and lang/gcc13 vs. lang/gcc14

the only combination that fails is:

FreeBSD main building lang/gcc14 .

So changes to both FreeBSD and to lang/gcc* are involved.

mell@ noted that -static-libgcc use (and, so, libgcc_eh.a
use) in the build of lang/gcc14 is involved, something
lang/gcc13 does not use at what is the lang/gcc14 failure
point.

I've not managed isolate what contributing difference
in FreeBSD 14.2 vs. FreeBSD main is also involved.

> 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.