[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <165947108915.15455.153331710686410.tip-bot2@tip-bot2>
Date: Tue, 02 Aug 2022 20:11:29 -0000
From: "tip-bot2 for Josh Poimboeuf" <tip-bot2@...utronix.de>
To: linux-tip-commits@...r.kernel.org
Cc: John Garry <john.garry@...wei.com>,
Josh Poimboeuf <jpoimboe@...nel.org>,
Ingo Molnar <mingo@...nel.org>, x86@...nel.org,
linux-kernel@...r.kernel.org
Subject: [tip: perf/urgent] scripts/faddr2line: Fix vmlinux detection on arm64
The following commit has been merged into the perf/urgent branch of tip:
Commit-ID: b6a5068854cfe372da7dee3224dcf023ed5b00cb
Gitweb: https://git.kernel.org/tip/b6a5068854cfe372da7dee3224dcf023ed5b00cb
Author: Josh Poimboeuf <jpoimboe@...nel.org>
AuthorDate: Thu, 21 Jul 2022 11:01:23 -07:00
Committer: Ingo Molnar <mingo@...nel.org>
CommitterDate: Tue, 02 Aug 2022 22:08:16 +02:00
scripts/faddr2line: Fix vmlinux detection on arm64
Since commit dcea997beed6 ("faddr2line: Fix overlapping text section
failures, the sequel"), faddr2line is completely broken on arm64.
For some reason, on arm64, the vmlinux ELF object file type is ET_DYN
rather than ET_EXEC. Check for both when determining whether the object
is vmlinux.
Modules and vmlinux.o have type ET_REL on all arches.
Fixes: dcea997beed6 ("faddr2line: Fix overlapping text section failures, the sequel")
Reported-by: John Garry <john.garry@...wei.com>
Signed-off-by: Josh Poimboeuf <jpoimboe@...nel.org>
Signed-off-by: Ingo Molnar <mingo@...nel.org>
Tested-by: John Garry <john.garry@...wei.com>
Link: https://lore.kernel.org/r/dad1999737471b06d6188ce4cdb11329aa41682c.1658426357.git.jpoimboe@kernel.org
---
scripts/faddr2line | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/scripts/faddr2line b/scripts/faddr2line
index 94ed98d..5709968 100755
--- a/scripts/faddr2line
+++ b/scripts/faddr2line
@@ -112,7 +112,9 @@ __faddr2line() {
# section offsets.
local file_type=$(${READELF} --file-header $objfile |
${AWK} '$1 == "Type:" { print $2; exit }')
- [[ $file_type = "EXEC" ]] && is_vmlinux=1
+ if [[ $file_type = "EXEC" ]] || [[ $file_type == "DYN" ]]; then
+ is_vmlinux=1
+ fi
# Go through each of the object's symbols which match the func name.
# In rare cases there might be duplicates, in which case we print all
Powered by blists - more mailing lists