aboutsummaryrefslogtreecommitdiffstats
path: root/lib/gcd.c
diff options
context:
space:
mode:
authorWill Deacon <will.deacon@arm.com>2015-06-19 08:56:33 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2015-07-21 13:10:03 -0400
commite3334dca73de24e5798759b14ed9e4f58e241fbd (patch)
tree2453056bf430052d3f661dc538267c33bcb8c7da /lib/gcd.c
parentda8de4cde423fcd62233467ff9c067137beda0e8 (diff)
arm64: vdso: work-around broken ELF toolchains in Makefile
commit 6f1a6ae87c0c60d7c462ef8fd071f291aa7a9abb 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>
Diffstat (limited to 'lib/gcd.c')
0 files changed, 0 insertions, 0 deletions