glibc/sysdeps
Joseph Myers d44a052c49 Fix powerpc32 __get_clockfreq for non-power4 (bug 17263).
In my powerpc32 testing I've observed misc/test-gettimebasefreq
failing.

This is a glibc build (soft-float, though that's not relevant here)
without any --with-cpu and without any special configuration of the
default CPU for GCC either.  In particular, it's one not using
sysdeps/powerpc/powerpc32/power4/hp-timing.h (although in fact the
processor I'm using for testing is POWER4-based), so hp_timing_t is
32-bit not 64-bit.  But the VDSO call being used by
INTERNAL_VSYSCALL_NO_SYSCALL_FALLBACK is generating a 64-bit result
(high part in r3, low part in r4).  The code extracting that result,
however, expects a result of the type hp_timing_t as passed to
INTERNAL_VSYSCALL_NO_SYSCALL_FALLBACK, meaning that only r3 (= 0) is
used and the value in r4 is ignored.  This patch fixes this by always
using uint64_t as the type in INTERNAL_VSYSCALL_NO_SYSCALL_FALLBACK -
reflecting the actual ABI (unconditional in the kernel) of that VDSO
call.  This is the minimal change for this issue - no check for
overflow, no change of the type of the timebase_freq variable or the
return type of __get_clockfreq to something other than hp_timing_t
(such a change would simply move the implicit conversions to the over
callers of that function), no change to hp_timing_t itself.

Tested for powerpc32 soft float.

	[BZ #17263]
	* sysdeps/unix/sysv/linux/powerpc/get_clockfreq.c: Include
	<stdint.h>.
	(__get_clockfreq): Use uint64_t instead of hp_timing_t in
	INTERNAL_VSYSCALL_NO_SYSCALL_FALLBACK call.
2014-08-13 16:06:18 +00:00
..
aarch64 This patch adds new function libc_feholdsetround_noex_aarch64_ctx, enabling 2014-08-07 16:29:55 +00:00
alpha alpha: Fix exception raising from soft-fp 2014-08-05 13:36:36 -07:00
arm Fix performance issue in misaligned strcpy. 2014-08-07 14:30:31 +00:00
generic Add __safe_fatal and use it in __pthread_unwind forwarder fallback. 2014-07-31 14:00:33 -07:00
gnu Refactor handling of /lib64 etc. cases, move out of sysdeps/gnu/configure.ac. 2014-07-17 14:35:48 +00:00
hppa Move architecture shlib-versions files to Linux-specific directories. 2014-07-17 14:31:12 +00:00
i386
ia64 IA64: Move NPTL public headers to sysdeps/ia64/nptl/. 2014-08-04 09:58:14 -04:00
ieee754 Fix missing <math_private.h> in ldbl-96 fma 2014-08-04 10:20:20 +02:00
init_array
m68k Move architecture shlib-versions files to Linux-specific directories. 2014-07-17 14:31:12 +00:00
mach
microblaze Move architecture shlib-versions files to Linux-specific directories. 2014-07-17 14:31:12 +00:00
mips Move architecture shlib-versions files to Linux-specific directories. 2014-07-17 14:31:12 +00:00
nptl Check value of futex before updating in __lll_timedlock 2014-08-12 12:57:27 +01:00
posix
powerpc Fix powerpc-nofpu __fe_enabled_env and __fe_nonieee_env (bug 17261). 2014-08-12 20:31:54 +00:00
pthread
s390 [PATCH] S390: Fix remaining ONE_DIRECTION warning messages 2014-07-31 20:10:47 +02:00
sh
sparc
tile Move architecture shlib-versions files to Linux-specific directories. 2014-07-17 14:31:12 +00:00
unix Fix powerpc32 __get_clockfreq for non-power4 (bug 17263). 2014-08-13 16:06:18 +00:00
wordsize-32
wordsize-64
x86 Fix comment error that Jakub pointed out but I forgot to fix 2014-08-13 18:46:41 +05:30
x86_64 Replace cpuid asm statement with __cpuid_count 2014-08-12 17:02:51 -07:00