lkml.org 
[lkml]   [2022]   [Aug]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.19 1018/1157] scripts/faddr2line: Fix vmlinux detection on arm64
    Date
    From: Josh Poimboeuf <jpoimboe@kernel.org>

    [ Upstream commit b6a5068854cfe372da7dee3224dcf023ed5b00cb ]

    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@huawei.com>
    Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org>
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Tested-by: John Garry <john.garry@huawei.com>
    Link: https://lore.kernel.org/r/dad1999737471b06d6188ce4cdb11329aa41682c.1658426357.git.jpoimboe@kernel.org
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    scripts/faddr2line | 4 +++-
    1 file changed, 3 insertions(+), 1 deletion(-)

    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
    --
    2.35.1


    \
     
     \ /
      Last update: 2022-09-17 16:27    [W:4.463 / U:1.768 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site