llvm.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
From: Nick Desaulniers <ndesaulniers@google.com>
To: Masahiro Yamada <masahiroy@kernel.org>
Cc: Michal Marek <michal.lkml@markovi.net>,
	 Linux Kbuild mailing list <linux-kbuild@vger.kernel.org>,
	 Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	clang-built-linux <llvm@lists.linux.dev>,
	 Bill Wendling <morbo@google.com>,
	Greg Thelen <gthelen@google.com>,
	 Alexey Alexandrov <aalexand@google.com>,
	Nathan Chancellor <nathan@kernel.org>
Subject: Re: [PATCH v4] Makefile.debug: re-enable debug info for .S files
Date: Fri, 23 Sep 2022 19:20:03 -0700	[thread overview]
Message-ID: <CAKwvOdk-oj24MQs-W0Xs6p33f+Ei7Wu3wwCX+d34T=xoOPxOiw@mail.gmail.com> (raw)
In-Reply-To: <CAK7LNAS5xSQTjDuu+dsNW2fOz1-s7x0gsCLmfQOnGpb5CY06KA@mail.gmail.com>

On Fri, Sep 23, 2022 at 7:12 PM Masahiro Yamada <masahiroy@kernel.org> wrote:
>
> This patch still misses the debug info for *.S files
> for the combination of LLVM_IAS=0 and
> CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y
> because, as the comment says, Clang does not pass -g down to GAS.
>
>
> With "[v4] Makefile.debug: set -g unconditional on CONFIG_DEBUG_INFO_SPLIT"
> and this one applied,
>
>
>
> $ grep CONFIG_DEBUG_INFO_DWARF .config
> CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y
> # CONFIG_DEBUG_INFO_DWARF4 is not set
> # CONFIG_DEBUG_INFO_DWARF5 is not set
> $ make LLVM=1 LLVM_IAS=0 arch/x86/kernel/irqflags.o
>   SYNC    include/config/auto.conf.cmd
>   SYSHDR  arch/x86/include/generated/asm/unistd_32_ia32.h
>   SYSHDR  arch/x86/include/generated/asm/unistd_64_x32.h
>   SYSTBL  arch/x86/include/generated/asm/syscalls_64.h
>   HOSTCC  arch/x86/tools/relocs_32.o
>   [snip]
>   AS      arch/x86/kernel/irqflags.o
> $ objdump  -h arch/x86/kernel/irqflags.o | grep debug
> $
>
>
>
>
>
>
>
>
> I think the following fix-up is needed on top.
>
>
>
>
> diff --git a/scripts/Makefile.debug b/scripts/Makefile.debug
> index d6aecd78b942..8cf1cb22dd93 100644
> --- a/scripts/Makefile.debug
> +++ b/scripts/Makefile.debug
> @@ -1,4 +1,5 @@
> -DEBUG_CFLAGS   := -g
> +DEBUG_CFLAGS   :=
> +debug-flags-y  := -g
>
>  ifdef CONFIG_DEBUG_INFO_SPLIT
>  DEBUG_CFLAGS   += -gsplit-dwarf
>
>
>
>
> Then, I can see the debug sections.
>
>
>
> $ make LLVM=1 LLVM_IAS=0 arch/x86/kernel/irqflags.o
>   CALL    scripts/checksyscalls.sh
>   DESCEND objtool
>   AS      arch/x86/kernel/irqflags.o
> $ objdump -h arch/x86/kernel/irqflags.o | grep debug
>   6 .debug_line   00000050  0000000000000000  0000000000000000  0000008f  2**0
>   7 .debug_info   0000002e  0000000000000000  0000000000000000  000000f8  2**0
>   8 .debug_abbrev 00000014  0000000000000000  0000000000000000  000001d0  2**0
>   9 .debug_aranges 00000030  0000000000000000  0000000000000000  000001f0  2**4
>  10 .debug_str    0000004d  0000000000000000  0000000000000000  00000250  2**0
>
>
>
>
>
> If you agree, I can locally fix it up as such.

