linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] ARM: Do not use NOCROSSREFS directive with ld.lld
@ 2022-03-09 22:07 Nathan Chancellor
  2022-03-09 22:15 ` Linus Torvalds
  0 siblings, 1 reply; 5+ messages in thread
From: Nathan Chancellor @ 2022-03-09 22:07 UTC (permalink / raw)
  To: Linus Torvalds, Russell King, Nick Desaulniers
  Cc: linux-arm-kernel, linux-kernel, llvm, Nathan Chancellor, stable

ld.lld does not support the NOCROSSREFS directive at the moment, which
breaks the build after commit b9baf5c8c5c3 ("ARM: Spectre-BHB
workaround"):

  ld.lld: error: ./arch/arm/kernel/vmlinux.lds:34: AT expected, but got NOCROSSREFS

Support for this directive will eventually be implemented, at which
point a version check can be added. To avoid breaking the build in the
meantime, just define NOCROSSREFS to nothing when using ld.lld, with a
link to the issue for tracking.

Cc: stable@vger.kernel.org
Fixes: b9baf5c8c5c3 ("ARM: Spectre-BHB workaround")
Link: https://github.com/ClangBuiltLinux/linux/issues/1609
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
---

Since b9baf5c8c5c3 has been backported to stable, I have marked this for
stable as well, using a Fixes tag to notate that this should go back to
all releases that have b9baf5c8c5c3, not to indicate any blame of
b9baf5c8c5c3, as this is clearly an ld.lld deficiency.

It would be nice if this could be applied directly to unblock our CI if
there are no objections.

 arch/arm/include/asm/vmlinux.lds.h | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/arch/arm/include/asm/vmlinux.lds.h b/arch/arm/include/asm/vmlinux.lds.h
index 0ef21bfae9f6..fad45c884e98 100644
--- a/arch/arm/include/asm/vmlinux.lds.h
+++ b/arch/arm/include/asm/vmlinux.lds.h
@@ -26,6 +26,14 @@
 #define ARM_MMU_DISCARD(x)	x
 #endif
 
+/*
+ * ld.lld does not support NOCROSSREFS:
+ * https://github.com/ClangBuiltLinux/linux/issues/1609
+ */
+#ifdef CONFIG_LD_IS_LLD
+#define NOCROSSREFS
+#endif
+
 /* Set start/end symbol names to the LMA for the section */
 #define ARM_LMA(sym, section)						\
 	sym##_start = LOADADDR(section);				\

base-commit: e7e19defa57580d679bf0d03f8a34933008a7930
-- 
2.35.1


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

* Re: [PATCH] ARM: Do not use NOCROSSREFS directive with ld.lld
  2022-03-09 22:07 [PATCH] ARM: Do not use NOCROSSREFS directive with ld.lld Nathan Chancellor
@ 2022-03-09 22:15 ` Linus Torvalds
  2022-03-09 22:28   ` Greg Kroah-Hartman
  0 siblings, 1 reply; 5+ messages in thread
From: Linus Torvalds @ 2022-03-09 22:15 UTC (permalink / raw)
  To: Nathan Chancellor, Greg Kroah-Hartman
  Cc: Russell King, Nick Desaulniers, Linux ARM,
	Linux Kernel Mailing List, llvm, stable

On Wed, Mar 9, 2022 at 2:11 PM Nathan Chancellor <nathan@kernel.org> wrote:
>
> It would be nice if this could be applied directly to unblock our CI if
> there are no objections.

Applied.

Greg - yet another small fixup. It's commit 36168e387fa7 in my tree.

                Linus

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

* Re: [PATCH] ARM: Do not use NOCROSSREFS directive with ld.lld
  2022-03-09 22:15 ` Linus Torvalds
@ 2022-03-09 22:28   ` Greg Kroah-Hartman
  2022-03-09 22:31     ` Linus Torvalds
  0 siblings, 1 reply; 5+ messages in thread
From: Greg Kroah-Hartman @ 2022-03-09 22:28 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Nathan Chancellor, Russell King, Nick Desaulniers, Linux ARM,
	Linux Kernel Mailing List, llvm, stable

On Wed, Mar 09, 2022 at 02:15:23PM -0800, Linus Torvalds wrote:
> On Wed, Mar 9, 2022 at 2:11 PM Nathan Chancellor <nathan@kernel.org> wrote:
> >
> > It would be nice if this could be applied directly to unblock our CI if
> > there are no objections.
> 
> Applied.
> 
> Greg - yet another small fixup. It's commit 36168e387fa7 in my tree.

Thanks will go queue that up now.

What about this one too:
	https://lore.kernel.org/r/20220309191633.2307110-1-nathan@kernel.org

it should fix a arm64 build with clang.

thanks,

greg k-h

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

* Re: [PATCH] ARM: Do not use NOCROSSREFS directive with ld.lld
  2022-03-09 22:28   ` Greg Kroah-Hartman
@ 2022-03-09 22:31     ` Linus Torvalds
  2022-03-09 22:40       ` Greg Kroah-Hartman
  0 siblings, 1 reply; 5+ messages in thread
From: Linus Torvalds @ 2022-03-09 22:31 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Nathan Chancellor, Russell King, Nick Desaulniers, Linux ARM,
	Linux Kernel Mailing List, llvm, stable

On Wed, Mar 9, 2022 at 2:28 PM Greg Kroah-Hartman
<gregkh@linuxfoundation.org> wrote:
>
> What about this one too:
>         https://lore.kernel.org/r/20220309191633.2307110-1-nathan@kernel.org
>
> it should fix a arm64 build with clang.

Heh. That one just came as a pull from Catalin. It's now commit 52c9f93a9c48..

            Linus

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

* Re: [PATCH] ARM: Do not use NOCROSSREFS directive with ld.lld
  2022-03-09 22:31     ` Linus Torvalds
@ 2022-03-09 22:40       ` Greg Kroah-Hartman
  0 siblings, 0 replies; 5+ messages in thread
From: Greg Kroah-Hartman @ 2022-03-09 22:40 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Nathan Chancellor, Russell King, Nick Desaulniers, Linux ARM,
	Linux Kernel Mailing List, llvm, stable

On Wed, Mar 09, 2022 at 02:31:24PM -0800, Linus Torvalds wrote:
> On Wed, Mar 9, 2022 at 2:28 PM Greg Kroah-Hartman
> <gregkh@linuxfoundation.org> wrote:
> >
> > What about this one too:
> >         https://lore.kernel.org/r/20220309191633.2307110-1-nathan@kernel.org
> >
> > it should fix a arm64 build with clang.
> 
> Heh. That one just came as a pull from Catalin. It's now commit 52c9f93a9c48..

Great!

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

end of thread, other threads:[~2022-03-09 22:40 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-09 22:07 [PATCH] ARM: Do not use NOCROSSREFS directive with ld.lld Nathan Chancellor
2022-03-09 22:15 ` Linus Torvalds
2022-03-09 22:28   ` Greg Kroah-Hartman
2022-03-09 22:31     ` Linus Torvalds
2022-03-09 22:40       ` Greg Kroah-Hartman

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