linux_dsm_epyc7002/scripts
Chen Jun e88c1b25f2 ftrace: Have recordmcount use w8 to read relp->r_info in arm64_is_fake_mcount
[ Upstream commit 999340d51174ce4141dd723105d4cef872b13ee9 ]

On little endian system, Use aarch64_be(gcc v7.3) downloaded from
linaro.org to build image with CONFIG_CPU_BIG_ENDIAN = y,
CONFIG_FTRACE = y, CONFIG_DYNAMIC_FTRACE = y.

gcc will create symbols of _mcount but recordmcount can not create
mcount_loc for *.o.
aarch64_be-linux-gnu-objdump -r fs/namei.o | grep mcount
00000000000000d0 R_AARCH64_CALL26  _mcount
...
0000000000007190 R_AARCH64_CALL26  _mcount

The reason is than funciton arm64_is_fake_mcount can not work correctly.
A symbol of _mcount in *.o compiled with big endian compiler likes:
00 00 00 2d 00 00 01 1b
w(rp->r_info) will return 0x2d instead of 0x011b. Because w() takes
uint32_t as parameter, which truncates rp->r_info.

Use w8() instead w() to read relp->r_info

Link: https://lkml.kernel.org/r/20210222135840.56250-1-chenjun102@huawei.com

Fixes: ea0eada456 ("recordmcount: only record relocation of type R_AARCH64_CALL26 on arm64.")
Acked-by: Will Deacon <will@kernel.org>
Signed-off-by: Chen Jun <chenjun102@huawei.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-03-09 11:11:14 +01:00
..
atomic Merge branch 'kcsan' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into locking/core 2020-10-09 08:56:02 +02:00
basic
clang-tools
coccinelle Merge branch 'for-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/jlawall/linux 2020-10-18 14:20:35 -07:00
dtc scripts/dtc: Update to upstream version v1.6.0-31-gcbca977ea121 2020-10-12 09:58:15 -05:00
dummy-tools
gcc-plugins
gdb scripts/gdb/tasks: add headers and improve spacing format 2020-10-16 11:11:22 -07:00
genksyms
kconfig Revert "kconfig: remove 'kvmconfig' and 'xenconfig' shorthands" 2021-01-23 16:03:57 +01:00
ksymoops
mod treewide: Convert macro and uses of __section(foo) to __section("foo") 2020-10-25 14:51:49 -07:00
package builddeb: Fix rootless build in setuid/setgid directory 2020-11-02 11:31:00 +09:00
selinux
tracing
.gitignore kbuild: preprocess module linker script 2020-09-25 00:36:41 +09:00
adjust_autoksyms.sh
asn1_compiler.c
bin2c.c
bloat-o-meter
bootgraph.pl
bpf_helpers_doc.py bpf: Add struct bpf_redir_neigh forward declaration to BPF helper defs 2020-10-29 15:19:04 +01:00
cc-can-link.sh
check_extable.sh
check-sysctl-docs
checkincludes.pl
checkkconfigsymbols.py
checkpatch.pl checkpatch: fix unescaped left brace 2020-12-30 11:53:56 +01:00
checkstack.pl
checksyscalls.sh
checkversion.pl
clang-version.sh
cleanfile
cleanpatch
coccicheck scripts: coccicheck: Change default condition for parallelism 2020-10-12 10:37:56 +02:00
config
const_structs.checkpatch const_structs.checkpatch: add pinctrl_ops and pinmux_ops 2020-10-16 11:11:21 -07:00
decode_stacktrace.sh
decodecode scripts/decodecode: add the capability to supply the program counter 2020-10-13 18:38:26 -07:00
depmod.sh depmod: handle the case of /sbin/depmod without /sbin in PATH 2021-01-12 20:18:16 +01:00
dev-needs.sh
diffconfig
documentation-file-ref-check
export_report.pl
extract_xc3028.pl
extract-cert.c
extract-ikconfig
extract-module-sig.pl
extract-sys-certs.pl
extract-vmlinux
faddr2line
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_autoksyms.sh kbuild: fix CONFIG_TRIM_UNUSED_KSYMS build for ppc64 2021-02-26 10:13:01 +01:00
gen_ksymdeps.sh
get_abi.pl scripts: get_api.pl: Add sub-titles to ABI output 2020-11-02 13:45:37 +01:00
get_dvb_firmware
get_maintainer.pl get_maintainer: exclude MAINTAINERS file(s) from --git-fallback 2020-10-16 11:11:19 -07:00
gfp-translate
headerdep.pl
headers_check.pl
headers_install.sh
insert-sys-cert.c
jobserver-exec
kallsyms.c kallsyms: fix nonconverging kallsyms table with lld 2021-02-17 11:02:24 +01:00
Kbuild.include kbuild: remove leftover comment for filechk utility 2020-10-21 00:28:53 +09:00
Kconfig.include
kernel-doc scripts: kernel-doc: fix parsing function-like typedefs 2020-12-30 11:53:33 +01:00
ld-version.sh
leaking_addresses.pl
Lindent
link-vmlinux.sh Kbuild updates for v5.10 2020-10-22 13:13:57 -07:00
lld-version.sh kbuild: Disable CONFIG_LD_ORPHAN_WARN for ld.lld 10.0.1 2020-12-01 22:46:06 +09:00
Makefile scripts: set proper OpenSSL include dir also for sign-file 2021-02-17 11:02:28 +01:00
Makefile.asm-generic
Makefile.build kbuild: avoid split lines in .mod files 2020-12-06 21:09:28 +09:00
Makefile.clean
Makefile.dtbinst
Makefile.extrawarn Makefile.extrawarn: move -Wcast-align to W=3 2020-11-25 03:36:10 +09:00
Makefile.gcc-plugins
Makefile.headersinst
Makefile.host
Makefile.kasan kbuild: move CFLAGS_{KASAN,UBSAN,KCSAN} exports to relevant Makefiles 2020-09-25 00:36:50 +09:00
Makefile.kcov
Makefile.kcsan Kbuild updates for v5.10 2020-10-22 13:13:57 -07:00
Makefile.lib
Makefile.modfinal kbuild: preprocess module linker script 2020-09-25 00:36:41 +09:00
Makefile.modinst
Makefile.modpost
Makefile.modsign
Makefile.package
Makefile.ubsan Kbuild updates for v5.10 2020-10-22 13:13:57 -07:00
Makefile.userprogs
makelst
markup_oops.pl
mkcompile_h kbuild: Use uname for LINUX_COMPILE_HOST detection 2020-10-21 00:46:04 +09:00
mkmakefile
mksysmap
mkuboot.sh
module.lds.S kbuild: preprocess module linker script 2020-09-25 00:36:41 +09:00
modules-check.sh
nsdeps
objdiff
parse-maintainers.pl
patch-kernel
profile2linkerlist.pl
prune-kernel
recordmcount.c ftrace: Have recordmcount use w8 to read relp->r_info in arm64_is_fake_mcount 2021-03-09 11:11:14 +01:00
recordmcount.h
recordmcount.pl scripts/recordmcount.pl: support big endian for ARCH sh 2021-02-26 10:13:02 +01:00
setlocalversion scripts/setlocalversion: make git describe output more reliable 2020-09-25 02:28:12 +09:00
show_delta
sign-file.c
sorttable.c
sorttable.h
spdxcheck-test.sh
spdxcheck.py scripts/spdxcheck.py: handle license identifiers in XML comments 2020-10-02 11:31:26 +02:00
spelling.txt Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2020-10-15 15:11:56 -07:00
sphinx-pre-install
split-man.pl
stackdelta
stackusage
subarch.include
tags.sh Merge branch 'locking/urgent' into locking/core, to pick up fixes 2020-10-09 08:55:17 +02:00
tools-support-relr.sh
unifdef.c
ver_linux
xen-hypercalls.sh
xz_wrap.sh