(__lll_robust_lock_wait): Also set FUTEX_WAITERS bit if we got the
mutex.
(__lll_robust_timedlock_wait): Likewise.
* sysdeps/unix/sysv/linux/i386/i486/lowlevelrobustlock.S
(__lll_robust_lock_wait): Likewise.
(__lll_robust_timedlock_wait): Likewise.
* sysdeps/unix/sysv/linux/lowlevelrobustlock.c
(__lll_robust_lock_wait): Likewise.
(__lll_robust_timedlock_wait): Likewise.
($(all-subdirs-targets)): Use it in place of -C option.
* Rules: Use $(..) instead of ../ if it's already defined.
* Makeconfig (subdir-srcdirs): New variable.
* csu/Makefile (all-Banner-files): Use it.
* configure.in (--enable-add-ons): Set to "yes" by default.
Handle absolute add-on directory names when looking for configure
fragments. Also look for sysdeps/*/preconfigure fragments in add-ons.
Require add-on configure to set $libc_add_on_canonical, use
that in $add_ons_sfx. Substitute add_on_subdirs with computed list
of subdir names each add-on configure set in libc_add_on_subdirs.
* configure: Regenerated.
* Makefile (%/preconfigure: %/preconfigure.in): New pattern rule.
* config.make.in (add-on-subdirs): New substituted variable.
* Makeconfig (all-subdirs): Include $(add-on-subdirs).
Remove $(add-ons), $(sysdep-subdirs).
Don't filter out $(sysdep-inhibit-subdirs).
($(common-objpfx)sysd-dirs): Target removed. Don't include it.
($(common-objpfx)sysd-sorted): Rewritten to feed Depend and Subdirs
files together to gen-sorted.awk, and $(subdirs) via -v.
(subdirs): Remove magic reordering for mach and hurd.
* scripts/gen-sorted.awk: Use subdirs from command line.
Process Subdirs and Depend files directly.
Let Subdirs files use "first dir" and "inhibit dir".
Always move elf to the end of the list.
* hurd/Depend: New file.
* sysdeps/mach/Subdirs: Use "first mach".
* Makefile (dist-separate): Remove linuxthreads.
(dist-separate-linuxthreads): Variable removed.
(glibc-%.tar rule): Use $(sysdeps-add-ons).
* Makerules ($(common-objpfx)Versions.v.i): Use $(subdirs),
not $(all-subdirs).
(sysdep-makefiles): Use $(sysdirs).
(sysdirs): Remove export.
($(+sysdir_pfx)sysd-rules): Handle absolute directory names in
$(config-sysdirs).
(+sysdir_pfx): Variable removed.
(sysd-rules): Use $(common-objpfx) in place of it.
(sysdirs): Variable moved to ...
* Makeconfig (sysdirs): ... here.
Handle absolute directory names in $(config-sysdirs).
(full_config_sysdirs): Variable removed.
* csu/Makefile: Use $(sysdirs) in vpath directive.
* math/Makefile (ulps-file): Use $(sysdirs).
* sysdeps/gnu/Makefile (errlist-c): Likewise.
($(objpfx)errlist-compat.c): Likewise.
* Makeconfig (all-Subdirs-files): Likewise.
($(common-objpfx)config.status): Likewise.
* configure.in (sysnames): Handle absolute add-on directory names.
(sysdeps_add_ons): New variable, AC_SUBST it.
Compute which add-ons contributed sysdeps directories.
* configure: Regenerated.
* config.make.in (sysdeps-add-ons): New substituted variable.
* Makerules (+sysdep_dirs, +sysdep-includes): Variables moved ...
* Makeconfig: ... to here.
(+sysdep_dirs): Append $(sysdeps-add-ons) here.
(+includes): Remove $(objpfx) include, already in $(+sysdep_dirs).
Remove $(includes).
(sysdep-makeconfigs): Use $(+sysdep_dirs).
($(common-objpfx)shlib-versions.v.i): Likewise.
* Makeconfig: Remove hair to set Makeconfig-add-on.
* sysdeps/unix/Makefile (sysdirs): Remove export.
(asm_CPP): Variable removed.
($(common-objpfx)sysd-syscalls): Pass them directly for the script.
* sysdeps/posix/Makefile: New file.
* Makerules (L_tmpnam, TMP_MAX, L_ctermid, L_cuserid): Set non-posix
values here with ?=.
* stdlib/gen-mpn-copy: File removed.
* stdlib/Makefile (distribute): Remove it.
* configure.in: Don't grok --with-gmp.
* configure: Regenerated.
* configure.in (libc_cv_idn): Don't check it; libidn/configure does it.
* configure: Regenerated.
* bare: Directory removed, saved in ports repository.
__openat64_not_cancel): Remove prototypes.
(__openat_nocancel, __openat64_nocancel): New prototypes or defines.
(openat_not_cancel, openat_not_cancel_3, openat64_not_cancel,
openat64_not_cancel_3): Use them.
* init.c (__pthread_initialize_minimal_internal): Likewise.
* descr.h (struct xid_command): Pretty printing.
(struct pthread): Use __pthread_list_t or __pthread_slist_t for
robust_list. Adjust macros.
* pthread_create.c (start_thread): Adjust robust_list handling.
* phtread_mutex_unlock.c: Don't allow unlocking from any thread
but the owner for all robust mutex types.
* sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h: Define
__pthread_list_t and __pthread_slist_t. Use them in pthread_mutex_t.
* sysdeps/pthread/pthread.h: Adjust mutex initializers.
2006-01-18 Andreas Jaeger <aj@suse.de>
[BZ #838]
* sysdeps/unix/sysv/linux/mips/bits/pthreadtypes.h
(pthread_mutex_t): Follow changes for other archs. Based on patch
by Jim Gifford <patches@jg555.com>.
* sysdeps/i386/jmpbuf-unwind.h: New file, moved from nptl/.
* sysdeps/mips/jmpbuf-unwind.h: New file, moved from nptl/.
* sysdeps/powerpc/jmpbuf-unwind.h: New file, moved from nptl/.
* sysdeps/s390/jmpbuf-unwind.h: New file, moved from nptl/.
* sysdeps/sh/jmpbuf-unwind.h: New file, moved from nptl/.
* sysdeps/sparc/sparc32/jmpbuf-unwind.h: New file, moved from nptl/.
* sysdeps/sparc/sparc64/jmpbuf-unwind.h: New file, moved from nptl/.
* sysdeps/x86_64/jmpbuf-unwind.h: New file, moved from nptl/.
* sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h (pthread_mutex_t):
Don't give the union a name because it changes the mangled name.
Instead name the struct for __data.
* sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h (pthread_mutex_t):
Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/pthreadtypes.h (pthread_mutex_t):
Likewise.
Don't give the union a name because it changes the mangled name.
Instead name the struct for __data.
* sysdeps/unix/sysv/linux/ia64/bits/pthreadtypes.h: Likewise.
* sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h: Likewise.
* sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h: Likewise.
* sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h: Likewise.
* pthread_create.c (start_thread): Adjust robust mutex free loop.
* descr.h (ENQUEUE_MUTEX, DEQUEUE_MUTEX): Adjust.
directive to ENTRY macros.
(END): Add cfi_endproc directive to END macro.
* sysdeps/powerpc/powerpc64/sysdep.h (ENTRY, EALIGN): Add cfi_startproc
directive to ENTRY macros.
(END, END_GEN_TB): Add cfi_endproc directive to END macros.
* sysdeps/powerpc/powerpc32/dl-start.S: Remove ENTRY()s for
_dl_start_user and _dl_main_dispatch.
* sysdeps/powerpc/powerpc32/fpu/fprrest.S: Use END macro.
* sysdeps/powerpc/powerpc32/fpu/fprsave.S: Use Likewise.
* sysdeps/powerpc/powerpc32/gprrest0.S: Likewise.
* sysdeps/powerpc/powerpc32/gprrest1.S: Likewise.
* sysdeps/powerpc/powerpc32/gprsave0.S: Likewise.
* sysdeps/powerpc/powerpc32/gprsave1.S: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S: Remove redundant
cfi_startproc and cfi_endproc.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/socket.S: Likewise.
2006-01-04 Ulrich Drepper <drepper@redhat.com>
* sysdeps/pthread/aio_misc.h (struct waitlist): Add result member.
* sysdeps/pthread/aio_notify.c (__aio_notify): For synchronous waiters,
failed I/O, and a result pointer, set value to -1.
* sysdeps/pthread/aio_suspend.c: Initialize result pointer to NULL.
* sysdeps/pthread/lio_listio.c: For LIO_WAIT, point result pointer in
wait list to local variable result. If nonzero afterwards, set errno
to EIO. For LIO_NOWAIT set result to NULL.
* rt/Makefile (tests): Add tst-aio8.
* rt/tst-aio8.c: New file.
(precsize_aton): Likewise.
(precsize_ntoa): Likewise.
* resolv/gethnamaddr.c (_gethtbyname): Remove extra prototype.
(gethostbyname2): Likewise.
(gethostbyaddr): Likewise.
(getanswer): Use ISO C function declaration.
and ENOTRECOVERABLE if not already defined.
* sysdeps/unix/sysv/linux/alpha/bits/errno.h: Likewise.
2005-12-27 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/alpha/Versions: Add new errlist-compat
entry for up to 138 errnos.
* sysdeps/pthread/sigaction.c: Use "" instead of <> to include self,
so that #include_next's search location is not reset to the -I..
directory where <nptl/...> can be found.
* elf/rtld.c: Define __pointer_chk_guard_local and if necessary
__pointer_chk_guard.
(_rtld_global_ro): Initialize _dl_pointer_guard.
(dl_main): Initialize __pointer_chk_guard_local and either
__pointer_chk_guard or TLS value if necessary.
(process_envvars): Recognize and handle LD_POINTER_GUARD.
* sysdeps/generic/ldsodefs.h (rtld_global_ro): Add _dl_pointer_guard.
* sysdeps/i386/__longjmp.S: Use PTR_DEMANGLE for PC if defined.
* sysdeps/x86_64/__longjmp.S: Likewise.
* sysdeps/i386/bsd-_setjmp.S: Use PTR_MANGLE for PC if defined.
* sysdeps/i386/bsd-_setjmp.S: Likewise.
* sysdeps/i386/setjmp.S: Likewise.
[IS_IN_rtld]: Avoid call to __sigjmp_save.
* sysdeps/i386/setjmp.S: Likewise.
* sysdeps/unix/sysv/linux/i386/sysdep.h: Define PTR_MANGLE and
PTR_DEMANGLE.
* sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise.
* sysdeps/i386/elf/setjmp.S: Removed.
* sysdeps/i386/elf/bsd-setjmp.S: Removed.