Nathan Chancellor
53174ce02d
kbuild: Fix '-S -c' in x86 stack protector scripts
...
commit 3415b10a03945b0da4a635e146750dfe5ce0f448 upstream.
After a recent change in clang to stop consuming all instances of '-S'
and '-c' [1], the stack protector scripts break due to the kernel's use
of -Werror=unused-command-line-argument to catch cases where flags are
not being properly consumed by the compiler driver:
$ echo | clang -o - -x c - -S -c -Werror=unused-command-line-argument
clang: error: argument unused during compilation: '-c' [-Werror,-Wunused-command-line-argument]
This results in CONFIG_STACKPROTECTOR getting disabled because
CONFIG_CC_HAS_SANE_STACKPROTECTOR is no longer set.
'-c' and '-S' both instruct the compiler to stop at different stages of
the pipeline ('-S' after compiling, '-c' after assembling), so having
them present together in the same command makes little sense. In this
case, the test wants to stop before assembling because it is looking at
the textual assembly output of the compiler for either '%fs' or '%gs',
so remove '-c' from the list of arguments to resolve the error.
All versions of GCC continue to work after this change, along with
versions of clang that do or do not contain the change mentioned above.
Cc: stable@vger.kernel.org
Fixes: 4f7fd4d7a7 ("[PATCH] Add the -fstack-protector option to the CFLAGS")
Fixes: 60a5317ff0 ("x86: implement x86_32 stack protector")
Link: 6461e53781 [1]
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
[nathan: Fixed conflict in 32-bit version due to lack of 3fb0fdb3bbe7]
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-08-19 05:33:53 +02:00
..
atomic
basic
coccinelle
scripts: add dummy report mode to add_namespace.cocci
2020-08-11 15:33:35 +02:00
dtc
scripts/dtc: dtx_diff: remove broken example from help text
2022-01-27 09:19:55 +01:00
gcc-plugins
gcc-plugins: Rename last_stmt() for GCC 14+
2024-07-27 10:38:28 +02:00
gdb
scripts/gdb: fix lx-timerlist for Python3
2023-05-17 11:35:55 +02:00
genksyms
kconfig
kconfig: remove wrong expr_trans_bool()
2024-07-27 10:38:29 +02:00
ksymoops
mod
modpost: fix tee MODULE_DEVICE_TABLE built on big-endian host
2023-11-20 10:30:14 +01:00
package
kbuild: fix broken builds because of GZIP,BZIP2,LZOP variables
2020-09-03 11:27:10 +02:00
selinux
selinux: use "grep -E" instead of "egrep"
2022-10-26 13:22:21 +02:00
tracing
ftrace/scripts: Update the instructions for ftrace-bisect.sh
2023-02-06 07:52:44 +01:00
.gitignore
adjust_autoksyms.sh
asn1_compiler.c
ASN.1: Fix check for strdup() success
2023-04-26 11:24:06 +02:00
bin2c.c
bloat-o-meter
scripts: switch explicitly to Python 3
2021-05-22 11:38:30 +02:00
bootgraph.pl
bpf_helpers_doc.py
scripts/bpf: Fix xdp_md forward declaration typo
2024-03-01 13:13:38 +01:00
cc-can-link.sh
check_extable.sh
checkincludes.pl
checkkconfigsymbols.py
checkpatch.pl
checkpatch: fix unescaped left brace
2020-12-30 11:51:27 +01:00
checkstack.pl
checksyscalls.sh
checkversion.pl
clang-version.sh
cleanfile
cleanpatch
coccicheck
config
tweewide: Fix most Shebang lines
2021-05-22 11:38:30 +02:00
conmakehash.c
const_structs.checkpatch
decode_stacktrace.sh
scripts/decode_stacktrace: strip basepath from all paths
2020-07-29 10:18:35 +02:00
decodecode
scripts/decodecode: fix trapping instruction formatting
2020-05-14 07:58:29 +02:00
depmod.sh
depmod: handle the case of /sbin/depmod without /sbin in PATH
2021-01-12 20:16:10 +01:00
diffconfig
scripts: switch explicitly to Python 3
2021-05-22 11:38:30 +02:00
documentation-file-ref-check
export_report.pl
modpost: move the namespace field in Module.symvers last
2020-03-25 08:25:55 +01:00
extract-cert.c
cert host tools: Stop complaining about deprecated OpenSSL functions
2022-11-25 17:42:10 +01:00
extract-ikconfig
extract-module-sig.pl
extract-sys-certs.pl
extract-vmlinux
extract_xc3028.pl
faddr2line
scripts/faddr2line: Fix regression in name resolution on ppc64le
2022-12-08 11:23:02 +01:00
file-size.sh
find-unused-docs.sh
gcc-goto.sh
gcc-ld
gcc-plugin.sh
gcc-version.sh
gcc-x86_32-has-stack-protector.sh
kbuild: Fix '-S -c' in x86 stack protector scripts
2024-08-19 05:33:53 +02:00
gcc-x86_64-has-stack-protector.sh
kbuild: Fix '-S -c' in x86 stack protector scripts
2024-08-19 05:33:53 +02:00
gen_compile_commands.py
gen_ksymdeps.sh
kbuild: Fix 'no symbols' warning when CONFIG_TRIM_UNUSD_KSYMS=y
2021-09-22 12:26:26 +02:00
get_abi.pl
tweewide: Fix most Shebang lines
2021-05-22 11:38:30 +02:00
get_dvb_firmware
get_maintainer.pl
gfp-translate
headerdep.pl
headers_check.pl
headers_install.sh
scripts: headers_install: Exit with error on config leak
2020-06-24 17:50:33 +02:00
insert-sys-cert.c
kallsyms.c
Kbuild.include
kbuild: remove the target in signal traps when interrupted
2022-10-26 13:22:46 +02:00
Kconfig.include
kconfig: introduce m32-flag and m64-flag
2020-04-08 09:08:37 +02:00
kernel-doc
ld-version.sh
leaking_addresses.pl
leaking_addresses: Always print a trailing newline
2021-11-17 09:48:31 +01:00
Lindent
link-vmlinux.sh
kbuild: Fix changing ELF file type for output of gen_btf for big endian
2024-02-23 08:25:10 +01:00
Makefile
scripts: set proper OpenSSL include dir also for sign-file
2021-02-26 10:10:27 +01:00
Makefile.asm-generic
Makefile.build
kbuild: Fix objtool dependency for 'OBJECT_FILES_NON_STANDARD_<obj> := n'
2021-07-14 16:53:20 +02:00
Makefile.clean
Makefile.dtbinst
Makefile.extrawarn
kbuild: Move -Wenum-{compare-conditional,enum-conversion} into W=1
2024-04-13 12:51:26 +02:00
Makefile.gcc-plugins
gcc-plugins: Undefine LATENT_ENTROPY_PLUGIN when plugin disabled for a file
2022-08-25 11:18:31 +02:00
Makefile.headersinst
kbuild: move headers_check rule to usr/include/Makefile
2020-03-05 16:43:47 +01:00
Makefile.host
Makefile.kasan
Makefile.kcov
Makefile.lib
kbuild: fix broken builds because of GZIP,BZIP2,LZOP variables
2020-09-03 11:27:10 +02:00
Makefile.modbuiltin
Makefile.modfinal
Makefile.modinst
Makefile.modpost
kbuild: Fix include path in scripts/Makefile.modpost
2022-09-05 10:27:45 +02:00
Makefile.modsign
Makefile.package
kbuild: fix broken builds because of GZIP,BZIP2,LZOP variables
2020-09-03 11:27:10 +02:00
Makefile.ubsan
makelst
markup_oops.pl
mkcompile_h
kbuild: mkcompile_h: consider timestamp if KBUILD_BUILD_TIMESTAMP is set
2021-07-25 14:35:12 +02:00
mkmakefile
mksysmap
mksysmap: Fix the mismatch of 'L0' symbols in System.map
2022-09-28 11:03:59 +02:00
mkuboot.sh
module-common.lds
modules-check.sh
namespace.pl
nsdeps
scripts: add dummy report mode to add_namespace.cocci
2020-08-11 15:33:35 +02:00
objdiff
parse-maintainers.pl
parse-maintainers: Mark as executable
2020-03-25 08:25:49 +01:00
patch-kernel
pnmtologo.c
profile2linkerlist.pl
prune-kernel
recordmcount.c
recordmcount: Fix memory leaks in the uwrite function
2023-05-30 12:44:04 +01:00
recordmcount.h
recordmcount: Correct st_shndx handling
2021-06-30 08:47:49 -04:00
recordmcount.pl
recordmcount.pl: fix typo in s390 mcount regex
2022-01-05 12:37:44 +01:00
setlocalversion
scripts/setlocalversion: make git describe output more reliable
2020-11-01 12:01:01 +01:00
show_delta
tweewide: Fix most Shebang lines
2021-05-22 11:38:30 +02:00
sign-file.c
sign-file: Fix incorrect return values check
2023-12-20 15:41:17 +01:00
sortextable.c
sortextable.h
spdxcheck-test.sh
spdxcheck.py
spelling.txt
sphinx-pre-install
tweewide: Fix most Shebang lines
2021-05-22 11:38:30 +02:00
split-man.pl
tweewide: Fix most Shebang lines
2021-05-22 11:38:30 +02:00
stackdelta
stackusage
subarch.include
tags.sh
scripts/tags.sh: Resolve gtags empty index generation
2023-07-27 08:37:03 +02:00
tools-support-relr.sh
Makefile: fix GDB warning with CONFIG_RELR
2021-07-14 16:53:12 +02:00
unifdef.c
ver_linux
xen-hypercalls.sh
xz_wrap.sh
kbuild: add variables for compression tools
2020-09-03 11:27:10 +02:00