NetBSD Problem Report #59706

From www@netbsd.org  Mon Oct 13 17:55:40 2025
Return-Path: <www@netbsd.org>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256
	 client-signature RSA-PSS (2048 bits) client-digest SHA256)
	(Client CN "mail.NetBSD.org", Issuer "mail.NetBSD.org CA" (not verified))
	by mollari.NetBSD.org (Postfix) with ESMTPS id B06411A923A
	for <gnats-bugs@gnats.NetBSD.org>; Mon, 13 Oct 2025 17:55:40 +0000 (UTC)
Message-Id: <20251013175539.23D981A923C@mollari.NetBSD.org>
Date: Mon, 13 Oct 2025 17:55:39 +0000 (UTC)
From: palle@lyckegaard.dk
Reply-To: palle@lyckegaard.dk
To: gnats-bugs@NetBSD.org
Subject: Building on Solaris 11.4 host system broken since switch GCC 14 
X-Send-Pr-Version: www-1.0

>Number:         59706
>Category:       toolchain
>Synopsis:       Building on Solaris 11.4 host system broken since switch GCC 14
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    toolchain-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Oct 13 18:00:00 +0000 2025
>Last-Modified:  Sun Oct 19 18:50:01 +0000 2025
>Originator:     Palle Lyckegaard
>Release:        current as of 2025-10-13
>Organization:
NetBSD
>Environment:
SunOS s11-sparc.cfarm 5.11 11.4.85.201.2 sun4v sparc sun4v logical-domain

>Description:
GCC 14 introduced a new build faiure on Solaris 11.4 host systems.

Solaris nm command does not generate the same output as the gnu nm command.



>How-To-Repeat:
Do build.sh tools
>Fix:
Use the in-tree nm command:

diff --git a/share/mk/bsd.own.mk b/share/mk/bsd.own.mk
index 16dd90312638..5a2d5502b679 100644
--- a/share/mk/bsd.own.mk
+++ b/share/mk/bsd.own.mk
@@ -550,6 +550,7 @@ TOOL_MTREE=         ${TOOLDIR}/bin/${_TOOL_PREFIX}mtree
 TOOL_MVME68KWRTVID=    ${TOOLDIR}/bin/${_TOOL_PREFIX}mvme68k-wrtvid
 TOOL_NBPERF=           ${TOOLDIR}/bin/${_TOOL_PREFIX}perf
 TOOL_NCDCS=            ${TOOLDIR}/bin/${_TOOL_PREFIX}ibmnws-ncdcs
+TOOL_NM=               ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-nm
 TOOL_PAX=              ${TOOLDIR}/bin/${_TOOL_PREFIX}pax
 TOOL_PIC=              ${TOOLDIR}/bin/${_TOOL_PREFIX}pic
 TOOL_PIGZ=             ${TOOLDIR}/bin/${_TOOL_PREFIX}pigz
diff --git a/tools/gcc/Makefile b/tools/gcc/Makefile
index a03869ed4da2..744b8ad81a5a 100644
--- a/tools/gcc/Makefile
+++ b/tools/gcc/Makefile
@@ -93,7 +93,7 @@ GCC_CPPFLAGS+=        -DNB_FIX_VAX_BACKEND
 MAKE_ARGS=     MACHINE= MAKEINFO=${TOOL_MAKEINFO:Q} \
                LIBGCC= LIBGCC1= LIBGCC1_TEST= LIBGCC2= INSTALL_LIBGCC= \
                EXTRA_PARTS= CPPFLAGS=${GCC_CPPFLAGS:Q} \
-               AR=${HOST_AR:Q} RANLIB=${HOST_RANLIB:Q} NM=${HOST_NM:Q}
+               AR=${HOST_AR:Q} RANLIB=${HOST_RANLIB:Q} NM=${TOOL_NM:Q}

 CONFIGURE_ENV+= gcc_cv_libc_provides_ssp=yes \
                gcc_cv_as_sparc_gotdata_op=no

