mirror of https://github.com/torvalds/linux.git
The 64bit register constrains in __arch_hweight64() cannot be
fulfilled in a 32-bit build. The function is only declared but not used
within vclock_gettime.c and gcc does not care. LLVM complains and
aborts. Reportedly because it validates extended asm even if latter
would get compiled out, see
https://lore.kernel.org/r/Y%2BJ%2BUQ1vAKr6RHuH@dev-arch.thelio-3990X
i.e., a long standing design difference between gcc and LLVM.
Move the "fake a 32 bit kernel configuration" bits from vclock_gettime.c
into a common header file. Use this from vclock_gettime.c and vgetcpu.c.
[ bp: Add background info from Nathan. ]
Fixes:
|
||
|---|---|---|
| .. | ||
| .gitignore | ||
| fake_32bit_build.h | ||
| note.S | ||
| sigreturn.S | ||
| system_call.S | ||
| vclock_gettime.c | ||
| vdso32.lds.S | ||
| vgetcpu.c | ||