Jakub Jelinek [Sun, 16 Sep 2007 05:10:26 +0000 (05:10 +0000)]
Undo second occurrence of RH GCC hack.
Ulrich Drepper [Sat, 15 Sep 2007 22:54:33 +0000 (22:54 +0000)]
* sysdeps/unix/sysv/linux/dl-osinfo.h (_dl_discover_osversion): Don't
parse more than three parts of the version number.
Ulrich Drepper [Sat, 15 Sep 2007 22:49:46 +0000 (22:49 +0000)]
* stdio-common/vfscanf.c (_IO_vfwscanf): Add support for 'm'
modifier. Patch by Jakub Jelinek.
Ulrich Drepper [Sat, 15 Sep 2007 22:38:32 +0000 (22:38 +0000)]
* sysdeps/unix/sysv/linux/i386/Makefile (sysdep_routines): Add
call_fallocate in misc subdir.
* sysdeps/unix/sysv/linux/i386/call_fallocate.S: New file.
* sysdeps/unix/sysv/linux/i386/syscalls.list (fallocate64): Remove.
* sysdeps/unix/sysv/linux/i386/posix_fallocate.c: Use __call_fallocate
instead of __fallocate64.
* sysdeps/unix/sysv/linux/i386/posix_fallocate64.c: Likewise.
Ulrich Drepper [Sat, 15 Sep 2007 22:35:27 +0000 (22:35 +0000)]
* rt/Versions (librt): Export __mq_open_2@@GLIBC_2.7.
* rt/Makefile (headers): Add bits/mqueue2.h.
* rt/mqueue.h: Include bits/mqueue2.h if -D_FORTIFY_SOURCE=2,
optimizing with GCC and __va_arg_pack_len is defined.
* rt/bits/mqueue2.h: New file.
* rt/mq_open.c (__mq_open): Renamed from mq_open.
(mq_open): New strong_alias.
(__mq_open_2): New function.
* sysdeps/unix/sysv/linux/mq_open.c (__mq_open): Renamed from mq_open.
(mq_open): New strong_alias.
(__mq_open_2): New function.
* debug/Versions (libc): Export __fortify_fail@@GLIBC_PRIVATE.
* Versions.def (librt): Add GLIBC_2.7 version.
* debug/fortify_fail.c (__fortify_fail): Add libc_hidden_def.
* include/stdio.h (__fortify_fail): Add libc_hidden_proto.
* misc/sys/cdefs.h (__errordecl, __va_arg_pack_len): Define.
* io/fcntl.h: Include bits/fcntl2.h when __va_arg_pack_len
is defined rather than when not C++.
* io/bits/fcntl2.h (__open_alias, __open64_alias, __openat_alias,
__openat64_alias): New redirects.
(__open_too_many_args, __open_missing_mode, __open64_too_many_args,
__open64_missing_mode, __openat_too_many_args, __openat_missing_mode,
__openat64_too_many_args, __openat64_missing_mode): New __errordecls.
(open, open64, openat, openat64): Rewrite as __extern_always_inline
functions instead of function-like macros.
Ulrich Drepper [Sat, 15 Sep 2007 22:24:03 +0000 (22:24 +0000)]
* sysdeps/i386/i586/memcpy.S (__memcpy_chk): New definition.
* sysdeps/i386/i586/mempcpy.S (__memcpy_chk): New definition.
* sysdeps/i386/i586/memset.S (__memset_chk): New definition.
Ulrich Drepper [Sat, 15 Sep 2007 22:22:12 +0000 (22:22 +0000)]
* inet/inet_net.c: Reset digit to 0 for inputs starting with "0x".
* inet/tst-network.c (tests): Add edge case tests for "0", "0x", "0x0".
Ulrich Drepper [Sat, 15 Sep 2007 22:21:19 +0000 (22:21 +0000)]
Reset digit to 0 for inputs starting with "0x".
Roland McGrath [Sat, 15 Sep 2007 04:10:42 +0000 (04:10 +0000)]
* inet/tst-network.c: Increment ERRORS for failing tests.
Roland McGrath [Sat, 15 Sep 2007 04:10:38 +0000 (04:10 +0000)]
2007-09-14 Mike Frysinger <vapier@gentoo.org>
* inet/tst-network.c: Increment ERRORS for failing tests.
Ulrich Drepper [Sat, 15 Sep 2007 02:38:04 +0000 (02:38 +0000)]
* misc/sys/cdefs.h (__va_arg_pack): Define for GCC 4.3+.
* misc/bits/syslog.h (syslog): When __va_arg_pack is defined,
implement as __extern_always_inline function.
(vsyslog): Define as __extern_always_inline function unconditionally.
* libio/bits/stdio2.h (sprintf, snprintf, printf, fprintf):
When __va_arg_pack is defined, implement as __extern_always_inline
functions.
(vsprintf, vsnprintf, vprintf, vfprintf): Define as
__extern_always_inline functions unconditionally.
* libio/bits/stdio.h (vprintf): Ifdef out the inline when
bits/stdio2.h will be included.
* wcsmbs/bits/wchar2.h (__swprintf_alias): New redirect.
(swprintf, wprintf, fwprintf): When __va_arg_pack is defined,
implement as __extern_always_inline functions.
(vswprintf, vwprintf, vfwprintf): Define as
__extern_always_inline functions unconditionally.
* debug/tst-chk1.c (do_test): Enable remaining tests for C++.
2007-09-03 Jakub Jelinek <jakub@redhat.com>
* misc/sys/cdefs.h (__extern_inline, __extern_always_inline): Only
define in C++ for GCC 4.3+, in C++ always use __gnu_inline__
attribute.
* include/features.h (__USE_EXTERN_INLINES): Define only when
__extern_inline is defined.
* stdlib/stdlib.h: Include bits/stdlib.h when __extern_always_inline
is defined instead of when not __cplusplus.
* misc/sys/syslog.h: Include bits/syslog.h when __extern_always_inline
is defined instead of when not __cplusplus.
* socket/sys/socket.h: Include bits/socket2.h when
__extern_always_inline is defined instead of when not __cplusplus.
* libio/stdio.h: Include bits/stdio2.h when __extern_always_inline
is defined instead of when not __cplusplus.
* posix/unistd.h: Include bits/unistd.h when __extern_always_inline
is defined instead of when not __cplusplus.
* string/string.h: Include bits/string3.h when __extern_always_inline
is defined instead of when not __cplusplus.
* wcsmbs/wchar.h: Include bits/wchar2.h when __extern_always_inline
is defined instead of when not __cplusplus.
(btowc, wctob): Don't guard the inlines with ifndef __cplusplus.
* io/fcntl.h: Don't include bits/fcntl2.h if __extern_always_inline
is not defined.
* misc/bits/syslog-ldbl.h: Guard *_chk stuff with
defined __extern_always_inline instead of !defined __cplusplus.
* libio/bits/stdio-ldbl.h: Likewise.
* wcsmbs/bits/wchar-ldbl.h: Likewise.
* misc/bits/syslog.h (syslog): Don't define for C++.
(vsyslog): Use __extern_always_inline function for C++ instead of
a macro.
* libio/bits/stdio.h (__STDIO_INLINE): Define to __extern_inline
whenever that macro is defined.
(vprintf): Don't provide the inline for C++.
(fread_unlocked, fwrite_unlocked): Don't define the macros for C++.
* libio/bits/stdio2.h (sprintf, snprintf, printf, fprintf): Don't
define the macros for C++.
(vsprintf, vsnprintf, vprintf, vfprintf): Define as
__extern_always_inline functions for C++.
* io/sys/stat.h (stat, lstat, fstat, fstatat, mknod, mknodat,
stat64, lstat64, fstat64, fstatat64): Don't define if not
__USE_EXTERN_INLINES.
* wcsmbs/bits/wchar2.h: Fix #error message.
(swprintf, wprintf, fwprintf): Don't define the macros for C++.
(vswprintf, vwprintf, vfwprintf): Define using
__extern_always_inline functions for C++.
* string/bits/string3.h: Don't #undef macros if __cplusplus.
(memcpy, memmove, mempcpy, memset, bcopy, bzero, strcpy, stpcpy,
strncpy, strcat, strncat): Define as __extern_always_inline
functions instead of macros for C++.
* math/bits/cmathcalls.h: Guard __extern_inline routines with
defined __extern_inline.
* sysdeps/alpha/fpu/bits/mathinline.h (__MATH_INLINE): Define
to __extern_inline whenever that macro is defined.
* sysdeps/ia64/fpu/bits/mathinline.h (__MATH_INLINE): Likewise.
* sysdeps/i386/fpu/bits/mathinline.h (__MATH_INLINE): Likewise.
* sysdeps/i386/i486/bits/string.h (__STRING_INLINE): Likewise.
* sysdeps/s390/bits/string.h (__STRING_INLINE): Likewise.
* sysdeps/s390/fpu/bits/mathinline.h (__MATH_INLINE): Likewise.
* sysdeps/powerpc/fpu/bits/mathinline.h (__MATH_INLINE): Likewise.
* sysdeps/x86_64/fpu/bits/mathinline.h (__MATH_INLINE): Likewise.
* sysdeps/sparc/fpu/bits/mathinline.h (__MATH_INLINE): Likewise.
* sysdeps/unix/sysv/linux/sys/sysmacros.h (gnu_dev_major,
gnu_dev_minor, gnu_dev_makedev): Remove __extern_inline from
prototypes. Only provide __extern_inline routines if
__USE_EXTERN_INLINES.
* debug/Makefile: Add rules to build and run tst-{,lfs}chk{4,5,6}
tests.
* debug/tst-chk1.c (do_prepare, do_test): Allow compilation as C++.
For now avoid some *printf tests in C++. Skip all testing
if __USE_FORTIFY_LEVEL is defined, but __extern_always_inline macro
is not.
* debug/tst-chk4.cc: New file.
* debug/tst-chk5.cc: New file.
* debug/tst-chk6.cc: New file.
* debug/tst-lfschk4.cc: New file.
* debug/tst-lfschk5.cc: New file.
* debug/tst-lfschk6.cc: New file.
* include/wchar.h (__vfwprintf_chk, __vswprintf_chk): Avoid
prototypes in C++.
* include/stdio.h (__sprintf_chk, __snprintf_chk, __vsprintf_chk,
__vsnprintf_chk, __printf_chk, __fprintf_chk, __vprintf_chk,
__vfprintf_chk, __fgets_unlocked_chk, __fgets_chk): Likewise.
Ulrich Drepper [Thu, 13 Sep 2007 22:01:39 +0000 (22:01 +0000)]
* po/cs.po: Update from translation team.
Ulrich Drepper [Thu, 13 Sep 2007 22:00:56 +0000 (22:00 +0000)]
Update from translation team.
Roland McGrath [Tue, 11 Sep 2007 23:57:30 +0000 (23:57 +0000)]
* posix/Makefile ($(objpfx)getconf.speclist): Make it empty if cross
compiling.
Roland McGrath [Fri, 7 Sep 2007 20:39:01 +0000 (20:39 +0000)]
* sysdeps/mach/hurd/bits/ioctls.h (TAB3): New macro.
Roland McGrath [Wed, 5 Sep 2007 20:48:27 +0000 (20:48 +0000)]
* manual/signal.texi (Signaling Another Process): Typo fix.
From Karl Berry <karl@freefriends.org>.
Roland McGrath [Wed, 5 Sep 2007 20:48:21 +0000 (20:48 +0000)]
2007-09-05 Roland McGrath <roland@redhat.com>
* manual/signal.texi (Signaling Another Process): Typo fix.
From Karl Berry <karl@freefriends.org>.
Ulrich Drepper [Sun, 2 Sep 2007 16:53:13 +0000 (16:53 +0000)]
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
(__pthread_cond_wait): Fix unlocking of internal lock after mutex
unlocking failed.
Patch by Luca Barbieri <luca.barbieri@gmail.com>.
Ulrich Drepper [Wed, 29 Aug 2007 16:50:11 +0000 (16:50 +0000)]
* sysdeps/unix/sysv/linux/check_pf.c (IFA_F_OPTIMISTIC): Define to
zero if not defined.
(make_request): Recognize optimistic addresses and treat them like
deprecated addresses.
Reported by Neil Horman <nhorman@redhat.com>.
Ulrich Drepper [Wed, 29 Aug 2007 06:10:07 +0000 (06:10 +0000)]
* nscd/connections.c (send_ro_fd): Also transfer file size.
* nscd/nscd_helper.c (get_mapping): If nscd also transfers the
file size don't call fstat.
Ulrich Drepper [Wed, 29 Aug 2007 05:16:12 +0000 (05:16 +0000)]
* nscd/nscd_helper.c (get_mapping): Avoid the pread call, just go
ahead and map the file. This should always be correct and we can
catch problems later.
Ulrich Drepper [Tue, 28 Aug 2007 20:33:49 +0000 (20:33 +0000)]
* libio/bits/stdio2.h (__fread_chk, __fread_unlocked_chk): New
prototypes.
(__fread_alias, __fread_unlocked_alias): New aliases.
(fread): New extern inline.
(fread_unlocked): Likewise. Undef macro before definition of
the inline function.
* debug/Makefile (routines): Add fread_chk and fread_u_chk.
(CFLAGS-fread_chk.c, CFLAGS-fread_u_chk.c): Add.
* debug/Versions (libc): Export __fread_chk@@GLIBC_2.7
and __fread_unlocked_chk@@GLIBC_2.7.
* debug/fread_chk.c: New file.
* debug/fread_u_chk.c: New file.
* debug/tst-chk1.c (do_test): Add fread and fread_unlocked tests.
Ulrich Drepper [Tue, 28 Aug 2007 20:31:26 +0000 (20:31 +0000)]
Debug version of fread.
Roland McGrath [Mon, 27 Aug 2007 20:10:36 +0000 (20:10 +0000)]
* sysdeps/unix/sysv/linux/syscalls.list
(personality): Change caller to EXTRA.
Roland McGrath [Mon, 27 Aug 2007 20:10:31 +0000 (20:10 +0000)]
2007-08-27 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/syscalls.list
(personality): Change caller to EXTRA.
Ulrich Drepper [Sun, 26 Aug 2007 03:34:59 +0000 (03:34 +0000)]
* sunrpc/key_prot.c (xdr_unixcred): Work around gcc alias warning.
* nis/nis_xdr.c (_xdr_nis_server): Likewise.
* nis/yp_xdr.c (xdr_ypmaplist): Likewise.
Ulrich Drepper [Sun, 26 Aug 2007 03:17:03 +0000 (03:17 +0000)]
* iconvdata/iso-2022-kr.c (BODY): Fake initialization of array buf
to keep gcc quiet.
* iconvdata/iso-2022-cn.c (BODY): Likewise.
Ulrich Drepper [Sun, 26 Aug 2007 03:04:02 +0000 (03:04 +0000)]
* locale/programs/ld-collate.c (collate_output): Avoid warning if
NDEBUG is defined.
Ulrich Drepper [Sun, 26 Aug 2007 02:18:14 +0000 (02:18 +0000)]
* Makerules: Use -p option with mkdir.
Ulrich Drepper [Sun, 26 Aug 2007 02:06:10 +0000 (02:06 +0000)]
* nis/nis_xdr.c (_xdr_nis_server): Work around gcc alias warning.
(_xdr_directory_obj): Likewise.
(xdr_entry_obj): Likewise.
(xdr_group_obj): Likewise.
(xdr_link_obj): Likewise.
(xdr_table_obj): Likewise.
(_xdr_nis_result): Likewise.
(_xdr_ns_request): Likewise.
(_xdr_ib_request): Likewise.
(_xdr_nis_taglist): Likewise.
(xdr_cback_data): Likewise.
* nis/yp_xdr.c (xdr_ypmaplist): Work around gcc warning.
(xdr_ypresp_maplist): Likewise.
Ulrich Drepper [Sun, 26 Aug 2007 01:49:11 +0000 (01:49 +0000)]
* stdio-common/Makefile: Avoid format string warning for tst-sprint.
Ulrich Drepper [Sun, 26 Aug 2007 01:35:19 +0000 (01:35 +0000)]
* posix/regex_internal.h: Prevent some declarations and definitions
to be seen when used in tests.
Ulrich Drepper [Sun, 26 Aug 2007 01:27:49 +0000 (01:27 +0000)]
* posix/tst-rfc3484.c (__idna_to_unicode_lzlz): Initialize *OUTPUT.
* posix/tst-rfc3484-2.c (__idna_to_unicode_lzlz): Likewise.
Ulrich Drepper [Sun, 26 Aug 2007 01:19:56 +0000 (01:19 +0000)]
* debug/Makefile: Disable format checking when compiling tst-chk?.c.
Ulrich Drepper [Sat, 25 Aug 2007 23:26:53 +0000 (23:26 +0000)]
fallocate64 as EXTRA. It is not referenced if the symbol isn't
Ulrich Drepper [Sat, 25 Aug 2007 22:25:32 +0000 (22:25 +0000)]
* config.make.in (datarootdir): Add to shut up configure.
Ulrich Drepper [Sat, 25 Aug 2007 17:24:23 +0000 (17:24 +0000)]
* sysdeps/x86_64/cacheinfo.c (handle_amd): Fix computation of
associativity for fully-associative caches.
Ulrich Drepper [Sat, 25 Aug 2007 17:07:47 +0000 (17:07 +0000)]
* sysdeps/x86_64/cacheinfo.c (handle_amd): Handle L3 cache
requests. Fill on more associativity values for L2.
Patch mostly by Evandro Menezes.
Ulrich Drepper [Sat, 25 Aug 2007 05:44:16 +0000 (05:44 +0000)]
[BZ #3842]
2007-08-24 Ulrich Drepper <drepper@redhat.com>
[BZ #3842]
* locales/ru_RU: Use U00A0 instead of U2002 for thousands separator.
The latter might be more correct but usually cannot be displayed.
Ulrich Drepper [Fri, 24 Aug 2007 18:24:03 +0000 (18:24 +0000)]
* sysdeps/unix/sysv/linux/x86_64/init-first.c
(_libc_vdso_platform_setup): Avoid using exported variable by using
alias.
Ulrich Drepper [Fri, 24 Aug 2007 18:07:16 +0000 (18:07 +0000)]
* resolv/arpa/nameser.h (NS_OPT_DNSSEC_OK): Define.
Ulrich Drepper [Fri, 24 Aug 2007 17:22:25 +0000 (17:22 +0000)]
* sysdeps/unix/sysv/linux/i386/syscalls.list: No reason to mark
fallocate64 as EXTRA< it is not referenced if the symbol isn't
defined.
Ulrich Drepper [Fri, 24 Aug 2007 03:57:56 +0000 (03:57 +0000)]
* sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Correctly
align stack for call if pltexit is to be used.
Ulrich Drepper [Fri, 24 Aug 2007 02:58:08 +0000 (02:58 +0000)]
[BZ #3924]
* sysdeps/i386/dl-trampoline.S (_dl_runtime_profile): Correctly
align for function call in case pltexit has to be called later.
Ulrich Drepper [Fri, 24 Aug 2007 02:03:29 +0000 (02:03 +0000)]
* sysdeps/i386/dl-trampoline.S (_dl_runtime_resolve): Avoid
implicit atomic operation when storing function pointer.
(_dl_runtime_profile): Likewise.
Ulrich Drepper [Wed, 22 Aug 2007 16:04:18 +0000 (16:04 +0000)]
* nis/nis_table.c (nis_list): Don't fail if __follow_path returned
NIS_NOTFOUND.
Ulrich Drepper [Wed, 22 Aug 2007 07:14:16 +0000 (07:14 +0000)]
[BZ #4566]
* string/strtok.c: Fix typo in comment.
Ulrich Drepper [Wed, 22 Aug 2007 07:04:23 +0000 (07:04 +0000)]
[BZ #4582]
* debug/segfault.c: Fix typos in comments.
Ulrich Drepper [Wed, 22 Aug 2007 06:49:40 +0000 (06:49 +0000)]
[BZ #4588]
* stdio-common/tempnam.c: Fix comment, it is not checked that
TMPDIR points to a writable directory.
Ulrich Drepper [Wed, 22 Aug 2007 04:02:53 +0000 (04:02 +0000)]
[BZ #4726]
* resolv/res_send.c (__libc_res_nsend): Initialize all of the
memory allocated for the name server address.
Ulrich Drepper [Wed, 22 Aug 2007 03:40:34 +0000 (03:40 +0000)]
[BZ #4946]
* nscd/connections.c (handle_request): Using sendfile always
requires that mmap is used for the database.
Patch by Petr Baudis <pasky@suse.cz>.
Ulrich Drepper [Wed, 22 Aug 2007 03:30:02 +0000 (03:30 +0000)]
[BZ #4905]
* nscd/hstcache.c (cache_addhst): When reloading an entry which
suddenly has two or more addresses, ignore it and remove the old
entry.
Ulrich Drepper [Wed, 22 Aug 2007 03:14:29 +0000 (03:14 +0000)]
[BZ #4814]
* resolv/res_hconf.c: Prepare for compiling outside libc.
* nscd/res_hconf.c: New file.
* nscd/Makefile (nscd-modules): Add res_hconf. Add rules to build
the new file.
* nscd/gethstbynm2_r.c (NEED__RES_HCONF): Define.
* nscd/gethstbyad_r.c (NEED__RES_HCONF): Likewise.
Ulrich Drepper [Wed, 22 Aug 2007 02:39:47 +0000 (02:39 +0000)]
* nscd/hstcache.c (cache_addhst): Minimal optimization.
Ulrich Drepper [Tue, 21 Aug 2007 23:55:36 +0000 (23:55 +0000)]
[BZ #4938]
2007-08-21 Ulrich Drepper <drepper@redhat.com>
[BZ #4938]
* allocatestack.c (__reclaim_stacks): Clear the TSD in the
reclaimed stack if necessary.
* Makefile (tests): Add tst-tsd6.
* tst-tsd6.c: New file.
Ulrich Drepper [Tue, 21 Aug 2007 14:56:27 +0000 (14:56 +0000)]
[BZ #4925]
* debug/pcprofiledump.c: Turn on internationalization by calling
setlocale. Patch mostly by Benno Schulenberg.
Ulrich Drepper [Tue, 21 Aug 2007 14:43:18 +0000 (14:43 +0000)]
[BZ #4896, BZ #4936]
2007-08-21 Ulrich Drepper <drepper@redhat.com>
[BZ #4936]
* iconv/gconv.c (__gconv): If flush was successful, clear rest of
the state.
* iconvdata/Makefile: Add rules to build and run bug-iconv5.
* iconvdata/bug-iconv5.c: New file.
[BZ #4896]
Ulrich Drepper [Tue, 21 Aug 2007 14:14:25 +0000 (14:14 +0000)]
* elf/elf.h: Define R_PARISC_PLABEL21L, R_PARISC_PLABEL14R,
R_PARISC_GNU_VTENTRY, R_PARISC_GNU_VTINHERIT, R_PARISC_TLS_GD21L,
R_PARISC_TLS_GD14R, R_PARISC_TLS_GDCALL, R_PARISC_TLS_LDM21L,
R_PARISC_TLS_LDM14R, R_PARISC_TLS_LDMCALL, R_PARISC_TLS_LDO21L,
R_PARISC_TLS_LDO14R, R_PARISC_TLS_DTPMOD32, R_PARISC_TLS_DTPMOD64,
R_PARISC_TLS_DTPOFF32, R_PARISC_TLS_DTPOFF64, R_PARISC_TLS_LE21L,
R_PARISC_TLS_LE14R, R_PARISC_TLS_IE21L, R_PARISC_TLS_IE14R,
R_PARISC_TLS_TPREL32, R_PARISC_TLS_TPREL64.
Ulrich Drepper [Tue, 21 Aug 2007 14:06:07 +0000 (14:06 +0000)]
[BZ #4937]
2007-08-21 Ulrich Drepper <drepper@redhat.com>
[BZ #4937]
* elf/do-lookup.h (do_lookup_x): Minimal improvement in hash
lookup loop. Suggested by John Reiser.
Ulrich Drepper [Tue, 21 Aug 2007 14:05:39 +0000 (14:05 +0000)]
(do_lookup_x): Minimal improvement in hash lookup loop.
Jakub Jelinek [Tue, 21 Aug 2007 08:07:28 +0000 (08:07 +0000)]
* sysdeps/unix/sysv/linux/alpha/sysdep.h: Include tls.h.
2007-08-21 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/alpha/sysdep.h: Include tls.h.
Jakub Jelinek [Tue, 21 Aug 2007 08:05:34 +0000 (08:05 +0000)]
* sysdeps/unix/sysv/linux/alpha/lowlevellock.h (lll_robust_dead):
Add private argument.
2007-08-21 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/alpha/lowlevellock.h (lll_robust_dead):
Add private argument.
Ulrich Drepper [Mon, 20 Aug 2007 22:36:43 +0000 (22:36 +0000)]
* csu/libc-start.c: Don't handle VDSO_SETUP here.
* sysdeps/unix/sysv/linux/init-first.c: Handle it here instead.
* sysdeps/unix/sysv/linux/x86_64/libc-start.c: Renamed to...
* sysdeps/unix/sysv/linux/x86_64/init-first.c: ...this. New file.
* sysdeps/unix/sysv/linux/powerpc/libc-start.c: Move VDSO_SETUP code
to...
* sysdeps/unix/sysv/linux/x86_64/init-first.c: ...here. New file.
Ulrich Drepper [Sat, 18 Aug 2007 15:12:35 +0000 (15:12 +0000)]
* po/nl.po: Update from translation team.
Ulrich Drepper [Sat, 18 Aug 2007 15:10:21 +0000 (15:10 +0000)]
Update from translation team.
Andreas Jaeger [Fri, 17 Aug 2007 07:19:25 +0000 (07:19 +0000)]
Update.
2007-08-16 Andreas Jaeger <aj@suse.de>
* locale/localeinfo.h: Make _nl_category_name_idxs extern.
Reported by Peter Festner <peter.festner@ewetel.net>.
Andreas Jaeger [Fri, 17 Aug 2007 07:18:34 +0000 (07:18 +0000)]
Make _nl_category_name_idxs extern.
Jakub Jelinek [Fri, 17 Aug 2007 06:28:40 +0000 (06:28 +0000)]
* login/tst-grantpt.c (test_einval): Add 3rd argument to open.
2007-08-17 Jakub Jelinek <jakub@redhat.com>
* login/tst-grantpt.c (test_einval): Add 3rd argument to open.
Jakub Jelinek [Thu, 16 Aug 2007 21:20:11 +0000 (21:20 +0000)]
* elf/Makefile ($(objpfx)ld.so): Use readelf -s and awk instead of nm -u
to check for undefined symbols.
* elf/Makefile ($(objpfx)ld.so): Use readelf -s and awk instead of nm -u
to check for undefined symbols.
Jakub Jelinek [Thu, 16 Aug 2007 21:03:08 +0000 (21:03 +0000)]
* sysdeps/unix/sysv/linux/alpha/lowlevellock.h
(__lll_robust_timedlock): Pass private as last argument to
__lll_robust_timedlock_wait.
(__lll_unlock): Fix a pasto.
2007-08-16 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/alpha/lowlevellock.h
(__lll_robust_timedlock): Pass private as last argument to
__lll_robust_timedlock_wait.
(__lll_unlock): Fix a pasto.
Jakub Jelinek [Thu, 16 Aug 2007 19:44:26 +0000 (19:44 +0000)]
* sysdeps/unix/sysv/linux/sparc/sparc32/clone.S (__clone):
If the syscall fails, set errno to the actual returned error number
rather than EINVAL.
* sysdeps/unix/sysv/linux/sparc/sparc64/clone.S (__clone): If
arguments are incorrect, set errno to EINVAL, if the syscall
fails, set errno to the actual returned error number.
* sysdeps/unix/sysv/linux/sparc/sparc32/clone.S (__clone):
If the syscall fails, set errno to the actual returned error number
rather than EINVAL.
* sysdeps/unix/sysv/linux/sparc/sparc64/clone.S (__clone): If
arguments are incorrect, set errno to EINVAL, if the syscall
fails, set errno to the actual returned error number.
Jakub Jelinek [Thu, 16 Aug 2007 19:33:54 +0000 (19:33 +0000)]
* stdlib/bits/stdlib-ldbl.h (__strtold_internal): Remove.
* wcsmbs/bits/wchar-ldbl.h (__wcstold_internal): Remove.
* stdlib/bits/stdlib-ldbl.h (__strtold_internal): Remove.
* wcsmbs/bits/wchar-ldbl.h (__wcstold_internal): Remove.
Jakub Jelinek [Thu, 16 Aug 2007 10:42:36 +0000 (10:42 +0000)]
* sysdeps/sparc/sparc32/sparcv9b/memcpy.S: Moved to...
* sysdeps/sparc/sparc32/sparcv9/sparcv9b/memcpy.S: ... here. New
file.
(ASI_PNF, ASI_BLK_P): Don't define.
* sysdeps/sparc/sparc32/sparcv9v/memcpy.S: Moved to...
* sysdeps/sparc/sparc32/sparcv9/sparcv9v/memcpy.S: ... here. New
file.
* sysdeps/sparc/sparc32/sparcv9v/memset.S: Moved to...
* sysdeps/sparc/sparc32/sparcv9/sparcv9v/memset.S: ... here. New
file.
2007-08-16 Jakub Jelinek <jakub@redhat.com>
* sysdeps/sparc/sparc32/sparcv9b/memcpy.S: Moved to...
* sysdeps/sparc/sparc32/sparcv9/sparcv9b/memcpy.S: ... here. New
file.
(ASI_PNF, ASI_BLK_P): Don't define.
* sysdeps/sparc/sparc32/sparcv9v/memcpy.S: Moved to...
* sysdeps/sparc/sparc32/sparcv9/sparcv9v/memcpy.S: ... here. New
file.
* sysdeps/sparc/sparc32/sparcv9v/memset.S: Moved to...
* sysdeps/sparc/sparc32/sparcv9/sparcv9v/memset.S: ... here. New
file.
Jakub Jelinek [Wed, 15 Aug 2007 20:47:43 +0000 (20:47 +0000)]
* sysdeps/sparc/fpu/fraiseexcpt.c (__feraiseexcept): Fix raising
FE_UNDERFLOW on Niagara CPUs.
* sysdeps/sparc/fpu/feholdexcpt.c (feholdexcept): Clear all
exceptions.
* sysdeps/unix/sysv/linux/sparc/internaltypes.h (sparc_new_sem,
sparc_old_sem): New structs.
* sysdeps/unix/sysv/linux/sparc/sparc32/sem_wait.c
(__sem_wait_cleanup): New function.
(__new_sem_wait): Use sparc_new_sem structure. Bump and afterwards
decrease nwaiters. Register __sem_wait_cleanup as cleanup handler.
Pass isem->private ^ FUTEX_PRIVATE_FLAG as last argument to
lll_futex_wait.
(__old_sem_wait): New function.
* sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/sem_wait.c: Include
nptl/sysdeps/unix/sysv/linux/sparc version.
* sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/sem_timedwait.c:
Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/sem_post.c: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc32/sem_trywait.c
(__new_sem_trywait): Use sparc_old_sem structure.
* sysdeps/unix/sysv/linux/sparc/sparc32/sem_timedwait.c
(sem_timedwait): Use sparc_new_sem structure. Bump and afterwards
decrease nwaiters. Register __sem_wait_cleanup as cleanup handler.
Pass isem->private ^ FUTEX_PRIVATE_FLAG as last argument to
lll_futex_timed_wait.
* sysdeps/unix/sysv/linux/sparc/sparc32/sem_post.c (__new_sem_post):
Use sparc_new_sem structure. Only wake if nwaiters > 0. Pass
isem->private ^ FUTEX_PRIVATE_FLAG as last argument to
lll_futex_wake.
(__old_sem_post): New function.
* sysdeps/unix/sysv/linux/sparc/sem_wait.c: New file.
* sysdeps/unix/sysv/linux/sparc/sem_init.c: New file.
* sysdeps/unix/sysv/linux/sparc/sem_timedwait.c: New file.
* sysdeps/unix/sysv/linux/sparc/sem_post.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/sem_init.c: Remove.
* sysdeps/unix/sysv/linux/sparc/sparc32/sem_init.c: Remove.
2007-08-15 Jakub Jelinek <jakub@redhat.com>
* sysdeps/sparc/fpu/fraiseexcpt.c (__feraiseexcept): Fix raising
FE_UNDERFLOW on Niagara CPUs.
* sysdeps/sparc/fpu/feholdexcpt.c (feholdexcept): Clear all
exceptions.
Ulrich Drepper [Wed, 15 Aug 2007 06:41:22 +0000 (06:41 +0000)]
* sysdeps/unix/sysv/linux/sh/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/shpthread_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.
Use FUTEX_WAKE_OP.
* sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S: Include
kernel-features.h and tcb-offsets.h.
(__pthread_cond_wait, __condvar_w_cleanup): Pass LLL_PRIVATE to
lll_* and or FUTEX_PRIVATE_FLAG into SYS_futex op if cv is
process private.
* sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S: Include
tcb-offsets.h.
(__pthread_cond_timedwait, __condvar_tw_cleanup): Pass LLL_PRIVATE
to lll_* and or FUTEX_PRIVATE_FLAG into SYS_futex op if cv is
process private.
* sysdeps/unix/sysv/linux/sh/pthread_once.S: Use #ifdef
__ASSUME_PRIVATE_FUTEX instead of #if __ASSUME_PRIVATE_FUTEX.
* sysdeps/unix/sysv/linux/sh/pthread_rwlock_rdlock.S: Likewise.
* sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedrdlock.S: Likewise.
* sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedwrlock.S: Likewise.
* sysdeps/unix/sysv/linux/sh/pthread_rwlock_unlock.S: Likewise.
* sysdeps/unix/sysv/linux/sh/pthread_rwlock_wrlock.S: Likewise.
Ulrich Drepper [Wed, 15 Aug 2007 06:39:43 +0000 (06:39 +0000)]
(__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.
Jakub Jelinek [Tue, 14 Aug 2007 19:59:35 +0000 (19:59 +0000)]
* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_runtime_setup): No
need to check GLRO(dl_hwcap) & HWCAP_SPARC_FLUSH on sparcv9.
(sparc_fixup_plt): Add do_flush argument instead of figuring whether
flush should be used or not inside of the function.
(elf_machine_fixup_plt, elf_machine_rela): Adjust caller.
* sysdeps/unix/sysv/linux/sparc/sparc32/clone.S (__clone,
__thread_start): Use HIDDEN_JUMPTARGET.
* sysdeps/unix/sysv/linux/sparc/sparc64/clone.S (__clone,
__thread_start): Likewise.
* sysdeps/unix/sysv/linux/sparc/sysdep.h (JUMPTARGET): Define.
nptl/
* sysdeps/unix/sysv/linux/lowlevellock.c: Comment fix.
* sysdeps/unix/sysv/linux/sparc/sparc32/lowlevellock.c
(__lll_timedwait_tid): Pass LLL_SHARED as 4th argument to
lll_futex_timed_wait.
* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_runtime_setup): No
need to check GLRO(dl_hwcap) & HWCAP_SPARC_FLUSH on sparcv9.
(sparc_fixup_plt): Add do_flush argument instead of figuring whether
flush should be used or not inside of the function.
(elf_machine_fixup_plt, elf_machine_rela): Adjust caller.
* sysdeps/unix/sysv/linux/sparc/sparc32/clone.S (__clone,
__thread_start): Use HIDDEN_JUMPTARGET.
* sysdeps/unix/sysv/linux/sparc/sparc64/clone.S (__clone,
__thread_start): Likewise.
* sysdeps/unix/sysv/linux/sparc/sysdep.h (JUMPTARGET): Define.
Jakub Jelinek [Tue, 14 Aug 2007 19:37:50 +0000 (19:37 +0000)]
* sysdeps/ieee754/ldbl-64-128/strtold_l.c (__STRTOF): Declare.
Add libc_hidden_proto.
(STRTOF): Add libc_hidden_proto.
(___new_strtold_l, ___new_wcstold_l): New weak aliases.
(strtold_l, wcstold_l): Use them as second argument for
long_double_symbol. nptl/
* sysdeps/unix/sysv/linux/alpha/lowlevellock.h (__lll_unlock,
__lll_robust_unlock): Rewrite as macros instead of inline functions.
* sysdeps/unix/sysv/linux/s390/lowlevellock.h (__lll_unlock,
__lll_robust_unlock, __lll_wait_tid): Likewise.
2007-08-14 Jakub Jelinek <jakub@redhat.com>
* sysdeps/ieee754/ldbl-64-128/strtold_l.c (__STRTOF): Declare.
Add libc_hidden_proto.
(STRTOF): Add libc_hidden_proto.
(___new_strtold_l, ___new_wcstold_l): New weak aliases.
(strtold_l, wcstold_l): Use them as second argument for
long_double_symbol.
Ulrich Drepper [Tue, 14 Aug 2007 18:54:27 +0000 (18:54 +0000)]
* elf/dl-misc.c: Undo last change. The kernel won't allow it.
Ulrich Drepper [Tue, 14 Aug 2007 14:37:21 +0000 (14:37 +0000)]
* stdlib/strtold_l.c: Include wchar.h if needed. Add libc_hidden_def.
Ulrich Drepper [Tue, 14 Aug 2007 14:06:21 +0000 (14:06 +0000)]
* po/bg.po: New file. From the translation team.
Ulrich Drepper [Tue, 14 Aug 2007 03:21:23 +0000 (03:21 +0000)]
* sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_PSELECT,
__ASSUME_PPOLL, __ASSUME_ATFCTS, __ASSUME_SET_ROBUST_LIST,
__ASSUME_UTIMENSAT, __ASSUME_FALLOCATE): Update per-arch conditions
when each feature was introduced.
* sysdeps/unix/sysv/linux/dl-vdso.c: Don't include dl-hash.h.
* sysdeps/unix/sysv/linux/dl-vdso.h: Don't include dl-hash.h if NDEBUG.
(CHECK_HASH): New macro.
(PREPARE_VERSION): Use it.
* sysdeps/unix/sysv/linux/pselect.c (__generic_pselect): Only provide
prototype if not __ASSUME_PSELECT.
* sysdeps/unix/sysv/linux/ppoll.c (__generic_ppoll): Only provide
prototype if not __ASSUME_PPOLL.
* sysdeps/unix/sysv/linux/dl-osinfo.h (ROUND): #undef after use.
* sysdeps/unix/clock_settime.c (freq, __pthread_clock_settime,
hp_timing_settime): Don't define or declare if HANDLED_CPUTIME
is defined.
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.