Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 26 Jul 2023 00:00:21 GMT
From:      Mike Karels <karels@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: f1d5183124d3 - main - arm64 lib32: change clang to allow -m32 on arm64
Message-ID:  <202307260000.36Q00LMa087377@gitrepo.freebsd.org>

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

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

commit f1d5183124d3e18d410ded61e45adb9a23b23c83
Author:     Mike Karels <karels@FreeBSD.org>
AuthorDate: 2023-07-25 23:58:51 +0000
Commit:     Mike Karels <karels@FreeBSD.org>
CommitDate: 2023-07-25 23:58:51 +0000

    arm64 lib32: change clang to allow -m32 on arm64
    
    The FreeBSD driver support for clang tested explicitly for 32-bit
    Intel, MIPS, or PowerPC targets where /usr/lib32/libcrt1.o was
    present to decide whether -m32 should use /usr/lib32.  At jrtc27's
    suggestion, simply test for a 32-bit platform rather than adding
    arm to the list.  Upstreamed as
    https://github.com/llvm/llvm-project/commit/3450272fc281979388bb845a9fffb59b42cc2e7e
    Bump the freebsd version to force a bootstrap build.  This is one
    step in adding support for -m32 on arm64.
    
    Reviewed by:    jrtc27, brooks, dim
    Differential Revision:  https://reviews.freebsd.org/D40943
---
 contrib/llvm-project/clang/lib/Driver/ToolChains/FreeBSD.cpp | 3 +--
 lib/clang/freebsd_cc_version.h                               | 2 +-
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/contrib/llvm-project/clang/lib/Driver/ToolChains/FreeBSD.cpp b/contrib/llvm-project/clang/lib/Driver/ToolChains/FreeBSD.cpp
index 2230295ccd74..80d49c28f497 100644
--- a/contrib/llvm-project/clang/lib/Driver/ToolChains/FreeBSD.cpp
+++ b/contrib/llvm-project/clang/lib/Driver/ToolChains/FreeBSD.cpp
@@ -377,8 +377,7 @@ FreeBSD::FreeBSD(const Driver &D, const llvm::Triple &Triple,
 
   // When targeting 32-bit platforms, look for '/usr/lib32/crt1.o' and fall
   // back to '/usr/lib' if it doesn't exist.
-  if ((Triple.getArch() == llvm::Triple::x86 || Triple.isMIPS32() ||
-       Triple.isPPC32()) &&
+  if (Triple.isArch32Bit() &&
       D.getVFS().exists(concat(getDriver().SysRoot, "/usr/lib32/crt1.o")))
     getFilePaths().push_back(concat(getDriver().SysRoot, "/usr/lib32"));
   else
diff --git a/lib/clang/freebsd_cc_version.h b/lib/clang/freebsd_cc_version.h
index 82830fe2baee..e9737b10d337 100644
--- a/lib/clang/freebsd_cc_version.h
+++ b/lib/clang/freebsd_cc_version.h
@@ -1 +1 @@
-#define	FREEBSD_CC_VERSION		1400005
+#define	FREEBSD_CC_VERSION		1400006



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