x86/entry: Build thunk_$(BITS) only if CONFIG_PREEMPTION=y
authorAndrea Righi <andrea.righi@canonical.com>
Thu, 14 Jul 2022 07:49:15 +0000 (09:49 +0200)
committerIngo Molnar <mingo@kernel.org>
Thu, 4 Aug 2022 10:23:50 +0000 (12:23 +0200)
commitde979c83574abf6e78f3fa65b716515c91b2613d
treec4ec84ab81c6550691e091fd4b414a618381b436
parent625395c4a0f4775e0fe00f616888d2e6c1ba49db
x86/entry: Build thunk_$(BITS) only if CONFIG_PREEMPTION=y

With CONFIG_PREEMPTION disabled, arch/x86/entry/thunk_$(BITS).o becomes
an empty object file.

With some old versions of binutils (i.e., 2.35.90.20210113-1ubuntu1) the
GNU assembler doesn't generate a symbol table for empty object files and
objtool fails with the following error when a valid symbol table cannot
be found:

  arch/x86/entry/thunk_64.o: warning: objtool: missing symbol table

To prevent this from happening, build thunk_$(BITS).o only if
CONFIG_PREEMPTION is enabled.

BugLink: https://bugs.launchpad.net/bugs/1911359
Fixes: 320100a5ffe5 ("x86/entry: Remove the TRACE_IRQS cruft")
Signed-off-by: Andrea Righi <andrea.righi@canonical.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Link: https://lore.kernel.org/r/Ys/Ke7EWjcX+ZlXO@arighi-desktop
arch/x86/entry/Makefile
arch/x86/entry/thunk_32.S
arch/x86/entry/thunk_64.S
arch/x86/um/Makefile