WSL2-Linux-Kernel/scripts
Josh Poimboeuf 8852c55240 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: b9ab5ebb14 ("objtool: Add CONFIG_STACK_VALIDATION option")
Fixes: ab3257042c ("jump_label, x86: Allow short NOPs")
Reported-by: Matthew Wilcox <willy@infradead.org>
Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
2021-05-19 15:07:20 -05:00
..
atomic
basic .gitignore: prefix local generated files with a slash 2021-05-02 00:43:35 +09:00
clang-tools
coccinelle
dtc .gitignore: prefix local generated files with a slash 2021-05-02 00:43:35 +09:00
dummy-tools kbuild: check the minimum assembler version in Kconfig 2021-04-25 05:14:41 +09:00
gcc-plugins .gitignore: prefix local generated files with a slash 2021-05-02 00:43:35 +09:00
gdb scripts/gdb: add lx_current support for arm64 2021-05-07 00:26:33 -07:00
genksyms .gitignore: prefix local generated files with a slash 2021-05-02 00:43:35 +09:00
kconfig Kconfig updates for v5.13 2021-04-29 14:32:00 -07:00
ksymoops
mod .gitignore: prefix local generated files with a slash 2021-05-02 00:43:35 +09:00
package
selinux
tracing
.gitignore .gitignore: prefix local generated files with a slash 2021-05-02 00:43:35 +09:00
Kbuild.include kbuild: split cc-option and friends to scripts/Makefile.compiler 2021-04-25 05:09:32 +09:00
Kconfig.include kbuild: check the minimum assembler version in Kconfig 2021-04-25 05:14:41 +09:00
Lindent
Makefile Fix CVE-2020-26541 2021-04-26 08:38:10 -07:00
Makefile.asm-generic
Makefile.build kbuild: Fix objtool dependency for 'OBJECT_FILES_NON_STANDARD_<obj> := n' 2021-05-19 15:07:20 -05:00
Makefile.clean
Makefile.compiler kbuild: remove TMPO from try-run 2021-04-25 05:25:56 +09:00
Makefile.dtbinst
Makefile.extrawarn
Makefile.gcc-plugins
Makefile.headersinst
Makefile.host
Makefile.kasan kasan: remove redundant config option 2021-04-16 16:10:36 -07:00
Makefile.kcov
Makefile.kcsan
Makefile.lib kbuild: refactor modname-multi by using suffix-search 2021-05-06 02:14:38 +09:00
Makefile.modfinal add support for Clang CFI 2021-04-08 16:04:20 -07:00
Makefile.modinst kbuild: add support for zstd compressed modules 2021-04-25 05:25:06 +09:00
Makefile.modpost kbuild: fix false-positive modpost warning when all symbols are trimmed 2021-04-25 05:17:53 +09:00
Makefile.package kbuild: deb-pkg: change the source package name to linux-upstream 2021-04-25 05:30:45 +09:00
Makefile.ubsan
Makefile.userprogs
adjust_autoksyms.sh
as-version.sh kbuild: check the minimum assembler version in Kconfig 2021-04-25 05:14:41 +09:00
asn1_compiler.c
bin2c.c
bloat-o-meter
bootgraph.pl
bpf_doc.py
cc-can-link.sh
cc-version.sh kbuild: collect minimum tool versions into scripts/min-tool-version.sh 2021-04-25 05:14:26 +09:00
check-sysctl-docs
check_extable.sh
checkdeclares.pl scripts: a new script for checking duplicate struct declaration 2021-04-30 11:20:35 -07:00
checkincludes.pl
checkkconfigsymbols.py
checkpatch.pl checkpatch: improve ALLOC_ARRAY_ARGS test 2021-05-06 19:24:13 -07:00
checkstack.pl
checksyscalls.sh
checkversion.pl
cleanfile
cleanpatch
coccicheck
config
const_structs.checkpatch
decode_stacktrace.sh
decodecode
depmod.sh
dev-needs.sh
diffconfig
documentation-file-ref-check
export_report.pl
extract-cert.c
extract-ikconfig
extract-module-sig.pl
extract-sys-certs.pl
extract-vmlinux
extract_xc3028.pl
faddr2line
file-size.sh
find-unused-docs.sh
gcc-goto.sh
gcc-ld
gcc-x86_32-has-stack-protector.sh
gcc-x86_64-has-stack-protector.sh
gen_autoksyms.sh
gen_ksymdeps.sh
generate_initcall_order.pl
get_abi.pl
get_dvb_firmware
get_feat.pl
get_maintainer.pl
gfp-translate
headerdep.pl
headers_check.pl
headers_install.sh
insert-sys-cert.c
jobserver-exec
kallsyms.c
kernel-doc kernel-doc: Add support for __deprecated 2021-04-27 09:59:04 -06:00
ld-version.sh kbuild: collect minimum tool versions into scripts/min-tool-version.sh 2021-04-25 05:14:26 +09:00
leaking_addresses.pl
link-vmlinux.sh kbuild: Don't remove link-vmlinux temporary files on exit/signal 2021-05-06 02:16:41 +09:00
makelst
markup_oops.pl
min-tool-version.sh kbuild: collect minimum tool versions into scripts/min-tool-version.sh 2021-04-25 05:14:26 +09:00
mkcompile_h
mkmakefile
mksysmap
mkuboot.sh
module.lds.S module: ensure __cfi_check alignment 2021-04-08 16:04:21 -07:00
modules-check.sh kbuild: check module name conflict for external modules as well 2021-04-25 05:22:42 +09:00
nsdeps kbuild: replace LANG=C with LC_ALL=C 2021-05-02 00:43:35 +09:00
objdiff
parse-maintainers.pl
patch-kernel
profile2linkerlist.pl
prune-kernel
recordmcount.c
recordmcount.h
recordmcount.pl Kbuild updates for v5.13 (2nd) 2021-05-08 10:00:11 -07:00
remove-stale-files kbuild: add a script to remove stale generated files 2021-05-02 00:43:35 +09:00
setlocalversion kbuild: replace LANG=C with LC_ALL=C 2021-05-02 00:43:35 +09:00
show_delta
sign-file.c
sorttable.c
sorttable.h
spdxcheck-test.sh
spdxcheck.py
spelling.txt scripts/spelling.txt: add "overflw" 2021-05-07 00:26:34 -07:00
sphinx-pre-install docs: sphinx-pre-install: don't barf on beta Sphinx releases 2021-04-15 16:01:50 -06:00
split-man.pl
stackdelta
stackusage
subarch.include
syscallhdr.sh
syscalltbl.sh
tags.sh kbuild: replace LANG=C with LC_ALL=C 2021-05-02 00:43:35 +09:00
tools-support-relr.sh
unifdef.c
ver_linux Removed the oprofiled version option 2021-05-03 17:23:06 -06:00
xen-hypercalls.sh
xz_wrap.sh