Date: Sun, 01 Nov 2020 12:04:09 +0000 From: bugzilla-noreply@freebsd.org To: bugs@FreeBSD.org Subject: [Bug 250755] 12.2-RELEASE i386 GENERIC kernel fails to load Message-ID: <bug-250755-227-kbDiXb2PMA@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-250755-227@https.bugs.freebsd.org/bugzilla/> References: <bug-250755-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=3D250755 Dimitry Andric <dim@FreeBSD.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |arichardson@FreeBSD.org --- Comment #4 from Dimitry Andric <dim@FreeBSD.org> --- The bump to i686 was originally committed to head in base r353936, after ba= se r352030 bumped it to i586 at first. On 2020-01-07, so already 11 months ago, this was all merged back to stable/12 in base r356460, as part of the clang 9.0.0 merge. Similarly, on 2020-05-05 for stable/11, in base r360658. In any case, I have tried buiding stable/12 world with base r353936 and base r352030 reverted, so effectively going back to i486 as default: Index: contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/X86.cpp =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/X86.cpp=20=20=20= =20=20=20 (revision 367228) +++ contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/X86.cpp=20=20=20= =20=20=20 (working copy) @@ -94,7 +94,7 @@ switch (Triple.getOS()) { case llvm::Triple::FreeBSD: - return "i686"; + //return "i686"; FALLTHROUGH case llvm::Triple::NetBSD: case llvm::Triple::OpenBSD: return "i486"; However, this leads to a -Werror problem again: --- atomic.o --- /usr/src/contrib/llvm-project/compiler-rt/lib/builtins/atomic.c:178:3: erro= r: large atomic operation may incur significant performance penalty [-Werror,-Watomic-alignment] LOCK_FREE_CASES(); ^ /usr/src/contrib/llvm-project/compiler-rt/lib/builtins/atomic.c:160:9: note: expanded from macro 'LOCK_FREE_CASES' LOCK_FREE_ACTION(uint64_t);=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20 \ ^ /usr/src/contrib/llvm-project/compiler-rt/lib/builtins/atomic.c:176:21: not= e: expanded from macro 'LOCK_FREE_ACTION' *((type *)dest) =3D __c11_atomic_load((_Atomic(type) *)src, model);=20=20= =20=20=20=20=20=20=20=20=20 \ ^ 1 error generated. *** [atomic.o] Error code 1 Originally we have -Wno-atomic-alignment in libcompiler_rt's Makefile, but = we removed it base r364782, because: > After base r364753, there should be no need to suppress -Watomic-alignment > warnings anymore for compiler-rt's atomic.c. This occurred because the > IS_LOCK_FREE_8 macro was not correctly defined to 0 for mips, and this > caused the compiler to emit a runtime call to __atomic_is_lock_free(), > and that triggers the warning. However, the changes in base r364753 are not enough for this particular warning. Alex, you also worked on these warnings upstream, right? I think = we could probably add __i386__ to the following line in contrib/llvm-project/compiler-rt/lib/builtins/atomic.c to work around it (optionally with a check if the target CPU is really < i586): /// 32 bit MIPS and PowerPC don't support 8-byte lock_free atomics #if defined(__mips__) || (!defined(__powerpc64__) && defined(__powerpc__)) --=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-250755-227-kbDiXb2PMA>