Received: by 2002:a05:6358:c692:b0:131:369:b2a3 with SMTP id fe18csp5971908rwb; Tue, 1 Aug 2023 10:19:00 -0700 (PDT) X-Google-Smtp-Source: APBJJlG3IbQeLcGlPM2SQi+YAB2xjuzSEvicXKwo2Ifeia9iUlmXoNqausdDMsENinwesXYcHUON X-Received: by 2002:a05:6a20:8e07:b0:13d:7aa3:aa5d with SMTP id y7-20020a056a208e0700b0013d7aa3aa5dmr9286270pzj.40.1690910340208; Tue, 01 Aug 2023 10:19:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690910340; cv=none; d=google.com; s=arc-20160816; b=rzm6Y8GK6apqBA7F1u4GEvs8HGec5TNRoAKiORhtXs9OFdcK18MSuOKAWWnnPgXMdD R5cdT2PJPiW0MeDvF27X5Bzs9K7JMnjXk+hBKBCJrH3Qr2uGkNOBbOBw07hUKvm/RX3C fA80smyzKWDZpXbtVpoW24Y5CD7pTlj7pkcS7wn89AXe1zXMRokMsheRdjTQAQTq8xOh fYFObUhtSqGB+RX1ffSx9Q7cjNA8QB4zTi5x8syvFxAs9ndXuZ9HGvb8ibSo5mRsA81G 25Nhp1+1thPmrIlHGZtrf+lDfB53ZVdWgkls0zndAaaHyg5AoBAJCS6HDmxcTjOSUh1t qTgw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=SzryMjySR1ilIQJogkpEiq4/HKuChL2WRfawPAgdQ7I=; fh=AoTfyZIgyS9Mga+aTW5P0LYsMmxotsAfOaVw23AjPI8=; b=L7YFfU6z/QbigyPxmYaotbTJGJmTMjPaK6zbbIUeWNHJvR1S0+9xWejPPbcdl2YLk4 xO/xG7N2BJMIo5NPQaNxpkJ6S4j3AfqNAhJZcARBTaQRs/sU3PyU6CFZNnM/R0Q25hNp nP3gEFye/LZ3nAEIqZYuB2y4g+TWZ+db2TpdcKoQzAGxVydyQMB2fie4enm0/7r/RhWN IMqZFRZv31Frad02W+7ruHMhXBmK6MKR7lsfwliRc7FLPw3JEB1KjBhMCK3f38zJQ3Pq d0ur8xWsrqL6RjEruvRUrDNvW6XqR4fJdNQnHFxHUfHqDoKE9q8oUFRIvHbXZtzXZuJB TA2A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20221208 header.b=Ay6+nlDY; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b26-20020a6567da000000b0056003c53094si9085315pgs.433.2023.08.01.10.18.47; Tue, 01 Aug 2023 10:19:00 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20221208 header.b=Ay6+nlDY; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232050AbjHAQvO (ORCPT + 99 others); Tue, 1 Aug 2023 12:51:14 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38904 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232248AbjHAQvM (ORCPT ); Tue, 1 Aug 2023 12:51:12 -0400 Received: from mail-qv1-xf33.google.com (mail-qv1-xf33.google.com [IPv6:2607:f8b0:4864:20::f33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B47482115 for ; Tue, 1 Aug 2023 09:51:10 -0700 (PDT) Received: by mail-qv1-xf33.google.com with SMTP id 6a1803df08f44-63d2b7d77bfso41337366d6.3 for ; Tue, 01 Aug 2023 09:51:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1690908670; x=1691513470; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=SzryMjySR1ilIQJogkpEiq4/HKuChL2WRfawPAgdQ7I=; b=Ay6+nlDYEoqMNTybOc0KFFJlHBad2YSerfhdGyk+P162oTlZ4rSIxgYECnAFdPYfZC QjG9FYti6+ZPqeC6KTIB9NN1mRHYa/iKXOjEaMPTqUHcxrKqTpCW564dIxBmXL//A8HB MYYLwahJ9g/qa4y6sqbcgZzqyjvhy3P3TwvoWIiI/u6RAak/bqUI1YQutMdJSyEwSGZZ 3m53lbPQUWxVPY2WtnTQvN0setYnWeBP/AdbOKatEHphdtAPQYOU4yIEt+Dvw4fJbN4M 9SUWlcnv+BDLm5rqjYq9EzG4hsyBuRwioBV71s0xh0jrGkJ2LJLhD7KLn2h/XOJCN6Nc apeQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690908670; x=1691513470; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=SzryMjySR1ilIQJogkpEiq4/HKuChL2WRfawPAgdQ7I=; b=JlQXa69YUc5/voZbvz12jlyx+dWJ2gLMVirPsRWTtale3VhNI+srx0cXU+kGS6P2Zk dBFbvHED9yzGR0RWeedghwLUL0X6Mq0h0bQXtPup2nGIslRoqK5Je/9pR9mLJ0QQR+3D hTx6mjo1d39rjpYHvMCIhUaMIkA56p37S7uBfmq7RCV5WAZH0tDweExlKf6ELKmYZkZr 0JAq2mhPtRr/0JyxKPS5lY2t8VdCMvN0Twttywc5q+rOowyna8N8bVh4VbEgHYOjEpVH DjmljSWOcQOvNlxOooLdk5ngvrFyNd6eLByuZIvTl1Skbli+rmcvOVRrL4TBgsuRY1su Gecw== X-Gm-Message-State: ABy/qLauHhPgacFrY4mPutcWYKWjkJ7Tu8hhhMoVKgsJ3oe87zeKgzhd LOyLrXDhHJRkh5BAakYl1DwTgFWuEq9fX8gQyXgdEw== X-Received: by 2002:a05:6214:57cb:b0:63d:1aed:72ee with SMTP id lw11-20020a05621457cb00b0063d1aed72eemr13837966qvb.64.1690908669745; Tue, 01 Aug 2023 09:51:09 -0700 (PDT) MIME-Version: 1.0 References: <20230728113415.21067-1-will@kernel.org> <20230728113415.21067-2-will@kernel.org> In-Reply-To: From: Nick Desaulniers Date: Tue, 1 Aug 2023 09:50:58 -0700 Message-ID: Subject: Re: [PATCH v3 1/4] scripts/faddr2line: Use LLVM addr2line and readelf if LLVM=1 To: Will Deacon , Masahiro Yamada Cc: linux-kernel@vger.kernel.org, kernel-team@android.com, Nathan Chancellor , Nicolas Schier , Josh Poimboeuf , John Stultz , linux-kbuild@vger.kernel.org, clang-built-linux Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-17.6 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, ENV_AND_HDR_SPF_MATCH,RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED,USER_IN_DEF_DKIM_WL, USER_IN_DEF_SPF_WL autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, Jul 29, 2023 at 1:48=E2=80=AFPM Masahiro Yamada wrote: > > On Fri, Jul 28, 2023 at 8:34=E2=80=AFPM Will Deacon wro= te: > > > > GNU utilities cannot necessarily parse objects built by LLVM, which can > > result in confusing errors when using 'faddr2line': > > > > $ CROSS_COMPILE=3Daarch64-linux-gnu- ./scripts/faddr2line vmlinux do_on= e_initcall+0xf4/0x260 > > aarch64-linux-gnu-addr2line: vmlinux: unknown type [0x13] section `.rel= r.dyn' ^ old GNU binutils missing support for RELR relocation format. https://maskray.me/blog/2021-10-31-relative-relocations-and-relr > > aarch64-linux-gnu-addr2line: DWARF error: invalid or unhandled FORM val= ue: 0x25 ^ old GNU binutils missing support for DWARFv5 I suppose if someone used a new GCC with an old binutils, they could observe the exact same errors. > > do_one_initcall+0xf4/0x260: > > aarch64-linux-gnu-addr2line: vmlinux: unknown type [0x13] section `.rel= r.dyn' > > aarch64-linux-gnu-addr2line: DWARF error: invalid or unhandled FORM val= ue: 0x25 > > $x.73 at main.c:? > > > > Although this can be worked around by setting CROSS_COMPILE to "llvm=3D= -", > > it's cleaner to follow the same syntax as the top-level Makefile and > > accept LLVM=3D1 as an indication to use the llvm- tools. > > > Just a note. > The top Makefile accepts not only LLVM=3D1 > but also LLVM=3D/usr/lib/llvm-16/bin/. > The latter is useful when you want to use > a particular version or a custom one. Ah, like LLVM_PREFIX/LLVM_SUFFIX a la commit e9c281928c24 ("kbuild: Make $(LLVM) more flexible") Then we could have both UTIL_PREFIX+UTIL_SUFFIX. > > Another idea might be to use a generic '${prefix}' > as this is not hooked to the Makefile, > but I do not have a strong opinion. > > > > > > > > Cc: Josh Poimboeuf > > Cc: John Stultz > > Signed-off-by: Will Deacon > > --- > > scripts/faddr2line | 10 ++++++++-- > > 1 file changed, 8 insertions(+), 2 deletions(-) > > > > diff --git a/scripts/faddr2line b/scripts/faddr2line > > index 0e73aca4f908..62a3fa6f6f59 100755 > > --- a/scripts/faddr2line > > +++ b/scripts/faddr2line > > @@ -58,8 +58,14 @@ die() { > > exit 1 > > } > > > > -READELF=3D"${CROSS_COMPILE:-}readelf" > > -ADDR2LINE=3D"${CROSS_COMPILE:-}addr2line" > > +if [ "${LLVM:-}" =3D=3D "1" ]; then > > + UTIL_PREFIX=3Dllvm- > > +else > > + UTIL_PREFIX=3D${CROSS_COMPILE:-} > > +fi > > + > > +READELF=3D"${UTIL_PREFIX}readelf" > > +ADDR2LINE=3D"${UTIL_PREFIX}addr2line" > > AWK=3D"awk" > > GREP=3D"grep" > > > > -- > > 2.41.0.487.g6d72f3e995-goog > > > > > -- > Best Regards > Masahiro Yamada --=20 Thanks, ~Nick Desaulniers