Commit Graph

11226 Commits

Author SHA1 Message Date
Ulrich Drepper
e200388380 * resolv/res_send.c (send_dg): If we already have one of two
answers and the server reports SERVFAI, NOTIMP, or REFUSED, then
	use the one answer insted of failing.
2008-05-24 17:51:45 +00:00
Ulrich Drepper
acbb987309 * math/libm-test.inc (exp_test): Exclude expl(1000.0L) from
being executed on PowerPC as the expected result exceeds IBM
	long double 128 __LDBL_MAX__.
2008-05-22 20:00:18 +00:00
Roland McGrath
e85f1d6af4 * shlib-versions (sparc.*-.*-.*, sparc64.*-.*-.*): Add ABI lines.
* Makefile (check-data): Use $(abi-name) before other guesses.
	Look in $(add-ons) dirs before scripts/data/.
	* elf/Makefile (check-data): Likewise.

	* scripts/soversions.awk: Grok ABI line.
	* Makeconfig ($(common-objpfx)soversions.mk): Likewise.
	Emit definition for abi-name variable.

	if [__USE_BSD].
2008-05-22 00:04:21 +00:00
Ulrich Drepper
e92799fc45 * string/endian.h: Define new fixed-size hto* and *toh macros only
is __USE_BSD.
2008-05-21 23:39:35 +00:00
Ulrich Drepper
d8e763c60e * iconvdata/Depend: Add localedata. 2008-05-21 22:45:53 +00:00
Roland McGrath
009ef3331a * bits/termios.h (ONLCR): Define under [__USE_XOPEN] too. 2008-05-21 19:37:15 +00:00
Jakub Jelinek
86746abb84 * sysdeps/unix/sysv/linux/sparc/sparc32/setcontext.S: Use
HIDDEN_JUMPTARGET. 
* sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h 
(__SYSCALL_CLOBBERS): Remove %g* registers. 
* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h 
(__SYSCALL_CLOBBERS): Likewise. 
* scripts/data/localplt-sparc-linux-gnu.data: New file. 
* scripts/data/localplt-sparc64-linux-gnu.data: Likewise.
2008-05-08  David S. Miller  <davem@davemloft.net>

	* sysdeps/unix/sysv/linux/sparc/sparc32/setcontext.S: Use
	HIDDEN_JUMPTARGET.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h
	(__SYSCALL_CLOBBERS): Remove %g* registers.
	* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h
	(__SYSCALL_CLOBBERS): Likewise.
	* scripts/data/localplt-sparc-linux-gnu.data: New file.
	* scripts/data/localplt-sparc64-linux-gnu.data: Likewise.
2008-05-21 09:29:07 +00:00
Jakub Jelinek
5e6f34c2a0 * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h
(CALL_ERRNO_LOCATION): Define. 
(__SYSCALL_STRING, __CLONE_SYSCALL_STRING): Use it. 
* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h 
(CALL_ERRNO_LOCATION): Define. 
(__SYSCALL_STRING, __CLONE_SYSCALL_STRING): Use it. 
* sysdeps/unix/sysv/linux/sparc/sparc64/brk.S (__brk): Use 
HIDDEN_JUMPTARGET for __errno_location call in libc.so.
2008-05-21  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h
	(CALL_ERRNO_LOCATION): Define.
	(__SYSCALL_STRING, __CLONE_SYSCALL_STRING): Use it.
	* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h
	(CALL_ERRNO_LOCATION): Define.
	(__SYSCALL_STRING, __CLONE_SYSCALL_STRING): Use it.
	* sysdeps/unix/sysv/linux/sparc/sparc64/brk.S (__brk): Use
	HIDDEN_JUMPTARGET for __errno_location call in libc.so.
2008-05-21 08:48:21 +00:00
Ulrich Drepper
4beb4532eb * include/inline-hashtab.h (higher_prime_number): Fix type of mid
variable.
2008-05-20 22:57:05 +00:00
Jakub Jelinek
ed8f38ba44 * sysdeps/unix/sysv/linux/sparc/sparc32/sigcontextinfo.h
(FIRST_FRAME_POINTER): Define. 
* sysdeps/sparc/sparc64/backtrace.c: New file.
2008-05-20  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/sparc/sparc32/sigcontextinfo.h
	(FIRST_FRAME_POINTER): Define.

