From owner-svn-src-projects@freebsd.org Sun Sep 8 10:31:36 2019 Return-Path: Delivered-To: svn-src-projects@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 19F04EF22E for ; Sun, 8 Sep 2019 10:31:36 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 46R6zC5xxdz3FyP; Sun, 8 Sep 2019 10:31:35 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 870EE1CA24; Sun, 8 Sep 2019 10:31:35 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x88AVZbp076796; Sun, 8 Sep 2019 10:31:35 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x88AVZUO076795; Sun, 8 Sep 2019 10:31:35 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201909081031.x88AVZUO076795@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sun, 8 Sep 2019 10:31:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r352030 - projects/clang900-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/Arch X-SVN-Group: projects X-SVN-Commit-Author: dim X-SVN-Commit-Paths: projects/clang900-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/Arch X-SVN-Commit-Revision: 352030 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Sep 2019 10:31:36 -0000 Author: dim Date: Sun Sep 8 10:31:34 2019 New Revision: 352030 URL: https://svnweb.freebsd.org/changeset/base/352030 Log: Target i586 by default on the i386 architecture, since after upstream's change https://reviews.llvm.org/rL356631 ("[X86] Add CMPXCHG8B feature flag. Set it for all CPUs except i386/i486 including 'generic'. Disable use of CMPXCHG8B when this flag isn't set"), clang now correctly emits calls to __atomic_load_8, __atomic_store_8, etc. when targeting i486, and this means we can no longer link most modern programs, because we do not have a libatomic, nor support for atomic functions in libc. See also PR 230888, 220822, 233725, 234976, and more probably duplicates. Note that in practice, clang has been incorrectly generating cmpxchg8b instructions for years now, when targeting i486. So de facto nothing really changes by doing this. Modified: projects/clang900-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/Arch/X86.cpp Modified: projects/clang900-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/Arch/X86.cpp ============================================================================== --- projects/clang900-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/Arch/X86.cpp Sun Sep 8 10:00:21 2019 (r352029) +++ projects/clang900-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/Arch/X86.cpp Sun Sep 8 10:31:34 2019 (r352030) @@ -93,10 +93,10 @@ const char *x86::getX86TargetCPU(const ArgList &Args, return "x86-64"; switch (Triple.getOS()) { - case llvm::Triple::FreeBSD: case llvm::Triple::NetBSD: case llvm::Triple::OpenBSD: - return "i486"; + return "i486"; + case llvm::Triple::FreeBSD: case llvm::Triple::Haiku: return "i586"; default: