Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 7 Sep 2025 16:08:04 GMT
From:      Mark Johnston <markj@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: 4341f92251ae - main - share/mk: Fix a heuristic in bsd.cpu.mk
Message-ID:  <202509071608.587G84tM004323@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by markj:

URL: https://cgit.FreeBSD.org/src/commit/?id=4341f92251ae00c3f82904623bfd561bb8ea49fb

commit 4341f92251ae00c3f82904623bfd561bb8ea49fb
Author:     Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2025-09-07 16:07:32 +0000
Commit:     Mark Johnston <markj@FreeBSD.org>
CommitDate: 2025-09-07 16:07:46 +0000

    share/mk: Fix a heuristic in bsd.cpu.mk
    
    When cross-building from MacOS we have MACHINE=arm64 MACHINE_ARCH=arm,
    so bsd.cpu.mk infers that sizeof(long) == 4, but of course it isn't.
    This breaks the bootstrap build of openssl, which tests
    MACHINE_ABI:Mlong64 to decide whether to build ecp_nistp224.c.  It
    doesn't, and crypto/openssl/freebsd/include/openssl/configuration.h
    undefines OPENSSL_NO_EC_NISTP_64_GCC_128, so we end up with a link
    error.
    
    Reviewed by:    ngie, emaste
    MFC after:      2 weeks
    Differential Revision:  https://reviews.freebsd.org/D52340
---
 share/mk/bsd.cpu.mk | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/share/mk/bsd.cpu.mk b/share/mk/bsd.cpu.mk
index f6599a0ad802..1225d690e908 100644
--- a/share/mk/bsd.cpu.mk
+++ b/share/mk/bsd.cpu.mk
@@ -391,8 +391,11 @@ MACHINE_ABI+=	soft-float
 .else
 MACHINE_ABI+=	hard-float
 .endif
-# Currently all 64-bit architectures include 64 in their name (see arch(7)).
-.if ${MACHINE_ARCH:M*64*}
+# Currently all 64-bit FreeBSD architectures include 64 in their name
+# (see arch(7)).  We need a special case for cross-building from macOS
+# (which uses arm64/arm).
+.if ${MACHINE_ARCH:M*64*} || \
+    (defined(BOOTSTRAPPING) && ${.MAKE.OS} == "Darwin" && ${MACHINE} == "arm64")
 MACHINE_ABI+=  long64
 .else
 MACHINE_ABI+=  long32



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202509071608.587G84tM004323>