glibc/sysdeps/unix/sysv/linux/powerpc
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
..
bits PowerPC: Fix termios definitions 2014-08-06 14:31:54 -04:00
powerpc32 Remove stray includes of kernel-features.h. 2014-06-25 18:09:01 +00:00
powerpc64 Refactor handling of /lib64 etc. cases, move out of sysdeps/gnu/configure.ac. 2014-07-17 14:35:48 +00:00
sys
arch-fork.h
chown.c Remove stray includes of kernel-features.h. 2014-06-25 18:09:01 +00:00
configure
configure.ac
dl-brk.S
dl-cache.h
dl-static.c
dl-sysdep.c Remove stray includes of kernel-features.h. 2014-06-25 18:09:01 +00:00
get_clockfreq.c Fix powerpc32 __get_clockfreq for non-power4 (bug 17263). 2014-08-13 16:06:18 +00:00
get_timebase_freq.c
getdents64.c
getmsg.c
getrlimit64.c
gettimeofday.c
Implies NPTL is no longer an add-on! 2014-07-07 09:29:06 -07:00
init-first.c
ioctl.c
ipc_priv.h
kernel_termios.h
kernel-features.h [PATCH 4/6] Split powerpc out of main Linux kernel-features.h. 2014-07-17 17:53:52 +00:00
lchown.S
ldconfig.h
ldd-rewrite.sed
ldsodefs.h
libc-start.c
lowlevellock.h PowerPC: Fix build due missing lll_robust_trylock 2014-07-10 16:46:33 -05:00
Makefile
nldbl-abi.h
oldgetrlimit64.c
profil-counter.h
pt-longjmp.c
pthread_attr_setstack.c
pthread_attr_setstacksize.c
pthread_spin_unlock.c
putmsg.c
readdir64_r.c
readdir64.c
readelflib.c
rt-sysdep.c
sched_getcpu.c
sem_post.c
setrlimit.c
sigcontextinfo.h
syscall.S
syscalls.list
sysdep.c
test-gettimebasefreq.c Fix missing newline in test output 2014-07-09 11:07:24 +02:00
time.c
Versions