2008-05-09  David S. Miller  <davem@davemloft.net>

	* sysdeps/sparc/sparc64/backtrace.c: New file.
2008-05-20 19:23:00 +00:00
Jakub Jelinek
c1b8190a1d * sysdeps/sparc/machine-gmon.h: New file.
* sysdeps/sparc/sparc-mcount.S: Likewise. 
* sysdeps/sparc/Makefile: Add sparc-mcount target to 
sysdep_routines in gmon directory.
2008-05-14  David S. Miller  <davem@davemloft.net>

	* sysdeps/sparc/machine-gmon.h: New file.
	* sysdeps/sparc/sparc-mcount.S: Likewise.
	* sysdeps/sparc/Makefile: Add sparc-mcount target to
	sysdep_routines in gmon directory.
2008-05-20 07:48:50 +00:00
Jakub Jelinek
84aacd93b4 * elf/soinit.c (__EH_FRAME_BEGIN__): Remove.
2008-05-19  Jakub Jelinek  <jakub@redhat.com>

	* elf/soinit.c (__EH_FRAME_BEGIN__): Remove.
2008-05-19 18:43:36 +00:00
Ulrich Drepper
5908f779e7 * resolv/res_query.c (__libc_res_nquery): In case one of two
answer was too short don't try to read that answer's header.

	* resolv/res_send.c (send_dg): In case of timeout and there are
	two queries and one has been answered, return value indicating
	success.
2008-05-19 17:34:14 +00:00
Ulrich Drepper
528741cb6c * nscd/cache.c (cache_add): Take additional parameter specifying
whether this is in response of a cache refill.  Check alignment
	of package data.  Revamp waking of pruning thread.
	(prune_cache): Small optimization.
	* nscd/nscd.h: Adjust cache_add prototypes.
	* nscd/aicache.c: Adjust cache_add calls.
	* nscd/grpcache.c: Likewise.
	* nscd/hstcache.c: Likewise.
	* nscd/initgrcache.c: Likewise.
	* nscd/pwdcache.c: Likewise.
	* nscd/servicescache.c: Likewise.
	* nscd/connections.c (restart): Really disable cache use before
	exec attempt.  If it fails, reenable cache.
	(nscd_run_prune): Initialize wakeup_time.  After wakeup, set wakeup
	time to max to be able to notice concurrent cache additions.  Unlock
	prune_lock while performing gc.  Afterwards compute wakeup time with
	current wakeup_time value in mind.
2008-05-18 21:54:43 +00:00
Ulrich Drepper
5811d72b73 * nscd/mem.c (gc): Avoid stack overflow when allocating move list. 2008-05-18 06:29:10 +00:00
Ulrich Drepper
fa526148d6 * nscd/mem.c (gc): Correctly determine highest used array element
in mark.
2008-05-18 04:25:44 +00:00
Ulrich Drepper
77d40f10ec * nscd/mem.c (markrange): Add assert to check entries are all
aligned.  Small cleanup in bitmap use.
2008-05-18 04:17:14 +00:00
Ulrich Drepper
8884028c8e * nscd/nscd.h (mem_in_flight): Replace blockaddr field with
blockoff of type nscd_ssize_t.
	* nscd/mem.c (gc): Simplify markrange call for on-flight blocks.
	(mempoll_alloc): Record block offset and not address.
