(WSTOPPED, WEXITED, WCONTINUED, WNOWAIT): New macros.
* sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_WAITID_SYSCALL):
New macro.
* sysdeps/unix/sysv/linux/waitid.c: New file. Use new syscall when
available, or fall back to the waitpid-based generic code.
2004-08-15 Roland McGrath <roland@redhat.com>
[BZ #227]
* sysdeps/unix/sysv/linux/kernel-features.h
(__ASSUME_BRK_PAGE_ROUNDED): New macro.
* sysdeps/unix/sysv/linux/dl-sysdep.c (frob_brk)
[! __ASSUME_BRK_PAGE_ROUNDED]: Adjust the break up if it falls within
the partial page after the dynamic linker's own data segment.
2004-03-01 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/kernel-features.h: Add support for
__ASSUME_GETDENTS32_D_TYPE.
* sysdeps/unix/sysv/linux/getdents.c: For 2.6.4+ kernels you
getdents syscall again since it provides d_type information.
* manual/install.texi (Tools for Compilation): Autoconf 2.53 is
required.
2004-01-14 Steven Munroe <sjmunroe@us.ibm.com>
* include/libc-symbols.h [HAVE_ASM_GLOBAL_DOT_NAME]
(_symbol_version): Use C_SYMBOL_DOT_NAME to create '.'ed symbols.
(_default_symbol_version): Use C_SYMBOL_DOT_NAME to create '.'ed
symbols.
* sysdeps/powerpc/Makefile: Add rtld-global-offsets.sym to
gen-as-const-headers.
* sysdeps/powerpc/elf/rtld-global-offsets.sym: New file.
* sysdeps/powerpc/sysdep.h: Define v# symbols for vector registers.
Define PPC_FEATURE_* masks for Aux Vector AT_HWCAP.
* sysdeps/unix/sysv/linux/kernel-features.h
(__ASSUME_SWAPCONTEXT_SYSCALL): Define for PPC and 2.6.0 kernels.
* sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h [!__WORDSIZE == 32]:
Declare mcontext_t inline and include altivec state for 64-bit.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions: Add GLIBC_2.3.4
versions for setcontext, getcontext, and swapcontext.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions: Add GLIBC_2.3.4
versions for setcontext, getcontext, swapcontext, and makecontext.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S
(__getcontext): Upgrade to save Altivec regs and version GLIBC_2_3_4.
[SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4)](__novec_getcontext):
Compatible with GLIBC_2.3.3 release.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S
(__makecontext): Use parm save area instead of compiler_dw to hold
context pointer.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S
(__setcontext): Upgrade to restore Altivec regs and version
GLIBC_2_3_4.
[SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4)](__novec_setcontext):
Compatible with GLIBC_2.3.3 release.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S
(__swapcontext): Upgrade to swap Altivec regs and version GLIBC_2_3_4.
[SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4)](__novec_swapcontext):
Compatible with GLIBC_2.3.3 release.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/ucontext_i.h
(SIGCONTEXT_V_REGS_PTR, SIGCONTEXT_V_RESERVE): Defined.
2004-01-12 Steven Munroe <sjmunroe@us.ibm.com>
* sysdeps/unix/sysv/linux/powerpc/powerpc32/Versions: Add GLIBC_2.3.4
versions for setcontext, getcontext, swapcontext, and makecontext.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S
(__getcontext): Upgrade to save Altivec regs and version GLIBC_2_3_4.
[SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)](__novec_getcontext):
Compatible with GLIBC_2.3.3 release.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S
(__makecontext): Upgrade to align for Altivec regs and version
GLIBC_2_3_4.
[SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)](__novec_makecontext):
Compatible with GLIBC_2.3.3 release.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S
(__setcontext): Upgrade to restore Altivec regs and version
GLIBC_2_3_4.
[SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)](__novec_setcontext):
Compatible with GLIBC_2.3.3 release.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S
(__swapcontext): Upgrade to swap Altivec regs and version GLIBC_2_3_4.
[SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)]
(__novec_swapcontext): Compatible with GLIBC_2.3.3 release.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/ucontext_i.h:
(_UC_VSCR, _UC_VRSAVE): Define.
(_FRAME_BACKCHAIN, _FRAME_LR_SAVE,_FRAME_PARM_SAVE1,_FRAME_PARM_SAVE2,
_FRAME_PARM_SAVE3, _FRAME_PARM_SAVE4): Defined.
2003-12-11 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/kernel-features.h: Remove __ASSUME_VSYSCALL.
There might always be processes which have no vDSO.
* sysdeps/generic/dl-sysdep.c: Remove __ASSUME_VSYSCALL uses.
* sysdeps/unix/sysv/linux/i386/sigaction.c: Likewise.
2003-11-26 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/kernel-features.h
(__ASSUME_PROT_GROWSUPDOWN): Define for 2.6.1 and up.
* sysdeps/unix/sysv/linux/dl-execstack.c: Omit compatibility code
if __ASSUME_PROT_GROWSUPDOWN is defined.
2003-11-26 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/dl-execstack.c
(_dl_make_stack_executable): Set dl_stack_flags always for
success.
2003-08-15 Ulrich Drepper <drepper@redhat.com>
* io/Versions [GLIBC_2.3.3]: Add posix_fadvise64.
* io/fcntl.h (posix_fadvise64): Change type of third parameter to
off_t.
* sysdeps/unix/sysv/linux/posix_fadvise.c: Adjust definition.
* sysdeps/unix/make-syscalls.sh: Recognize V prefix to the parameter
description indicating the error value is returned, not -1.
* sysdeps/unix/sysv/linux/Makefile [subdir=io] (subdir_routines): Add
posix_fadvise64_64.
* sysdeps/unix/sysv/linux/kernel-features.h: Add definition of
__ASSUME_FADVISE64_64_SYSCALL.
* sysdeps/unix/sysv/linux/syscalls.list: Don't define madvise and
posix_madvise in one file. Have posix_madvise defined with error
value returned.
Define posix_fadvise64_64 entry. Add version info to posix_fadvise64
entry.
* sysdeps/unix/sysv/linux/alpha/syscalls.list: Define
posix_fadvise64_64 entry. Add version info to posix_fadvise64 entry.
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/i386/posix_fadvise.S: New file.
* sysdeps/unix/sysv/linux/i386/sysdep.h: Define PSEUDO_ERRVAL,
PSEUDO_END_ERRVAL, and ret_ERRVAL.
* sysdeps/unix/sysv/linux/ia64/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise.
* posix/Makefile (routines): Add posix_madvise.
* sysdeps/generic/madvise.c: Don't define posix_madvise.
* sysdeps/generic/posix_madvise.c: New file.
* sysdeps/unix/sysv/aix/posix_madvise.c: New file.
More cancellation handling fixups.
* sysdeps/unix/sysv/linux/not-cancel.h: Add waitpid_not_cancel.
* sysdeps/generic/not-cancel.h: Likewise.
* catgets/open_catalog.c: Use not-cancelable syscalls.
* time/Makefile (CFLAGS-getdate.c): Add -fexceptions.
* sysdeps/unix/sysv/linux/llseek.c: Must not be cancelable.
* sysdeps/unix/syscalls.list: Don't mark lseek as cancelable.
* dlfcn/dlfcn.h: Mark dlopen with __THROW again.
* io/fcntl.h: Don't mark posix_fallocate with __THROW.
* libio/fileops.c: Use not-cancelable syscalls for fclose.
* libio/iopopen.c: Use no-cancelable syscalls.
* libio/stdio.h: Mark popen and pclose with __THROW again.
* misc/Makefile (CFLAGS-syslog.c): Add -fexceptions.
* misc/syslog.c: Fix locking and cancellation cleanup handling.
* posix/unistd.h: Mark ttyname and ttyname_r again with __THROW.
* stdio-common/Makefile (CFLAGS-tmpfile.c, CFLAGS-tmpfile64.c,
CFLAGS-tempname.c): Add -fexceptions.
* stdlib/Makefile (CFLAGS-mkstemp.c): Add -fexceptions.
* string/string.h: Mark strerror and strerror_r with _THROW again.
* sysdeps/generic/unwind.inc: New file. Copied from gcc.
* sysdeps/generic/unwind-dw2.c: Update from gcc version. Remove
#ifs since we now need all the code compiled.
* sysdeps/posix/spawni.c: Use close_not_cancel instead of close.
* sysdeps/unix/closedir.c: Use not-cancelable syscalls.
* sysdeps/unix/opendir.c: Likewise.
* sysdeps/unix/sysv/linux/kernel-features.h: Define
__ASSUME_UTIMES for x86 and kernels > 2.5.75.
* sysdeps/unix/sysv/linux/futimes.c (__futimes): Handle case with
second parameter == NULL.
* sysdeps/unix/sysv/linux/utimes.c: New file.
2003-07-12 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/futimes.c: Include kernel-features.h.
* sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_UTIMES): Fix
a typo.
2003-07-12 Ulrich Drepper <drepper@redhat.com>
2003-07-12 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/kernel-features.h: Define
__ASSUME_UTIMES for the architectures which always had the syscall.
* sysdeps/unix/sysv/linux/futimes.c: New file.
2003-07-07 Ulrich Drepper <drepper@redhat.com>
* descr.h (struct pthread): Add pid field.
* allocatestack.c (allocate_stack): Initialize pid field in descriptor.
(__reclaim_stacks): Likewise.
* init.c (sigcancel_handler): If __ASSUME_CORRECT_SI_PID is defined
also check for PID of the signal source.
(__pthread_initialize_minimal_internal): Also initialize pid field
of initial thread's descriptor.
* pthread_cancel.c: Use tgkill instead of tkill if possible.
* sysdeps/unix/sysv/linux/fork.c: Likewise.
* sysdeps/unix/sysv/linux/pt-raise.c: Likewise.
* sysdeps/unix/sysv/linux/pthread_kill.c: Likewise.
* sysdeps/unix/sysv/linux/raise.c: Likewise.
* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Don't set
GL(dl_sysinfo) unles GL(dl_sysinfo_dso) is also set.
* sysdeps/unix/sysv/linux/kernel-features.h: Define
__ASSUME_VSYSCALL only for 2.5.69 and up since this is when the
vsyscall DSO was added.
2003-06-24 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/fstatfs64.c (__fstatfs64): Add support
for the fstatfs64 syscall.
* sysdeps/unix/sysv/linux/statfs64.c (__statfs64): Add support for
the statfs64 syscall.
* sysdeps/unix/sysv/linux/kernel-features.h: Define
__ASSUME_STATFS64 appropriately.
* sysdeps/unix/sysv/linux/internal_statvfs.c: Use f_frsize field
from statfs structure if it has been filled in.
* sysdeps/unix/sysv/linux/bits/statfs.h (struct statfs): Add f_frsize
field.
(struct statfs64): Likewise.
* sysdeps/unix/sysv/linux/alpha/bits/statfs.h: Likewise.
* sysdeps/unix/sysv/linux/s390/bits/statfs.h: Likewise.
instead of __libc_cleanup_region_*.
2003-06-09 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/kernel-features.h
(__ASSUME_SETRESGID_SYSCALL): Define.
* sysdeps/unix/sysv/linux/setegid.c: Use __ASSUME_SETRESGID_SYSCALL
instead of __ASSUME_SETRESUID_SYSCALL.
(setegid): Only use setresgid32 inline syscall if __NR_setresgid32 is
defined.
* sysdeps/unix/sysv/linux/seteuid.c (seteuid): Only use setresgid32
inline syscall if __NR_setresuid32 is defined.
* sysdeps/unix/sysv/linux/i386/setegid.c (setegid): Use
__ASSUME_SETRESGID_SYSCALL instead of __ASSUME_SETRESUID_SYSCALL.
* sysdeps/unix/sysv/linux/i386/setregid.c: Backout last changes.
* sysdeps/unix/sysv/linux/i386/setreuid.c: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc32/setegid.c (setegid): Protect
code handling non-existant setresgid32 syscall with
#if __ASSUME_SETRESGID_SYSCALL == 0.
2003-06-09 Andreas Schwab <schwab@suse.de>
* sunrpc/Makefile (generated): Remove rpc-proto.c, rpc-proto.d.
($(rpcsvc:%.x=$(objpfx)x%$o)): Don't depend on
$(objpfx)rpc-proto.d.
(rpcsvc-dt-files, rpcsvc-depfiles): Define. Include
$(rpcsvc-depfiles) instead of $(objpfx)rpc-proto.d.
($(objpfx)rpc-proto.d, $(objpfx)rpc-proto.c): Remove rules.
2003-04-12 Ulrich Drepper <drepper@redhat.com>
* sysdeps/x86_64/tls.h (THREAD_SETMEM): Word around compiler bug
which mishandles loading of global object addresses in PIC.
(THREAD_SETMEM_NC): Likewise.
2003-04-05 Alexandre Oliva <aoliva@redhat.com>
* sysdeps/unix/sysv/linux/mips/mips64/n32/ftruncate64.c: New.
* sysdeps/unix/sysv/linux/mips/mips64/n32/truncate64.c: New.
* sysdeps/unix/sysv/linux/kernel-features.h: fcntl64 is available
on mips n32.
* sysdeps/unix/sysv/linux/mips/kernel_stat.h: Explain why
XSTAT_IS_XSTAT64 must not be used for mips n64. Use 64-bit data
structure on n32 as well.
* sysdeps/unix/sysv/linux/mips/bits/stat.h: Use POSIX-compliant
data types on n32 and n64.
* sysdeps/unix/sysv/linux/kernel-features.h
(__ASSUME_VFORK_SYSCALL): Define for kernel 2.4 on arm.
* sysdeps/unix/sysv/linux/arm/vfork.S: Elide compatibility code
when __ASSUME_VFORK_SYSCALL is defined.
* sysdeps/unix/sysv/linux/arm/mmap64.S: Likewise for
__ASSUME_MMAP2_SYSCALL.
* sysdeps/unix/sysv/linux/arm/sigaction.c: Likewise for
__ASSUME_REALTIME_SIGNALS.
* sysdeps/unix/sysv/linux/ia64/system.c: New file.
* sysdeps/unix/sysv/linux/kernel-features.h
(__ASSUME_CLONE_THREAD_FLAGS): Define for IA-64 and s390* with
kernel >= 2.5.64.
2003-03-11 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S: Don't clobber R7.
2002-01-12 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_VFORK_SYSCALL):
Define for powerpc.
* sysdeps/unix/sysv/linux/powerpc/syscall.S: Take register alignment
into account.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h
(INTERNAL_SYSCALL): Make use of ERR parameter.
(INTERNAL_SYSCALL_DECL, INTERNAL_SYSCALL_ERRNO,
INTERNAL_SYSCALL_ERROR_P): Adjust accordingly.
(INLINE_SYSCALL): Make use of INTERNAL_SYSCALL.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S: New file.
2002-01-09 Richard Henderson <rth@redhat.com>
* sysdeps/alpha/dl-machine.h (elf_machine_rela): Compute
DTPREL64 and TPREL64 without loadbase applied.
2002-01-09 Richard Henderson <rth@redhat.com>
* sysdeps/unix/alpha/sysdep.S: Use correct definition of errno
for NOT_IN_libc.
* sysdeps/unix/sysv/linux/alpha/sysdep.h: Move inline syscall bits...
* sysdeps/unix/alpha/sysdep.h: ... here.
(PSEUDO_LOADGP): Remove.
(PSEUDO_PROLOGUE): Load GP in non-pic case.
(SYSCALL_ERROR_LABEL): New.
(PSEUDO): Use it in error branch.
(PSEUDO_END): Add $syscall_error label.
are known to have the vfork syscall.
* sysdeps/m68k/sysdep.h (JUMPTARGET): Undefine before defining it.
* sysdeps/unix/sysv/linux/kernel-features.h
(__ASSUME_MMAP2_SYSCALL, __ASSUME_TRUNCATE64_SYSCALL)
(__ASSUME_STAT64_SYSCALL, __ASSUME_FCNTL64)
(__ASSUME_VFORK_SYSCALL): Define for m68k kernels >= 2.4.12.
2002-12-19 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/i386/system.c: Define FORK only if
__ASSUME_CLONE_THREAD_FLAGS is defined.
* sysdeps/unix/sysv/linux/kernel-features.h
(__ASSUME_CLONE_THREAD_FLAGS): Define for x86 and kernel >=
2.5.50.
* sysdeps/unix/sysv/linux/i386/brk.c: Use INTERNAL_SYSCALL instead
of asm.
* sysdeps/unix/sysv/linux/i386/sigaction.c: Likewise.
* sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_VFORK_SYSCALL):
Define for 2.4+ kernels.
* sysdeps/unix/sysv/linux/i386/vfork.S: Optimize for kernels which
are known to have the vfork syscall. Don't confuse the CPUs
branch prediction unit by jumping to the return address.
2002-10-05 Kaz Kojima <kkojima@rr.iij4u.or.jp>
* elf/tls-macros.h: Fix SH version of macros so as to match ABI syntax.
2002-10-03 Ulrich Drepper <drepper@redhat.com>
* version.h (RELEASE): Change to stable.
See ChangeLog.13 for earlier changes.
* sysdeps/unix/sysv/linux/kernel-features.h
(__ASSUME_SETRESUID_SYSCALL): On the sparc, define to 1, not empty.
2002-09-29 Jakub Jelinek <jakub@redhat.com>
(__ASSUME_TRUNCATE64_SYSCALL, __ASSUME_STAT64_SYSCALL, __ASSUME_IPC64,
__ASSUME_FCNTL64, __ASSUME_MMAP2_SYSCALL): Don't define these.
PowerPC64 does not have separate 64-bit syscalls.
2002-08-15 Ulrich Drepper <drepper@redhat.com>
* csu/Makefile: Define elide-routines.os not static-only-routines.
* include/sched.h (__clone): Add varargs at the end.
* elf/rtld.c (_dl_start): All TLS_INIT_TP to fail and stop in that
case.
(TLS_INIT_HELPER): If defined use it.
* sysdeps/generic/libc-tls.c (TLS_INIT_HELPER): Likewise.
* locale/loadarchive.c (archfname): Add missing slash.
* sysdeps/generic/strtold.c (__strtold_internal): Add libc_hidden_def.
* wcsmbs/wcstold.c (__wcstold_internal): Add libc_hidden_def.
* sysdeps/unix/sysv/linux/ldsodefs.h (HAVE_AUX_XID): Define if
__ASSUME_AT_XID is defined.
* sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_AT_XID): Define
for 2.4.1 and up.
* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Optimize handling
of AT_UID, AT_EUID, AT_GID, and AT_EGID.
2001-07-06 Paul Eggert <eggert@twinsun.com>
* manual/argp.texi: Remove ignored LGPL copyright notice; it's
not appropriate for documentation anyway.
* manual/libc-texinfo.sh: "Library General Public License" ->
"Lesser General Public License".
2001-07-06 Andreas Jaeger <aj@suse.de>
* All files under GPL/LGPL version 2: Place under LGPL version
2.1.