>Audit-Trail:
From: Palle Lyckegaard <palle@freeshell.org>
To: gnats-bugs@netbsd.org
Cc: palle@lyckegaard.dk
Subject: Re: toolchain/59706: Building on Solaris 11.4 host system broken
 since switch GCC 14 
Date: Fri, 17 Oct 2025 20:14:29 +0000 (UTC)

 On Mon, 13 Oct 2025, gnats-admin@netbsd.org wrote:

 >
 >> Category:       toolchain
 >> Responsible:    toolchain-manager
 >> Synopsis:       Building on Solaris 11.4 host system broken since switch GCC 14
 >> Arrival-Date:   Mon Oct 13 18:00:00 +0000 2025
 >
 >

 The proposed patch works corretly when building the sparc64 targe, but 
 has issues when building the sparc target.

 Will look into a solution that handles both sparc and sparc64 properly.


From: matthew green <mrg@eterna23.net>
To: gnats-bugs@netbsd.org
Cc: toolchain-manager@netbsd.org, gnats-admin@netbsd.org,
    netbsd-bugs@netbsd.org, palle@lyckegaard.dk
Subject: re: toolchain/59706: Building on Solaris 11.4 host system broken since switch GCC 14 
Date: Sat, 18 Oct 2025 09:20:55 +1100

 >  The proposed patch works corretly when building the sparc64 targe, but 
 >  has issues when building the sparc target.

 yeah, i didn't like that patch.  it's Wrong..

 >  Will look into a solution that handles both sparc and sparc64 properly.

 can you arrange for it to use the /usr/xpg4/bin/nm?  i thought
 we knew how to do that for some things...


 .mrg.

From: Palle Lyckegaard <palle@freeshell.org>
To: gnats-bugs@netbsd.org
Cc: toolchain-manager@netbsd.org, gnats-admin@netbsd.org,
        netbsd-bugs@netbsd.org, palle@lyckegaard.dk
Subject: re: toolchain/59706: Building on Solaris 11.4 host system broken
 since switch GCC 14 
Date: Sun, 19 Oct 2025 18:45:28 +0000 (UTC)

 On Fri, 17 Oct 2025, matthew green via gnats wrote:

 > can you arrange for it to use the /usr/xpg4/bin/nm?  i thought
 > we knew how to do that for some things...
 >

 It turns out that reverting the fix introduced in toolchain/58437 
 (addition of NM to MAKE_ARGS) fixes the new problem after gcc14 was 
 enabled.

 Now the correct version of nm (/usr/bin/xpg4/nm) is picked up properly.

 With the following patch at least sparc, sparc64, riscv32 and riscv64 
 builds fine on a Solaris 11.4 system.

 diff --git a/tools/gcc/Makefile b/tools/gcc/Makefile
 index a03869ed4da2..3d8c9b07571a 100644
 --- a/tools/gcc/Makefile
 +++ b/tools/gcc/Makefile
 @@ -93,7 +93,7 @@ GCC_CPPFLAGS+=        -DNB_FIX_VAX_BACKEND
   MAKE_ARGS=     MACHINE= MAKEINFO=${TOOL_MAKEINFO:Q} \
                  LIBGCC= LIBGCC1= LIBGCC1_TEST= LIBGCC2= INSTALL_LIBGCC= \
                  EXTRA_PARTS= CPPFLAGS=${GCC_CPPFLAGS:Q} \
 -               AR=${HOST_AR:Q} RANLIB=${HOST_RANLIB:Q} NM=${HOST_NM:Q}
 +               AR=${HOST_AR:Q} RANLIB=${HOST_RANLIB:Q}

   CONFIGURE_ENV+= gcc_cv_libc_provides_ssp=yes \
                  gcc_cv_as_sparc_gotdata_op=no

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.47 2022/09/11 19:34:41 kim Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2025 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.