Ulrich Drepper [Mon, 13 Aug 2007 22:16:45 +0000 (22:16 +0000)]
* sysdeps/unix/sysv/linux/i386/i786/Implies: New file.
Ulrich Drepper [Mon, 13 Aug 2007 18:47:42 +0000 (18:47 +0000)]
* sysdeps/unix/sysv/linux/x86_64/libc-start.c
(_libc_vdso_platform_setup): If vDSO is not available point
__vdso_gettimeofday to the vsyscall.
* sysdeps/unix/sysv/linux/x86_64/gettimeofday.S [SHARED]: Use
__vdso_gettimeofday instead of vsyscall.
Ulrich Drepper [Mon, 13 Aug 2007 18:33:31 +0000 (18:33 +0000)]
* nscd/servicescache.c: Include kernel-features.h.
* nscd/gai.c: Likewise.
* sysdeps/unix/sysv/linux/statfs64.c: Likewise.
* sysdeps/unix/sysv/linux/fstatfs64.c: Likewise.
* sysdeps/unix/sysv/linux/fxstatat.c: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/mmap.S: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/mmap64.S: Likewise.
* sysdeps/unix/sysv/linux/xstatconv.c: Likewise.
* sysdeps/unix/sysv/linux/if_index.c: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/xstat.c: Likewise.
* sysdeps/unix/sysv/linux/ifaddrs.c: Likewise.
Ulrich Drepper [Mon, 13 Aug 2007 05:01:42 +0000 (05:01 +0000)]
* elf/dl-dst.h: No need for _dl_dst_count, _dl_dst_substitute,
and _dl_get_origin defines anymore.
Ulrich Drepper [Mon, 13 Aug 2007 00:46:30 +0000 (00:46 +0000)]
* sysdeps/unix/sysv/linux/clock_gettime.c (maybe_syscall_gettime_cpu):
Build fix for systems which might lack POSIX timer support.
Ulrich Drepper [Mon, 13 Aug 2007 00:23:59 +0000 (00:23 +0000)]
* sysdeps/unix/sysv/linux/x86_64/libc-start.c
(_libc_vdso_platform_setup): Mangle function pointers before storing
them.
* sysdeps/unix/sysv/linux/x86_64/sysdep.h (INLINE_VSYSCALL):
Demangle vdso pointer before use.
(INTERNAL_VSYSCALL): Likewise.
* elf/cache.c (primes): Mark as const.
Noted by Roland McGrath.
Ulrich Drepper [Sun, 12 Aug 2007 20:13:07 +0000 (20:13 +0000)]
* sysdeps/unix/sysv/linux/powerpc/libc-start.c
Ulrich Drepper [Sun, 12 Aug 2007 20:09:16 +0000 (20:09 +0000)]
2007-08-01 Andreas Jaeger <aj@suse.de>
Jakub Jelinek <jakub@redhat.com>
* elf/ldconfig.c (opt_ignore_aux_cache): Add new option.
(options): Add option.
(parse_opt): Handle option.
(manual_link): Adjust process_file caller. Call implicit_soname.
(search_dir): Formatting. Use and populate auxiliary cache.
(main): Load and save auxiliary cache.
* elf/readlib.c (process_file): Add stat_buf argument. Pass struct
stat64 from fstat64 to caller.
(implicit_soname): New function.
* elf/readelflib.c (process_elf_file): If DT_SONAME is not present,
leave *soname as NULL.
* elf/cache.c: Include libgen.h.
(print_entry, print_cache, compare, save_cache, add_to_cache):
Formatting and cleanups.
(aux_cache_entry_id, aux_cache_entry, aux_cache_file_entry,
aux_cache_file): New structures.
(AUX_CACHEMAGIC): Define.
(primes): New array.
(aux_hash_size, aux_hash): New variables.
(aux_cache_entry_id_hash, nextprime, init_aux_cache,
search_aux_cache, insert_to_aux_cache, add_to_aux_cache,
load_aux_cache, save_aux_cache): New functions.
* sysdeps/generic/ldconfig.h (_PATH_LDCONFIG_AUX_CACHE): Define.
(init_aux_cache, search_aux_cache, add_to_aux_cache,
load_aux_cache, save_aux_cache, implicit_soname): New prototypes.
(process_file): Adjust prototype.
Ulrich Drepper [Sun, 12 Aug 2007 19:40:27 +0000 (19:40 +0000)]
* sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h: Include stddef.h
with __need_size_t.
Ulrich Drepper [Sun, 12 Aug 2007 19:33:45 +0000 (19:33 +0000)]
* sysdeps/unix/sysv/linux/dl-vdso.c (_dl_vdso_vsym): Expect
r_found_version structure as second parameter.
* sysdeps/unix/sysv/linux/dl-vdso.h (PREPARE_VERSION): Define.
(_dl_vdso_vsym): Change type of second parameter accordingly.
* sysdeps/unix/sysv/linux/x86-64/libc-start.c
(_libc_vdso_platform_setup): Adjust.
* sysdeps/unix/sysv/linux/pwoerpc/libc-start.c
(_libc_vdso_platform_setup): Likewise.
Ulrich Drepper [Sun, 12 Aug 2007 19:03:54 +0000 (19:03 +0000)]
* sysdeps/unix/sysv/linux/powerpc/dl-vdso.c: Move to...
* sysdeps/unix/sysv/linux/dl-vdso.c: ...here.
* sysdeps/unix/sysv/linux/powerpc/dl-vdso.h: Move to...
* sysdeps/unix/sysv/linux/dl-vdso.h: ...here.
* csu/libc-start.c: Pretty printing.
Use VDSO_SETUP if defined.
* sysdeps/unix/sysv/linux/powerpc/libc-start.c: Define VDSO_SETUP
and let generic code call into _libc_vdso_platform_setup.
* sysdeps/unix/sysv/linux/x86_64/libc-start.c: New file.
* sysdeps/unix/sysv/linux/x86_64/bits/libc-vdso.h: New file.
* sysdeps/unix/sysv/linux/x86_64/sysdep.h: Pretty printing.
Define INLINE_VSYSCALL and INTERNAL_VSYSCALL.
* sysdeps/unix/sysv/linux/x86_64/Versions: Export __vdso_clock_gettime
for GLIBC_PRIVATE.
* sysdeps/unix/sysv/linux/x86_64/Makefile [subdir=elf]
(sysdep_rountines): Add dl-vdso.
* sysdeps/unix/sysv/linux/powerpc/Makefile: Use sysdep_routines instead
of routines.
* sysdeps/unix/sysv/linux/powerpc/bits/libc-vdso.h: Add
attribute_hidden to __vdso_gettimeofday prototype.
Ulrich Drepper [Sun, 12 Aug 2007 17:43:15 +0000 (17:43 +0000)]
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Include
<kernel-features.h>.
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Likewise.
Ulrich Drepper [Sun, 12 Aug 2007 17:42:59 +0000 (17:42 +0000)]
Include <kernel-features.h>.
Roland McGrath [Sun, 12 Aug 2007 13:19:17 +0000 (13:19 +0000)]
* manual/stdio.texi (Variable Arguments Output): Fix xref to gcc manual.
From: Karl Berry <karl@freefriends.org>.
Roland McGrath [Sat, 11 Aug 2007 20:26:55 +0000 (20:26 +0000)]
typo
* nscd/connections.c: Use O_CLOEXEC if possible. Use mkostemp
Ulrich Drepper [Sat, 11 Aug 2007 18:50:51 +0000 (18:50 +0000)]
* pthreadP.h (PTHREAD_ROBUST_MUTEX_PSHARED): Define.
* pthread_mutex_lock.c: Use it instead of PTHREAD_MUTEX_PSHARED when
dealing with robust mutexes.
* pthread_mutex_timedlock.c: Likewise.
* pthread_mutex_trylock.c: Likewise.
* pthread_mutex_unlock.c: Likewise.
* sysdeps/unix/sysv/linux/pthread_mutex_cond_lock.c: Likewise.
2007-08-06 Jakub Jelinek <jakub@redhat.com>
* pthreadP.h (PTHREAD_MUTEX_PSHARED_BIT): Define.
(PTHREAD_MUTEX_TYPE): Mask __kind with 127.
(PTHREAD_MUTEX_PSHARED): Define.
* pthread_mutex_init.c (__pthread_mutex_init): Set
PTHREAD_MUTEX_PSHARED_BIT for pshared or robust
mutexes.
* pthread_mutex_lock.c (LLL_MUTEX_LOCK): Take mutex as argument
instead of its __data.__lock field, pass PTHREAD_MUTEX_PSHARED
as second argument to lll_lock.
(LLL_MUTEX_TRYLOCK): Take mutex as argument
instead of its __data.__lock field.
(LLL_ROBUST_MUTEX_LOCK): Take mutex as argument instead of its
__data.__lock field, pass PTHREAD_MUTEX_PSHARED as second argument
to lll_robust_lock.
(__pthread_mutex_lock): Update LLL_MUTEX_LOCK, LLL_MUTEX_TRYLOCK,
LLL_ROBUST_MUTEX_LOCK users, use PTHREAD_MUTEX_TYPE (mutex)
instead of mutex->__data.__kind directly, pass
PTHREAD_MUTEX_PSHARED (mutex) to lll_unlock and lll_futex_wait.
* pthread_mutex_trylock.c (__pthread_mutex_trylock): Use
PTHREAD_MUTEX_TYPE (mutex) instead of mutex->__data.__kind
directly, pass PTHREAD_MUTEX_PSHARED (mutex) to lll_unlock.
(pthread_mutex_timedlock): Pass PTHREAD_MUTEX_PSHARED (mutex)
to lll_timedlock, lll_robust_timedlock, lll_unlock and
lll_futex_timed_wait. Use PTHREAD_MUTEX_TYPE (mutex) instead
of mutex->__data.__kind directly.
* pthread_mutex_timedlock.c (pthread_mutex_timedlock): Pass
PTHREAD_MUTEX_PSHARED (mutex) to lll_timedlock,
lll_robust_timedlock, lll_unlock and lll_futex_timed_wait. Use
PTHREAD_MUTEX_TYPE (mutex) instead of mutex->__data.__kind directly.
* pthread_mutex_unlock.c (__pthread_mutex_unlock_usercnt): Pass
PTHREAD_MUTEX_PSHARED (mutex) to lll_unlock, lll_robust_unlock
and lll_futex_wake.
* pthread_mutex_setprioceiling.c (pthread_mutex_setprioceiling): Pass
PTHREAD_MUTEX_PSHARED (mutex) to lll_futex_wait and lll_futex_wake.
Use PTHREAD_MUTEX_TYPE (mutex) instead of mutex->__data.__kind
directly.
* sysdeps/unix/sysv/linux/pthread_mutex_cond_lock.c (LLL_MUTEX_LOCK):
Take mutex as argument instead of its __data.__lock field, pass
PTHREAD_MUTEX_PSHARED as second argument to lll_cond_lock.
(LLL_MUTEX_TRYLOCK): Take mutex as argument instead of its
__data.__lock field.
(LLL_ROBUST_MUTEX_LOCK): Take mutex as argument instead of its
__data.__lock field, pass PTHREAD_MUTEX_PSHARED as second argument
to lll_robust_cond_lock.
* pthread_cond_broadcast.c (__pthread_cond_broadcast): Add pshared
variable, pass it to lll_lock, lll_unlock, lll_futex_requeue and
lll_futex_wake. Don't use lll_futex_requeue if dependent mutex
has PTHREAD_MUTEX_PSHARED_BIT bit set in its __data.__kind.
* pthread_cond_destroy.c (__pthread_cond_destroy): Add pshared
variable, pass it to lll_lock, lll_unlock, lll_futex_wake and
lll_futex_wait.
* pthread_cond_signal.c (__pthread_cond_signal): Add pshared
variable, pass it to lll_lock, lll_unlock, lll_futex_wake_unlock and
lll_futex_wake.
* pthread_cond_timedwait.c (__pthread_cond_wait): Add
pshared variable, pass it to lll_lock, lll_unlock,
lll_futex_timedwait and lll_futex_wake.
* pthread_cond_wait.c (__condvar_cleanup, __pthread_cond_wait): Add
pshared variable, pass it to lll_lock, lll_unlock, lll_futex_wait
and lll_futex_wake.
* sysdeps/unix/sysv/linux/alpha/lowlevellock.h (lll_futex_requeue,
lll_futex_wake_unlock): Add private argument, use __lll_private_flag
macro.
* sysdeps/unix/sysv/linux/ia64/lowlevellock.h (lll_futex_requeue,
lll_futex_wake_unlock): Likewise.
* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h (lll_futex_requeue):
Likewise.
* sysdeps/unix/sysv/linux/sparc/lowlevellock.h (lll_futex_requeue,
lll_futex_wake_unlock): Likewise.
* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h (lll_futex_requeue):
Likewise.
* sysdeps/unix/sysv/linux/s390/lowlevellock.h (lll_futex_requeue,
lll_futex_wake_unlock): Likewise.
(lll_futex_wake): Fix a typo.
* sysdeps/unix/sysv/linux/pthread-pi-defines.sym (PS_BIT): Add.
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S
(__pthread_cond_broadcast): Pass LLL_PRIVATE to lll_* and or
FUTEX_PRIVATE_FLAG into SYS_futex op if cv is process private.
Don't use FUTEX_CMP_REQUEUE if dep_mutex is not process private.
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S
(__pthread_cond_signal): Pass LLL_PRIVATE to lll_* and or
FUTEX_PRIVATE_FLAG into SYS_futex op if cv is process private.
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
(__pthread_cond_timedwait): Likewise.
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:
(__condvar_cleanup, __pthread_cond_wait): Likewise.
Ulrich Drepper [Sat, 11 Aug 2007 16:58:49 +0000 (16:58 +0000)]
* elf/dl-misc.c (_dl_sysdep_read_whole_file): We really don't need
an atime update for the files we read.
Ulrich Drepper [Sat, 11 Aug 2007 02:56:12 +0000 (02:56 +0000)]
* shadow/lckpwdf.c (__lckpwdf): Use O_CLOEXEC if possible.
Ulrich Drepper [Sat, 11 Aug 2007 02:48:28 +0000 (02:48 +0000)]
* nscd/connections.c: Use O_CLOEXEC is possible. Use mkostemp
instead of mkstemp.
* misc/Makefile (routines): Add mkostemp and mkostemp64.
* misc/Versions: Export mkostemp and mkostemp64 for GLIBC_2.7.
* misc/mkostemp.c: New file.
* misc/mkostemp64.c: New file.
* stdlib/stdlib.h: Declare the new functions.
* sysdeps/posix/tempname.c: Add new parameter which is added to
the flags for open. Remove __GT_BIGFILE handling.
* stdio-common/tempname.c: Likewise.
* include/stdio.h: Adjust __gen_tempname prototype.
Renumber __GT_* constants.
* libio/oldtmpfile.c: Adjust for __gen_tempname interface change.
* misc/mkdtemp.c: Likewise.
* misc/mkstemp.c: Likewise.
* misc/mkstemp64.c: Likewise.
* misc/mktemp.c: Likewise.
* stdio-common/tempnam.c: Likewise.
* stdio-common/tmpfile.c: Likewise.
* stdio-common/tmpfile64.c: Likewise.
* stdio-common/tmpnam.c: Likewise.
* stdio-common/tmpnam_r.c: Likewise.
Ulrich Drepper [Fri, 10 Aug 2007 23:41:40 +0000 (23:41 +0000)]
* nss/nss_files/files-XXX.c (internal_setent): Use O_CLOEXEC if
possible.
* nss/nss_files/files-alias.c (internal_setent): Likewise.
* nss/Makefile (libnss_files-routines): Add files-have_o_cloexec.
* nss/nss_files/files-have_o_cloexec.c: New file.
Ulrich Drepper [Fri, 10 Aug 2007 23:21:18 +0000 (23:21 +0000)]
(shm_open): Fix typo in last change.
Roland McGrath [Fri, 10 Aug 2007 22:51:01 +0000 (22:51 +0000)]
* sysdeps/mach/hurd/bits/ioctls.h (NLDLY, TABDLY, BSDLY, VTDLY):
New macros.
(NLDELAY, CRDELAY, TBDELAY, BSDELAY, VTDELAY): Define to those.
Reported by Samuel Thibault <samuel.thibault@ens-lyon.org>.
* sysdeps/unix/sysv/linux/shm_open.c (shm_open): Use O_CLOEXEC if
Roland McGrath [Fri, 10 Aug 2007 22:50:53 +0000 (22:50 +0000)]
2007-08-10 Roland McGrath <roland@frob.com>
* sysdeps/mach/hurd/bits/ioctls.h (NLDLY, TABDLY, BSDLY, VTDLY):
New macros.
(NLDELAY, CRDELAY, TBDELAY, BSDELAY, VTDELAY): Define to those.
Reported by Samuel Thibault <samuel.thibault@ens-lyon.org>.
Ulrich Drepper [Fri, 10 Aug 2007 20:10:58 +0000 (20:10 +0000)]
* sysdeps/unix/sysv/linux/shm_open.c (shm_open): Use O_CLOEXEC is
available.
Ulrich Drepper [Fri, 10 Aug 2007 20:10:11 +0000 (20:10 +0000)]
(shm_open): Use O_CLOEXEC is available.
Jakub Jelinek [Fri, 10 Aug 2007 17:59:27 +0000 (17:59 +0000)]
* sysdeps/ieee754/ldbl-128ibm/strtold_l.c (___new_strtold_l,
___new_wcstold_l): New weak aliases.
(strtold_l, wcstold_l): Use them as second argument for
long_double_symbol.
2007-08-10 Jakub Jelinek <jakub@redhat.com>
* sysdeps/ieee754/ldbl-128ibm/strtold_l.c (___new_strtold_l,
___new_wcstold_l): New weak aliases.
(strtold_l, wcstold_l): Use them as second argument for
long_double_symbol.
Ulrich Drepper [Fri, 10 Aug 2007 02:05:42 +0000 (02:05 +0000)]
* sysdeps/unix/sysv/linux/x86_64/sched_getcpu.S: Use correct
register in test for error.
Ulrich Drepper [Fri, 10 Aug 2007 01:45:08 +0000 (01:45 +0000)]
* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h (O_CLOEXEC): Define.
* sysdeps/unix/sysv/linux/alpha/bits/fcntl.h (O_CLOEXEC): Likewise.
Ulrich Drepper [Thu, 9 Aug 2007 17:59:48 +0000 (17:59 +0000)]
* po/sv.po: Update from translation team.
Ulrich Drepper [Thu, 9 Aug 2007 17:59:19 +0000 (17:59 +0000)]
Update from translation team.
Roland McGrath [Tue, 7 Aug 2007 05:36:32 +0000 (05:36 +0000)]
* include/stdlib.h: Add libc_hidden_proto for strto*, __strto*_l.
Remove __strto*_l inlines.
* include/wchar.h: Add libc_hidden_proto for wcsto*, __wcsto*_l.
* stdlib/strtod.c: Add libc_hidden_def.
* stdlib/strtod_l.c: Likewise.
* stdlib/strtold.c [__LONG_DOUBLE_MATH_OPTIONAL]: Add libc_hidden_proto
for __new_strtold and __new_wcstold.
* sysdeps/ieee754/ldbl-128ibm/strtold_l.c: Add libc_hidden_proto for
__STRTOF, STRTOF.
* stdlib/strtol.c: Add libc_hidden_def.
* stdlib/strtol_l.c: Likewise.
* sysdeps/wordsize-64/strtol.c: Add libc_hidden_ver for strtoll and
strtoq.
* scripts/data/localplt-powerpc-linux-gnu.data: New file.
* scripts/data/localplt-x86_64-linux-gnu.data: File renamed to ...
* scripts/data/localplt-generic.data: ... here.
* elf/Makefile (check-data): Get generic file if no other.
($(objpfx)check-localplt.out): Make target unconditional.
Roland McGrath [Mon, 6 Aug 2007 20:10:29 +0000 (20:10 +0000)]
* sysdeps/unix/sysv/linux/dl-osinfo.h (_dl_discover_osversion):
Use ElfW(Nhdr).
Roland McGrath [Mon, 6 Aug 2007 20:10:18 +0000 (20:10 +0000)]
2007-08-06 Roland McGrath <roland@redhat.com>
* sysdeps/unix/sysv/linux/dl-osinfo.h (_dl_discover_osversion):
Use ElfW(Nhdr).
Ulrich Drepper [Sun, 5 Aug 2007 16:38:29 +0000 (16:38 +0000)]
* po/zh_CN.po: Updated translation from translation team.
Ulrich Drepper [Sun, 5 Aug 2007 16:38:04 +0000 (16:38 +0000)]
Updated translation from translation team.
Jakub Jelinek [Sun, 5 Aug 2007 13:43:20 +0000 (13:43 +0000)]
* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h (PSEUDO):
Don't use CGOTSETUP and CGOTRESTORE macros.
(CGOTSETUP, CGOTRESTORE): Remove.
<IS_IN_rtld> (CENABLE, CDISABLE): Don't use JUMPTARGET, branch to
@local symbol.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S (__socket):
Don't use CGOTSETUP and CGOTRESTORE macros.
2007-08-05 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S (__socket):
Don't use CGOTSETUP and CGOTRESTORE macros.
Roland McGrath [Sat, 4 Aug 2007 20:48:51 +0000 (20:48 +0000)]
* posix/Makefile ($(objpfx)getconf.speclist): Fix typo.
Roland McGrath [Sat, 4 Aug 2007 20:48:38 +0000 (20:48 +0000)]
2007-08-04 Roland McGrath <roland@redhat.com>
* posix/Makefile ($(objpfx)getconf.speclist): Fix typo.
Ulrich Drepper [Sat, 4 Aug 2007 20:26:01 +0000 (20:26 +0000)]
* po/nl.po: Likewise.
Jakub Jelinek [Sat, 4 Aug 2007 20:25:33 +0000 (20:25 +0000)]
* sysdeps/unix/sysv/linux/sparc/sparc32/pthread_barrier_init.c:
Remove.
* sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/pthread_barrier_init.c:
Remove.
Ulrich Drepper [Sat, 4 Aug 2007 20:25:12 +0000 (20:25 +0000)]
Updated translation from translation team.
Jakub Jelinek [Sat, 4 Aug 2007 20:09:21 +0000 (20:09 +0000)]
* io/bits/fcntl2.h (open, open64, openat, openat64): Add
__extension__ around the whole statement expression.
2007-08-04 Jakub Jelinek <jakub@redhat.com>
* io/bits/fcntl2.h (open, open64, openat, openat64): Add
__extension__ around the whole statement expression.
Ulrich Drepper [Sat, 4 Aug 2007 17:21:20 +0000 (17:21 +0000)]
* sysdeps/unix/opendir.c (__alloc_dir): Correct order of DIR
elements during initialization.
Ulrich Drepper [Sat, 4 Aug 2007 16:25:41 +0000 (16:25 +0000)]
* po/pl.po: Updated translation from translation team.
* po/tr.po: Likewise.
Ulrich Drepper [Fri, 3 Aug 2007 18:48:05 +0000 (18:48 +0000)]
* rt/aio.h: Add __nonnull attributes.
Ulrich Drepper [Fri, 3 Aug 2007 16:45:47 +0000 (16:45 +0000)]
* stdlib/strtod_l.c (____STRTOF_INTERNAL): Properly handle -0.
* stdlib/Makefile (tests): Add tst-strtod5.
(tst-strtod5-ENV): New.
* stdlib/tst-strtod5.c: New file.
Ulrich Drepper [Fri, 3 Aug 2007 15:50:30 +0000 (15:50 +0000)]
* intl/dcigettext.c (_nl_find_msg): Free encoding if __gconv_open
failed.
* intl/finddomain.c (_nl_find_domain): Free normalized_codeset
on failure.
* elf/dl-load.c (decompose_rpath): Free copy if result couldn't be
allocated.
2007-08-03 Jakub Jelinek <jakub@redhat.com>
Ulrich Drepper [Fri, 3 Aug 2007 15:41:17 +0000 (15:41 +0000)]
Add U0141 and U0142.
Jakub Jelinek [Fri, 3 Aug 2007 09:51:21 +0000 (09:51 +0000)]
* rt/mqueue.h (mq_timedreceive, mq_timedsend): Fix nonnull argument
numbers.
2007-08-03 Jakub Jelinek <jakub@redhat.com>
* rt/mqueue.h (mq_timedreceive, mq_timedsend): Fix nonnull argument
numbers.
Ulrich Drepper [Fri, 3 Aug 2007 04:09:03 +0000 (04:09 +0000)]
* io/Makefile (aux): Add have_o_cloexec.
* include/fcntl.h: Declare __have_o_cloexec.
* io/have_o_cloexec.c: New file.
* sysdeps/unix/opendir.c (__opendir): Use O_CLOEXEC is available.
(__alloc_dir): If O_CLOEXEC has been used, don't duplicate the
fcntl call if not necessary.
* login/utmp_file.c (setutent_file): Use __have_o_cloexec instead
of local variable.
Ulrich Drepper [Fri, 3 Aug 2007 03:35:12 +0000 (03:35 +0000)]
* sysdeps/unix/opendir.c (__alloc_dir): Don't initialize ->data.
Avoid memset, add explicit initialization.
* sysdeps/unix/dirstream.h (struct __dirstream): Move data elemtn
to the end and change into zero-sized array.
Move lock member to fill a hole on 64-bit platforms.
Ulrich Drepper [Fri, 3 Aug 2007 02:43:06 +0000 (02:43 +0000)]
* sysdeps/unix/dirstream.h (struct __dirstream): Move lock member
to fill a hole on 64-bit platforms.
* stdlib/stdlib.h: Remove __strto*_internal prototypes and strto*
inline functions.
* include/stdlib.h: Add __strto*_internal prototypes here.
* wcsmbs/wchar.h: Remove __wcsto*_internal prototypes and wcsto*
inline functions.
* include/wchar.h: Add __wcsto*_internal prototypes.
* sysdeps/generic/inttypes.h: No need to protect the declaration
of the __strto*_internal and __wcsto*_internal members here.
Ulrich Drepper [Thu, 2 Aug 2007 21:28:34 +0000 (21:28 +0000)]
* rt/mqueue.h: Change const to __const and add nonnull attributes.
Ulrich Drepper [Thu, 2 Aug 2007 21:28:20 +0000 (21:28 +0000)]
Change const to __const and add nonnull attributes.
Roland McGrath [Thu, 2 Aug 2007 09:59:23 +0000 (09:59 +0000)]
* posix/Makefile ($(inst_libexecdir)/getconf): Make hard links to
$(inst_bindir)/getconf if possible.
* posix/Makefile ($(objpfx)getconf.speclist): New target.
(generated): Add it.
($(inst_libexecdir)/getconf): Use it.
Roland McGrath [Thu, 2 Aug 2007 09:59:18 +0000 (09:59 +0000)]
2007-08-02 Roland McGrath <roland@redhat.com>
* posix/Makefile ($(inst_libexecdir)/getconf): Make hard links to
$(inst_bindir)/getconf if possible.
* posix/Makefile ($(objpfx)getconf.speclist): New target.
(generated): Add it.
($(inst_libexecdir)/getconf): Use it.
Ulrich Drepper [Wed, 1 Aug 2007 21:23:59 +0000 (21:23 +0000)]
* sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs): Using
/proc is faster and sufficient. /sys is still needed for
__get_nprocs_conf.
Ulrich Drepper [Wed, 1 Aug 2007 15:51:07 +0000 (15:51 +0000)]
* sysdeps/unix/sysv/linux/i386/syscalls.list (fallocate): Add fallocate
syscall as __fallocate64.
* sysdeps/unix/sysv/linux/i386/posix_fallocate.c: New file.
* sysdeps/unix/sysv/linux/i386/posix_fallocate64.c: New file.
Ulrich Drepper [Wed, 1 Aug 2007 04:47:26 +0000 (04:47 +0000)]
* sysdeps/unix/sysv/linux/powerpc/sem_post.c (__new_sem_post):
Use __asm __volatile (__lll_acq_instr ::: "memory") instead of
atomic_full_barrier.
2007-07-31 Jakub Jelinek <jakub@redhat.com>
* allocatestack.c (stack_cache_lock): Change type to int.
(get_cached_stack, allocate_stack, __deallocate_stack,
__make_stacks_executable, __find_thread_by_id, __nptl_setxid,
__pthread_init_static_tls, __wait_lookup_done): Add LLL_PRIVATE
as second argument to lll_lock and lll_unlock macros on
stack_cache_lock.
* pthread_create.c (__find_in_stack_list): Likewise.
(start_thread): Similarly with pd->lock. Use lll_robust_dead
macro instead of lll_robust_mutex_dead, pass LLL_SHARED to it
as second argument.
* descr.h (struct pthread): Change lock and setxid_futex field
type to int.
* old_pthread_cond_broadcast.c (__pthread_cond_broadcast_2_0): Use
LLL_LOCK_INITIALIZER instead of LLL_MUTEX_LOCK_INITIALIZER.
* old_pthread_cond_signal.c (__pthread_cond_signal_2_0): Likewise.
* old_pthread_cond_timedwait.c (__pthread_cond_timedwait_2_0):
Likewise.
* old_pthread_cond_wait.c (__pthread_cond_wait_2_0): Likewise.
* pthread_cond_init.c (__pthread_cond_init): Likewise.
* pthreadP.h (__attr_list_lock): Change type to int.
* pthread_attr_init.c (__attr_list_lock): Likewise.
* pthread_barrier_destroy.c (pthread_barrier_destroy): Pass
ibarrier->private ^ FUTEX_PRIVATE_FLAG as second argument to
lll_{,un}lock.
* pthread_barrier_wait.c (pthread_barrier_wait): Likewise and
also for lll_futex_{wake,wait}.
* pthread_barrier_init.c (pthread_barrier_init): Make iattr
a pointer to const.
* pthread_cond_broadcast.c (__pthread_cond_broadcast): Pass
LLL_SHARED as second argument to lll_{,un}lock.
* pthread_cond_destroy.c (__pthread_cond_destroy): Likewise.
* pthread_cond_signal.c (__pthread_cond_singal): Likewise.
* pthread_cond_timedwait.c (__pthread_cond_timedwait): Likewise.
* pthread_cond_wait.c (__condvar_cleanup, __pthread_cond_wait):
Likewise.
* pthread_getattr_np.c (pthread_getattr_np): Add LLL_PRIVATE
as second argument to lll_{,un}lock macros on pd->lock.
* pthread_getschedparam.c (__pthread_getschedparam): Likewise.
* pthread_setschedparam.c (__pthread_setschedparam): Likewise.
* pthread_setschedprio.c (pthread_setschedprio): Likewise.
* tpp.c (__pthread_tpp_change_priority, __pthread_current_priority):
Likewise.
* sysdeps/pthread/createthread.c (do_clone, create_thread):
Likewise.
* pthread_once.c (once_lock): Change type to int.
(__pthread_once): Pass LLL_PRIVATE as second argument to
lll_{,un}lock macros on once_lock.
* pthread_rwlock_rdlock.c (__pthread_rwlock_rdlock): Use
lll_{,un}lock macros instead of lll_mutex_{,un}lock, pass
rwlock->__data.__shared as second argument to them and similarly
for lll_futex_w*.
* pthread_rwlock_timedrdlock.c (pthread_rwlock_timedrdlock):
Likewise.
* pthread_rwlock_timedwrlock.c (pthread_rwlock_timedwrlock):
Likewise.
* pthread_rwlock_tryrdlock.c (__pthread_rwlock_tryrdlock): Likewise.
* pthread_rwlock_trywrlock.c (__pthread_rwlock_trywrlock): Likewise.
* pthread_rwlock_unlock.c (__pthread_rwlock_unlock): Likewise.
* pthread_rwlock_wrlock.c (__pthread_rwlock_wrlock): Likewise.
* sem_close.c (sem_close): Pass LLL_PRIVATE as second argument
to lll_{,un}lock macros on __sem_mappings_lock.
* sem_open.c (check_add_mapping): Likewise.
(__sem_mappings_lock): Change type to int.
* semaphoreP.h (__sem_mappings_lock): Likewise.
* pthread_mutex_lock.c (LLL_MUTEX_LOCK, LLL_MUTEX_TRYLOCK,
LLL_ROBUST_MUTEX_LOCK): Use lll_{,try,robust_}lock macros
instead of lll_*mutex_*, pass LLL_SHARED as last
argument.
(__pthread_mutex_lock): Use lll_unlock instead of lll_mutex_unlock,
pass LLL_SHARED as last argument.
* sysdeps/unix/sysv/linux/pthread_mutex_cond_lock.c (LLL_MUTEX_LOCK,
LLL_MUTEX_TRYLOCK, LLL_ROBUST_MUTEX_LOCK): Use
lll_{cond_,cond_try,robust_cond}lock macros instead of lll_*mutex_*,
pass LLL_SHARED as last argument.
* pthread_mutex_timedlock.c (pthread_mutex_timedlock): Use
lll_{timed,try,robust_timed,un}lock instead of lll_*mutex*, pass
LLL_SHARED as last argument.
* pthread_mutex_trylock.c (__pthread_mutex_trylock): Similarly.
* pthread_mutex_unlock.c (__pthread_mutex_unlock_usercnt):
Similarly.
* sysdeps/pthread/bits/libc-lock.h (__libc_lock_lock,
__libc_lock_lock_recursive, __libc_lock_unlock,
__libc_lock_unlock_recursive): Pass LLL_PRIVATE as second
argument to lll_{,un}lock.
* sysdeps/pthread/bits/stdio-lock.h (_IO_lock_lock,
_IO_lock_unlock): Likewise.
* sysdeps/unix/sysv/linux/fork.c (__libc_fork): Don't use
compound literal.
* sysdeps/unix/sysv/linux/unregister-atfork.c (__unregister_atfork):
Pass LLL_PRIVATE as second argument to lll_{,un}lock macros on
__fork_lock.
* sysdeps/unix/sysv/linux/register-atfork.c (__register_atfork,
free_mem): Likewise.
(__fork_lock): Change type to int.
* sysdeps/unix/sysv/linux/fork.h (__fork_lock): Likewise.
* sysdeps/unix/sysv/linux/sem_post.c (__new_sem_post): Pass
isem->private ^ FUTEX_PRIVATE_FLAG as second argument to
lll_futex_wake.
* sysdeps/unix/sysv/linux/sem_timedwait.c (sem_timedwait): Likewise.
* sysdeps/unix/sysv/linux/sem_wait.c (__new_sem_wait): Likewise.
* sysdeps/unix/sysv/linux/lowlevellock.c (__lll_lock_wait_private):
New function.
(__lll_lock_wait, __lll_timedlock_wait): Add private argument and
pass it through to lll_futex_*wait, only compile in when
IS_IN_libpthread.
* sysdeps/unix/sysv/linux/lowlevelrobustlock.c
(__lll_robust_lock_wait, __lll_robust_timedlock_wait): Add private
argument and pass it through to lll_futex_*wait.
* sysdeps/unix/sysv/linux/alpha/lowlevellock.h: Renamed all
lll_mutex_* resp. lll_robust_mutex_* macros to lll_* resp.
lll_robust_*. Renamed all __lll_mutex_* resp. __lll_robust_mutex_*
inline functions to __lll_* resp. __lll_robust_*.
(LLL_MUTEX_LOCK_INITIALIZER): Remove.
(lll_mutex_dead): Add private argument.
(__lll_lock_wait_private): New prototype.
(__lll_lock_wait, __lll_robust_lock_wait, __lll_lock_timedwait,
__lll_robust_lock_timedwait): Add private argument to prototypes.
(__lll_lock): Add private argument, if it is constant LLL_PRIVATE,
call __lll_lock_wait_private, otherwise pass private to
__lll_lock_wait.
(__lll_robust_lock, __lll_cond_lock, __lll_timedlock,
__lll_robust_timedlock): Add private argument, pass it to
__lll_*wait functions.
(__lll_unlock): Add private argument, if it is constant LLL_PRIVATE,
call __lll_unlock_wake_private, otherwise pass private to
__lll_unlock_wake.
(__lll_robust_unlock): Add private argument, pass it to
__lll_robust_unlock_wake.
(lll_lock, lll_robust_lock, lll_cond_lock, lll_timedlock,
lll_robust_timedlock, lll_unlock, lll_robust_unlock): Add private
argument, pass it through to __lll_* inline function.
(__lll_mutex_unlock_force, lll_mutex_unlock_force): Remove.
(lll_lock_t): Remove.
(__lll_cond_wait, __lll_cond_timedwait, __lll_cond_wake,
__lll_cond_broadcast, lll_cond_wait, lll_cond_timedwait,
lll_cond_wake, lll_cond_broadcast): Remove.
* sysdeps/unix/sysv/linux/ia64/lowlevellock.h: Likewise.
* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: Likewise.
* sysdeps/unix/sysv/linux/s390/lowlevellock.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/lowlevellock.h: Likewise.
* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Allow including
the header from assembler. Renamed all lll_mutex_* resp.
lll_robust_mutex_* macros to lll_* resp. lll_robust_*.
(LOCK, FUTEX_CMP_REQUEUE, FUTEX_WAKE_OP,
FUTEX_OP_CLEAR_WAKE_IF_GT_ONE): Define.
(LLL_MUTEX_LOCK_INITIALIZER, LLL_MUTEX_LOCK_INITIALIZER_LOCKED,
LLL_MUTEX_LOCK_INITIALIZER_WAITERS): Remove.
(__lll_mutex_lock_wait, __lll_mutex_timedlock_wait,
__lll_mutex_unlock_wake, __lll_lock_wait, __lll_unlock_wake):
Remove prototype.
(__lll_trylock_asm, __lll_lock_asm_start, __lll_unlock_asm): Define.
(lll_robust_trylock, lll_cond_trylock): Use LLL_LOCK_INITIALIZER*
rather than LLL_MUTEX_LOCK_INITIALIZER* macros.
(lll_trylock): Likewise, use __lll_trylock_asm, pass
MULTIPLE_THREADS_OFFSET as another asm operand.
(lll_lock): Add private argument, use __lll_lock_asm_start, pass
MULTIPLE_THREADS_OFFSET as last asm operand, call
__lll_lock_wait_private if private is constant LLL_PRIVATE,
otherwise pass private as another argument to __lll_lock_wait.
(lll_robust_lock, lll_cond_lock, lll_robust_cond_lock,
lll_timedlock, lll_robust_timedlock): Add private argument, pass
private as another argument to __lll_*lock_wait call.
(lll_unlock): Add private argument, use __lll_unlock_asm, pass
MULTIPLE_THREADS_OFFSET as another asm operand, call
__lll_unlock_wake_private if private is constant LLL_PRIVATE,
otherwise pass private as another argument to __lll_unlock_wake.
(lll_robust_unlock): Add private argument, pass private as another
argument to __lll_unlock_wake.
(lll_robust_dead): Add private argument, use __lll_private_flag
macro.
(lll_islocked): Use LLL_LOCK_INITIALIZER instead of
LLL_MUTEX_LOCK_INITIALIZER.
(lll_lock_t): Remove.
(LLL_LOCK_INITIALIZER_WAITERS): Define.
(__lll_cond_wait, __lll_cond_timedwait, __lll_cond_wake,
__lll_cond_broadcast, lll_cond_wait, lll_cond_timedwait,
lll_cond_wake, lll_cond_broadcast): Remove.
* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Likewise.
* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S: Revert
2007-05-2{3,9} changes.
* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S: Include
kernel-features.h and lowlevellock.h.
(LOAD_PRIVATE_FUTEX_WAIT): Define.
(LOAD_FUTEX_WAIT): Rewritten.
(LOCK, SYS_gettimeofday, SYS_futex, FUTEX_WAIT, FUTEX_WAKE): Don't
define.
(__lll_lock_wait_private, __lll_unlock_wake_private): New functions.
(__lll_mutex_lock_wait): Rename to ...
(__lll_lock_wait): ... this. Take futex addr from %edx instead of
%ecx, %ecx is now private argument. Don't compile in for libc.so.
(__lll_mutex_timedlock_wait): Rename to ...
(__lll_timedlock_wait): ... this. Use __NR_gettimeofday. %esi
contains private argument. Don't compile in for libc.so.
(__lll_mutex_unlock_wake): Rename to ...
(__lll_unlock_wake): ... this. %ecx contains private argument.
Don't compile in for libc.so.
(__lll_timedwait_tid): Use __NR_gettimeofday.
* sysdeps/unix/sysv/linux/i386/i486/lowlevelrobustlock.S: Include
kernel-features.h and lowlevellock.h.
(LOAD_FUTEX_WAIT): Define.
(LOCK, SYS_gettimeofday, SYS_futex, FUTEX_WAIT, FUTEX_WAKE): Don't
define.
(__lll_robust_mutex_lock_wait): Rename to ...
(__lll_robust_lock_wait): ... this. Futex addr is now in %edx
argument, %ecx argument contains private. Use LOAD_FUTEX_WAIT
macro.
(__lll_robust_mutex_timedlock_wait): Rename to ...
(__lll_robust_timedlock_wait): ... this. Use __NR_gettimeofday.
%esi argument contains private, use LOAD_FUTEX_WAIT macro.
* sysdeps/unix/sysv/linux/i386/i486/pthread_barrier_wait.S: Include
lowlevellock.h.
(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, LOCK): Don't define.
(pthread_barrier_wait): Rename __lll_mutex_* to __lll_*, pass
PRIVATE(%ebx) ^ LLL_SHARED as private argument in %ecx to
__lll_lock_wait and __lll_unlock_wake, pass MUTEX(%ebx) address
to __lll_lock_wait in %edx.
* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S:
Include lowlevellock.h and pthread-errnos.h.
(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, FUTEX_REQUEUE,
FUTEX_CMP_REQUEUE, EINVAL, LOCK): Don't define.
(__pthread_cond_broadcast): Rename __lll_mutex_* to __lll_*, pass
cond_lock address in %edx rather than %ecx to __lll_lock_wait,
pass LLL_SHARED in %ecx to both __lll_lock_wait and
__lll_unlock_wake.
* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S:
Include lowlevellock.h and pthread-errnos.h.
(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, FUTEX_WAKE_OP,
FUTEX_OP_CLEAR_WAKE_IF_GT_ONE, EINVAL, LOCK): Don't define.
(__pthread_cond_signal): Rename __lll_mutex_* to __lll_*, pass
cond_lock address in %edx rather than %ecx to __lll_lock_wait,
pass LLL_SHARED in %ecx to both __lll_lock_wait and
__lll_unlock_wake.
* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S:
Include lowlevellock.h.
(SYS_futex, SYS_gettimeofday, FUTEX_WAIT, FUTEX_WAKE, LOCK):
Don't define.
(__pthread_cond_timedwait): Rename __lll_mutex_* to __lll_*, pass
cond_lock address in %edx rather than %ecx to __lll_lock_wait,
pass LLL_SHARED in %ecx to both __lll_lock_wait and
__lll_unlock_wake. Use __NR_gettimeofday.
* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S:
Include lowlevellock.h.
(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, LOCK): Don't define.
(__pthread_cond_wait, __condvar_w_cleanup): Rename __lll_mutex_*
to __lll_*, pass cond_lock address in %edx rather than %ecx to
__lll_lock_wait, pass LLL_SHARED in %ecx to both __lll_lock_wait
and __lll_unlock_wake.
* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S:
Include lowlevellock.h.
(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, LOCK): Don't define.
(__pthread_rwlock_rdlock): Rename __lll_mutex_* to __lll_*, pass
MUTEX(%ebx) address in %edx rather than %ecx to
__lll_lock_wait, pass PSHARED(%ebx) in %ecx to both __lll_lock_wait
and __lll_unlock_wake. Move return value from %ecx to %edx
register.
* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedrdlock.S:
Include lowlevellock.h.
(SYS_futex, SYS_gettimeofday, FUTEX_WAIT, FUTEX_WAKE, LOCK):
Don't define.
(__pthread_rwlock_wrlock): Rename __lll_mutex_* to __lll_*, pass
MUTEX(%ebp) address in %edx rather than %ecx to
__lll_lock_wait, pass PSHARED(%ebp) in %ecx to both __lll_lock_wait
and __lll_unlock_wake. Move return value from %ecx to %edx
register. Use __NR_gettimeofday.
* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedwrlock.S:
Include lowlevellock.h.
(SYS_futex, SYS_gettimeofday, FUTEX_WAIT, FUTEX_WAKE, LOCK):
Don't define.
(__pthread_rwlock_wrlock): Rename __lll_mutex_* to __lll_*, pass
MUTEX(%ebp) address in %edx rather than %ecx to
__lll_lock_wait, pass PSHARED(%ebp) in %ecx to both __lll_lock_wait
and __lll_unlock_wake. Move return value from %ecx to %edx
register. Use __NR_gettimeofday.
* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_unlock.S:
Include lowlevellock.h.
(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, LOCK): Don't define.
(__pthread_rwlock_unlock): Rename __lll_mutex_* to __lll_*, pass
MUTEX(%edi) address in %edx rather than %ecx to
__lll_lock_wait, pass PSHARED(%edi) in %ecx to both __lll_lock_wait
and __lll_unlock_wake.
* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S:
Include lowlevellock.h.
(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, LOCK): Don't define.
(__pthread_rwlock_wrlock): Rename __lll_mutex_* to __lll_*, pass
MUTEX(%ebx) address in %edx rather than %ecx to
__lll_lock_wait, pass PSHARED(%ebx) in %ecx to both __lll_lock_wait
and __lll_unlock_wake. Move return value from %ecx to %edx
register.
* sysdeps/unix/sysv/linux/i386/pthread_once.S: Include
lowlevellock.h.
(LOCK, SYS_futex, FUTEX_WAIT, FUTEX_WAKE, FUTEX_PRIVATE_FLAG): Don't
define.
* sysdeps/unix/sysv/linux/i386/i486/sem_post.S: Include lowlevellock.h.
(LOCK, SYS_futex, FUTEX_WAKE): Don't define.
* sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S: Include
lowlevellock.h.
(LOCK, SYS_futex, SYS_gettimeofday, FUTEX_WAIT): Don't define.
(sem_timedwait): Use __NR_gettimeofday.
* sysdeps/unix/sysv/linux/i386/i486/sem_trywait.S: Include
lowlevellock.h.
(LOCK): Don't define.
* sysdeps/unix/sysv/linux/i386/i486/sem_wait.S: Include
lowlevellock.h.
(LOCK, SYS_futex, FUTEX_WAIT): Don't define.
* sysdeps/unix/sysv/linux/powerpc/sem_post.c: Wake only when there
are waiters.
* sysdeps/unix/sysv/linux/x86_64/libc-lowlevellock.S: Revert
2007-05-2{3,9} changes.
* sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: Include
kernel-features.h and lowlevellock.h.
(LOAD_PRIVATE_FUTEX_WAIT): Define.
(LOAD_FUTEX_WAIT): Rewritten.
(LOCK, SYS_futex, FUTEX_WAIT, FUTEX_WAKE): Don't define.
(__lll_lock_wait_private, __lll_unlock_wake_private): New functions.
(__lll_mutex_lock_wait): Rename to ...
(__lll_lock_wait): ... this. %esi is now private argument.
Don't compile in for libc.so.
(__lll_mutex_timedlock_wait): Rename to ...
(__lll_timedlock_wait): ... this. %esi contains private argument.
Don't compile in for libc.so.
(__lll_mutex_unlock_wake): Rename to ...
(__lll_unlock_wake): ... this. %esi contains private argument.
Don't compile in for libc.so.
* sysdeps/unix/sysv/linux/x86_64/lowlevelrobustlock.S: Include
kernel-features.h and lowlevellock.h.
(LOAD_FUTEX_WAIT): Define.
(LOCK, SYS_futex, FUTEX_WAIT, FUTEX_WAKE): Don't define.
(__lll_robust_mutex_lock_wait): Rename to ...
(__lll_robust_lock_wait): ... this. %esi argument contains private.
Use LOAD_FUTEX_WAIT macro.
(__lll_robust_mutex_timedlock_wait): Rename to ...
(__lll_robust_timedlock_wait): ... this. %esi argument contains
private, use LOAD_FUTEX_WAIT macro.
* sysdeps/unix/sysv/linux/x86_64/pthread_barrier_wait.S: Include
lowlevellock.h.
(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, LOCK): Don't define.
(pthread_barrier_wait): Rename __lll_mutex_* to __lll_*, pass
PRIVATE(%rdi) ^ LLL_SHARED as private argument in %esi to
__lll_lock_wait and __lll_unlock_wake.
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S:
Include lowlevellock.h and pthread-errnos.h.
(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, FUTEX_REQUEUE,
FUTEX_CMP_REQUEUE, EINVAL, LOCK): Don't define.
(__pthread_cond_broadcast): Rename __lll_mutex_* to __lll_*,
pass LLL_SHARED in %esi to both __lll_lock_wait and
__lll_unlock_wake.
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S:
Include lowlevellock.h and pthread-errnos.h.
(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, FUTEX_WAKE_OP,
FUTEX_OP_CLEAR_WAKE_IF_GT_ONE, EINVAL, LOCK): Don't define.
(__pthread_cond_signal): Rename __lll_mutex_* to __lll_*,
pass LLL_SHARED in %esi to both __lll_lock_wait and
__lll_unlock_wake.
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:
Include lowlevellock.h.
(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, LOCK): Don't define.
(__pthread_cond_timedwait): Rename __lll_mutex_* to __lll_*,
pass LLL_SHARED in %esi to both __lll_lock_wait and
__lll_unlock_wake.
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:
Include lowlevellock.h.
(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, LOCK): Don't define.
(__pthread_cond_wait, __condvar_cleanup): Rename __lll_mutex_*
to __lll_*, pass LLL_SHARED in %esi to both __lll_lock_wait
and __lll_unlock_wake.
* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_rdlock.S:
Include lowlevellock.h.
(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, FUTEX_PRIVATE_FLAG, LOCK):
Don't define.
(__pthread_rwlock_rdlock): Rename __lll_mutex_* to __lll_*,
pass PSHARED(%rdi) in %esi to both __lll_lock_wait
and __lll_unlock_wake.
* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S:
Include lowlevellock.h.
(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, FUTEX_PRIVATE_FLAG, LOCK):
Don't define.
(__pthread_rwlock_wrlock): Rename __lll_mutex_* to __lll_*,
pass PSHARED(%rdi) in %esi to both __lll_lock_wait
and __lll_unlock_wake.
* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S:
Include lowlevellock.h.
(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, FUTEX_PRIVATE_FLAG, LOCK):
Don't define.
(__pthread_rwlock_wrlock): Rename __lll_mutex_* to __lll_*,
pass PSHARED(%rdi) in %esi to both __lll_lock_wait
and __lll_unlock_wake.
* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_unlock.S:
Include lowlevellock.h.
(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, FUTEX_PRIVATE_FLAG, LOCK):
Don't define.
(__pthread_rwlock_unlock): Rename __lll_mutex_* to __lll_*,
pass PSHARED(%rdi) in %esi to both __lll_lock_wait
and __lll_unlock_wake.
* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_wrlock.S:
Include lowlevellock.h.
(SYS_futex, FUTEX_WAIT, FUTEX_WAKE, FUTEX_PRIVATE_FLAG, LOCK):
Don't define.
(__pthread_rwlock_wrlock): Rename __lll_mutex_* to __lll_*,
pass PSHARED(%rdi) in %ecx to both __lll_lock_wait
and __lll_unlock_wake.
* sysdeps/unix/sysv/linux/x86_64/pthread_once.S: Include
lowlevellock.h.
(LOCK, SYS_futex, FUTEX_WAIT, FUTEX_WAKE, FUTEX_PRIVATE_FLAG): Don't
define.
* sysdeps/unix/sysv/linux/x86_64/sem_post.S: Include lowlevellock.h.
(LOCK, SYS_futex, FUTEX_WAKE): Don't define.
* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S: Include
lowlevellock.h.
(LOCK, SYS_futex, FUTEX_WAIT): Don't define.
* sysdeps/unix/sysv/linux/x86_64/sem_trywait.S: Include
lowlevellock.h.
(LOCK): Don't define.
* sysdeps/unix/sysv/linux/x86_64/sem_wait.S: Include
lowlevellock.h.
(LOCK, SYS_futex, FUTEX_WAIT): Don't define.
* sysdeps/unix/sysv/linux/sparc/internaltypes.h: New file.
* sysdeps/unix/sysv/linux/sparc/pthread_barrier_destroy.c: New file.
* sysdeps/unix/sysv/linux/sparc/pthread_barrier_init.c: New file.
* sysdeps/unix/sysv/linux/sparc/pthread_barrier_wait.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/lowlevellock.c
(__lll_lock_wait_private): New function.
(__lll_lock_wait, __lll_timedlock_wait): Add private argument, pass
it to lll_futex_*wait. Don't compile in for libc.so.
* sysdeps/unix/sysv/linux/sparc/sparc32/pthread_barrier_init.c:
Remove.
* sysdeps/unix/sysv/linux/sparc/sparc32/pthread_barrier_wait.c
(struct sparc_pthread_barrier): Remove.
(pthread_barrier_wait): Use union sparc_pthread_barrier instead of
struct sparc_pthread_barrier. Pass
ibarrier->s.pshared ? LLL_SHARED : LLL_PRIVATE to lll_{,un}lock
and lll_futex_wait macros.
* sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/pthread_barrier_init.c:
Remove.
* sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/pthread_barrier_wait.c:
Include sparc pthread_barrier_wait.c instead of generic one.
Ulrich Drepper [Wed, 1 Aug 2007 03:44:35 +0000 (03:44 +0000)]
* stdlib/tst-strtod2.c (do_test): Use %tu in fmt string for ptrdiff_t
value.
* stdio-common/tst-fmemopen2.c (do_test): Avoid fmt string warning
if off_t is different rank from size_t.
* sysdeps/generic/unwind-dw2.c (extract_cie_info, execute_cfa_program,
uw_frame_state_for): Avoid type punning warnings.
* sysdeps/generic/unwind-dw2-fde-glibc.c
(_Unwind_IteratePhdrCallback): Likewise.
* sysdeps/generic/unwind-dw2-fde.c (_Unwind_Find_FDE): Likewise.
(binary_search_single_encoding_fdes, binary_search_mixed_encoding_fdes,
get_cie_encoding, linear_search_fdes): Don't mix char and unsigned char
pointers.
Ulrich Drepper [Wed, 1 Aug 2007 03:41:01 +0000 (03:41 +0000)]
* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedrdlock.S
(pthread_rwlock_timedrdlock): Copy futex retval to %esi rather than
%ecx.
* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedwrlock.S
(pthread_rwlock_timedwrlock): Likewise.
* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_unlock.S
(__pthread_rwlock_unlock): Fix MUTEX != 0 args to __lll_*.
Ulrich Drepper [Wed, 1 Aug 2007 02:20:18 +0000 (02:20 +0000)]
* sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs_conf): Count
total processors using sysfs.
(__get_nprocs): Use sysfs to determine which processors are online.
Ulrich Drepper [Tue, 31 Jul 2007 22:44:10 +0000 (22:44 +0000)]
* sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs): Use /sys
filesystem to determine which processors are online.
Ulrich Drepper [Tue, 31 Jul 2007 22:43:57 +0000 (22:43 +0000)]
(__get_nprocs): Use /sys filesystem to determine which processors are online.
Jakub Jelinek [Tue, 31 Jul 2007 19:36:40 +0000 (19:36 +0000)]
* sysdeps/sparc/tls.h (tcbhead_t): Add private_futex field.
2007-07-31 Jakub Jelinek <jakub@redhat.com>
* sysdeps/sparc/tls.h (tcbhead_t): Add private_futex field.
Jakub Jelinek [Tue, 31 Jul 2007 19:33:23 +0000 (19:33 +0000)]
* sysdeps/unix/sysv/linux/posix_fallocate.c (posix_fallocate): Fix
syscall arguments count.
* sysdeps/unix/sysv/linux/posix_fallocate.c (posix_fallocate): Fix
syscall arguments count.
Jakub Jelinek [Tue, 31 Jul 2007 12:33:25 +0000 (12:33 +0000)]
[BZ #4858]
Fix format of [BZ #xxxx] note.
[BZ #4858]
Jakub Jelinek [Tue, 31 Jul 2007 12:32:17 +0000 (12:32 +0000)]
* stdio-common/tfformat.c (sprint_doubles): Add 12 new tests.
2007-07-31 Jakub Jelinek <jakub@redhat.com>
* stdio-common/tfformat.c (sprint_doubles): Add 12 new tests.
Roland McGrath [Tue, 31 Jul 2007 01:54:02 +0000 (01:54 +0000)]
* manual/libc.texinfo: Update copyrights, formatting magic, and
@dircategory. From Karl Berry <karl@freefriends.org>.
Roland McGrath [Tue, 31 Jul 2007 01:53:58 +0000 (01:53 +0000)]
2007-07-30 Roland McGrath <roland@redhat.com>
* manual/libc.texinfo: Update copyrights, formatting magic, and
@dircategory. From Karl Berry <karl@freefriends.org>.
Ulrich Drepper [Sun, 29 Jul 2007 22:44:27 +0000 (22:44 +0000)]
[BZ #4860]
* io/Makefile (headers): Add bits/fcntl2.h.
Ulrich Drepper [Sun, 29 Jul 2007 22:43:00 +0000 (22:43 +0000)]
* sysdeps/unix/sysv/linux/bits/sched.h (__CPU_ZERO_S): Optimize
using gcc builtin.
(__CPU_EQUAL_S): Likewise.
Ulrich Drepper [Sun, 29 Jul 2007 22:24:44 +0000 (22:24 +0000)]
* posix/Makefile (routines): Add sched_cpualloc and sched_cpufree.
(tests): Add tst-cpuset.
* posix/sched_cpualloc.c: New file.
* posix/sched_cpufree.c: New file.
* posix/tst-cpuset.c: New file.
* posix/Versions: Export __sched_cpualloc and __sched_cpufree for
GLIBC_2.7.
* sysdeps/unix/sysv/linux/bits/sched.h: Define __CPU_*_S macros.
* posix/sched.h: Define old CPU_* macros in temers of __CPU_*_S
macros. Define CPU_*_S macros.
Ulrich Drepper [Sun, 29 Jul 2007 22:22:34 +0000 (22:22 +0000)]
Define old CPU_* macros in temers of __CPU_*_S macros. Define CPU_*_S macros.
Jakub Jelinek [Sun, 29 Jul 2007 10:08:46 +0000 (10:08 +0000)]
(__lll_private_flag): Define. (lll_futex_timed_wait, lll_futex_wake): Use it. (lll_private_futex_wait, lll_private_futex_timed_wait, lll_private_futex_wake): Removed.
Ulrich Drepper [Sun, 29 Jul 2007 05:39:49 +0000 (05:39 +0000)]
* posix/getconf.c (vars): Add missing _SC_LEVEL4_CACHE_LINESIZE
entry.
Ulrich Drepper [Sun, 29 Jul 2007 00:26:28 +0000 (00:26 +0000)]
[BZ 4858]
* stdio-common/printf_fp.c (___printf_fp): Fix special case of
#.0g and value rounded to 1.0.
* stdio-common/tfformat.c (sprint_doubles): Add two new tests.
Ulrich Drepper [Sat, 28 Jul 2007 20:45:36 +0000 (20:45 +0000)]
* locale/programs/ld-monetary.c (monetary_finish): Avoid range check
for int_frac_digits and frac_digits.
* login/logout.c (logout): Avoid aliasing violation.
* login/logwtmp.c (logwtmp): Likewise.
* libio/genops.c (_IO_un_link): Avoid aliasing violation.
Ulrich Drepper [Sat, 28 Jul 2007 20:44:03 +0000 (20:44 +0000)]
* nscd/selinux.c (preserve_capabilities): Initialize new_caps
to avoid warning.
* iconv/gconv_open.c (__gconv_open): Initialize ptr to avoid
warning.
* nis/nis_subr.c (nis_getnames): Initialize saveptr to avoid
warning.
* resolv/inet_ntop.c (inet_ntop6): Initialize best.len and cur.len
to avoid warnings.
Ulrich Drepper [Sat, 28 Jul 2007 20:36:21 +0000 (20:36 +0000)]
* nss/nsswitch.c (__nss_lookup_function): Don't cast &ni->known to
void **.
* nss/nsswitch.h (service_user): Use void * type for KNOWN field.
* nss/nss_files/files-hosts.c (LINE_PARSER): Cast host_addr to
char * to avoid warning.
* nis/nss_nis/nis-hosts.c (LINE_PARSER): Likewise.
* timezone/Makefile (CFLAGS-zdump.c): Add -fwrapv.
* locale/programs/ld-ctype.c (ctype_finish, set_class_defaults,
allocate_arrays): Cast second argument to charmap_find_symbol
to char * to avoid warnings.
* locale/programs/repertoire.c (repertoire_new_char): Change
from_nr, to_nr and cnt to unsigned long, adjust printf format
string.
* locale/programs/ld-collate.c (insert_value, handle_ellipsis):
Cast second argument to new_element to char * to avoid warnings.
* locale/weightwc.h (findidx): Cast &extra[-i] to const int32_t *.
* intl/gettextP.h (struct loaded_domain): Change plural to const
struct expression *.
* intl/plural-eval.c (plural_eval): Change first argument to
const struct expression *.
* intl/plural-exp.c (EXTRACT_PLURAL_EXPRESSION): Change first
argument to const struct expression **.
* intl/plural-exp.h (EXTRACT_PLURAL_EXPRESSION, plural_eval): Adjust
prototypes.
* intl/loadmsgcat (_nl_unload_domain): Cast away const
in call to __gettext_free_exp.
* posix/fnmatch.c (fnmatch): Rearrange code to avoid maybe
unitialized wstring/wpattern var warnings.
* posix/runtests.c (struct a_test): Make data field const char *.
* stdio-common/tst-sprintf2.c (main): Don't declere u, v and buf
vars if not LDBL_MANT_DIG >= 106.
* stdio-common/Makefile (CFLAGS-vfwprintf.c): Add -Wno-unitialized.
* stdio-common/vfprintf.c (vfprintf): Cast first arugment to
__find_specmb to avoid warning.
* rt/tst-mqueue1.c (do_one_test): Add casts to avoid warnings.
* debug/test-strcpy_chk.c (do_tests, do_random_tests): Add casts
to avoid warnings.
* sysdeps/ieee754/ldbl-96/s_roundl.c (huge): Add L suffix to
initializer.
* sysdeps/unix/clock_gettime.c (clock_gettime): Only define
tv var when it will be actually used.
* sunrpc/rpc_cmsg.c (xdr_callmsg): Cast IXDR_PUT_* to void
to avoid warnings.
Ulrich Drepper [Sat, 28 Jul 2007 20:16:07 +0000 (20:16 +0000)]
* iconvdata/gbk.c (BODY): Make buf and cp char instead of unsigned
char array resp. pointer.
* iconvdata/iso-2022-kr.c (BODY): Make buf unsigned char instead of
char array.
* iconvdata/cns11643.h (cns11643_to_ucs4): Change first argument
to const unsigned char **.
(ucs4_to_cns11643): Change second argument to unsigned char *.
* iconvdata/euc-tw.c (BODY): Change endp type to
const unsigned char *.
* iconvdata/iso-ir-165.h (ucs4_to_isoir165): Change second argument
to unsigned char *.
* iconvdata/ibm1008_420.c (LOOP_NEED_FLAGS): Don't define.
* iconvdata/iso-2022-cn.c (BODY): Change buf to unsigned char array.
* iconvdata/iso-2022-cn-ext.c (BODY): Change buf, tmpbuf, tmp
types to unsigned char pointers/arrays instead of char.
* iconvdata/jis0201.h (ucs4_to_jisx0201): Change second argument
to unsigned char *.
* iconvdata/jis0208.h (ucs4_to_jisx0208): Likewise.
* iconvdata/jis0212.h: Include assert.h.
(ucs4_to_jisx0212): Change second argument to unsigned char *.
assert that if cp[0] is not '\0', cp[1] is not '\0' either instead
of trying to handle that.
* iconvdata/euc-kr.c (euckr_from_ucs4): Initialize also cp[1] to
shut up a warning.
* iconvdata/euc-jp-ms.c (from_ucs4_lat1, from_ucs4_greek,
from_ucs4_cjk, from_ucs4_cjkcpt, from_ucs4_extra): Change type to
two dimensional const unsigned char arrays.
(BODY): Cast "" to (const unsigned char *) for assignment to cp.
Initialize endp to inptr to shut up a warning.
Ulrich Drepper [Sat, 28 Jul 2007 19:10:22 +0000 (19:10 +0000)]
[BZ #4772]
* time/strptime_l.c (__strptime_internal): Silently ignore
strftime modifiers and field width in recursive calls.
Ulrich Drepper [Sat, 28 Jul 2007 19:08:57 +0000 (19:08 +0000)]
* include/time.h (enum ptime_locale_status): Remove.
(__strptime_internal): Remove decided and era_cnt arguments,
add statep argument.
* time/strptime_l.c (__strptime_internal): Remove decided
and era_cnt arguments, add statep argument. Don't recompute
any fields in recursive calls, only update caller's tm
and state, if recursive call fails, don't change tm nor
any state.
(get_alt_number): Adjust.
(recursive): Adjust caller.
(strptime): Likewise.
* time/strptime.c (strptime): Likewise.
Ulrich Drepper [Sat, 28 Jul 2007 19:02:07 +0000 (19:02 +0000)]
* iconv/gconv_int.h (__GCONV_NULCONV): New internal only error code.
* iconv/gconv_cache.c (__gconv_lookup_cache): Return __GCONV_NULCONV
if from and to charsets are the same.
* iconv/gconv_db.c (__gconv_find_transform): Likewise.
* intl/dcigettext.c (_nl_find_msg): Return NULL even if __gconv_open
returns __GCONV_NOCONV, but not for __GCONV_NULCONV.
2007-07-17 Jakub Jelinek <jakub@redhat.com>
* wcsmbs/wchar.h: Only define wint_t if __need_wint_t.
Don't define wint_t when __need_mbstate_t unless it
is necessary.
(__mbstate_t): Use __WINT_TYPE__ rather than wint_t
in the typedef if possible.
* wctype/wctype.h (wint_t): Define by including
wchar.h with __need_wint_t instead of including stddef.h
with __need_wint_t and as fallback definining it ourselves.
* iconv/gconv.h (__need_wint_t): Define before including
wchar.h.
* sysdeps/gnu/_G_config.h: Don't include gconv.h if not _LIBC
or _GLIBCPP_USE_WCHAR_T.
(__need_wchar_t): Don't define
if not _LIBC or _GLIBCPP_USE_WCHAR_T.
(__need_wint_t): Don't define before including stddef.h,
define before including wchar.h only if _LIBC or
_GLIBCPP_USE_WCHAR_T.
(_G_iconv_t): Don't define if not _LIBC or _GLIBCPP_USE_WCHAR_T.
* sysdeps/mach/hurd/_G_config.h: Likewise.
* sysdeps/generic/_G_config.h: Likewise.
* libio/libio.h (__wunderflow, __wuflow, __woverflow): Only
prototype if _LIBC or _GLIBCPP_USE_WCHAR_T.
(_IO_getwc_unlocked, _IO_putwc_unlocked): Only define
if _LIBC or _GLIBCPP_USE_WCHAR_T.
Ulrich Drepper [Sat, 28 Jul 2007 18:13:45 +0000 (18:13 +0000)]
* sysdeps/posix/posix_fallocate64.c: Undefine
__posix_fallocate64_l64 before alias handling.
* sysdeps/unix/sysv/linux/posix_fallocate.c: New file.
* sysdeps/unix/sysv/linux/posix_fallocate64.c: New file.
* sysdeps/unix/sysv/linux/wordsize-64/posix_fallocate.c: New file.
* sysdeps/unix/sysv/linux/wordsize-64/posix_fallocate64.c: New file.
* io/tst-posix_fallocate.c: Include <fcntl.h>.
2007-07-23 Jakub Jelinek <jakub@redhat.com>
* locale/programs/ld-collate.c (atwc): New variable.
(add_to_tablewc): New toplevel function, moved from collate_output.
(collate_output): Remove add_to_tablewc nested function.
* iconv/iconvconfig.c (hash_table, hash_size): New toplevel vars.
(name_insert): New function.
(write_output): Remove hash_table and hash_size vars and name_insert
nested function.
Ulrich Drepper [Sat, 28 Jul 2007 18:04:22 +0000 (18:04 +0000)]
Include <fcntl.h>.
Jakub Jelinek [Fri, 27 Jul 2007 22:07:39 +0000 (22:07 +0000)]
2007-07-27 Jakub Jelinek <jakub@redhat.com>
* sysdeps/sparc/tls.h (tcbhead_t): Move gscope_flag to the end
of the structure for sparc32.
2007-07-26 Aurelien Jarno <aurelien@aurel32.net>
* sysdeps/sparc/tls.h (tcbhead_t): Add gscope_flag.
2007-07-27 Jakub Jelinek <jakub@redhat.com>
* sysdeps/sparc/tls.h (tcbhead_t): Move gscope_flag to the end
of the structure for sparc32.
2007-07-26 Aurelien Jarno <aurelien@aurel32.net>
* sysdeps/sparc/tls.h (tcbhead_t): Add gscope_flag.
Roland McGrath [Wed, 25 Jul 2007 03:41:17 +0000 (03:41 +0000)]
copyright update
Roland McGrath [Tue, 24 Jul 2007 23:09:42 +0000 (23:09 +0000)]
* Makerules (install-others-programs-nosubdir): New target.
(install-no-libc.a-nosubdir): Depend on it.
* iconv/Makefile (install-others-programs): Set this instead of
install-others.
* login/Makefile (install-others-programs): Likewise.
* posix/Makefile (install-others-programs): Likewise.
* Makerules (install-no-libc.a-nosubdir): Clean up conditional
dependencies.
Roland McGrath [Tue, 24 Jul 2007 23:09:36 +0000 (23:09 +0000)]
2007-07-24 Roland McGrath <roland@redhat.com>
* iconv/Makefile (install-others-programs): Set this instead of
install-others.
* login/Makefile (install-others-programs): Likewise.
* posix/Makefile (install-others-programs): Likewise.
Ulrich Drepper [Tue, 24 Jul 2007 06:57:42 +0000 (06:57 +0000)]
* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S: Fix
code used when private futexes are assumed.
* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S:
Likewise.
Ulrich Drepper [Tue, 24 Jul 2007 06:43:01 +0000 (06:43 +0000)]
* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h
(__lll_private_flag): Define.
(lll_futex_wait): Define as a wrapper around lll_futex_timed_wait.
(lll_futex_timed_wait, lll_futex_wake, lll_futex_wake_unlock): Use
__lll_private_flag.
(lll_private_futex_wait, lll_private_futex_timedwait,
lll_private_futex_wake): Define as wrapper around non-_private
macros.
* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h
(__lll_private_flag): Define.
(lll_futex_timed_wait, lll_futex_wake): Use __lll_private_flag.
(lll_private_futex_wait, lll_private_futex_timedwait,
lll_private_futex_wake): Define as wrapper around non-_private
macros.
Ulrich Drepper [Mon, 23 Jul 2007 18:09:13 +0000 (18:09 +0000)]
* io/Makefile (tests): Add tst-posix_fallocate.
* io/tst-posix_fallocate.c: New file.
* sysdeps/unix/sysv/linux/kernel-features.h: Define
__ASSUME_FALLOCATE.
Ulrich Drepper [Mon, 23 Jul 2007 16:07:53 +0000 (16:07 +0000)]
* pthread_rwlock_rdlock.c (__pthread_rwlock_rdlock): Add LLL_SHARED
parameter to lll_futex_wait call.
* pthread_rwlock_wrlock.c (__pthread_rwlock_wrlock): Likewise.
* sysdeps/unix/sysv/linux/powerpc/pthread_once.c (__pthread_once):
Replace lll_futex_wait with lll_private_futex_wait.
* sysdeps/unix/sysv/linux/powerpc/sem_post.c (__new_sem_post):
Add LLL_SHARED parameter to lll_futex_wake().
* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: Define LLL_PRIVATE
LLL_SHARED, lll_private_futex_wait, lll_private_futex_timed_wait and
lll_private_futex_wake.
(lll_futex_wait): Add private parameter. Adjust FUTEX_PRIVATE_FLAG
bit from private parm before syscall.
(lll_futex_timed_wait): Likewise.
(lll_futex_wake): Likewise.
(lll_futex_wake_unlock): Likewise.
(lll_mutex_unlock): Add LLL_SHARED parm to lll_futex_wake call.
(lll_robust_mutex_unlock): Likewise.
(lll_mutex_unlock_force): Likewise.
(lll_wait_tid): Add LLL_SHARED parm to lll_futex_wait call.
Ulrich Drepper [Mon, 23 Jul 2007 15:46:31 +0000 (15:46 +0000)]
* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S: Fix
compilation when unconditionally using private futexes.
* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_rdlock.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S:
Likewise.
* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_unlock.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_wrlock.S: Likewise.
Ulrich Drepper [Mon, 23 Jul 2007 15:46:18 +0000 (15:46 +0000)]
Fix compilation when unconditionally using private futexes.
Roland McGrath [Mon, 23 Jul 2007 00:38:55 +0000 (00:38 +0000)]
[BZ #3665, BZ #4126, BZ #4178, BZ #4610]
* hurd/getdport.c: Add missing copyright year update.
[BZ #3665]
[BZ #4610]
[BZ #4178]
[BZ #4126]
* sysdeps/mach/hurd/sigsuspend.c (sigsuspend_not_cancel): Define alias
to __sigsuspend.
Roland McGrath [Sun, 22 Jul 2007 22:43:07 +0000 (22:43 +0000)]
* sysdeps/mach/hurd/bits/fcntl.h [__USE_GNU] (O_CLOEXEC): New macro.
* hurd/port2fd.c (_hurd_port2fd): Implement O_CLOEXEC.
Roland McGrath [Sun, 22 Jul 2007 22:43:02 +0000 (22:43 +0000)]
2007-07-22 Roland McGrath <roland@frob.com>
* sysdeps/mach/hurd/bits/fcntl.h [__USE_GNU] (O_CLOEXEC): New macro.
* hurd/port2fd.c (_hurd_port2fd): Implement O_CLOEXEC.
Ulrich Drepper [Sun, 22 Jul 2007 19:02:23 +0000 (19:02 +0000)]
* login/utmp_file.c (setutent_file): Use O_CLOEXEC if possible.