2008-05-18 03:57:19 +00:00
Ulrich Drepper
b21595750e * nscd/mem.c (gc): Fix test for stack overuse. 2008-05-18 02:45:46 +00:00
Ulrich Drepper
5c9629d2e3 * nscd/aicache.c (addhstaiX): Fix a few small problems, cleanups,
more asserts.
2008-05-17 22:51:15 +00:00
Ulrich Drepper
66d904966f * sysdeps/posix/getaddrinfo.c (gaih_inet): If nscd reports no
entry is available, believe it.
2008-05-17 21:44:56 +00:00
Ulrich Drepper
343996c47c * resolv/nss_dns/dns-host.c (gaih_getanswer_slice): If there are
no answers return NSS_STATUS_NOTFOUND.
	(gaih_getanswer): Don't call gaih_getanswer_slice if the answer
	buffer does not have any content.

	* nscd/servicescache.c: Likewise.
2008-05-17 19:54:58 +00:00
Ulrich Drepper
74e1338588 * string/strcasestr.c (CMP_FUNC): Use __strncasecmp, not strncasecmp. 2008-05-16 18:19:18 +00:00
Ulrich Drepper
91c8a74b8b * sysdeps/posix/getaddrinfo.c (gaih_inet): After gethostbyname4_r
lookup, don't assign canon unconditionally.
2008-05-16 15:36:26 +00:00
Ulrich Drepper
0caca71ac9 * string/Makefile (distribute): Add str-two-way.h.
2008-03-29  Eric Blake	<ebb9@byu.net>

	Rewrite string searches to O(n) rather than O(n^2).
	* string/str-two-way.h: New file.  For linear fixed-allocation
	string searching.
	* string/memmem.c: New implementation.
	* string/strstr.c: New implementation.
	* string/strcasestr.c: New implementation.

	* sysdeps/posix/getaddrinfo.c (getaddrinfo): Call _res_hconf_init
2008-05-15 04:42:20 +00:00
Ulrich Drepper
b194db7985 * posix/regcomp.c (optimize_utf8): Add a note on why we test
opr.ctx_type.
	(calc_first): Initialize constraint field.
	(duplicate_node_closure): Use it instead of special casing ANCHORS.
	Use search_duplicated_node to avoid loops.  Fix grammar.
	(duplicate_node): Merge constraint field for all node types.
	(calc_eclosure_iter): Look at constraint field for all node types.
	* posix/regex_internal.c (create_cd_newstate): Don't look at
	create_cd_newstate.

	* posix/tst-rfc3484.c: Add dummy definition of _res_hconf_init.
	* posix/tst-rfc3484-2.c: Likewise.
	* posix/tst-rfc3484-3.c: Likewise.
