From: vincenzo.frascino@arm.com (Vincenzo Frascino)
Subject: [PATCH v6 05/19] arm64: Build vDSO with -ffixed-x18
Date: Thu, 30 May 2019 15:15:17 +0100 [thread overview]
Message-ID: <20190530141531.43462-6-vincenzo.frascino@arm.com> (raw)
Message-ID: <20190530141517.XpVzIfkGINspx7pAdkBPGiVGxVV8iCX3gMRnru3R0o0@z> (raw)
In-Reply-To: <20190530141531.43462-1-vincenzo.frascino@arm.com>
From: Peter Collingbourne <pcc@google.com>
The vDSO needs to be build 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 another change [1] that will add C code to
the vDSO.
[1] https://patchwork.kernel.org/patch/10044501/
Signed-off-by: Peter Collingbourne <pcc at google.com>
Signed-off-by: Vincenzo Frascino <vincenzo.frascino at arm.com>
Cc: Mark Salyzyn <salyzyn at google.com>
Cc: Will Deacon <will.deacon at arm.com>
Cc: linux-arm-kernel at lists.infradead.org
---
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 00bcfd2672cf..d98230f70caf 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
--
2.21.0
next prev parent reply other threads:[~2019-05-30 14:15 UTC|newest]
Thread overview: 126+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-30 14:15 [PATCH v6 00/19] Unify vDSOs across more architectures vincenzo.frascino
2019-05-30 14:15 ` Vincenzo Frascino
2019-05-30 14:15 ` [PATCH v6 01/19] kernel: Standardize vdso_datapage vincenzo.frascino
2019-05-30 14:15 ` Vincenzo Frascino
2019-05-31 8:16 ` arnd
2019-05-31 8:16 ` Arnd Bergmann
2019-06-04 12:05 ` vincenzo.frascino
2019-06-04 12:05 ` Vincenzo Frascino
2019-06-10 17:47 ` huw
2019-06-10 17:47 ` Huw Davies
2019-06-10 17:47 ` Huw Davies
2019-06-10 9:27 ` huw
2019-06-10 9:27 ` Huw Davies
2019-06-10 9:27 ` Huw Davies
2019-06-10 10:17 ` vincenzo.frascino
2019-06-10 10:17 ` Vincenzo Frascino
2019-06-10 10:17 ` Vincenzo Frascino
2019-06-10 10:31 ` huw
2019-06-10 10:31 ` Huw Davies
2019-06-10 10:31 ` Huw Davies
2019-06-10 11:07 ` vincenzo.frascino
2019-06-10 11:07 ` Vincenzo Frascino
2019-06-10 11:07 ` Vincenzo Frascino
2019-06-10 11:37 ` huw
2019-06-10 11:37 ` Huw Davies
2019-06-10 11:37 ` Huw Davies
2019-05-30 14:15 ` [PATCH v6 02/19] kernel: Define gettimeofday vdso common code vincenzo.frascino
2019-05-30 14:15 ` Vincenzo Frascino
2019-05-31 8:19 ` arnd
2019-05-31 8:19 ` Arnd Bergmann
2019-06-04 12:08 ` vincenzo.frascino
2019-06-04 12:08 ` Vincenzo Frascino
2019-06-10 9:31 ` huw
2019-06-10 9:31 ` Huw Davies
2019-06-10 9:31 ` Huw Davies
2019-06-10 10:18 ` vincenzo.frascino
2019-06-10 10:18 ` Vincenzo Frascino
2019-06-10 10:18 ` Vincenzo Frascino
2019-05-30 14:15 ` [PATCH v6 03/19] kernel: Unify update_vsyscall implementation vincenzo.frascino
2019-05-30 14:15 ` Vincenzo Frascino
2019-06-10 9:34 ` huw
2019-06-10 9:34 ` Huw Davies
2019-06-10 9:34 ` Huw Davies
2019-06-10 10:19 ` vincenzo.frascino
2019-06-10 10:19 ` Vincenzo Frascino
2019-06-10 10:19 ` Vincenzo Frascino
2019-06-14 11:10 ` Thomas Gleixner
2019-06-14 12:15 ` Vincenzo Frascino
2019-06-14 12:19 ` Thomas Gleixner
2019-06-14 12:25 ` Vincenzo Frascino
2019-06-14 13:07 ` Thomas Gleixner
2019-05-30 14:15 ` [PATCH v6 04/19] arm64: Substitute gettimeofday with C implementation vincenzo.frascino
2019-05-30 14:15 ` Vincenzo Frascino
2019-05-30 14:15 ` vincenzo.frascino [this message]
2019-05-30 14:15 ` [PATCH v6 05/19] arm64: Build vDSO with -ffixed-x18 Vincenzo Frascino
2019-05-30 14:15 ` [PATCH v6 06/19] arm64: compat: Add missing syscall numbers vincenzo.frascino
2019-05-30 14:15 ` Vincenzo Frascino
2019-05-30 14:15 ` [PATCH v6 07/19] arm64: compat: Expose signal related structures vincenzo.frascino
2019-05-30 14:15 ` Vincenzo Frascino
2019-05-30 14:15 ` [PATCH v6 08/19] arm64: compat: Generate asm offsets for signals vincenzo.frascino
2019-05-30 14:15 ` Vincenzo Frascino
2019-05-30 14:15 ` [PATCH v6 09/19] lib: vdso: Add compat support vincenzo.frascino
2019-05-30 14:15 ` Vincenzo Frascino
2019-05-30 14:15 ` [PATCH v6 10/19] arm64: compat: Add vDSO vincenzo.frascino
2019-05-30 14:15 ` Vincenzo Frascino
2019-05-30 14:15 ` [PATCH v6 11/19] arm64: Refactor vDSO code vincenzo.frascino
2019-05-30 14:15 ` Vincenzo Frascino
2019-05-30 14:15 ` [PATCH v6 12/19] arm64: compat: vDSO setup for compat layer vincenzo.frascino
2019-05-30 14:15 ` Vincenzo Frascino
2019-05-30 14:15 ` [PATCH v6 13/19] arm64: elf: vDSO code page discovery vincenzo.frascino
2019-05-30 14:15 ` Vincenzo Frascino
2019-05-30 14:15 ` [PATCH v6 14/19] arm64: compat: Get sigreturn trampolines from vDSO vincenzo.frascino
2019-05-30 14:15 ` Vincenzo Frascino
2019-05-30 14:15 ` [PATCH v6 15/19] arm64: Add vDSO compat support vincenzo.frascino
2019-05-30 14:15 ` Vincenzo Frascino
2019-06-01 9:38 ` catalin.marinas
2019-06-01 9:38 ` Catalin Marinas
2019-06-04 12:10 ` vincenzo.frascino
2019-06-04 12:10 ` Vincenzo Frascino
2019-05-30 14:15 ` [PATCH v6 16/19] arm: Add support for generic vDSO vincenzo.frascino
2019-05-30 14:15 ` Vincenzo Frascino
2019-05-31 8:32 ` arnd
2019-05-31 8:32 ` Arnd Bergmann
2019-05-30 14:15 ` [PATCH v6 17/19] mips: " vincenzo.frascino
2019-05-30 14:15 ` Vincenzo Frascino
2019-05-31 8:34 ` arnd
2019-05-31 8:34 ` Arnd Bergmann
2019-06-03 14:54 ` salyzyn
2019-06-03 14:54 ` Mark Salyzyn
2019-06-03 17:07 ` arnd
2019-06-03 17:07 ` Arnd Bergmann
2019-05-30 14:15 ` [PATCH v6 18/19] x86: " vincenzo.frascino
2019-05-30 14:15 ` Vincenzo Frascino
2019-05-30 15:41 ` mikelley
2019-05-30 15:41 ` Michael Kelley
2019-06-04 12:13 ` vincenzo.frascino
2019-06-04 12:13 ` Vincenzo Frascino
2019-06-14 11:15 ` Thomas Gleixner
2019-06-14 21:17 ` Sasha Levin
2019-06-22 14:46 ` Thomas Gleixner
2019-06-23 19:09 ` Sasha Levin
2019-06-23 21:58 ` Stephen Rothwell
2019-06-24 0:24 ` Sasha Levin
2019-06-24 1:20 ` Stephen Rothwell
2019-06-23 22:12 ` Thomas Gleixner
2019-06-24 0:04 ` Michael Kelley
2019-06-24 0:25 ` Thomas Gleixner
2019-06-28 18:40 ` Michael Kelley
2019-05-30 14:15 ` [PATCH v6 19/19] kselftest: Extend vDSO selftest vincenzo.frascino
2019-05-30 14:15 ` Vincenzo Frascino
2019-05-31 8:53 ` arnd
2019-05-31 8:53 ` Arnd Bergmann
2019-05-31 8:46 ` [PATCH v6 00/19] Unify vDSOs across more architectures arnd
2019-05-31 8:46 ` Arnd Bergmann
2019-06-04 12:04 ` vincenzo.frascino
2019-06-04 12:04 ` Vincenzo Frascino
2019-06-04 12:12 ` arnd
2019-06-04 12:12 ` Arnd Bergmann
2019-06-05 14:32 ` vincenzo.frascino
2019-06-05 14:32 ` Vincenzo Frascino
2019-06-14 12:16 ` Thomas Gleixner
2019-06-14 12:19 ` Vincenzo Frascino
2019-06-20 6:17 ` Shijith Thotton
2019-06-20 8:55 ` Vincenzo Frascino
2019-06-20 16:27 ` Andre Przywara
2019-06-21 9:11 ` Vincenzo Frascino
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190530141531.43462-6-vincenzo.frascino@arm.com \
--to=vincenzo.frascino@arm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).