aboutsummaryrefslogtreecommitdiff
path: root/scripts/gdb/linux/utils.py
diff options
context:
space:
mode:
authorNick Desaulniers <[email protected]>2020-12-17 16:24:32 -0800
committerCatalin Marinas <[email protected]>2021-01-05 11:51:41 +0000
commit311bea3cb9ee20ef150ca76fc60a592bf6b159f5 (patch)
tree061ce3f0571ba7bbb06538518835aa39461edf17 /scripts/gdb/linux/utils.py
parent095507dc1350b3a2b8b39fdc05edba0c10859eca (diff)
arm64: link with -z norelro for LLD or aarch64-elf
With GNU binutils 2.35+, linking with BFD produces warnings for vmlinux: aarch64-linux-gnu-ld: warning: -z norelro ignored BFD can produce this warning when the target emulation mode does not support RELRO program headers, and -z relro or -z norelro is passed. Alan Modra clarifies: The default linker emulation for an aarch64-linux ld.bfd is -maarch64linux, the default for an aarch64-elf linker is -maarch64elf. They are not equivalent. If you choose -maarch64elf you get an emulation that doesn't support -z relro. The ARCH=arm64 kernel prefers -maarch64elf, but may fall back to -maarch64linux based on the toolchain configuration. LLD will always create RELRO program header regardless of target emulation. To avoid the above warning when linking with BFD, pass -z norelro only when linking with LLD or with -maarch64linux. Fixes: 3b92fa7485eb ("arm64: link with -z norelro regardless of CONFIG_RELOCATABLE") Fixes: 3bbd3db86470 ("arm64: relocatable: fix inconsistencies in linker script and options") Cc: <[email protected]> # 5.0.x- Reported-by: kernelci.org bot <[email protected]> Reported-by: Quentin Perret <[email protected]> Signed-off-by: Nick Desaulniers <[email protected]> Reviewed-by: Nathan Chancellor <[email protected]> Acked-by: Ard Biesheuvel <[email protected]> Cc: Alan Modra <[email protected]> Cc: Fāng-ruì Sòng <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Catalin Marinas <[email protected]>
Diffstat (limited to 'scripts/gdb/linux/utils.py')
0 files changed, 0 insertions, 0 deletions