As reported in http://bugzilla.redhat.com/533063 , preadv/pwritev prototypes
are wrong on 32-bit arches with -D_FILE_OFFSET_BITS=64 and as I've just
found, fallocate is wrong too.
The problem is that only off_t is remapped to the 64-bit type transparently,
__off_t is not.
Due to a pasto the fallocate64 interface, introduced in glibc 2.10,
isn't exported for 32-bit Linux platforms. It is too late for this
now so exported them for glibc 2.11.
* sysdeps/unix/sysv/linux/bits/stat.h: Protect UTIME_NOW and
UTIME_OMIT only with __USE_ATFILE.
* sysdeps/unix/sysv/linux/ia64/bits/stat.h: Likewise.
* sysdeps/unix/sysv/linux/powerpc/bits/stat.h: Likewise.
* sysdeps/unix/sysv/linux/s390/bits/stat.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/stat.h: Likewise.
* sysdeps/unix/sysv/linux/x86_64/bits/stat.h: Likewise.
* io/sys/stat.h: Move mknodat definition into same conditional as
mknod.
* time/sys/time.h: futimesat is not among the functions accepted
into the POSIX standard.
* sysdeps/unix/sysv/linux/s390/bits/utmp.h: Copy of
gnu/bits/utmp.h. Check for __WORDSIZE_COMPAT32 removed.
* sysdeps/unix/sysv/linux/s390/bits/utmpx.h: Copy of
gnu/bits/utmpx.h. Check for __WORDSIZE_COMPAT32 removed.
* sysdeps/unix/sysv/linux/s390/s390-32/Makefile: Add new files
utmp32, utmpx32 and login32.
* sysdeps/unix/sysv/linux/s390/s390-32/Versions: Add 2.9
versions of struct utmp functions to libc and libutil.
* sysdeps/unix/sysv/linux/s390/s390-32/utmp-compat.h: New file.
* sysdeps/unix/sysv/linux/s390/s390-32/getutent.c: New file.
* sysdeps/unix/sysv/linux/s390/s390-32/getutent_r.c: New file.
* sysdeps/unix/sysv/linux/s390/s390-32/getutid.c: New file.
* sysdeps/unix/sysv/linux/s390/s390-32/getutid_r.c: New file.
* sysdeps/unix/sysv/linux/s390/s390-32/getutline.c: New file.
* sysdeps/unix/sysv/linux/s390/s390-32/getutline_r.c: New file.
* sysdeps/unix/sysv/linux/s390/s390-32/getutmp.c: New file.
* sysdeps/unix/sysv/linux/s390/s390-32/getutxent.c: New file.
* sysdeps/unix/sysv/linux/s390/s390-32/getutxid.c: New file.
* sysdeps/unix/sysv/linux/s390/s390-32/getutxline.c: New file.
* sysdeps/unix/sysv/linux/s390/s390-32/login.c: New file.
* sysdeps/unix/sysv/linux/s390/s390-32/login32.c: New file.
* sysdeps/unix/sysv/linux/s390/s390-32/pututxline.c: New file.
* sysdeps/unix/sysv/linux/s390/s390-32/updwtmp.c: New file.
* sysdeps/unix/sysv/linux/s390/s390-32/updwtmpx.c: New file.
* sysdeps/unix/sysv/linux/s390/s390-32/utmp-convert.h: New file.
* sysdeps/unix/sysv/linux/s390/s390-32/utmp32.c: New file.
* sysdeps/unix/sysv/linux/s390/s390-32/utmp32.h: New file.
* sysdeps/unix/sysv/linux/s390/s390-32/utmpx-convert.h: New file.
* sysdeps/unix/sysv/linux/s390/s390-32/utmpx32.c: New file.
* sysdeps/unix/sysv/linux/s390/s390-32/utmpx32.h: New file.
and creat system calls.
* sysdeps/unix/sysv/linux/alpha/syscalls.list: Remove open system
call.
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Remove open and creat
system calls.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise.
ptrace call to get the ieee_instruction_pointer from the kernel.
* sysdeps/s390/fpu/fesetenv.c (fesetenv): Remove PTRACE_POKEUSER
ptrace call to set the ieee_instructtion_pointer.
* sysdeps/unix/sysv/linux/s390/sys/user.h (struct _user_regs_struct):
Add comment that ieee_instruction_pointer is always 0.
2006-09-25 Jakub Jelinek <jakub@redhat.com>
[BZ #3252]
* sysdeps/unix/sysv/linux/powerpc/fchownat.c (fchownat): Handle only
fchownat syscall and __ASSUME_LCHOWN_SYSCALL case inline, call
__{,l}chown to handle the rest.
* sysdeps/unix/sysv/linux/i386/fchownat.c (fchownat): Handle only
fchownat syscall and __ASSUME_32BITUIDS case inline, call
__{,l}chown to handle the rest.
* sysdeps/unix/sysv/linux/sparc/sparc32/fchownat.c: Include
i386/fchownat.c.
* sysdeps/unix/sysv/linux/s390/s390-32/fchownat.c: Likewise.
* sysdeps/unix/sysv/linux/sh/fchownat.c: Likewise.
[BZ #3253]
* posix/glob.c (glob_in_dir): Don't alloca one struct globlink at a
time, rather allocate increasingly bigger arrays of pointers, if
possible with alloca, if too large with malloc.
2006-09-24 Jakub Jelinek <jakub@redhat.com>
* sysdeps/powerpc/fpu/libm-test-ulps: Updated.
* sysdeps/ieee754/ldbl-128/s_lrintl.c (__lrintl): Fix 2 typos.
Cast sp to unsigned long to avoid compiler warning.
Use __makecontext_ret function instead of a trampoline on the stack.
(__makecontext_ret): New function.
* sysdeps/unix/sysv/linux/s390/s390-64/makecontext.c: Likewise.
__strtol_ull_max_tab, __strtol_ull_rem_tab): Declare.
(DEF): Don't put the var into .gnu.linkonce.r.* section.
Only provide var definitions in strtol_l (or for *ull*
in strtoll_l).
* stdio-common/bug16.c (tests): New array.
(do_tests): Allow the first hexadecimal digit
to be 1, 2, 4 or 8. Do 3 additional tests.
* sysdeps/s390/fpu/libm-test-ulps: Update.
* sysdeps/unix/sysv/linux/s390/s390-32/fchownat.c (fchownat): Use
fchownat syscall if available.
* sysdeps/unix/sysv/linux/powerpc/fchownat.c (fchownat): Likewise.
* sysdeps/unix/sysv/linux/sh/fchownat.c (fchownat): Likewise.
* sysdeps/unix/sysv/linux/i386/fchownat.c (fchownat): Likewise.
(rec_dirsearch) [case HIGHER_NAME]: Correctly size ndomain array.