NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

toolchain/58409: tools/mpfr fails to build on a Solaris 11.4 host system configured as a secondary logical domain - tools/gmp incorrectly configured



>Number:         58409
>Category:       toolchain
>Synopsis:       tools/mpfr fails to build on a Solaris 11.4 host system configured as a secondary logical domain - tools/gmp incorrectly configured
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    toolchain-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Jul 09 19:35:00 +0000 2024
>Originator:     Palle Lyckegaard
>Release:        current
>Organization:
NetBSD
>Environment:
SunOS s11-sparc.cfarm 5.11 11.4.70.170.1 sun4v sparc sun4v logical-domain
>Description:
Trying to build netbsd/sparc64 on a Solaris 11.4 host system with both primary and secondary logical domains.

The build of tools/mpfr fails due to incorrect build of tools/gmp:

...
checking for GMP_NUMB_BITS and sizeof(mp_limb_t) consistency... no
configure: error: GMP_NUMB_BITS and sizeof(mp_limb_t) are not consistent.
You probably need to change some of the GMP or MPFR compile options.
...
*** In directory: /home/palle/netbsd/git/src/tools/mpfr    
...


It turns out that the cpu setection code in external/lgpl3/gmp/dist/config.guess fails to detect the cpus as 'ultrasparc' (incorrectly returns 'sparc') when running in logical domains other than the primary one.


 

>How-To-Repeat:
Just issue a build.sh -m sparc64 on Solaris 11.4 host running as a secondary logical domain

>Fix:
This a patch for Solaris host system.

diff --git a/external/lgpl3/gmp/dist/config.guess b/external/lgpl3/gmp/dist/config.guess
index e69f197a487e..8d7ba2563e4f 100755
--- a/external/lgpl3/gmp/dist/config.guess
+++ b/external/lgpl3/gmp/dist/config.guess
@@ -699,6 +699,8 @@ sparc-*-* | sparc64-*-*)
          exact_cpu=ultrasparct2
        elif grep 'SUNW,UltraSPARC-T1' $dummy >/dev/null; then
          exact_cpu=ultrasparct1
+        elif grep 'SUNW,sun4v-cpu' $dummy >/dev/null; then
+          exact_cpu=ultrasparc
        elif grep 'SUNW,UltraSPARC-III' $dummy >/dev/null; then
          exact_cpu=ultrasparc3
        elif grep 'SUNW,UltraSPARC-IIi' $dummy >/dev/null; then


For other host systems similar fixes could be applied, but I haven't been able to verify this yet, so fix only for Solaris hosts for now.

I can commit the fix myself, but would like a review of the fix.



Home | Main Index | Thread Index | Old Index