summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Edwards <cfsworks@gmail.com>2025-03-15 15:18:07 -0700
committerTom Rini <trini@konsulko.com>2025-04-02 14:33:50 -0600
commit7a8121fe6d314b314531eee7487272601f469c1d (patch)
treef6c9270f802e98d88dbcc3710dd850740f2797a2
parent86838a1ddc8a0e5b5f548a5051e5e68f90fb6660 (diff)
makefile: Add `norelro` linker option
RELRO is an instruction to a dynamic loader to make a memory range read-only after relocations are applied, for added security. Some linkers (e.g. LLD) require that all sections covered by the RELRO are contiguous, so that only a single RELRO is needed. U-Boot at present neither satisfies this requirement (e.g. x86_64 linker script currently puts .dynamic too far from .got) nor preserves the RELRO when converting away from ELF, therefore add `-z norelro` to global linker options. This can be brought back in the future when the linker scripts are cleaned up and U-Boot understands RELROs. Signed-off-by: Sam Edwards <CFSworks@gmail.com> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
-rw-r--r--Makefile1
1 files changed, 1 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 9c353af17cd..05a93813afa 100644
--- a/Makefile
+++ b/Makefile
@@ -820,6 +820,7 @@ KBUILD_AFLAGS += $(KAFLAGS)
KBUILD_CFLAGS += $(KCFLAGS)
KBUILD_LDFLAGS += -z noexecstack
+KBUILD_LDFLAGS += -z norelro
KBUILD_LDFLAGS += $(call ld-option,--no-warn-rwx-segments)
KBUILD_HOSTCFLAGS += $(if $(CONFIG_TOOLS_DEBUG),-g)