Commit-ID: 98cd3c3f83fbba27a6bacd75ad12e8388a61a32a Gitweb: https://git.kernel.org/tip/98cd3c3f83fbba27a6bacd75ad12e8388a61a32a Author: Peter Collingbourne <p...@google.com> AuthorDate: Fri, 21 Jun 2019 10:52:32 +0100 Committer: Thomas Gleixner <t...@linutronix.de> CommitDate: Sat, 22 Jun 2019 21:21:06 +0200
arm64: vdso: Build vDSO with -ffixed-x18 The vDSO needs to be built with x18 reserved in order to accommodate userspace platform ABIs built on top of Linux that use the register to carry inter-procedural state, as provided for by the AAPCS. An example of such a platform ABI is the one that will be used by an upcoming version of Android. Although this change is currently a no-op due to the fact that the vDSO is currently implemented in pure assembly on arm64, it is necessary in order to prepare for using the generic C implementation of the vDSO. [ tglx: Massaged changelog ] Signed-off-by: Peter Collingbourne <p...@google.com> Signed-off-by: Vincenzo Frascino <vincenzo.frasc...@arm.com> Signed-off-by: Thomas Gleixner <t...@linutronix.de> Tested-by: Shijith Thotton <sthot...@marvell.com> Tested-by: Andre Przywara <andre.przyw...@arm.com> Cc: linux-a...@vger.kernel.org Cc: linux-arm-ker...@lists.infradead.org Cc: linux-m...@vger.kernel.org Cc: linux-kselft...@vger.kernel.org Cc: Catalin Marinas <catalin.mari...@arm.com> Cc: Will Deacon <will.dea...@arm.com> Cc: Arnd Bergmann <a...@arndb.de> Cc: Russell King <li...@armlinux.org.uk> Cc: Ralf Baechle <r...@linux-mips.org> Cc: Paul Burton <paul.bur...@mips.com> Cc: Daniel Lezcano <daniel.lezc...@linaro.org> Cc: Mark Salyzyn <saly...@android.com> Cc: Shuah Khan <sh...@kernel.org> Cc: Dmitry Safonov <0x7f454...@gmail.com> Cc: Rasmus Villemoes <li...@rasmusvillemoes.dk> Cc: Huw Davies <h...@codeweavers.com> Cc: Mark Salyzyn <saly...@google.com> Link: https://lkml.kernel.org/r/20190621095252.32307-6-vincenzo.frasc...@arm.com --- arch/arm64/kernel/vdso/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm64/kernel/vdso/Makefile b/arch/arm64/kernel/vdso/Makefile index 3acfc813e966..ec81d28aeb5d 100644 --- a/arch/arm64/kernel/vdso/Makefile +++ b/arch/arm64/kernel/vdso/Makefile @@ -20,7 +20,7 @@ obj-vdso := $(addprefix $(obj)/, $(obj-vdso)) ldflags-y := -shared -nostdlib -soname=linux-vdso.so.1 --hash-style=sysv \ --build-id -n -T -ccflags-y := -fno-common -fno-builtin -fno-stack-protector +ccflags-y := -fno-common -fno-builtin -fno-stack-protector -ffixed-x18 ccflags-y += -DDISABLE_BRANCH_PROFILING VDSO_LDFLAGS := -Bsymbolic