diff options
author | Ard Biesheuvel <ard.biesheuvel@linaro.org> | 2016-01-26 09:13:44 +0100 |
---|---|---|
committer | Catalin Marinas <catalin.marinas@arm.com> | 2016-02-24 14:57:27 +0000 |
commit | 1e48ef7fcc374051730381a2a05da77eb4eafdb0 (patch) | |
tree | f7f7174e996accf28dfdeef5fa79a452e4dbfa41 /arch/arm64/Makefile | |
parent | 6c94f27ac847ff8ef15b3da5b200574923bd6287 (diff) | |
download | lwn-1e48ef7fcc374051730381a2a05da77eb4eafdb0.tar.gz lwn-1e48ef7fcc374051730381a2a05da77eb4eafdb0.zip |
arm64: add support for building vmlinux as a relocatable PIE binary
This implements CONFIG_RELOCATABLE, which links the final vmlinux
image with a dynamic relocation section, allowing the early boot code
to perform a relocation to a different virtual address at runtime.
This is a prerequisite for KASLR (CONFIG_RANDOMIZE_BASE).
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Diffstat (limited to 'arch/arm64/Makefile')
-rw-r--r-- | arch/arm64/Makefile | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile index a6bba9623836..6b5508a17495 100644 --- a/arch/arm64/Makefile +++ b/arch/arm64/Makefile @@ -15,6 +15,10 @@ CPPFLAGS_vmlinux.lds = -DTEXT_OFFSET=$(TEXT_OFFSET) OBJCOPYFLAGS :=-O binary -R .note -R .note.gnu.build-id -R .comment -S GZFLAGS :=-9 +ifneq ($(CONFIG_RELOCATABLE),) +LDFLAGS_vmlinux += -pie +endif + KBUILD_DEFCONFIG := defconfig # Check for binutils support for specific extensions |