Thread (103 messages) 103 messages, 16 authors, 2017-12-04

[PATCH v2 06/18] arm64: kvm: use -fno-jump-tables with clang

From: Ard Biesheuvel <hidden>
Date: 2017-11-20 14:47:09
Also in: linux-kbuild, lkml

On 20 November 2017 at 14:43, Mark Rutland [off-list ref] wrote:
On Mon, Nov 20, 2017 at 02:41:47PM +0000, Mark Rutland wrote:
quoted
On Wed, Nov 15, 2017 at 01:34:16PM -0800, Sami Tolvanen wrote:
quoted
Use -fno-jump-tables to make sure clang doesn't generate branches
to EL1 virtual addresses.
Are there any other reasons that clang might generate absolute
references/relocations?

It would be nice if there was the option to disable that more generally,
rather than disabling individual optimizations. Is there any PIC/PIE
option that we could use?

We might need something simnilar for GCC, even if we're not seeing
problems today.
... and likewise for the EFI stub, which needs to be
position-independent much like the hyp code.
Actually, we are already using -fpie for the EFI stub, but it is a bit
fiddly because it requires visibility overrides, given that PIC symbol
references are usually indirected via GOT entries. At the time, it
didn't occur to me that the HYP code has similar issues. Of course, in
the EFI stub we already check for ABS64 relocations to make sure that
the resulting code is correct (and /me makes mental note to add
R_AARCH64_GOT_xxx relocations to that as well)
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help