Commit Graph

15024 Commits

Author SHA1 Message Date
Ulrich Drepper
13669f2c30 * elf/dl-open.c (dl_open_worker): Add branch prediction. 2006-07-31 23:54:19 +00:00
Ulrich Drepper
d2de41fe4c * nis/nss_compat/compat-grp.c: Avoid unnecessary setgrent calls into
the backend NSS module.  If backend setgrent call failed, don't have
	internal_setgrent fail.  Just remember this until it is needed.
	* nis/nss_compat/compat-pwd.c: Likewise.
	* nis/nss_compat/compat-spwd.c: Likewise.
2006-07-31 23:34:45 +00:00
Ulrich Drepper
cb62745abd Avoid unnecessary setXXent calls into the backend NSS module. If backend setXXent call failed, don't have internal_setXXent fail. Just remember this until it is needed. 2006-07-31 23:33:04 +00:00
Roland McGrath
b894c2ea7e * sysdeps/unix/sysv/linux/ia64/sigsuspend.c: File removed.
* sysdeps/unix/sysv/linux/x86_64/sigsuspend.c: File removed.
	* sysdeps/unix/sysv/linux/s390/s390-64/sigsuspend.c: File removed.
	* sysdeps/unix/sysv/linux/sparc/sparc64/sigsuspend.c: File removed.

	* sysdeps/unix/sysv/linux/not-cancel.h (pause_not_cancel): New macro.
	(nanosleep_not_cancel): New macro.
	(sigsuspend_not_cancel): new macro.
	* sysdeps/unix/sysv/linux/sigsuspend.c [__ASSUME_REALTIME_SIGNALS]
	(do_sigsuspend): Define as inline.
	(__sigsuspend): Always use do_sigsuspend.
	[! NO_CANCELLATION] (__sigsuspend_nocancel): New function.
	* include/signal.h: Declare __sigsuspend_nocancel.
	* sysdeps/posix/pause.c
	[! NO_CANCELLATION] (__pause_nocancel): New function.

	* include/unistd.h (__pause_nocancel): Add attribute_hidden.
	* include/time.h (__nanosleep_nocancel): Likewise.
2006-07-31 05:58:51 +00:00
Roland McGrath
b32e6700d0 2006-07-30 Roland McGrath <roland@redhat.com>
* include/unistd.h (__pause_nocancel): Add attribute_hidden.
	* include/time.h (__nanosleep_nocancel): Likewise.
2006-07-31 05:57:52 +00:00
Ulrich Drepper
c10d32c834 * locale/programs/localedef.c (add_to_readlist): Rename local
variables to avoid confusion.

	* locale/programs/charmap.c (charmap_read): Emit error message if
	charmap couldn't be found or read.
2006-07-30 22:24:49 +00:00
Ulrich Drepper
d5ba53f907 * sysdeps/unix/sysv/linux/kernel-features.h: Define
__ASSUME_FUTEX_LOCK_PI.
	* include/time.h: Declare __nanosleep_nocancel.
	* include/unistd.h: Declare __pause_nocancel.
2006-07-29 05:07:43 +00:00
Ulrich Drepper
df47504c78 2006-07-28 Ulrich Drepper <drepper@redhat.com>
Jakub Jelinek  <jakub@redhat.com>

	* descr.h: Change ENQUEUE_MUTEX and DEQUEUE_MUTEX for bit 0
	notification of PI mutex.  Add ENQUEUE_MUTEX_PI.
	* pthreadP.h: Define PTHREAD_MUTEX_PI_* macros for PI mutex types.
	* pthread_mutex_setprioceilining.c: Adjust for mutex type name change.
	* pthread_mutex_init.c: Add support for priority inheritance mutex.
	* pthread_mutex_lock.c: Likewise.
	* pthread_mutex_timedlock.c: Likewise.
	* pthread_mutex_trylock.c: Likewise.
	* pthread_mutex_unlock.c: Likewise.
	* sysdeps/pthread/pthread_cond_broadcast.c: For PI mutexes wake
	all mutexes.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.c: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.c: Likewise.
	* sysdeps/unix/sysv/linux/pthread-pi-defines.sym: New file.
	* sysdeps/unix/sysv/linux/Makefile (gen-as-const-header): Add
	pthread-pi-defines.sym.
	* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Define FUTEX_LOCK_PI,
	FUTEX_UNLOCK_PI, and FUTEX_TRYLOCK_PI.
	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/posix_opt.h: Define
	_POSIX_THREAD_PRIO_INHERIT to 200112L.
	* tst-mutex1.c: Adjust to allow use in PI mutex test.
	* tst-mutex2.c: Likewise.
	* tst-mutex3.c: Likewise.
	* tst-mutex4.c: Likewise.
	* tst-mutex5.c: Likewise.
	* tst-mutex6.c: Likewise.
	* tst-mutex7.c: Likewise.
	* tst-mutex7a.c: Likewise.
	* tst-mutex8.c: Likewise.
	* tst-mutex9.c: Likewise.
	* tst-robust1.c: Likewise.
	* tst-robust7.c: Likewise.
	* tst-robust8.c: Likewise.
	* tst-mutexpi1.c: New file.
	* tst-mutexpi2.c: New file.
	* tst-mutexpi3.c: New file.
	* tst-mutexpi4.c: New file.
	* tst-mutexpi5.c: New file.
	* tst-mutexpi6.c: New file.
	* tst-mutexpi7.c: New file.
	* tst-mutexpi7a.c: New file.
	* tst-mutexpi8.c: New file.
	* tst-mutexpi9.c: New file.
	* tst-robust1.c: New file.
	* tst-robust2.c: New file.
	* tst-robust3.c: New file.
	* tst-robust4.c: New file.
	* tst-robust5.c: New file.
	* tst-robust6.c: New file.
	* tst-robust7.c: New file.
	* tst-robust8.c: New file.
	* Makefile (tests): Add the new tests.

	* pthread_create.c (start_thread): Add some casts to avoid warnings.
	* pthread_mutex_destroy.c: Remove unneeded label.
