Date: Sun, 21 Jul 2024 20:42:27 +0000 From: bugzilla-noreply@freebsd.org To: bugs@FreeBSD.org Subject: [Bug 276961] buildworld artifacts not reproducible between native and cross build Message-ID: <bug-276961-227-MuK6WswfLL@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-276961-227@https.bugs.freebsd.org/bugzilla/> References: <bug-276961-227@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D276961 --- Comment #4 from commit-hook@FreeBSD.org --- A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=3D397c2693fa66508cb5e6b173650a1f3bc= 6c4dd4f commit 397c2693fa66508cb5e6b173650a1f3bc6c4dd4f Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-07-21 20:37:27 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-07-21 20:37:27 +0000 Fix llvm register allocator for native/cross build differences Work around an issue in LLVM's register allocator, which can cause slightly different i386 object files, when produced by a native or cross build of clang. This adds another volatile qualifier to a float variable declaration in the weightCalcHelper() function, which otherwise produces slightly different float results on amd64 and i386 hosts. In turn, this can lead to different (but equivalent) register choices, and thus non-identical assembly code. See https://github.com/llvm/llvm-project/issues/99396 for more details. Note this is a temporary fix, meant to merge in time for 13.4. As soon as upstream has a permanent solution we will import that. PR: 276961 Reported by: cperciva MFC after: 3 days contrib/llvm-project/llvm/lib/CodeGen/CalcSpillWeights.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-276961-227-MuK6WswfLL>