stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* 5.4 and 4.19 warning fix for LLVM_IAS
@ 2020-12-09  0:43 Nick Desaulniers
  2020-12-09 10:59 ` Greg KH
  0 siblings, 1 reply; 4+ messages in thread
From: Nick Desaulniers @ 2020-12-09  0:43 UTC (permalink / raw)
  To: Greg KH, Sasha Levin
  Cc: stable, Dmitry Golovin, Nathan Chancellor, Sedat Dilek,
	Fangrui Song, Masahiro Yamada, Jian Cai, Manoj Gupta,
	Luis Lozano

[-- Attachment #1: Type: text/plain, Size: 1172 bytes --]

Dear stable kernel maintainers,
(Woah, two in one day; have I exceeded my limit?)

Please consider the attached patch for 5.4 and 4.19 for commit
b8a9092330da ("Kbuild: do not emit debug info for assembly with
LLVM_IAS=1"), which fixes a significant number of warnings under arch/
when assembling a kernel with Clang.

These backports have already been shipped in Android; I would like to
revert them and take them from syncing with stable. CrOS also has the
patches staged, but I would prefer for them to sync them from stable
as well.

b8a9092330da just landed in v5.10-rc7.  I recently read
https://lwn.net/Articles/838819/, which mentions a discussion about
letting patches have more time to soak in mainline, so I accept if
your decision is to wait, though I'll note these have been soaking in
Android for 2 days shy of one month (Nov 10).

There were minor conflicts due to missing Kbuild support for
compressed debug info, which is a feature I implemented but don't plan
to backport to stable.

We plan to use Clang's integrated assembler for Android and CrOS for 4.19+.

See also: https://github.com/ClangBuiltLinux/linux/issues/716.
-- 
Thanks,
~Nick Desaulniers

[-- Attachment #2: b8a9092330da.5.4.patch.txt --]
[-- Type: text/plain, Size: 1961 bytes --]

From 125bcd1867e6b59f4eb364522276bc273e2648e2 Mon Sep 17 00:00:00 2001
From: Nick Desaulniers <ndesaulniers@google.com>
Date: Mon, 9 Nov 2020 10:35:28 -0800
Subject: [PATCH] Kbuild: do not emit debug info for assembly with LLVM_IAS=1

commit b8a9092330da2030496ff357272f342eb970d51b upstream.

Clang's integrated assembler produces the warning for assembly files:

warning: DWARF2 only supports one section per compilation unit

If -Wa,-gdwarf-* is unspecified, then debug info is not emitted for
assembly sources (it is still emitted for C sources).  This will be
re-enabled for newer DWARF versions in a follow up patch.

Enables defconfig+CONFIG_DEBUG_INFO to build cleanly with
LLVM=1 LLVM_IAS=1 for x86_64 and arm64.

Cc: <stable@vger.kernel.org>
Link: https://github.com/ClangBuiltLinux/linux/issues/716
Reported-by: Dmitry Golovin <dima@golovin.in>
Reported-by: Nathan Chancellor <natechancellor@gmail.com>
Suggested-by: Dmitry Golovin <dima@golovin.in>
Suggested-by: Nathan Chancellor <natechancellor@gmail.com>
Suggested-by: Sedat Dilek <sedat.dilek@gmail.com>
Reviewed-by: Fangrui Song <maskray@google.com>
Reviewed-by: Nathan Chancellor <natechancellor@gmail.com>
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
[nd: backport to avoid conflicts from:
  commit 10e68b02c861 ("Makefile: support compressed debug info")
  commit 7b16994437c7 ("Makefile: Improve compressed debug info support detection")
  commit 695afd3d7d58 ("kbuild: Simplify DEBUG_INFO Kconfig handling")]
---
 Makefile | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/Makefile b/Makefile
index e520dee34490..f8c766b35b71 100644
--- a/Makefile
+++ b/Makefile
@@ -802,8 +802,11 @@ DEBUG_CFLAGS	+= -gsplit-dwarf
 else
 DEBUG_CFLAGS	+= -g
 endif
+ifneq ($(LLVM_IAS),1)
 KBUILD_AFLAGS	+= -Wa,-gdwarf-2
 endif
+endif
+
 ifdef CONFIG_DEBUG_INFO_DWARF4
 DEBUG_CFLAGS	+= -gdwarf-4
 endif
-- 
2.29.2.576.ga3fc446d84-goog


[-- Attachment #3: b8a9092330da.4.19.patch.txt --]
[-- Type: text/plain, Size: 2009 bytes --]

From 17369ed6faa2ebdf4c10accfd6ca9075fdcbb4a2 Mon Sep 17 00:00:00 2001
From: Nick Desaulniers <ndesaulniers@google.com>
Date: Mon, 9 Nov 2020 10:35:28 -0800
Subject: [PATCH] Kbuild: do not emit debug info for assembly with LLVM_IAS=1

commit b8a9092330da2030496ff357272f342eb970d51b upstream.

Clang's integrated assembler produces the warning for assembly files:

warning: DWARF2 only supports one section per compilation unit

If -Wa,-gdwarf-* is unspecified, then debug info is not emitted for
assembly sources (it is still emitted for C sources).  This will be
re-enabled for newer DWARF versions in a follow up patch.

Enables defconfig+CONFIG_DEBUG_INFO to build cleanly with
LLVM=1 LLVM_IAS=1 for x86_64 and arm64.

Cc: <stable@vger.kernel.org>
Link: https://github.com/ClangBuiltLinux/linux/issues/716
Reported-by: Dmitry Golovin <dima@golovin.in>
Reported-by: Nathan Chancellor <natechancellor@gmail.com>
Suggested-by: Dmitry Golovin <dima@golovin.in>
Suggested-by: Nathan Chancellor <natechancellor@gmail.com>
Suggested-by: Sedat Dilek <sedat.dilek@gmail.com>
Reviewed-by: Fangrui Song <maskray@google.com>
Reviewed-by: Nathan Chancellor <natechancellor@gmail.com>
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
[nd: backport to avoid conflicts from:
  commit 10e68b02c861 ("Makefile: support compressed debug info")
  commit 7b16994437c7 ("Makefile: Improve compressed debug info support detection")
  commit 695afd3d7d58 ("kbuild: Simplify DEBUG_INFO Kconfig handling")]
---
 Makefile | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/Makefile b/Makefile
index 71e55c5cd74a..4c6ac3c6995f 100644
--- a/Makefile
+++ b/Makefile
@@ -745,8 +745,11 @@ KBUILD_CFLAGS   += $(call cc-option, -gsplit-dwarf, -g)
 else
 KBUILD_CFLAGS	+= -g
 endif
+ifneq ($(LLVM_IAS),1)
 KBUILD_AFLAGS	+= -Wa,-gdwarf-2
 endif
+endif
+
 ifdef CONFIG_DEBUG_INFO_DWARF4
 KBUILD_CFLAGS	+= $(call cc-option, -gdwarf-4,)
 endif
-- 
2.29.2.576.ga3fc446d84-goog


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: 5.4 and 4.19 warning fix for LLVM_IAS
  2020-12-09  0:43 5.4 and 4.19 warning fix for LLVM_IAS Nick Desaulniers
@ 2020-12-09 10:59 ` Greg KH
  2020-12-10 21:21   ` Nick Desaulniers
  0 siblings, 1 reply; 4+ messages in thread
From: Greg KH @ 2020-12-09 10:59 UTC (permalink / raw)
  To: Nick Desaulniers
  Cc: Sasha Levin, stable, Dmitry Golovin, Nathan Chancellor,
	Sedat Dilek, Fangrui Song, Masahiro Yamada, Jian Cai,
	Manoj Gupta, Luis Lozano

On Tue, Dec 08, 2020 at 04:43:34PM -0800, Nick Desaulniers wrote:
> Dear stable kernel maintainers,
> (Woah, two in one day; have I exceeded my limit?)
> 
> Please consider the attached patch for 5.4 and 4.19 for commit
> b8a9092330da ("Kbuild: do not emit debug info for assembly with
> LLVM_IAS=1"), which fixes a significant number of warnings under arch/
> when assembling a kernel with Clang.

I also need a version of this for 5.9.y before we can take this for
older kernels.  Can you provide that as well?

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: 5.4 and 4.19 warning fix for LLVM_IAS
  2020-12-09 10:59 ` Greg KH
