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 ptrace.h: add __ prefix to ptrace_peeksiginfo_args 2014-01-06 08:07:33 -05:00
arch-fork.h Split arch-fork.h from fork.h 2014-05-16 11:17:41 -07:00
chown.c Remove stray includes of kernel-features.h. 2014-06-25 18:09:01 +00:00
configure Move architecture cases out of sysdeps/unix/sysv/linux/configure.ac. 2014-06-24 20:53:03 +00:00
configure.ac Move architecture cases out of sysdeps/unix/sysv/linux/configure.ac. 2014-06-24 20:53:03 +00:00
dl-brk.S
dl-cache.h
dl-static.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
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 Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
getdents64.c
getmsg.c
getrlimit64.c
gettimeofday.c PowerPC: Fix gettimeofday ifunc selection 2014-01-20 12:29:51 -06:00
Implies NPTL is no longer an add-on! 2014-07-07 09:29:06 -07:00
init-first.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
ioctl.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
ipc_priv.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
kernel_termios.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
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 Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
ldconfig.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
ldd-rewrite.sed
ldsodefs.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
libc-start.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
lowlevellock.h PowerPC: Fix build due missing lll_robust_trylock 2014-07-10 16:46:33 -05:00
Makefile PowerPC: Move remaining nptl/sysdeps/unix/sysv/linux/powerpc/ files. 2014-05-26 11:45:14 -05:00
nldbl-abi.h
oldgetrlimit64.c
profil-counter.h
pt-longjmp.c PowerPC: Move remaining nptl/sysdeps/unix/sysv/linux/powerpc/ files. 2014-05-26 11:45:14 -05:00
pthread_attr_setstack.c PowerPC: Move remaining nptl/sysdeps/unix/sysv/linux/powerpc/ files. 2014-05-26 11:45:14 -05:00
pthread_attr_setstacksize.c PowerPC: Move remaining nptl/sysdeps/unix/sysv/linux/powerpc/ files. 2014-05-26 11:45:14 -05:00
pthread_spin_unlock.c PowerPC: Move remaining nptl/sysdeps/unix/sysv/linux/powerpc/ files. 2014-05-26 11:45:14 -05:00
putmsg.c
readdir64_r.c
readdir64.c
readelflib.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
rt-sysdep.c
sched_getcpu.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
sem_post.c PowerPC: Move remaining nptl/sysdeps/unix/sysv/linux/powerpc/ files. 2014-05-26 11:45:14 -05:00
setrlimit.c
sigcontextinfo.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
syscall.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
syscalls.list
sysdep.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
test-gettimebasefreq.c Fix missing newline in test output 2014-07-09 11:07:24 +02:00
time.c PowerPC: Fix gettimeofday ifunc selection 2014-01-20 12:29:51 -06:00
Versions PowerPC: use _dl_static_init to set GLRO(gl_pagesize) 2013-07-23 07:39:57 -05:00