2008-05-15 03:06:50 +00:00
Ulrich Drepper
215a87451d [BZ #6428]
* configure.in: Don't use $CFLAGS when assembling, use $ASFLAGS.
2008-05-15 02:58:18 +00:00
Ulrich Drepper
2f9a1be867 [BZ #6442]
* string/endian.h: Add macros for fixed-size endian conversion.
	* bits/byteswap.h: Allow inclusion from <endian.h>.
	* sysdeps/i386/bits/byteswap.h: Likewise.
	* sysdeps/ia64/bits/byteswap.h: Likewise.
	* sysdeps/s390/bits/byteswap.h: Likewise.
	* sysdeps/x86_64/bits/byteswap.h: Likewise.
	* string/Makefile (tests): Add tst-endian.
	* string/tst-endian.c: New file.
2008-05-15 02:54:33 +00:00
Ulrich Drepper
c8d49f05e7 * iconvdata/run-iconv-test.sh: Use = instead of == in test.
Patch by Reuben Thomas.
2008-05-15 01:59:59 +00:00
Ulrich Drepper
a754f018b8 * iconvdata/Makefile (bug-iconv6-ENV, tst-iconv7-ENV): Define.
* iconvdata/bug-iconv6.c (do_test): Use de_DE.UTF-8 locale.
2008-05-15 01:57:05 +00:00
Ulrich Drepper
5deca9bbff [BZ #6461]
* iconv/gconv_simple.c (BODY for __gconv_transform_ascii_internal):
	Add missing braces.
	(BODY for __gconv_transform_internal_ascii): Likewise.
2008-05-14 22:53:12 +00:00
Ulrich Drepper
5846c4e269 (match_prefix): Don't treat IPv4 loopback address special when
converting to v4 mapped addressed.
2008-05-14 22:47:15 +00:00
Ulrich Drepper
af77c9b748 [BZ #6472] 2008-05-14 22:35:44 +00:00
Ulrich Drepper
5fab55441c * sysdeps/posix/getaddrinfo.c (get_scope): Loopback addresses have
to be treated like link-local addresses.
2008-05-14 22:33:51 +00:00
Ulrich Drepper
1f0398248c * sysdeps/posix/getaddrinfo.c (getaddrinfo): Add _res_hconf_init
if necessary.
2008-05-14 21:53:48 +00:00
Ulrich Drepper
18a74157a6 * sysdeps/posix/getaddrinfo.c: Implement handling of DCCP, UDPlite,
and SCTP.
2008-05-14 17:55:57 +00:00
Ulrich Drepper
372bfcac73 * sysdeps/posix/getaddrinfo.c: Implement handling of DCCP and
UDPlite.

	* nss/getent.c (ahosts_keys_int): Handle all known socket types.

	* inet/netinet/in.h (IPPIPPROTO_DCCP, IPPROTO_UDPLITE): Define.

	* sysdeps/unix/sysv/linux/bits/socket.h (SOCK_DCCP): Define.
2008-05-14 17:33:37 +00:00
Ulrich Drepper
f05ac8f503 * po/lt.po: New file. From Lituanian translation team.
sysdep-rtld-routines): Add tlsdesc and dl-tlsdesc for elf subdir.
	sysdep-rtld-routines): Add tlsdesc and dl-tlsdesc for elf subdir.
2008-05-13 22:49:03 +00:00
Ulrich Drepper
c9ff0187a6 Introduce TLS descriptors for i386 and x86_64.
* include/inline-hashtab.h: New file, copied from 2005's
	libiberty, with fix for memory leak imported afterwards by
	Glauber de Oliveira Costa.
	* elf/tlsdeschtab.h: New file.
	* elf/dl-reloc.c (_dl_try_allocate_static_tls): Extract from...
	(_dl_allocate_static_tls): ... here.  Rearrange failure path.
	(CHECK_STATIC_TLS): Move to...
	* elf/dynamic-link.h: ... this file.
	(TRY_STATIC_TLS): New macro.
	* elf/dl-conflict.c (CHECK_STATIC_TLS, TRY_STATIC_TLS): Override.
	* elf/elf.h (R_386_TLS_GOTDESC, R_386_TLS_DESC_CALL,
	R_386_TLS_DESC): Define.
	(R_X86_64_PC64, R_X86_GOTOFF64, R_X86_64_GOTPC32): Merge from
	binutils.
	(R_X86_64_GOTPC32_TLSDESC, R_X86_64_TLSDESC_CALL,
	R_X86_64_TLSDESC): Define.
	(R_386_NUM, R_X86_64_NUM): Adjust.
	* sysdeps/i386/Makefile (sysdep-dl-routines, sysdep_routines,
	systep-rtld-routines): Add tlsdesc and dl-tlsdesc for elf subdir.
	(gen-as-const-headers): Add tlsdesc.sym to csu subdir.
	* sysdeps/i386/dl-lookupcfg.h: New file.  Introduce _dl_unmap to
	release tlsdesc_table.
	* sysdeps/i386/dl-machine.h: Include dl-tlsdesc.h.
	(elf_machine_type_class): Mark R_386_TLS_DESC as PLT class.
	(elf_machine_rel): Handle R_386_TLS_DESC.
	(elf_machine_rela): Likewise.
	(elf_machine_lazy_rel): Likewise.
	(elf_machine_lazy_rela): Likewise.
	* sysdeps/i386/dl-tls.h (struct dl_tls_index): Name it.
	* sysdeps/i386/dl-tlsdesc.S: New file.
	* sysdeps/i386/dl-tlsdesc.h: New file.
	* sysdeps/i386/tlsdesc.c: New file.
	* sysdeps/i386/tlsdesc.sym: New file.
	* sysdeps/i386/bits/linkmap.h (struct link_map_machine): Add
	tlsdesc_table.
	* sysdeps/x86_64/Makefile (sysdep-dl-routines, sysdep_routines,
	systep-rtld-routines): Add tlsdesc and dl-tlsdesc for elf subdir.
	(gen-as-const-headers): Add tlsdesc.sym to csu subdir.
	* sysdeps/x86_64/dl-lookupcfg.h: New file.  Introduce _dl_unmap to
	release tlsdesc_table.
	* sysdeps/x86_64/dl-machine.h: Include dl-tlsdesc.h.
	(elf_machine_runtime_setup): Set up lazy TLSDESC GOT entry.
	(elf_machine_type_class): Mark R_X86_64_TLSDESC as PLT class.
	(elf_machine_rel): Handle R_X86_64_TLSDESC.
	(elf_machine_rela): Likewise.
	(elf_machine_lazy_rel): Likewise.
	* sysdeps/x86_64/dl-tls.h (struct dl_tls_index): Name it.
	(__tls_get_addr): Do not declare for non-shared compiles.
	* sysdeps/x86_64/dl-tlsdesc.S: New file.
	* sysdeps/x86_64/dl-tlsdesc.h: New file.
	* sysdeps/x86_64/tlsdesc.c: New file.
	* sysdeps/x86_64/tlsdesc.sym: New file.
	* sysdeps/x86_64/bits/linkmap.h (struct link_map_machine): Add
	tlsdesc_table for both 32- and 64-bit structs.
2008-05-13 05:41:30 +00:00
Ulrich Drepper
a3636e8b89 * elf/dl-tls.c (__tls_get_addr): Optimize by moving slow path in
its own function.  This reduces the frame setup costs and more.
2008-05-12 05:36:02 +00:00
Ulrich Drepper
a7eb802f11 [BZ #3406]
2008-02-11  Joseph Myers  <joseph@codesourcery.com>
	[BZ #3406]
	* sysdeps/ieee754/flt-32/w_expf.c (o_threshold): Correct value.
	* math/libm-test.inc (exp_test): Test 88.72269439697265625.
2008-05-11 17:49:25 +00:00
Ulrich Drepper
3d7eeebe49 * io/openat.c (__openat_2): Also pass fd to __openat.
* io/openat64.c (__openat64_2): Also pass fd to __openat64.
	Patch by Kristian Van Der Vliet <vanders@liqwyd.com>.
2008-05-11 09:32:43 +00:00
Ulrich Drepper
3490f01de4 * string/tester.c (test_memcmp): Add a few more tests.
Patch by Mats Erik Andersson <ynglingatal@comhem.se>.
2008-05-11 08:55:42 +00:00
Ulrich Drepper
7e71e55f16 * nscd/cache.c (cache_add): Before returning with failure and this
is the first use of the record, mark it as unusable.
	* nscd/aicache.c: Don't touch the dataset after cache_add returns
	reporting a failure.
	* nscd/grpcache.c: Likewise
	* nscd/hstcache.c: Likewise.
	* nscd/initgrcache.c: Likewise.
	* nscd/pwdcache.c: Likewise.
	* nscd/servicecache.c: Likewise.
2008-05-11 03:03:14 +00:00
Roland McGrath
7396d0a980 [BZ #6505]
2008-05-10  Roland McGrath  <roland@redhat.com>
	[BZ #6505]
	* sysdeps/unix/sysv/linux/sys/user.h: Replace with #error stub.
2008-05-11 00:44:50 +00:00
Ulrich Drepper
b29899ae10 * misc/truncate64.c (truncate64): Use __truncate not truncate. 2008-05-10 23:38:33 +00:00
Ulrich Drepper
c5ee217f09 * sysdeps/ieee754/ldbl-128/e_j0l.c (__ieee751_j0l): Use __finitel.
(__ieee754_y0l): Likewise.
	* sysdeps/ieee754/ldbl-128/e_j1l.c (__ieee754_j1l): Likewise.
	(__ieee754_y1l): Likewise.
	* sysdeps/ieee754/ldbl-128/s_expm1l.c (__expm1l): Use __ldexpl.
	* sysdeps/ieee754/ldbl-128/s_log1pl.c: Kill bogus prototypes for
	frexpl and ldexpl.  math_private.h provides them and the latter
	is not even used.
	(__log1pl): Use __frexpl.
2008-05-10 23:36:40 +00:00
Ulrich Drepper
1eb946b935 * include/resolv.h: Adjust __libc_res_nquery and __libc_res_nsend
prototypes.
	* include/arpa/nameser_compat.h: Define T_UNSPEC.
	* nis/Versions (libnss_nis): Export _nss_nis_gethostbyname4_r.
	(libnss_nisplus): Export _nss_nisplus_gethostbyname4_r.
	* nis/nss_nis/nis-hosts.c (LINE_PARSER): Change to also handle
	af==AF_UNSPEC.
	(_nss_nis_gethostbyname4_r): New function.
	* nis/nss_nisplus/nisplus-hosts.c (_nss_nisplus_parse_hostent):
	Change to also handle af==AF_UNSPEC.
	(get_tablename): New function.  Use it to avoid duplication.
	(_nss_nisplus_gethostbyname4_r): New function.
	* nscd/aicache.c (addhstaiX): Use gethostbyname4_r function is
	available.
	* nss/Versions (libnss_files): Export _nss_files_gethostbyname4_r.
	* nss/nss.h: Define struct gaih_addrtuple.
	* nss/nss_files/files-hosts.c (LINE_PARSER): Change to also handle
	af==AF_UNSPEC.
	(_nss_files_gethostbyname4_r): New function.
	* resolv/Versions (libnss_dns): Export _nss_dns_gethostbyname4_r.
	* resolv/gethnmaddr.c: Adjust __libc_res_nsearch and __libc_res_nquery
	calls.
	* resolv/res_query.c (__libc_res_nquery): Take two additional
	parameters for second answer buffer.  Handle type=T_UNSPEC to mean
	look up IPv4 and IPv6.
	Change all callers.
	* resolv/res_send.c (__libc_res_nsend): Take five aditional parameters
	for an additional query and answer buffer.  Pass to send_vc and
	send_dg.
	(send_vc): Send possibly two requests and receive two answers.
	(send_dg): Likewise.
	* resolv/nss_dns/dns-host.c: Adjust calls to __libc_res_nsearch and
	__libc_res_nquery.
	(_nss_dns_gethostbyname4_r): New function.
	(gaih_getanswer_slice): Likewise.
	(gaih_getanswer): Likewise.
	* resolv/nss_dns/dns-canon.c (_nss_dns_getcanonname_r): Adjust
	__libc_res_nquery call.
	* resolv/nss_dns/dns-network.c (_nss_dns_getnetbyaddr_r): Likewise.
	(_nss_dns_getnetbyname_r): Adjust __libc_res_nsearch call.
	* sysdeps/posix/getaddrinfo.c: Use gethostbyname4_r function is
	available.
2008-05-10 23:27:39 +00:00
Jakub Jelinek
b7fb703afd * sysdeps/sparc/sparc32/Makefile: Use -mcpu=v7 for initfini.s build.
* sysdeps/sparc/sparc64/Makefile: Use -mcpu=v9 for initfini.s build.
2008-05-05  David S. Miller  <davem@davemloft.net>

	* sysdeps/sparc/sparc32/Makefile: Use -mcpu=v7 for initfini.s build.
	* sysdeps/sparc/sparc64/Makefile: Use -mcpu=v9 for initfini.s build.
2008-05-06 09:13:49 +00:00
Roland McGrath
8bb52dbf9b * sysdeps/mach/hurd/bits/ioctls.h (NL0, NL1, TAB0, TAB1, TAB2, CR0,
CR1, CR2, CR3, FF0, FF1, BS0, BS1): Undefine these at start if they
	are already defined to avoid collision with termios.h.
2008-05-06 00:07:02 +00:00