We must save and restore r19 in both PIC and non-PIC
situations since the kernel paths that clobber r19
are independent of that PIC-ness of userspace.
In addition we choose r4 as the temporary register over
r3 which is being used by recent gcc's as the frame
pointer.
* sysdeps/unix/sysv/linux/x86/bits/fcntl.h (__O_LARGEFILE)
[!__x86_64]: Do not define, take value from <bits/fcntl-linux.h>.
* sysdeps/unix/sysv/linux/s390/bits/fcntl.h (__O_LARGEFILE):
[__WORDSIZE != 64]: Likewise.
* sysdeps/unix/sysv/linux/generic/bits/fcntl.h: (__O_LARGEFILE)
[__WORDSIZE != 64]: Do not define, take value from
<bits/fcntl-linux.h>.
* sysdeps/unix/sysv/linux/hppa/bits/fcntl.h: Remove all
definitions and declarations that are provided by
<bits/fcntl-linux.h> and include <bits/fcntl-linux.h>.
(__O_PATH): Define.
* sysdeps/unix/sysv/linux/m68k/bits/fcntl.h: Remove all
definitions and declarations that are provided by
<bits/fcntl-linux.h> and include <bits/fcntl-linux.h>.
* sysdeps/unix/sysv/linux/generic/bits/fcntl.h: Remove all
definitions and declarations that are provided by
<bits/fcntl-linux.h> and include <bits/fcntl-linux.h>.
* sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Remove all
definitions and declarations that are provided by
<bits/fcntl-linux.h> and include <bits/fcntl-linux.h>.
* sysdeps/unix/sysv/linux/mips/bits/fcntl.h: Remove all
definitions and declarations that are provided by
<bits/fcntl-linux.h> and include <bits/fcntl-linux.h>.
* sysdeps/unix/sysv/linux/arm/bits/fcntl.h: Remove all
definitions and declarations that are provided by
<bits/fcntl-linux.h> and include <bits/fcntl-linux.h>.
We can discover our x,y coordinate in the core mesh with an
mfspr instruction, multiply y by the core mesh width, and have
the core number without needing to ask the kernel.
Updates the hppa-specific pthread.h from the generic version.
After this update the only difference between the generic
version and the hppa version is the footer protected by the
_PTHREAD_H_HPPA_ guard.
Fix a build failure by using __prlimit64 as the internal
function name for the versioned symbol prlimit64. Without
this patch the build system attempts to alias prlimit64
to itself and that is invalid.
The convert_bit macro allows the compiler to translate the bit
positions more efficiently. The assumption of only running at
program startup allows eliding the __ieee_get_fp_control call.
The previous dummy definition (as type int) was fine in general, since
tile doesn't have floating-point registers, but it confused gdb's
configure, leading to later compile errors. This change also makes
prfpregset_t parallel to prgregset_t, which seems like generally the
right thing regardless of the non-existence of the actual registers :-)
While most arches have had the fdatasync syscall for a long time, the
alpha port didn't add it until the 2.6.22 release.
This is heavily based on Aurelien Jarno's initial work.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
All other arches have this in their syscall list. Looks like hppa
is missing it though and breaks one or two apps that try to call it.
URL: https://bugs.gentoo.org/411745
Signed-off-by: Mike Frysinger <vapier@gentoo.org>