Re: faddr2line issue

From: John Garry
Date: Thu Jul 21 2022 - 11:03:13 EST


On 21/07/2022 00:32, Josh Poimboeuf wrote:
On Wed, Jul 20, 2022 at 09:39:42AM +0100, John Garry wrote:
On 20/07/2022 01:06, Josh Poimboeuf wrote:
So adding config DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT to v5.19-rc2 got it
working again for me on arm64. However commit dcea997beed6 ("faddr2line: Fix
overlapping text section failures, the sequel") seems to be broken for me,
below - this first appeared in rc3. Any idea what the issue could be?

$./faddr.sh hisi_sas_sata_done+0x8/0x38
hisi_sas_sata_done+0x8/0x38:
fs mm ??:0
Hm, what does faddr.sh do?

ah, it's just a wrapper to call scripts/faddr2line with vmlinux and $1
(being hisi_sas_sata_done+0x8/0x38, above) args

Does addr2line also fail?

faddr2line fails, as below.


Can you run

bash -x scripts/faddr2line <vmlinux or .ko file> hisi_sas_sata_done+0x8/0x38

and share the output?

on rc3 we get:

https://raw.githubusercontent.com/hisilicon/kernel-dev/private-topic-sas-5.19-faddr2line-linux-rc3/before2

Does this fix it?

diff --git a/scripts/faddr2line b/scripts/faddr2line
index 94ed98dd899f..57099687e5e1 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
.

Yeah, looks ok now.

Tested-by: John Garry <john.garry@xxxxxxxxxx>

thanks