From 471a1672d4d55124de4db8273829f96cc14d424a Mon Sep 17 00:00:00 2001 From: Anton Blanchard Date: Tue, 15 Jan 2013 12:50:46 -0600 Subject: PowerPC: Rename __kernel_vdso_get_tbfreq to __kernel_get_tbfreq. In order for the __kernel_get_tbfreq vDSO call to work the INTERNAL_VSYSCALL_NCS macro needed to be updated to prevent it from assuming an integer return type (since the timebase frequency is a 64-bit value) by specifying the type of the return type as a macro parameter. The macro then specifically declares the return value as a 'register' (or implied pair) of the denoted type. The compiler is then informed that this register (or implied pair) is to be used for the return value. --- ChangeLog | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'ChangeLog') diff --git a/ChangeLog b/ChangeLog index 647ce1d496..24f2d20fdc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,25 @@ +2013-01-15 Anton Blanchard + Ryan S. Arnold + + * sysdeps/unix/sysv/linux/powerpc/init-first.c: Rename + __kernel_vdso_get_tbfreq to __kernel_get_tbfreq. + * sysdeps/unix/sysv/linux/powerpc/get_clockfreq.c: Add parameter to + INTERNAL_VSYSCALL_NO_SYSCALL_FALLBACK to specify return type. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h + (INTERNAL_VSYSCALL_NCS): Change "=&r" in inline asm output regs list to + "+r" and remove output regs list as redundant. Add explicit inline + asm to specify register of return val to work around compiler codegen + bug. Remove (int) cast on return value. Add return type parameter to + use in macro so that this macro does not truncate return value for + 64-bit values. + (INTERNAL_VSYSCALL_NO_SYSCALL_FALLBACK): Add return type parameter and + pass to INTERNAL_VSYSCALL_NCS. + (INLINE_VSYSCALL): Add 'long int' as return type to + INTERNAL_VSYSCALL_NCS macro invocation. + (INTERNAL_VSYSCALL): Add 'long int' as return type to + INTERNAL_VSYSCALL_NCS macro invocation. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h: Likewise. + 2013-01-18 Siddhesh Poyarekar [BZ #14496] -- cgit 1.4.1