2006-07-29 04:42:09 +00:00
Ulrich Drepper
6822f05652 * dlfcn/Makefile (LDLIBS-bug-atexit3-lib.so): Use this instead of
LDFLAGS.  Add -lgcc_eh and libc_nonshared (again) to make sure we
	get the __stack_chk_fail_local definition when it's needed.
2006-07-28 19:57:56 +00:00
Ulrich Drepper
6de1f62588 * dlfcn/Makefile: Add rules to build and run bug-atexit3.
* dlfcn/bug-atexit3.c: New file.
	* dlfcn/bug-atexit3-lib.cc: New file.
2006-07-27 01:31:43 +00:00
Ulrich Drepper
3a975ff576 * dlfcn/dlmopen.c (dlmopen_doit): Don't allow RTLD_GLOBAL to be
used when the namespace is not the base namespace.
2006-07-26 08:21:54 +00:00
Ulrich Drepper
a92b1166e5 * stdlib/cxa_atexit.c (__new_exitfn_called): New variable.
(__new_exitfn): Bump it in every successful call.
	* stdlib/cxa_finalize.c (__cxa_finalize): If destructor registered
	more exit handlers, call them right away.
	* stdlib/exit.h: Declare __new_exitfn_called.
2006-07-26 07:27:20 +00:00
Ulrich Drepper
bd3754dcf6 * stdlib/cxa_finalize.c (__cxa_finalize): Fix race condition when
calling registered handler.
2006-07-26 06:44:46 +00:00
Ulrich Drepper
a08336fb91 Update.
2006-07-25  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Fix comment.
	* sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/alpha/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Likewise.
2006-07-26 01:42:58 +00:00
Ulrich Drepper
871b91589b * elf/dl-lookup.c (dl_new_hash): New functions.
(_dl_lookup_symbol_x): Rename hash to old_hash and don't compute
	value here.  Compute new-style hash value.  Pass new hash value
	and reference to variable with the old value to do_lookup_x.
	(_dl_setup_hash): If DT_GNU_HASH is defined, use it and not
	old-style hash table.
	(_dl_debug_bindings): Pass new hash value and reference to variable
	with the old value to do_lookup_x.
	* elf/do-lookup.h (do_lookup_x): Accept additional parameter with
	new-style hash value and change old-style hash value parameter to
	be a reference.  Reoganize functions to determine whether
	new-style hash table is available.  Only fall back on old-style
	table.  If old-style hash value is needed, compute it here.
	* elf/dynamic-link.h (elf_get_dynamic_info): Relocate DT_GNU_HASH
	entry.
	* elf/elf.h: Define SHT_GNU_HASH, DT_GNU_HASH, DT_TLSDEC_PLT,
	DT_TLSDEC_GOT.  Adjust DT_ADDRNUM.
	* include/link.h (struct link_map): Add l_gnu_bitmask_idxbits,
	l_gnu_shift, l_gnu_bitmask, l_gnu_buckets and l_gnu_chain_zero.
	* Makeconfig: If linker supports --hash-style option add it to all
	linker command lines to build DSOs.
	* config.make.in: Define have-hash-style.
	* configure.in: Test whether linker supports --hash-style option.

	* elf/dl-misc.c (_dl_name_match_p): Make MAP parameter const.
	* sysdeps/generic/ldsodefs.h: Adjust prototype.
