linux/arch/arm64/kernel
Will Deacon 4050740348 arm64: vdso: prevent ld from aligning PT_LOAD segments to 64k
Whilst the text segment for our VDSO is marked as PT_LOAD in the ELF
headers, it is mapped by the kernel and not actually subject to
demand-paging. ld doesn't realise this, and emits a p_align field of 64k
(the maximum supported page size), which conflicts with the load address
picked by the kernel on 4k systems, which will be 4k aligned. This
causes GDB to fail with "Failed to read a valid object file image from
memory" when attempting to load the VDSO.

This patch passes the -n option to ld, which prevents it from aligning
PT_LOAD segments to the maximum page size.

Cc: <stable@vger.kernel.org>
Reported-by: Kyle McMartin <kyle@redhat.com>
Acked-by: Kyle McMartin <kyle@redhat.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2014-02-04 17:52:47 +00:00
..
vdso arm64: vdso: prevent ld from aligning PT_LOAD segments to 64k 2014-02-04 17:52:47 +00:00
.gitignore
arm64ksyms.c arm64: use generic strnlen_user and strncpy_from_user functions 2013-12-19 17:43:06 +00:00
asm-offsets.c arm64: kernel: cpu_{suspend/resume} implementation 2013-12-16 17:17:31 +00:00
cpu_ops.c arm64: Slightly improve the warning on CPU0 enable-method 2013-10-31 16:37:26 +00:00
cputable.c arm64: add CPU_HOTPLUG infrastructure 2013-10-25 11:33:21 +01:00
debug-monitors.c arm64: support single-step and breakpoint handler hooks 2013-12-19 17:43:11 +00:00
early_printk.c arm64: Fix duplicate definition of early_console 2013-05-13 11:44:53 +01:00
entry-fpsimd.S arm64: move FP-SIMD save/restore code to a macro 2012-12-05 11:26:50 +00:00
entry.S arm64: fix typo in entry.S 2014-01-13 13:55:13 +00:00
fpsimd.c arm64: kernel: implement fpsimd CPU PM notifier 2013-12-16 17:17:32 +00:00
head.S arm64: Remove unused __data_loc variable 2013-12-20 12:04:48 +00:00
hw_breakpoint.c arm64: kernel: restore HW breakpoint registers in cpu_suspend 2014-01-10 17:51:35 +00:00
hyp-stub.S arm64: add hypervisor stub 2012-12-05 11:26:49 +00:00
insn.c arm64: introduce aarch64_insn_gen_{nop|branch_imm}() helper functions 2014-01-08 15:21:29 +00:00
io.c
irq.c arm64: add CPU_HOTPLUG infrastructure 2013-10-25 11:33:21 +01:00
jump_label.c arm64, jump label: optimize jump label implementation 2014-01-08 15:23:53 +00:00
kuser32.S arm64: update 32-bit kuser helpers to ARMv8 2013-10-28 10:40:28 +00:00
Makefile arm64, jump label: optimize jump label implementation 2014-01-08 15:23:53 +00:00
module.c arm64: move encode_insn_immediate() from module.c to insn.c 2014-01-08 15:21:29 +00:00
perf_event.c arm64: perf: add support for percpu pmu interrupt 2013-12-19 17:43:05 +00:00
process.c arm64: FIQs are unused 2014-01-30 13:51:43 +00:00
psci.c arm64: add PSCI CPU_OFF-based hotplug support 2013-10-25 11:33:21 +01:00
ptrace.c arm64: ptrace: avoid using HW_BREAKPOINT_EMPTY for disabled events 2013-12-19 17:41:25 +00:00
setup.c Merge tag 'arm64-suspend' of git://linux-arm.org/linux-2.6-lp into upstream 2013-12-19 17:57:51 +00:00
signal32.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2013-11-13 15:34:18 +09:00
signal.c arm64: switch to generic sigaltstack 2013-02-14 09:17:29 -05:00
sleep.S arm64: kernel: cpu_{suspend/resume} implementation 2013-12-16 17:17:31 +00:00
smp_spin_table.c arm64: big-endian: write CPU holding pen address as LE 2013-10-25 15:59:42 +01:00
smp.c arm64: FIQs are unused 2014-01-30 13:51:43 +00:00
stacktrace.c ARM64: fix framepointer check in unwind_frame 2013-12-19 17:43:10 +00:00
suspend.c arm64: kernel: fix per-cpu offset restore on resume 2014-01-24 14:27:40 +00:00
sys32.S arm64: compat: correct register concatenation for syscall wrappers 2013-10-25 15:59:36 +01:00
sys_compat.c compat: generic compat_sys_sched_rr_get_interval() implementation 2012-12-17 17:15:18 -08:00
sys.c arm64: switch to generic sigaltstack 2013-02-14 09:17:29 -05:00
time.c arch_timer: Move to generic sched_clock framework 2013-10-09 16:54:10 -07:00
traps.c arm64: debug: consolidate software breakpoint handlers 2013-06-12 11:23:02 +01:00
vdso.c arm64: big-endian: don't treat code as data when copying sigret code 2013-10-25 15:59:37 +01:00
vmlinux.lds.S arm64: Remove unused __data_loc variable 2013-12-20 12:04:48 +00:00