@ 2020-12-10 21:21   ` Nick Desaulniers
  2020-12-11 14:25     ` Greg KH
  0 siblings, 1 reply; 4+ messages in thread
From: Nick Desaulniers @ 2020-12-10 21:21 UTC (permalink / raw)
  To: Greg KH
  Cc: Sasha Levin, stable, Dmitry Golovin, Nathan Chancellor,
	Sedat Dilek, Fangrui Song, Masahiro Yamada, Jian Cai,
	Manoj Gupta, Luis Lozano

[-- Attachment #1: Type: text/plain, Size: 770 bytes --]

On Wed, Dec 9, 2020 at 2:58 AM Greg KH <gregkh@linuxfoundation.org> wrote:
>
> On Tue, Dec 08, 2020 at 04:43:34PM -0800, Nick Desaulniers wrote:
> > Dear stable kernel maintainers,
> > (Woah, two in one day; have I exceeded my limit?)
> >
> > Please consider the attached patch for 5.4 and 4.19 for commit
> > b8a9092330da ("Kbuild: do not emit debug info for assembly with
> > LLVM_IAS=1"), which fixes a significant number of warnings under arch/
> > when assembling a kernel with Clang.
>
> I also need a version of this for 5.9.y before we can take this for
> older kernels.  Can you provide that as well?

Yes, apologies.  It's similar to the 5.4.y patch, but with a shorter
set of conflicts as noted in the commit message.  Attached.
-- 
Thanks,
~Nick Desaulniers

[-- Attachment #2: b8a9092330da.5.9.patch --]
[-- Type: application/octet-stream, Size: 1811 bytes --]

From afb10106a6b8ea979463daf0a613352bfdf642f3 Mon Sep 17 00:00:00 2001
From: Nick Desaulniers <ndesaulniers@google.com>
Date: Mon, 9 Nov 2020 10:35:28 -0800
Subject: [PATCH] Kbuild: do not emit debug info for assembly with LLVM_IAS=1

commit b8a9092330da2030496ff357272f342eb970d51b upstream.

Clang's integrated assembler produces the warning for assembly files:

warning: DWARF2 only supports one section per compilation unit

If -Wa,-gdwarf-* is unspecified, then debug info is not emitted for
assembly sources (it is still emitted for C sources).  This will be
re-enabled for newer DWARF versions in a follow up patch.

Enables defconfig+CONFIG_DEBUG_INFO to build cleanly with
LLVM=1 LLVM_IAS=1 for x86_64 and arm64.

Cc: <stable@vger.kernel.org>
Link: https://github.com/ClangBuiltLinux/linux/issues/716
Reported-by: Dmitry Golovin <dima@golovin.in>
Reported-by: Nathan Chancellor <natechancellor@gmail.com>
Suggested-by: Dmitry Golovin <dima@golovin.in>
Suggested-by: Nathan Chancellor <natechancellor@gmail.com>
Suggested-by: Sedat Dilek <sedat.dilek@gmail.com>
Reviewed-by: Fangrui Song <maskray@google.com>
Reviewed-by: Nathan Chancellor <natechancellor@gmail.com>
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
[nd: backport to avoid conflicts from:
  commit 695afd3d7d58 ("kbuild: Simplify DEBUG_INFO Kconfig handling")]
---
 Makefile | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/Makefile b/Makefile
index b98b54758b20..8f8a39624320 100644
--- a/Makefile
+++ b/Makefile
@@ -821,8 +821,11 @@ DEBUG_CFLAGS	+= -gsplit-dwarf
 else
 DEBUG_CFLAGS	+= -g
 endif
+ifneq ($(LLVM_IAS),1)
 KBUILD_AFLAGS	+= -Wa,-gdwarf-2
 endif
+endif
+
 ifdef CONFIG_DEBUG_INFO_DWARF4
 DEBUG_CFLAGS	+= -gdwarf-4
 endif
-- 
2.29.2.576.ga3fc446d84-goog


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: 5.4 and 4.19 warning fix for LLVM_IAS
  2020-12-10 21:21   ` Nick Desaulniers
@ 2020-12-11 14:25     ` Greg KH
  0 siblings, 0 replies; 4+ messages in thread
From: Greg KH @ 2020-12-11 14:25 UTC (permalink / raw)
  To: Nick Desaulniers
  Cc: Sasha Levin, stable, Dmitry Golovin, Nathan Chancellor,
	Sedat Dilek, Fangrui Song, Masahiro Yamada, Jian Cai,
	Manoj Gupta, Luis Lozano

On Thu, Dec 10, 2020 at 01:21:00PM -0800, Nick Desaulniers wrote:
> On Wed, Dec 9, 2020 at 2:58 AM Greg KH <gregkh@linuxfoundation.org> wrote:
> >
> > On Tue, Dec 08, 2020 at 04:43:34PM -0800, Nick Desaulniers wrote:
> > > Dear stable kernel maintainers,
> > > (Woah, two in one day; have I exceeded my limit?)
> > >
> > > Please consider the attached patch for 5.4 and 4.19 for commit
> > > b8a9092330da ("Kbuild: do not emit debug info for assembly with
> > > LLVM_IAS=1"), which fixes a significant number of warnings under arch/
> > > when assembling a kernel with Clang.
> >
> > I also need a version of this for 5.9.y before we can take this for
> > older kernels.  Can you provide that as well?
> 
> Yes, apologies.  It's similar to the 5.4.y patch, but with a shorter
> set of conflicts as noted in the commit message.  Attached.
> -- 
> Thanks,
> ~Nick Desaulniers

thanks, all now applied.

greg k-h

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-12-11 15:45 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-09  0:43 5.4 and 4.19 warning fix for LLVM_IAS Nick Desaulniers
2020-12-09 10:59 ` Greg KH
2020-12-10 21:21   ` Nick Desaulniers
2020-12-11 14:25     ` Greg KH

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).