Messages in this thread | | | Date | Mon, 14 Sep 2015 09:35:04 +0200 | Subject | Re: [llvmlinux] percpu | bitmap issue? (Cannot boot on bare metal due to a kernel NULL pointer dereference) | From | Sedat Dilek <> |
| |
On Mon, Sep 14, 2015 at 9:12 AM, Peter Zijlstra <peterz@infradead.org> wrote: > On Sun, Sep 13, 2015 at 04:33:39AM +0200, Sedat Dilek wrote: >> > It looks like an inline-optimization bug in CLANG when the compiler's >> > optimization-level is higher than -O2. > >> > [1] http://lists.linuxfoundation.org/pipermail/llvmlinux/2015-September/001355.html >> >> After some discussion on #llvm it turned out to be a known issue in LLVMLinux! >> >> Unfortunately, an existing patch [1] got archived which is still >> required to build x86_64 correctly. > >> [1] http://git.linuxfoundation.org/?p=llvmlinux.git;a=blob_plain;f=arch/x86_64/patches/ARCHIVE/0029-Fix-ARCH_HWEIGHT-for-compilation-with-clang.patch;hb=HEAD > > As long as LLVM cannot do things like that and requires full function > calls I cannot see it being a sensible compiler to use from a > performance POV. > > There's a fairly large difference between an inline POPCNT instruction > and a full out-of-line function call. > > /me goes back to ignoring LLVM for the time being.
[ CC llvmlinux ML ]
Hi Peter,
Clear words and a clear statement! ( Men want clear statements see [1]. )
The issue was reported as LLVM PR #9457 [1] and the bug-history [2] says...
Reported: 2011-03-11 07:27 CST by PaX Team
...so it is a known and old issue.
Cannot say if "ignoring" is really helpful or not :-). Sanjoy Das (a LLVM/Clang developer) joined the vital discussion in the thread (see [3])...
"[llvmlinux] [PATCH] x86/hweight: LLVMLinux: Fix __arch_hweight{32, 64}() for compilation with clang"
Beyond "fixing" or implementing missing (GCC) features on the LLVM-Clang-side... People there have some discussion and ideas on a "workaround" or fix it on the Linux-kernel-side.
Ignoring does not help - ignorance is a hard (hardest?) punishment for men.
I invite you to join the discussion at LLVMLinux... As I know... "YES, you can." Linux x86/x86_64 (assembler) Kung-Fu. ( I admit I have not these skillz. )
Regards, - Sedat -
[1] https://llvm.org/bugs/show_bug.cgi?id=9457 [2] https://llvm.org/bugs/show_activity.cgi?id=9457 [3] [1] http://lists.linuxfoundation.org/pipermail/llvmlinux/2015-September/001369.html
| |