Ah, sorry I missed testing that combination. Thanks for your
thoroughness. Yes please apply that diff on top.
-- 
Thanks,
~Nick Desaulniers

  reply	other threads:[~2022-09-24  2:20 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-07  4:59 [PATCH v3 0/5] fix debug info for asm and DEBUG_INFO_SPLIT Nick Desaulniers
2022-09-07  4:59 ` [PATCH v3 1/5] x86/boot/compressed: prefer cc-option for CFLAGS additions Nick Desaulniers
2022-09-09 21:05   ` Masahiro Yamada
2022-09-07  4:59 ` [PATCH v3 2/5] Makefile.compiler: Use KBUILD_AFLAGS for as-option Nick Desaulniers
2022-09-09 21:06   ` Masahiro Yamada
2022-09-07  4:59 ` [PATCH v3 3/5] Makefile.compiler: replace cc-ifversion with compiler-specific macros Nick Desaulniers
2022-09-09 21:59   ` Masahiro Yamada
2022-09-07  4:59 ` [PATCH v3 4/5] Makefile.debug: re-enable debug info for .S files Nick Desaulniers
2022-09-07  4:59 ` [PATCH v3 5/5] Makefile.debug: set -g unconditional on CONFIG_DEBUG_INFO_SPLIT Nick Desaulniers
2022-09-09 20:56   ` Masahiro Yamada
2022-09-09 21:02     ` Masahiro Yamada
2022-09-19 17:08       ` [PATCH v4] Makefile.compiler: replace cc-ifversion with compiler-specific macros Nick Desaulniers
2022-09-23 19:44         ` Masahiro Yamada
2022-09-24 14:28           ` Masahiro Yamada
2022-09-25  1:22             ` Masahiro Yamada
2022-09-26 21:41               ` Nick Desaulniers
2023-04-27 11:53         ` Shreeya Patel
2023-04-28  7:41           ` Thorsten Leemhuis
2023-05-02  9:48             ` Shreeya Patel
2023-05-02 11:58               ` Linux regression tracking (Thorsten Leemhuis)
2023-04-28 17:27           ` Nick Desaulniers
2023-05-03 21:02             ` Shreeya Patel
2023-05-03 21:15               ` Nick Desaulniers
2023-05-03 22:33                 ` Shreeya Patel
2023-05-15 23:01                   ` Nick Desaulniers
2023-05-17  8:34                     ` Shreeya Patel
2023-05-17 15:39                     ` Ricardo Cañuelo
2023-05-17 16:27                       ` Nick Desaulniers
2023-05-18 14:23                         ` Ricardo Cañuelo
2023-05-18 21:12                           ` Nick Desaulniers
2023-05-19  8:35                             ` Ricardo Cañuelo
2023-05-19 15:57                               ` Nick Desaulniers
2023-05-22 10:09                                 ` Ricardo Cañuelo
2023-05-22 16:52                                   ` Greg KH
2023-05-22 19:52                                     ` Nick Desaulniers
2023-05-22 20:01                                       ` Greg KH
2023-05-22 20:16                                         ` Nick Desaulniers
2023-05-23 10:27                                       ` Shreeya Patel
2023-05-23 21:27                                         ` Nick Desaulniers
2023-06-12 10:10                                           ` Shreeya Patel
2023-06-20  4:19                                             ` Masahiro Yamada
2023-07-10 12:09                                               ` Linux regression tracking (Thorsten Leemhuis)
2023-07-11 11:16                                                 ` Shreeya Patel
2023-08-29 11:28                                                   ` Linux regression tracking (Thorsten Leemhuis)
2023-09-11 10:05                                                     ` Thorsten Leemhuis
2023-09-15  9:33                                                       ` Shreeya Patel
2023-09-30 10:24                                                         ` Masahiro Yamada
2022-09-19 17:30       ` [PATCH v4] Makefile.debug: set -g unconditional on CONFIG_DEBUG_INFO_SPLIT Nick Desaulniers
2022-09-24  1:34         ` Masahiro Yamada
2022-09-19 17:45       ` [PATCH v4] Makefile.debug: re-enable debug info for .S files Nick Desaulniers
2022-09-24  2:11         ` Masahiro Yamada
2022-09-24  2:20           ` Nick Desaulniers [this message]
2022-09-24  6:43             ` Masahiro Yamada

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAKwvOdk-oj24MQs-W0Xs6p33f+Ei7Wu3wwCX+d34T=xoOPxOiw@mail.gmail.com' \
    --to=ndesaulniers@google.com \
    --cc=aalexand@google.com \
    --cc=gthelen@google.com \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=llvm@lists.linux.dev \
    --cc=masahiroy@kernel.org \
    --cc=michal.lkml@markovi.net \
    --cc=morbo@google.com \
    --cc=nathan@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).