Message ID | 20220309220726.1525113-1-nathan@kernel.org |
---|---|
State | New |
Headers | show |
Series | ARM: Do not use NOCROSSREFS directive with ld.lld | expand |
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
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
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!
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); \
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(+) base-commit: e7e19defa57580d679bf0d03f8a34933008a7930