| From a1fa33dee93a4e48bd04eb4b760439b7e9eb4f46 Mon Sep 17 00:00:00 2001 |
| From: Greg Hackmann <ghackmann@android.com> |
| Date: Tue, 27 Nov 2018 11:15:20 -0800 |
| Subject: arm64: remove no-op -p linker flag |
| |
| (commit 1a381d4a0a9a0f999a13faaba22bf6b3fc80dcb9 upstream) |
| |
| Linking the ARM64 defconfig kernel with LLVM lld fails with the error: |
| |
| ld.lld: error: unknown argument: -p |
| Makefile:1015: recipe for target 'vmlinux' failed |
| |
| Without this flag, the ARM64 defconfig kernel successfully links with |
| lld and boots on Dragonboard 410c. |
| |
| After digging through binutils source and changelogs, it turns out that |
| -p is only relevant to ancient binutils installations targeting 32-bit |
| ARM. binutils accepts -p for AArch64 too, but it's always been |
| undocumented and silently ignored. A comment in |
| ld/emultempl/aarch64elf.em explains that it's "Only here for backwards |
| compatibility". |
| |
| Since this flag is a no-op on ARM64, we can safely drop it. |
| |
| Acked-by: Will Deacon <will.deacon@arm.com> |
| Reviewed-by: Nick Desaulniers <ndesaulniers@google.com> |
| Signed-off-by: Greg Hackmann <ghackmann@google.com> |
| Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> |
| Signed-off-by: Nick Desaulniers <ndesaulniers@google.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| arch/arm64/Makefile | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile |
| index c10bb98144b0..fb4ac87fc398 100644 |
| --- a/arch/arm64/Makefile |
| +++ b/arch/arm64/Makefile |
| @@ -10,7 +10,7 @@ |
| # |
| # Copyright (C) 1995-2001 by Russell King |
| |
| -LDFLAGS_vmlinux :=-p --no-undefined -X |
| +LDFLAGS_vmlinux :=--no-undefined -X |
| CPPFLAGS_vmlinux.lds = -DTEXT_OFFSET=$(TEXT_OFFSET) |
| OBJCOPYFLAGS :=-O binary -R .note -R .note.gnu.build-id -R .comment -S |
| GZFLAGS :=-9 |
| -- |
| 2.17.1 |
| |