Commit 5e02a188 authored by Mark Brown's avatar Mark Brown Committed by Will Deacon
Browse files

arm64: vdso: Force the vDSO to be linked as BTI when built for BTI



When the kernel and hence vDSO are built with BTI enabled force the linker
to link the vDSO as BTI. This will cause the linker to warn if any of the
input files do not have the BTI annotation, ensuring that we don't silently
fail to provide a vDSO that is built and annotated for BTI when the
kernel is being built with BTI.

Signed-off-by: default avatarMark Brown <broonie@kernel.org>
Reviewed-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
Link: https://lore.kernel.org/r/20200506195138.22086-11-broonie@kernel.org


Signed-off-by: default avatarWill Deacon <will@kernel.org>
parent a6aadc28
Loading
Loading
Loading
Loading
+3 −1
Original line number Original line Diff line number Diff line
@@ -17,8 +17,10 @@ obj-vdso := vgettimeofday.o note.o sigreturn.o
targets := $(obj-vdso) vdso.so vdso.so.dbg
targets := $(obj-vdso) vdso.so vdso.so.dbg
obj-vdso := $(addprefix $(obj)/, $(obj-vdso))
obj-vdso := $(addprefix $(obj)/, $(obj-vdso))


btildflags-$(CONFIG_ARM64_BTI_KERNEL) += -z force-bti

ldflags-y := -shared -nostdlib -soname=linux-vdso.so.1 --hash-style=sysv \
ldflags-y := -shared -nostdlib -soname=linux-vdso.so.1 --hash-style=sysv \
		--build-id -n -T
		--build-id -n $(btildflags-y) -T


ccflags-y := -fno-common -fno-builtin -fno-stack-protector -ffixed-x18
ccflags-y := -fno-common -fno-builtin -fno-stack-protector -ffixed-x18
ccflags-y += -DDISABLE_BRANCH_PROFILING
ccflags-y += -DDISABLE_BRANCH_PROFILING