summaryrefslogtreecommitdiff
path: root/include/linux/compiler.h
diff options
context:
space:
mode:
authorJosh Poimboeuf <jpoimboe@redhat.com>2021-05-18 18:59:15 -0500
committerJosh Poimboeuf <jpoimboe@redhat.com>2021-05-19 15:07:20 -0500
commit8852c552402979508fdc395ae07aa8761aa46045 (patch)
treec39b34036a4a25810ecc8dd6b8dbae28231c866c /include/linux/compiler.h
parent48001d26c19f02c33795829ec9fc71a0d8d42413 (diff)
kbuild: Fix objtool dependency for 'OBJECT_FILES_NON_STANDARD_<obj> := n'
"OBJECT_FILES_NON_STANDARD_vma.o := n" has a dependency bug. When objtool source is updated, the affected object doesn't get re-analyzed by objtool. Peter's new variable-sized jump label feature relies on objtool rewriting the object file. Otherwise the system can fail to boot. That effectively upgrades this minor dependency issue to a major bug. The problem is that variables in prerequisites are expanded early, during the read-in phase. The '$(objtool_dep)' variable indirectly uses '$@', which isn't yet available when the target prerequisites are evaluated. Use '.SECONDEXPANSION:' which causes '$(objtool_dep)' to be expanded in a later phase, after the target-specific '$@' variable has been defined. Fixes: b9ab5ebb14ec ("objtool: Add CONFIG_STACK_VALIDATION option") Fixes: ab3257042c26 ("jump_label, x86: Allow short NOPs") Reported-by: Matthew Wilcox <willy@infradead.org> Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
Diffstat (limited to 'include/linux/compiler.h')
0 files changed, 0 insertions, 0 deletions