Skip to content
  • Josh Poimboeuf's avatar
    kbuild: Fix objtool dependency for 'OBJECT_FILES_NON_STANDARD_<obj> := n' · 8852c552
    Josh Poimboeuf authored
    "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: b9ab5ebb ("objtool: Add CONFIG_STACK_VALIDATION option")
    Fixes: ab325704
    
     ("jump_label, x86: Allow short NOPs")
    Reported-by: default avatarMatthew Wilcox <willy@infradead.org>
    Signed-off-by: default avatarJosh Poimboeuf <jpoimboe@redhat.com>
    8852c552