2006-07-10 21:59:43 +00:00
Ulrich Drepper
f3be81a91c * pthread_mutex_init.c (__pthread_mutex_init): Move some
computations to compile time.
2006-07-01 07:31:09 +00:00
Ulrich Drepper
361a3706e1 * elf/dl-load.c (open_path): Fix test to determine whether DSO is
auditing.
2006-06-27 14:23:43 +00:00
Ulrich Drepper
a1f0de82f4 * elf/dl-load.c (_dl_map_object): Try harder to avoid looking at
RPATH of main map twice.
2006-06-27 13:22:20 +00:00
Ulrich Drepper
4259230fd1 * intl/dcigettext.c (DCIGETTEXT): If _nl_find_msg returns -1 don't
look further, return original strings.
	(_nl_find_msg): Do not return found translation if the conversion
	failed.  Either signal the string is unusable or that something went
	wrong and the original should be used.

2006-06-21  Ulrich Drepper  <drepper@redhat.com>

	* string/_strerror.c (__strerror_r): Add __builtin_expect.
2006-06-22 23:59:32 +00:00
Ulrich Drepper
f9b7a98b18 [BZ #2766]
2006-06-14  Jakub Jelinek  <jakub@redhat.com>
	[BZ #2766]
	* misc/insremque.c (insque): Handle prev == NULL.
	* misc/Makefile (tests): Add tst-insremque.
	* misc/tst-insremque.c: New test.
2006-06-17 17:01:42 +00:00
Ulrich Drepper
ac55a25bfc [BZ #2792]
2006-06-17  Ulrich Drepper  <drepper@redhat.com>
	[BZ #2792]
	* elf/dl-deps.c (expand_dst): Rename __cnt variable to not
	conflict with DL_DST_REQUIRED.
2006-06-17 16:52:40 +00:00
Ulrich Drepper
02f366b304 * nis/nis_subr.c (nis_getnames): Fix the implementation to better
match what Solaris does.

	* string/bug-envz1.c: New file.
2006-06-16 22:31:04 +00:00
Ulrich Drepper
c26ca5e17d Add pthread_equal inline function.
2006-06-04  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/pthread.h: Add pthread_equal inline version.

	* sysdeps/unix/sysv/linux/fork.h: Mark __fork_handlers as hidden.
2006-06-04 23:59:07 +00:00
Ulrich Drepper
1b8373f475 * sysdeps/posix/spawni.c (__spawni): Use local_seteuid and
local_setegid instead of seteuid and setegid.
	* sysdeps/generic/local-setxid.h: New file.
	* sysdeps/unix/sysv/linux/local-setxid.h: New file.
2006-06-04 22:17:06 +00:00
Ulrich Drepper
7231452e5c * sysdeps/posix/spawni.c (__spawni): Use non-cancelable interfaces. 2006-06-04 21:28:57 +00:00
Ulrich Drepper
9009e8f814 * string/Makefile (tests): Add bug-envz1.
* string/bug-enz1.c: New file.
2006-06-04 16:36:04 +00:00
Ulrich Drepper
33e63e7993 * posix/regex_internal.c (re_string_skip_chars): If no character has
been converted at all, set *last_wc to WEOF.  If mbrtowc failed, set wc
	to the byte which couldn't be converted.
	(re_string_reconstruct): Don't clear valid_raw_len before calling
	re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
	tip_context using re_string_context_at.
	* posix/Makefile: Add rules to build and run bug-regex25 test.
	* posix/bug-regex25.c: New test.
2006-06-04 04:59:36 +00:00
Ulrich Drepper
fdc02996d4 [BZ #2703]
2006-06-02  Ryan S. Arnold  <rsa@us.ibm.com>
	[BZ #2703]
	* string/envz.c (envz_strip): Correct erroneously reversed src
	and dest parameters to memmove() invocation.
2006-06-04 04:35:55 +00:00
Ulrich Drepper
902c429174 * nscd/nscd.h (prune_cache): Add fd argument to prototype.
* nscd/nscd.c (parse_opt): Read response from INVALIDATE request
	to make sure the database has been already invalidated.
	* nscd/cache.c (prune_cache): Add fd argument.  Write response to fd
	after the cache has been invalidated.  Use pthread_mutex_lock rather
	than pthread_mutex_trylock if fd != -1.
	* nscd/connections.c (invalidate_cache): Add fd argument, write
	response to fd if not calling prune_cache, pass fd to prune_cache.
	(handle_request): Adjust invalidate_cache caller.
	(nscd_run): Pass -1 as fd to prune_cache.
2006-05-30 17:32:08 +00:00
Ulrich Drepper
ecc6856848 * sysdeps/posix/getaddrinfo.c (gaiconf_init): Initialize bits in
the correct place.

	copying.  No need to allocate new array for group members.  Just
2006-05-30 16:18:07 +00:00
Ulrich Drepper
cabfcde111 * nscd/connections.c (dbs): Initialize .prunelock. 2006-05-30 15:01:21 +00:00
Ulrich Drepper
9636a217e4 * nscd/nscd.h (struct database_dyn): Add prunelock field.
* nscd/cache.c (prune_cache): Take prunelock before starting the
	work.  Just return in case it is already taken.

	(inet6_option_alloc): Now a simple wrapper around option_alloc.
2006-05-29 07:00:16 +00:00
Ulrich Drepper
ab50b2ec01 Fix typos.
* locales/or_IN: New file.
2006-05-27 19:36:09 +00:00
Ulrich Drepper
09ab3ca362 * SUPPORTED (SUPPORTED-LOCALES): Add as_IN.UTF-8 and or_IN.UTF-8.
* locales/as_IN: New file.
	* locales/OR_IN: New file.
	Patch by Masahide Washizawa <WASHI@jp.ibm.com>.
2006-05-26 17:03:59 +00:00
Ulrich Drepper
672d5a63a9 * nis/nis_removemember.c (nis_removemember): Avoid unnecessary
coping.  No need to allocate new array for group members.  Just
	move the pointers and update the size.
2006-05-25 18:31:29 +00:00
Ulrich Drepper
1663b44fbc * nis/nis_addmember.c (nis_addmember): Avoid unnecessary copying.
Avoid memory leak in case realloc fails.  Simplification for
	better code generation.

	Avoid deprecation warning because of libc_hidden_proto for
	inet6_option_alloc.
	* inet/inet6_option.c (option_alloc): Renamed from
	inet6_option_alloc.  Made static.
	(inet6_option_alloc): New a simple wrapper around option_alloc.
	(inet6_option_append): Call option_alloc.
	* include/netinet/in.h: Remove libc_hidden_proto for
	inet6_option_alloc.
2006-05-25 17:16:17 +00:00
Ulrich Drepper
6bcb494a99 * nis/nis_callback.c (__nis_create_callback): Always call xdr_free
for cleanup when cb!=NULL [Coverity CID 233].
2006-05-25 15:52:21 +00:00
Ulrich Drepper
07bfff20c7 [BZ #2693]
* inet/Makefile (routines): Add inet6_opt and inet6_rth.
	* inet/Versions (libc, GLIBC_2.5): Add inet6_opt_init,
	inet6_opt_append, inet6_opt_finish, inet6_opt_set_val, inet6_opt_next,
	inet6_opt_find, inet6_opt_get_val, inet6_rth_space, inet6_rth_init,
	inet6_rth_add, inet6_rth_reverse, inet6_rth_segments,
	and inet6_rth_getaddr.
	* inet/netinet/ip6.h (struct ip6_rthdr0): Make ip6r0_addr a flexible
	array.
	* inet/netinet/in.h (struct ip6_mtuinfo): Define.
	Mark inet6_option_* interfaces as deprecated.
	Declare inet6_opt_init, inet6_opt_append, inet6_opt_finish,
	inet6_opt_set_val, inet6_opt_next, inet6_opt_find, inet6_opt_get_val,
	inet6_rth_space, inet6_rth_init, inet6_rth_add, inet6_rth_reverse,
	inet6_rth_segments, and inet6_rth_getaddr.
	* inet/inet6_opt.c: New file.
	* inet/inet6_rth.c: New file.

	* inet/netinet/icmp6.h: Pretty printing.
2006-05-25 04:50:06 +00:00
Ulrich Drepper
aec6b246ee [BZ #2683]
2006-05-24  Ulrich Drepper  <drepper@redhat.com>
	[BZ #2683]
	* elf/dl-addr.c (_dl_addr): Don't match undefined references.
2006-05-24 19:25:43 +00:00
Ulrich Drepper
062e719bed * nis/nis_lookup.c (nis_lookup): Use __prepare_niscall instead of
doing it all here.  When server does not know the answer do not
	fail immediate, try parent first.
2006-05-24 06:01:25 +00:00
Ulrich Drepper
2d571cd125 * nis/nis_domain_of_r.c (nis_domain_of_r): Add missing buffer
overflow test.
2006-05-24 04:07:18 +00:00
Ulrich Drepper
a17fa6100d * nis/nis_call.c (__prepare_niscall): New function. Split out
from __do_niscall.
	* nis/nis_table.c (__create_ib_request): Renamed from create_ib_request
	and exported.
	(__follow_path): New function.  Split out from nis_list.
	* nis/nis_xdr.h: Add libnsl_hidden_proto for _xdr_ib_request and
	_xdr_nis_result.
	* nis/nis_xdr.c: Add libnsl_hidden_def for _xdr_ib_request and
	_xdr_nis_result.
	* nis/libnsl.h: Declare __prepare_niscall, __create_ib_request,
	and __follow_path.
	* nis/Versions: Export __prepare_niscall, __create_ib_request,
	__follow_path, __do_niscall3, _xdr_ib_request, and _xdr_nis_result
	from libnsl for version GLIBC_PRIVATE.
	* nis/nisplus-parser.h: Remove _nss_nisplus_parse_pwent_chk.
	Remove entry parameter from _nss_nisplus_parse_pwent and
	_nss_nisplus_parse_grent.
	* nis/nss_nisplus/nisplus-parser.c: Likewise.
	* nis/nss_nisplus/nisplus-pwd.c: Remove support for SETENT_BATCH_READ
	again.  Rewrite getpwent handling to not use nis_first_entry and
	nis_next_entry.  Roll out own niscall handling.
	* nis/nss_nisplus/nisplus-grp.c: Likewise.

	* sunrpc/xdr_rec.c: Fix typo in comment.

2006-05-18  David Woodhouse  <dwmw2@redhat.com>
2006-05-20 19:22:30 +00:00
Ulrich Drepper
1d4f062ab8 * nis/nis_call.c (__do_niscall3): Avoid code duplication in error
handling.
2006-05-20 01:04:08 +00:00
Ulrich Drepper
101cc59887 * nis/nis_callback.c (internal_nis_do_callback): Don't use malloc
to allocate memory for my_pollfd.  Better initialization of
	cb_is_running.  Use TEMP_FAILURE_RETRY.
2006-05-20 00:31:17 +00:00
Ulrich Drepper
f50fa10c8a * malloc/memusage.sh (memusageso): Add quotes.
(memusagestat): Likewise.
	* debug/xtrace.sh (pcprofileso): Likewise.
	(pcprofiledump): Likewise.
	* debug/Makefile ($(objpfx)xtrace): Use $LIB in SLIBDIR
	replacement.
	* malloc/Makefile ($(objpfx)memusage): Likewise.
2006-05-19 16:48:27 +00:00
Ulrich Drepper
882bfe73fd * nis/nis_callback.c (__nis_create_callback): Calls to
svcudp_bufcreate and svctcp_create can fail.  Free ->xprt if
	asprintf call fails.
2006-05-19 08:23:43 +00:00
Ulrich Drepper
429bb1833e * sysdeps/unix/sysv/linux/ifaddrs.c (__netlink_sendreq): Make sure
no uninitialized memory is passed to sendto.
2006-05-19 07:55:24 +00:00
Ulrich Drepper
f90de83143 * nis/nis_callback.c (__nis_create_callback): Use asprinf instead
of snprintf+strdup.  Handle OOM.
	* nis/nis_callback.c (__nis_create_callback): Allocate cb and
	cb->serv together.  Remove now obsolete free calls.
	(__nis_destroy_callback): Remove now obsolete free call.
2006-05-18 17:32:19 +00:00
Ulrich Drepper
6e2a782528 * sysdeps/posix/getaddrinfo.c: Add unique labels to the default
RFC3484 precedence table for fec0::/10 and fc00::/7 (site-local
	and ULA respectively). Set precedence for IPv4 address to 10 as
	defined in RFC3484 for preferring IPv6.
	* posix/gai.conf: Update to match the new default tables.
2006-05-18 16:58:36 +00:00
Ulrich Drepper
758b9d7efe * nis/nss_compat/compat-pwd.c (internal_setpwent): If nss_set*ent
returned NSS_STATUS_UNAVAIL, still return NSS_STATUS_SUCCESS.
	* nis/nss_compat/compat-spwd.c (internal_setspent): Likewise.
	* nis/nss_compat/compat-grp.c (internal_setgrent): Likewise.

	* nis/nss_compat/compat-initgroups.c (nss_setgrent, nss_endgrent):
	Removed.
	(init_nss_interface): Remove initialization of these variables.

2006-05-18  Ulrich Drepper  <drepper@redhat.com>

	* nis/nis_call.c (rec_dirsearch): Little optimization: pull
	nis_free_directory forward to avoid duplication.
2006-05-18 14:52:08 +00:00