android_kernel_motorola_sm6375/scripts
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Nathan Chancellor 4ae191effb kbuild: Fix changing ELF file type for output of gen_btf for big endian
commit e3a9ee963ad8ba677ca925149812c5932b49af69 upstream.

Commit 90ceddcb4950 ("bpf: Support llvm-objcopy for vmlinux BTF")
changed the ELF type of .btf.vmlinux.bin.o to ET_REL via dd, which works
fine for little endian platforms:

   00000000  7f 45 4c 46 02 01 01 00  00 00 00 00 00 00 00 00  |.ELF............|
  -00000010  03 00 b7 00 01 00 00 00  00 00 00 80 00 80 ff ff  |................|
  +00000010  01 00 b7 00 01 00 00 00  00 00 00 80 00 80 ff ff  |................|

However, for big endian platforms, it changes the wrong byte, resulting
in an invalid ELF file type, which ld.lld rejects:

   00000000  7f 45 4c 46 02 02 01 00  00 00 00 00 00 00 00 00  |.ELF............|
  -00000010  00 03 00 16 00 00 00 01  00 00 00 00 00 10 00 00  |................|
  +00000010  01 03 00 16 00 00 00 01  00 00 00 00 00 10 00 00  |................|

  Type:                              <unknown>: 103

  ld.lld: error: .btf.vmlinux.bin.o: unknown file type

Fix this by updating the entire 16-bit e_type field rather than just a
single byte, so that everything works correctly for all platforms and
linkers.

   00000000  7f 45 4c 46 02 02 01 00  00 00 00 00 00 00 00 00  |.ELF............|
  -00000010  00 03 00 16 00 00 00 01  00 00 00 00 00 10 00 00  |................|
  +00000010  00 01 00 16 00 00 00 01  00 00 00 00 00 10 00 00  |................|

  Type:                              REL (Relocatable file)

While in the area, update the comment to mention that binutils 2.35+
matches LLD's behavior of rejecting an ET_EXEC input, which occurred
after the comment was added.

Cc: stable@vger.kernel.org
Fixes: 90ceddcb4950 ("bpf: Support llvm-objcopy for vmlinux BTF")
Link: https://github.com/llvm/llvm-project/pull/75643
Suggested-by: Masahiro Yamada <masahiroy@kernel.org>
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Reviewed-by: Fangrui Song <maskray@google.com>
Reviewed-by: Nicolas Schier <nicolas@fjasle.eu>
Reviewed-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Justin Stitt <justinstitt@google.com>
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
[nathan: Fix silent conflict due to lack of 7d153696e5db in older trees]
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-02-23 08:25:10 +01:00
..
atomic
basic
coccinelle
dtc scripts/dtc: dtx_diff: remove broken example from help text 2022-01-27 09:19:55 +01:00
gcc-plugins randstruct: Fix gcc-plugin performance mode to stay in group 2023-11-28 16:50:17 +00:00
gdb scripts/gdb: fix lx-timerlist for Python3 2023-05-17 11:35:55 +02:00
genksyms
kconfig kconfig: fix memory leak from range properties 2023-12-13 18:18:10 +01: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
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
decodecode
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
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
gcc-x86_64-has-stack-protector.sh
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
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
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 Makefile.extrawarn: Move -Wcast-function-type-strict to W=1 2022-10-07 09:16:57 +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
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
objdiff
parse-maintainers.pl
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