linux-stable/arch/arm64/kernel
Will Deacon 6f1a6ae87c arm64: vdso: work-around broken ELF toolchains in Makefile
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.

Cc: <stable@vger.kernel.org>
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>
2015-06-19 14:54:10 +01:00
..
vdso arm64: vdso: work-around broken ELF toolchains in Makefile 2015-06-19 14:54:10 +01:00
.gitignore arm64: Build infrastructure 2012-09-17 13:42:21 +01:00
acpi.c arm64: psci: remove ACPI coupling 2015-05-27 13:22:24 +01:00
alternative.c arm64: alternative: Allow immediate branch as alternative instruction 2015-06-05 10:38:53 +01:00
arm64ksyms.c arm64: Add ftrace support 2014-05-29 09:08:08 +01:00
armv8_deprecated.c arm64: Emulate SETEND for AArch32 tasks 2015-01-23 17:11:44 +00:00
asm-offsets.c arm64: KVM: Switch vgic save/restore to alternative_insn 2015-06-12 15:12:08 +01:00
cacheinfo.c arm64: kernel: add support for cpu cache information 2015-01-15 11:55:07 +00:00
cpu_errata.c arm64: fix midr range for Cortex-A57 erratum 832075 2015-04-01 11:12:03 +01:00
cpu_ops.c ARM64: kernel: unify ACPI and DT cpus initialization 2015-05-19 16:09:29 +01:00
cpufeature.c arm64: alternative: Introduce feature for GICv3 CPU interface 2015-06-12 15:11:50 +01:00
cpuidle.c arm64: kernel: rename __cpu_suspend to keep it aligned with arm 2015-06-19 14:46:39 +01:00
cpuinfo.c arm64: Extract feature parsing code from cpu_errata.c 2015-03-30 11:03:43 +01:00
debug-monitors.c KVM/ARM New features for 3.17 include: 2014-08-05 09:47:45 +02:00
efi-entry.S arm64 updates for 3.19 2014-12-09 13:12:47 -08:00
efi-stub.c arm64/efi: efistub: Apply __init annotation 2015-01-15 21:28:35 +00:00
efi.c arm64: efi: don't restore TTBR0 if active_mm points at init_mm 2015-03-20 17:05:16 +00:00
entry-fpsimd.S arm64: fpsimd: fix a typo in fpsimd_save_partial_state ENDPROC 2014-07-31 11:42:42 +01:00
entry-ftrace.S arm64: ftrace: eliminate literal pool entries 2014-11-07 15:04:49 +00:00
entry.S arm64: entry: fix context tracking for el0_sp_pc 2015-06-17 11:53:19 +01:00
entry32.S arm64: fix implementation of mmap2 compat syscall 2015-03-19 10:43:51 +00:00
fpsimd.c arm64: fix bug for reloading FPSIMD state after CPU hotplug. 2015-06-11 17:08:11 +01:00
ftrace.c arm64: ftrace: fix ftrace_modify_graph_caller for branch replace 2015-02-23 09:13:45 +00:00
head.S arm64: reduce ID map to a single page 2015-06-02 17:44:51 +01:00
hw_breakpoint.c Merge branch 'perf/x86' into perf/core, because it's ready 2015-03-27 09:46:19 +01:00
hyp-stub.S irqchip: gic-v3: Initial support for GICv3 2014-07-08 22:11:47 +00:00
image.h arm64: Update the Image header 2014-07-10 12:36:40 +01:00
insn.c arm64: insn: Add aarch64_{get,set}_branch_offset 2015-06-03 15:43:24 +01:00
io.c arm64: optimize memcpy_{from,to}io() and memset_io() 2014-11-06 17:25:27 +00:00
irq.c arm64: Treat handle_arch_irq as a function pointer 2014-11-25 15:56:44 +00:00
jump_label.c arm64: jump labels: NOP out NOP -> NOP replacement 2014-11-26 17:19:47 +00:00
kgdb.c arm64: Fix typos in KGDB macros 2014-09-25 15:35:41 +01:00
kuser32.S arm64: Add __NR_* definitions for compat syscalls 2014-07-10 11:02:40 +01:00
Makefile Initial ACPI support for arm64: 2015-04-24 08:23:45 -07:00
module.c mm: vmalloc: pass additional vm_flags to __vmalloc_node_range() 2015-02-13 21:21:42 -08:00
pci.c ARM64 / ACPI: Introduce PCI stub functions for ACPI 2015-03-25 11:49:31 +00:00
perf_event.c arm64: Mark PMU interrupt IRQF_NO_THREAD 2015-05-19 15:27:42 +01:00
perf_regs.c perf: Move task_pt_regs sampling into arch code 2015-01-09 11:12:28 +01:00
process.c arm64: kernel thread don't need to save fpsimd context. 2015-06-11 15:35:23 +01:00
psci-call.S arm64: psci: move psci firmware calls out of line 2015-02-26 18:23:53 +00:00
psci.c arm64: kernel: rename __cpu_suspend to keep it aligned with arm 2015-06-19 14:46:39 +01:00
ptrace.c arm64: add seccomp support 2014-11-28 10:24:59 +00:00
return_address.c arm64: LLVMLinux: Use global stack pointer in return_address() 2014-09-08 14:39:19 +01:00
setup.c arm64: use fixmap region for permanent FDT mapping 2015-06-02 16:31:33 +01:00
signal.c arm64: Removed unused variable 2015-04-13 20:40:10 +02:00
signal32.c arm64: compat: print compat_sp instead of sp 2015-06-17 14:30:53 +01:00
sleep.S arm64: drop sleep_idmap_phys and clean up cpu_resume() 2015-06-02 17:45:07 +01:00
smp.c Merge branch 'arm64/psci-rework' of git://git.kernel.org/pub/scm/linux/kernel/git/mark/linux 2015-06-05 11:21:23 +01:00
smp_spin_table.c ARM64: kernel: make cpu_ops hooks DT agnostic 2015-05-19 16:09:29 +01:00
stacktrace.c arm64: LLVMLinux: Use current_stack_pointer in save_stack_trace_tsk 2014-09-08 14:39:19 +01:00
suspend.c arm64: kernel: rename __cpu_suspend to keep it aligned with arm 2015-06-19 14:46:39 +01:00
sys.c arm64: make sys_call_table const 2015-01-27 09:38:08 +00:00
sys32.c arm64: fix implementation of mmap2 compat syscall 2015-03-19 10:43:51 +00:00
sys_compat.c arm64: compat: align cacheflush syscall with arch/arm 2014-12-01 13:31:12 +00:00
time.c clocksource / arch_timer: Parse GTDT to initialize arch timer 2015-03-26 15:13:07 +00:00
topology.c arm64: topology: Fix handling of multi-level cluster MPIDR-based detection 2014-11-25 15:56:43 +00:00
trace-events-emulation.h arm64: Trace emulation of AArch32 legacy instructions 2014-11-20 16:35:02 +00:00
traps.c arm64: decode ESR_ELx.EC when reporting exceptions 2015-01-15 12:24:22 +00:00
vdso.c time: Rename timekeeper::tkr to timekeeper::tkr_mono 2015-03-27 09:45:06 +01:00
vmlinux.lds.S arm64: reduce ID map to a single page 2015-06-02 17:44:51 +01:00