linux-stable/arch
Will Deacon cae650932e arm64: vdso: work-around broken ELF toolchains in Makefile
commit 6f1a6ae87c upstream.

When building the kernel with a bare-metal (ELF) toolchain, the -shared
option may not be passed down to collect2, resulting in silent corruption
of the vDSO image (in particular, the DYNAMIC section is omitted).

The effect of this corruption is that the dynamic linker fails to find
the vDSO symbols and libc is instead used for the syscalls that we
intended to optimise (e.g. gettimeofday). Functionally, there is no
issue as the sigreturn trampoline is still intact and located by the
kernel.

This patch fixes the problem by explicitly passing -shared to the linker
when building the vDSO.

Reported-by: Szabolcs Nagy <Szabolcs.Nagy@arm.com>
Reported-by: James Greenlaigh <james.greenhalgh@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-07-21 10:10:12 -07:00
..
alpha asm-generic: uaccess.h cleanup 2015-02-18 10:02:24 -08:00
arc ARC: add compiler barrier to LLSC based cmpxchg 2015-07-21 10:10:12 -07:00
arm ARM: mvebu: fix suspend to RAM on big-endian configurations 2015-07-10 09:45:41 -07:00
arm64 arm64: vdso: work-around broken ELF toolchains in Makefile 2015-07-21 10:10:12 -07:00
avr32 asm-generic: uaccess.h cleanup 2015-02-18 10:02:24 -08:00
blackfin Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2015-02-21 12:59:04 -08:00
c6x C6x: time: Ensure consistency in __init 2015-05-06 22:04:08 +02:00
cris CRIS changes for 3.20 2015-02-15 18:02:02 -08:00
frv mm: add missing __PAGETABLE_{PUD,PMD}_FOLDED defines 2015-02-28 09:57:51 -08:00
hexagon all arches, signal: move restart_block to struct task_struct 2015-02-12 18:54:12 -08:00
ia64 asm-generic: uaccess.h cleanup 2015-02-18 10:02:24 -08:00
m32r mm: add missing __PAGETABLE_{PUD,PMD}_FOLDED defines 2015-02-28 09:57:51 -08:00
m68k mm: add missing __PAGETABLE_{PUD,PMD}_FOLDED defines 2015-02-28 09:57:51 -08:00
metag metag: Fix ioremap_wc/ioremap_cached build errors 2015-03-23 12:32:37 +00:00
microblaze microblaze: Fix syscall error recovery for invalid syscall IDs 2015-03-04 15:12:27 +01:00
mips MIPS: Fix KVM guest fixmap address 2015-07-10 09:45:41 -07:00
mn10300 mm: add missing __PAGETABLE_{PUD,PMD}_FOLDED defines 2015-02-28 09:57:51 -08:00
nios2 nios2: fix cache coherency issue when debug with gdb 2015-04-10 11:10:08 +08:00
openrisc asm-generic: uaccess.h cleanup 2015-02-18 10:02:24 -08:00
parisc parisc,metag: Fix crashes due to stack randomization on stack-grows-upwards architectures 2015-06-06 08:21:05 -07:00
powerpc powerpc/perf: Fix book3s kernel to userspace backtraces 2015-07-10 09:45:41 -07:00
s390 sysfs: Create mountpoints with sysfs_create_mount_point 2015-07-21 10:10:11 -07:00
score all arches, signal: move restart_block to struct task_struct 2015-02-12 18:54:12 -08:00
sh asm-generic: uaccess.h cleanup 2015-02-18 10:02:24 -08:00
sparc sparc: Use GFP_ATOMIC in ldc_alloc_exp_dring() as it can be called in softirq context 2015-07-10 09:45:33 -07:00
tile tile: use %*pb[l] to print bitmaps including cpumasks and nodemasks 2015-02-13 21:21:37 -08:00
um all arches, signal: move restart_block to struct task_struct 2015-02-12 18:54:12 -08:00
unicore32 mm: vmalloc: pass additional vm_flags to __vmalloc_node_range() 2015-02-13 21:21:42 -08:00
x86 KVM: x86: make vapics_in_nmi_mode atomic 2015-07-10 09:45:42 -07:00
xtensa xtensa: ISS: fix locking in TAP network adapter 2015-05-06 22:03:57 +02:00
.gitignore
Kconfig