Commit Graph

6156 Commits

Author SHA1 Message Date
Ulrich Drepper
bfbbc63f04 * sysdeps/posix/getaddrinfo.c (gaih_inet): When the
gethostbyname4_r function call succeeded, just leave the loop.
2008-12-29 23:47:07 +00:00
Ulrich Drepper
50e481ceeb * nscd/nscd_gethst_r.c (nscd_gethst_r): Don't use nscd if
LOCALDOMAIN is defined.
	* nscd/nscd_getai.c (__nscd_getai): Likewise.
2008-12-29 20:56:13 +00:00
Ulrich Drepper
217d45cd35 * sysdeps/x86_64/bits/select.h: New file. 2008-12-29 20:16:11 +00:00
Ulrich Drepper
135460f45c [BZ #6545]
* sysdeps/unix/sysv/linux/bits/socket.h (SCM_CREDENTIALS): Make
	available only for __USE_GNU.
2008-12-09 23:25:02 +00:00
Ulrich Drepper
200da00a7c * resolv/res_send.c (send_dg): Use correct guards for SOCK_CLOEXEC
use.

	* sysdeps/unix/sysv/linux/kernel-features.h: Fix typo in accept4
	handling.
2008-12-08 04:08:51 +00:00
Ulrich Drepper
f3721ab2dc * posix/globtest.sh: Use mktemp to create temporary file and
directory.
2008-12-06 06:05:54 +00:00
Ulrich Drepper
25a34eb737 * sysdeps/unix/sysv/linux/bits/sched.h (__CPU_SET_S): Handle large
sets correctly.
	(__CPU_CLR_S): Likewise.
	(__CPU_ISSET_S): Likewise.
2008-12-06 05:40:29 +00:00
Ulrich Drepper
71885b7a91 * sysdeps/i386/dl-tlsdesc.S (_dl_tlsdesc_dynamic): Use LOAD_PIC_REG
instead of doing things manually.
2008-12-06 00:15:34 +00:00
Roland McGrath
321002fde0 2008-11-26 Roland McGrath <roland@redhat.com>
* sysdeps/unix/sysv/linux/alpha/ipc_priv.h: Renamed to ...
	* sysdeps/unix/sysv/linux/powerpc/ipc_priv.h: ... here.
2008-12-03 19:01:25 +00:00
Ulrich Drepper
da5ac1352d * resolv/nss_dns/dns-host.c (_nss_dns_gethostbyname3_r): Recognize
ESRCH return value.
	(_nss_dns_gethostbyname4_r): Likewise.
	* resolv/res_init.c (__res_vinit): Initialize nscount to zero.
	* sysdeps/posix/getaddrinfo.c (gaih_inet): In case we use
	gethostbyname4_r, we don't have a separate IPv6 status, so copy
	the no_data variable.
2008-12-03 07:30:39 +00:00
Ulrich Drepper
f93fc0b75a * socket/sys/socket.h: Declare accept4.
* socket/accept4.c: New file.
	* sysdeps/unix/sysv/linux/accept4.c: New file.
	* sysdeps/unix/sysv/linux/i386/accept4.S: New file.
	* socket/Makefile (routines): Add accept4.
	* socket/Versions: Export accept4 with version GLIBC_2.10.
	* socket/paccept.c: Removed.
	* sysdeps/unix/sysv/linux/paccept.c: Removed.
	* sysdeps/unix/sysv/linux/i386/paccept.S: Removed.
	* Versions.def: Define GLIBC_2.10 for libc.
	* sysdeps/unix/sysv/linux/kernel-features.h: Define __ASSUME_ACCEPT4.

	* nscd/connections.c: Use accept4.

	* sysdeps/unix/sysv/linux/i386/socket.S: Fix comment.
2008-12-03 04:23:18 +00:00
Ulrich Drepper
be4607eba8 * sysdeps/posix/getaddrinfo.c (getaddrinfo): Only restrict search
to IPv4 or IPv6 if an interface has been found.
2008-11-27 06:31:04 +00:00
Ulrich Drepper
ca4dc0fe64 * sysdeps/posix/getaddrinfo.c (getaddrinfo): If the system has
neither IPv4 nor IPv6 addresses defined, don't do anything.
2008-11-27 00:25:32 +00:00
Roland McGrath
d3dc523b22 * sysdeps/mach/strerror_l.c: New file. 2008-11-26 19:45:00 +00:00
Roland McGrath
24fd0a5bec * sysdeps/unix/sysv/linux/alpha/ipc_priv.h: Renamed to ...
* sysdeps/unix/sysv/linux/powerpc/ipc_priv.h: ... here.

	* sysdeps/unix/sysv/linux/alpha/wordexp.c: Renamed to ...
	* sysdeps/unix/sysv/linux/ia64/wordexp.c: ... here.
	* sysdeps/unix/sysv/linux/sparc/sparc64/wordexp.c: Change #include.
2008-11-26 19:20:20 +00:00
Roland McGrath
c0439b95b8 Moved alpha to ports repository.
2008-11-25  Roland McGrath  <roland@redhat.com>

	* sysdeps/alpha, sysdeps/unix/bsd/osf/alpha,
	sysdeps/unix/bsd/Attic/osf1/alpha, sysdeps/unix/sysv/linux/alpha,
	sysdeps/unix/sysv/linux/alpha/alpha, sysdeps/unix/alpha,
	sysdeps/mach/alpha, sysdeps/mach/hurd/alpha:
	Subdirectories moved to ports repository.
	* configure.in (base_machine): Remove alpha case.
2008-11-26 07:26:32 +00:00
Ulrich Drepper
edba7a54eb [BZ #6411]
2008-11-13  Ryan S. Arnold  <rsa@us.ibm.com>
	[BZ #6411]
	* sysdeps/powerpc/fpu/Makefile: Added test case tst-setcontext-fpscr.
	* sysdeps/powerpc/fpu/feholdexcpt.c (_FPU_MASK_ALL): Define to replace
	magic numbers.
	* sysdeps/powerpc/fpu/fenv_libc.h (fesetenv_register): Dynamically
	choose mtfsf insn based on PPC_FEATURE_HAS_DFP.
	(relax_fenv_state): Same as above.
	(FPSCR_29): Reserve bit in ISA 2.05.
	(FPSCR_NI): Provide define for compat.
	* sysdeps/powerpc/fpu/fesetenv.c (_FPU_MASK_ALL): Define to replace
	magic numbers.
	* sysdeps/powerpc/fpu/feupdateenv.c (_FPU_MASK_ALL): Define to replace
	magic numbers.
	* sysdeps/powerpc/fpu/tst-setcontext-fpscr.c: New file.  Test case to
	test setcontext and swapcontext with dynamic 64-bit FPSCR detection.
	* sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S (__longjmp): Adjust
	access to hwcap to account for hwcap size increase to uint64_t.
	* sysdeps/powerpc/powerpc32/fpu/setjmp-common.S (__sigsetjmp ):
	Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext-common.S
	(*setcontext): Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/power6/fpu/setcontext.S:
	New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/power6/fpu/swapcontext.S:
	New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S
	(*setcontext): dynamically select mtfsf insn based on
	PPC_FEATURE_HAS_DFP. Adjust access to hwcap to account for hwcap size
	increase to uint64_t.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S
	(*swapcontext): dynamically select mtfsf insn based on
	PPC_FEATURE_HAS_DFP.  Adjust access to hwcap to account for hwcap size
	increase to uint64_t.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/power6/fpu/setcontext.S:
	New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/power6/fpu/swapcontext.S:
	New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S
	(*setcontext): dynamically select mtfsf insn based on
	PPC_FEATURE_HAS_DFP.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S
	(*swapcontext): dynamically select mtfsf insn based on
	PPC_FEATURE_HAS_DFP.
2008-11-17 02:49:45 +00:00
Ulrich Drepper
ec29796237 [BZ #7029]
2008-11-13  Ulrich Drepper  <drepper@redhat.com>
	[BZ #7029]
	* sysdeps/unix/sysv/linux/bits/sched.h (__CPU_ALLOC_SIZE):
	Multiply with sizeof of __cpu_mask, not 8 unconditionally after
	all the rounding.
2008-11-13 19:57:18 +00:00
Roland McGrath
187f9fbc46 2008-11-11 Roland McGrath <roland@redhat.com>
* sysdeps/x86_64/configure: New file.
2008-11-11 09:50:06 +00:00
Jakub Jelinek
01bd5e96f7 * sysdeps/s390/s390-64/dl-trampoline.S (_dl_runtime_profile): Use the
correct instruction to remove the stack frame.
2008-11-03  Martin Schwidefsky  <schwidefsky@de.ibm.com>

	* sysdeps/s390/s390-64/dl-trampoline.S (_dl_runtime_profile): Use the
	correct instruction to remove the stack frame.
2008-11-07 15:22:34 +00:00
Jakub Jelinek
a90695507e * sysdeps/s390/bits/atomic.h (__arch_compare_and_exchange_val_32_acq,
__arch_compare_and_exchange_val_64_acq): Add "memory" clobber.
2008-11-03  Michael Matz  <matz@suse.de>

	* sysdeps/s390/bits/atomic.h (__arch_compare_and_exchange_val_32_acq,
	__arch_compare_and_exchange_val_64_acq): Add "memory" clobber.
2008-11-07 15:18:47 +00:00
Jakub Jelinek
4b23f9bda3 * bits/libc-tsd.h (__libc_tsd_define, __libc_tsd_address,
__libc_tsd_get, __libc_tsd_set): Add TYPE argument, use it as the type 
of the thread variable instead of void *. 
* sysdeps/mach/hurd/bits/libc-tsd.h (__libc_tsd_define, 
__libc_tsd_address, __libc_tsd_get, __libc_tsd_set): Likewise. 
* include/ctype.h (CTYPE_B, CTYPE_TOUPPER, CTYPE_TOLOWER): Adjust 
__libc_tsd_define arguments. 
(__ctype_b_loc, __ctype_toupper_loc, __ctype_tolower_loc): Adjust 
__libc_tsd_address arguments.  Remove union hack. 
* include/rpc/rpc.h (RPC_VARS): Adjust __libc_tsd_define arguments. 
* sunrpc/rpc_thread.c (RPC_VARS): Likewise. 
(__rpc_thread_destroy, rpc_thread_multi, __rpc_thread_variables): 
Adjust __libc_tsd_{set,get} arguments. 
* ctype/ctype-info.c (CTYPE_B, CTYPE_TOUPPER, CTYPE_TOLOWER): Adjust 
__libc_tsd_define arguments. 
* locale/uselocale.c (__uselocale): Adjust __libc_tsd_{set,get} 
arguments. 
* locale/lc-ctype.c (_nl_postload_ctype): Likewise. 
* locale/global-locale.c (__libc_tsd_LOCALE): Adjust type. 
(LOCALE): Adjust __libc_tsd_define arguments. 
* locale/localeinfo.h (_NL_CURRENT_LOCALE): Adjust __libc_tsd_get 
arguments. 
(LOCALE): Adjust __libc_tsd_define arguments. 
* sysdeps/mach/hurd/malloc-machine.h (MALLOC): Adjust __libc_tsd_define 
arguments. 
(tsd_setspecific, tsd_getspecific): Adjust __libc_tsd_{set,get} 
arguments. nptl/ 
* sysdeps/pthread/malloc-machine.h (MALLOC): Adjust __libc_tsd_define 
arguments. 
(tsd_setspecific, tsd_getspecific): Adjust __libc_tsd_{set,get} 
arguments.
2008-11-07  Jakub Jelinek  <jakub@redhat.com>

	* bits/libc-tsd.h (__libc_tsd_define, __libc_tsd_address,
	__libc_tsd_get, __libc_tsd_set): Add TYPE argument, use it as the type
	of the thread variable instead of void *.
	* sysdeps/mach/hurd/bits/libc-tsd.h (__libc_tsd_define,
	__libc_tsd_address, __libc_tsd_get, __libc_tsd_set): Likewise.
	* include/ctype.h (CTYPE_B, CTYPE_TOUPPER, CTYPE_TOLOWER): Adjust
	__libc_tsd_define arguments.
	(__ctype_b_loc, __ctype_toupper_loc, __ctype_tolower_loc): Adjust
	__libc_tsd_address arguments.  Remove union hack.
	* include/rpc/rpc.h (RPC_VARS): Adjust __libc_tsd_define arguments.
	* sunrpc/rpc_thread.c (RPC_VARS): Likewise.
	(__rpc_thread_destroy, rpc_thread_multi, __rpc_thread_variables):
	Adjust __libc_tsd_{set,get} arguments.
	* ctype/ctype-info.c (CTYPE_B, CTYPE_TOUPPER, CTYPE_TOLOWER): Adjust
	__libc_tsd_define arguments.
	* locale/uselocale.c (__uselocale): Adjust __libc_tsd_{set,get}
	arguments.
	* locale/lc-ctype.c (_nl_postload_ctype): Likewise.
	* locale/global-locale.c (__libc_tsd_LOCALE): Adjust type.
	(LOCALE): Adjust __libc_tsd_define arguments.
	* locale/localeinfo.h (_NL_CURRENT_LOCALE): Adjust __libc_tsd_get
	arguments.
	(LOCALE): Adjust __libc_tsd_define arguments.
	* sysdeps/mach/hurd/malloc-machine.h (MALLOC): Adjust __libc_tsd_define
	arguments.
	(tsd_setspecific, tsd_getspecific): Adjust __libc_tsd_{set,get}
	arguments.
2008-11-07 15:07:10 +00:00
Ulrich Drepper
6daf1a2fb1 [BZ #6867]
* sysdeps/powerpc/elf/rtld-global-offsets.sym: Fix typo.
2008-10-31 19:03:31 +00:00
Ulrich Drepper
45a8beb51c 2008-10-02 Pierre Habouzit <madcoder@debian.org>
* sysdeps/unix/sysv/linux/eventfd.c (eventfd): Use the eventfd2 syscall
	and fix its calling convention.
2008-10-31 17:41:36 +00:00
Ulrich Drepper
dbb6ab3ee0 [BZ #6947]
* sysdeps/unix/sysv/linux/ulimit.c (__ulimit): Handle UL_GETFSIZE
	return value in case rlimit is RLIM_INFINITY.

	[BZ #6947]
	* sysdeps/unix/sysv/linux/ulimit.c (__ulimit): Fix return value
	for UL_SETFSIZE.
2008-10-31 17:29:46 +00:00
Ulrich Drepper
3cf449180c [BZ #6995]
2008-10-31  Ulrich Drepper  <drepper@redhat.com>
	[BZ #6995]
	* sysdeps/powerpc/powerpc32/dl-machine.c: Fix typo in message.
2008-10-31 14:19:57 +00:00
Jakub Jelinek
472e5e0814 * sysdeps/unix/sysv/linux/sys/signalfd.h (signalfd): Fix __THROW vs.
__nonnull order for C++. 
* sysdeps/unix/sysv/linux/alpha/sys/signalfd.h (signalfd): Likewise. 
* sysdeps/unix/sysv/linux/sparc/sys/signalfd.h (signalfd): Likewise.
2008-10-16  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/sys/signalfd.h (signalfd): Fix __THROW vs.
	__nonnull order for C++.
	* sysdeps/unix/sysv/linux/alpha/sys/signalfd.h (signalfd): Likewise.
	* sysdeps/unix/sysv/linux/sparc/sys/signalfd.h (signalfd): Likewise.
2008-10-16 20:28:45 +00:00
Jakub Jelinek
19c10a478c * sysdeps/sparc/sparc64/sparcv9v/memcpy.S: When not USE_BPR,
make sure any registers used with 64-bit 'branch-on-register' 
instructions have their top 32-bits clear. 
* sysdeps/sparc/sparc64/sparcv9v/memset.S: Likewise. 
* sysdeps/sparc/sparc64/sparcv9v2/memcpy.S: Likewise.
2008-10-09  Jakub Jelinek <jakub@redhat.com>
	    David S. Miller  <davem@davemloft.net>

	* sysdeps/sparc/sparc64/sparcv9v/memcpy.S: When not USE_BPR,
	make sure any registers used with 64-bit 'branch-on-register'
	instructions have their top 32-bits clear.
	* sysdeps/sparc/sparc64/sparcv9v/memset.S: Likewise.
	* sysdeps/sparc/sparc64/sparcv9v2/memcpy.S: Likewise.
2008-10-11 08:52:58 +00:00
Ulrich Drepper
1c5eba39f6 * sysdeps/s390/s390-64/s390x-mcount.S: Replace ahi with aghi.
* sysdeps/unix/sysv/linux/s390/s390-64/socket.S: Likewise.
2008-09-23 17:17:42 +00:00
Andreas Jaeger
02a7df0b8f Fix last commit. 2008-09-02 14:26:45 +00:00
Ulrich Drepper
7df49c5d81 [BZ #6845]
2008-08-14  Ryan S. Arnold  <rsa@us.ibm.com>
	[BZ #6845]
	* sysdeps/powerpc/fpu/bits/mathinline.h (__signbitl): Copy new
	__signbitl definition and __LONG_DOUBLE_128__ guard from:
	* sysdeps/unix/sysv/linux/powerpc/bits/mathinline.h: Remove as
	redundant.  Functions which call floating point assembler operations
	should go into a sysdeps powerpc/fpu directory.
2008-08-17 07:34:10 +00:00
Ulrich Drepper
965805e888 * sysdeps/unix/sysv/linux/x86_64/bits/mman.h: Define MAP_STACK.
* sysdeps/unix/sysv/linux/i386/bits/mman.h: Likewise.
2008-08-15 22:35:53 +00:00
Ulrich Drepper
62a1ffc6fa * sysdeps/x86_64/memset.S: Reduce size of tables for PIC. 2008-08-14 18:58:04 +00:00
Ulrich Drepper
9cf73ab08a * sysdeps/unix/sysv/linux/dl-origin.c (_dl_get_origin): Undo all
change related to AT_EXECFN.  We cannot use that string.
	* sysdeps/generic/ldsodefs.h (struct rtld_global_ro): Remove
	_dl_execfn member.
	* elf/dl-support.c: Remove _dl_execfn variable.
	(_dl_aux_init): Remove handling of AT_EXECFN.
	* elf/dl-sysdep.c (_dl_sysdep_start): Remove handling of AT_EXECFN.
	* elf/rtld.c (process_envvars): Remove use of __ASSUME_AT_EXECFN.
2008-08-14 17:11:07 +00:00
Ulrich Drepper
c5671698c8 [BZ #6589]
2008-08-12  Ulrich Drepper  <drepper@redhat.com>
	[BZ #6589]
	* sysdeps/unix/sysv/linux/ifaddrs.c (struct sockaddr_ll_max):
	Define.
	(struct ifaddrs_storage): Use it instead of sockaddr_ll.
2008-08-13 06:57:42 +00:00
Ulrich Drepper
8ebb58677f (CHECK_STATIC_TLS): Remove macro since it is now available in elf/dynamic-link.h. 2008-08-13 03:14:18 +00:00
Roland McGrath
b5ec4f43cf 2008-08-11 Aurelien Jarno <aurel32@debian.org>
* sysdeps/mach/i386/machine-lock.h (__spin_unlock, __spin_try_lock):
	Fix asm constraints.
2008-08-12 00:59:01 +00:00
Ulrich Drepper
f081b45121 [BZ #6790]
2008-08-07  Ulrich Drepper  <drepper@redhat.com>
	[BZ #6790]
	* sysdeps/unix/sysv/linux/bits/in.h (IP_PMTUDISC_PROBE): Define.
	(IPV6_PMTUDISC_PROBE): Likewise.
2008-08-08 06:45:00 +00:00
Ulrich Drepper
30a4429e92 [BZ #6791]
2008-08-07  Pete Eberlein  <eberlein@us.ibm.com>
	[BZ #6791]
	* sysdeps/unix/sysv/linux/powerpc/bits/mman.h (PROT_SAO): Define.


	Carlos Eduardo Seo  <cseo@linux.vnet.ibm.com>
2008-08-08 05:13:34 +00:00
Ulrich Drepper
1642331d30 [BZ #6817]
2008-08-01  Steven Munroe  <sjmunroe@us.ibm.com>
	    Carlos Eduardo Seo  <cseo@linux.vnet.ibm.com>

	[BZ #6817]
	* sysdeps/powerpc/dl-procinfo.c (_dl_powerpc_cap_flags):
	Added the members 'vsx' and 'arch_2_06'.
	(_dl_powerpc_platforms): Add the member 'power7'.
	* sysdeps/powerpc/dl-procinfo.h: Modify _DL_HWCAP_FIRST
	to reflect the changes required by VSX and ISA 2.06.
	Modify _DL_PLATFORMS_COUNT to reflect the addition of
	'power7'.
	Defined PPC_PLATFORM_POWER7.
	(_dl_string_platform): Add support for POWER7.
	* sysdeps/powerpc/sysdep.h: Define bit masks for VSX
	capability and ISA 2.06.
2008-08-08 04:51:57 +00:00
Ulrich Drepper
48b9466105 [BZ #6824]
2008-08-07  Ulrich Drepper  <drepper@redhat.com>
	[BZ #6824]
	* sysdeps/unix/sysv/linux/powerpc/bits/mathinline.h: Use correct
	macro to detect use of 128 bit long double.
	Patch by Ryan S. Arnold <rsa@us.ibm.com>.
2008-08-07 23:06:01 +00:00
Ulrich Drepper
9523fd2806 * sysdeps/i386/fpu/s_expm1l.S: Simply use exp implementation for large
parameters.
	* sysdeps/x86_64/fpu/s_expm1l.S: Likewise.
	Patch by Denys Vlasenko <dvlasenk@redhat.com>.

	* nscd/connections.c (nscd_init): Typo in preprocessor directive.
2008-08-05 22:08:42 +00:00
Roland McGrath
4c8ac84562 2008-08-02 Roland McGrath <roland@frob.com>
* sysdeps/mach/i386/machine-lock.h (__spin_unlock, __spin_try_lock):
	Add memory clobbers.
2008-08-02 20:12:08 +00:00
Ulrich Drepper
3501542f94 * sysdeps/posix/clock_getres.c (hp_timing_getres): Remove inline
to prevent warning.
2008-08-02 15:53:18 +00:00
Ulrich Drepper
ebcc1f4d75 * sysdeps/unix/sysv/linux/Versions: Fix changes due to old patch for
new epoll_create1 interface.
	* sysdeps/unix/sysv/linux/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/sys/epoll.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sys/epoll.h: Likewise.
2008-08-01 23:49:18 +00:00
Ulrich Drepper
7e1b29c64a * sysdeps/unix/sysv/linux/kernel-features.h: s390 has the new
syscalls, too.
2008-08-01 21:51:11 +00:00
Ulrich Drepper
42fa1f67d4 * sysdeps/unix/sysv/linux/dl-origin.c (_dl_get_origin): We cannot
use the AT_EXECFN value if it is no absolute path.
	* sysdeps/unix/sysv/linux/kernel-features.h: Never define
	__ASSUME_AT_EXECFN.
2008-08-01 18:03:57 +00:00
Ulrich Drepper
46bc5d4393 * sysdeps/unix/sysv/linux/kernel-features.h: Define
__ASSUME_O_CLOEXEC.
2008-07-31 20:12:34 +00:00
Ulrich Drepper
3c22738644 * sysdeps/posix/getaddrinfo.c (gaih_inet): Raise size of initial
buffer passed to NSS functions.
2008-07-30 19:14:32 +00:00
Ulrich Drepper
bd7f48571d * nscd/connections.c (nscd_init): Type if preprocessor directive.
* sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_PACCEPT):
	Define.
2008-07-30 16:33:19 +00:00
Ulrich Drepper
d6173baaae * sysdeps/unix/sysv/linux/paccept.c: Fix compile problem. 2008-07-29 00:25:12 +00:00
Ulrich Drepper
d6e0c2a67d * sysdeps/unix/sysv/linux/syscalls.list: Add __pipe2 alias.
* io/pipe2.c: Likewise.
	* sysdeps/unix/sysv/linux/kernel-features.h: Define __ASSUME_PIPE2
	instead of __ASSUME_PACCEPT.
	* include/unistd.h: Declare __have_pipe2.
	* libio/iopopen.c: Implement "e" flag.
	* libio/Makefile (tests): Add tst-popen1.
	* libio/tst-popen1.c: New file.
2008-07-27 18:26:13 +00:00
Ulrich Drepper
11ed3eaed9 * sysdeps/unix/sysv/linux/bits/socket.h: Define PF_ISDN and AF_ISDN.
* sysdeps/unix/sysv/linux/sparc/bits/socket.h: Likewise.
2008-07-27 08:25:37 +00:00
Ulrich Drepper
7b91359b2c * Makeconfig: Define pie-ccflag and PIE-ccflag variables.
* elf/Makefile: Use pie-ccflag variable.
	* nscd/Makefile: Likewise.
	* sysdeps/sparc/Makefile: Set $(pie-ccflag) to -fPIE.
2008-07-26 22:22:24 +00:00
Ulrich Drepper
4057dc459a * Versions.def: Add GLIBC_2.9 version tag for libutil.
* sysdeps/unix/sysv/linux/s390/bits/utmp.h: Copy of
	gnu/bits/utmp.h.  Check for __WORDSIZE_COMPAT32 removed.
	* sysdeps/unix/sysv/linux/s390/bits/utmpx.h: Copy of
	gnu/bits/utmpx.h.  Check for __WORDSIZE_COMPAT32 removed.
	* sysdeps/unix/sysv/linux/s390/s390-32/Makefile: Add new files
	utmp32, utmpx32 and login32.
	* sysdeps/unix/sysv/linux/s390/s390-32/Versions: Add 2.9
	versions of struct utmp functions to libc and libutil.
	* sysdeps/unix/sysv/linux/s390/s390-32/utmp-compat.h: New file.
	* sysdeps/unix/sysv/linux/s390/s390-32/getutent.c: New file.
	* sysdeps/unix/sysv/linux/s390/s390-32/getutent_r.c: New file.
	* sysdeps/unix/sysv/linux/s390/s390-32/getutid.c: New file.
	* sysdeps/unix/sysv/linux/s390/s390-32/getutid_r.c: New file.
	* sysdeps/unix/sysv/linux/s390/s390-32/getutline.c: New file.
	* sysdeps/unix/sysv/linux/s390/s390-32/getutline_r.c: New file.
	* sysdeps/unix/sysv/linux/s390/s390-32/getutmp.c: New file.
	* sysdeps/unix/sysv/linux/s390/s390-32/getutxent.c: New file.
	* sysdeps/unix/sysv/linux/s390/s390-32/getutxid.c: New file.
	* sysdeps/unix/sysv/linux/s390/s390-32/getutxline.c: New file.
	* sysdeps/unix/sysv/linux/s390/s390-32/login.c: New file.
	* sysdeps/unix/sysv/linux/s390/s390-32/login32.c: New file.
	* sysdeps/unix/sysv/linux/s390/s390-32/pututxline.c: New file.
	* sysdeps/unix/sysv/linux/s390/s390-32/updwtmp.c: New file.
	* sysdeps/unix/sysv/linux/s390/s390-32/updwtmpx.c: New file.
	* sysdeps/unix/sysv/linux/s390/s390-32/utmp-convert.h: New file.
	* sysdeps/unix/sysv/linux/s390/s390-32/utmp32.c: New file.
	* sysdeps/unix/sysv/linux/s390/s390-32/utmp32.h: New file.
	* sysdeps/unix/sysv/linux/s390/s390-32/utmpx-convert.h: New file.
	* sysdeps/unix/sysv/linux/s390/s390-32/utmpx32.c: New file.
	* sysdeps/unix/sysv/linux/s390/s390-32/utmpx32.h: New file.
2008-07-26 17:43:30 +00:00
Ulrich Drepper
ff0bf75374 * sunrpc/clnt_udp.c (__libc_clntudp_bufcreate): Namespace cleanup.
* elf/dl-load.c (local_strdup): Remove inline.
	(_dl_map_object_from_fd): Don't allocate l_symbolic_searchlist.r_list.
	* elf/dl-object.c (_dl_new_object): Allocate symbolic searchlist as
	part of the object.

	* sysdeps/unix/sysv/linux/dl-origin.c: Add const to avoid warning.
2008-07-26 08:42:54 +00:00
Ulrich Drepper
bdd24a302e * sysdeps/unix/sysv/linux/kernel-features.h: IA-64 and SPARC have
the new syscalls, too.
2008-07-26 05:44:56 +00:00
Ulrich Drepper
b5c0b5e431 * sysdeps/unix/sysv/linux/kernel-features.h: IA-64 has the new
syscalls, too.
2008-07-26 05:41:16 +00:00
Ulrich Drepper
b41f1d14f2 * sysdeps/i386/i686/memcmp.S: Fix unwind information.
Reported by Paul Pluzhnikov <ppluzhnikov@google.com>.
2008-07-26 05:27:49 +00:00
Ulrich Drepper
bb0277bff5 * sysdeps/unix/sysv/linux/kernel-features.h: PPC has the new
syscalls, too.
2008-07-25 21:03:16 +00:00
Ulrich Drepper
b206d8b166 * sysdeps/unix/sysv/linux/opensock.c (__opensock): Use
SOCK_CLOEXEC if available.
2008-07-25 18:16:57 +00:00
Ulrich Drepper
3ff2c948be * sysdeps/unix/sysv/linux/kernel-features.h: Define
__ASSUME_PACCEPT, __ASSUME_IN_NONBLOCK, and __ASSUME_PACCEPT if
	appropriate.
	* nscd/connections.c: Avoid fcntl calls to set close-on-exec flag and
	non-blocking mode by using socket, paccept, and inotify_init1.
2008-07-25 05:30:10 +00:00
Ulrich Drepper
bdcebfc4c7 * Versions.def (glibc): Add GLIBC_2.9.
* io/Makefile (routines): Add dup3 and pipe2.
	* io/Versions [glibc] (GLIBC_2.9): Add dup3 and pipe2.
	* io/dup3.c: New file.
	* io/pipe2.c: New file.
	* posix/unistd.h: Declare dup3 and pipe2.
	* socket/Makefile (routines): Add paccept.
	* socket/Versions [glibc] (GLIBC_2.9): Add paccept.
	* socket/paccept.c: New file.
	* socket/sys/socket.h: Declare paccept.
	* sysdeps/unix/syscalls.list: Add entry for dup3.
	* sysdeps/unix/sysv/linux/Versions [glibc] (GLIBC_2.9): Add
	epoll_create2 and inotify_init1.
	* sysdeps/unix/sysv/linux/eventfd.c: Use eventfd1 syscall if possible.
	* sysdeps/unix/sysv/linux/paccept.c: New file.
	* sysdeps/unix/sysv/linux/signalfd.c: Use signalfd4 syscall if
	possible.
	* sysdeps/unix/sysv/linux/socketcall.h: Add SOCKOP_paccept.
	* sysdeps/unix/sysv/linux/syscalls.list: Add epoll_create2,
	inotify_init1, and pipe2 entries.
	* sysdeps/unix/sysv/linux/alpha/sys/epoll.h: New file.
	* sysdeps/unix/sysv/linux/alpha/sys/eventfd.h: New file.
	* sysdeps/unix/sysv/linux/alpha/sys/inotify.h: New file.
	* sysdeps/unix/sysv/linux/alpha/sys/signalfd.h: New file.
	* sysdeps/unix/sysv/linux/alpha/sys/timerfd.h: New file.
	* sysdeps/unix/sysv/linux/bits/socket.h: Define SOCK_CLOEXEC and
	SOCK_NONBLOCK.
	* sysdeps/unix/sysv/linux/i386/paccept.S: New file.
	* sysdeps/unix/sysv/linux/sparc/sys/epoll.h: New file.
	* sysdeps/unix/sysv/linux/sparc/sys/eventfd.h: New file.
	* sysdeps/unix/sysv/linux/sparc/sys/inotify.h: New file.
	* sysdeps/unix/sysv/linux/sparc/sys/signalfd.h: New file.
	* sysdeps/unix/sysv/linux/sparc/sys/timerfd.h: New file.
	* sysdeps/unix/sysv/linux/sparc/bits/socket.h: New file.
	* sysdeps/unix/sysv/linux/sys/epoll.h: Define EPOLL_CLOEXEC and
	EPOLL_NONBLOCK.  Declare epoll_create2.
	* sysdeps/unix/sysv/linux/sys/eventfd.h: Define EFD_CLOEXEC and
	EFD_NONBLOCK.
	* sysdeps/unix/sysv/linux/sys/inotify.h: Define IN_CLOEXEC and
	IN_NONBLOCK.  Declare inotify_init1.
	* sysdeps/unix/sysv/linux/sys/signalfd.h: Define SFD_CLOEXEC and
	SFD_NONBLOCK.
	* sysdeps/unix/sysv/linux/sys/timerfd.h: Define TFD_CLOEXEC and
	TFD_NONBLOCK.
2008-07-25 04:51:56 +00:00
Ulrich Drepper
0e077a7eea * elf/elf.h: Define AT_EXECFN.
* elf/rtld.c [!__ASSUME_AT_EXECFN] (process_envvars): Don't handle
	LD_ORIGIN_PATH.
	* elf/dl-sysdep.c (_dl_sysdep_start): Handle AT_EXECFN.
	* elf/dl-support.c: Define _dl_execfn.  Don't define _dl_origin_path
	if __ASSUME_AT_EXECFN is defined.
	(_dl_aux_init): Handle AT_EXECFN.
	* sysdeps/unix/sysv/linux/kernel-features.h: Define __ASSUME_AT_EXECFN
	for 2.6.27 and up.
	* sysdeps/generic/ldsodefs.h (rtld_global_ro): Add _dl_execfn.
	Don't define _dl_origin_path if __ASSUME_AT_EXECFN is defined.
	* sysdeps/unix/sysv/linux/dl-origin.c (_dl_get_origin): Use
	_dl_execfn if available and avoid compatibility code if
	__ASSUME_AT_EXECFN is defined.
2008-07-24 18:33:44 +00:00
Ulrich Drepper
f188d8f55c Don't declare _dl_discover_osversion only for older kernels. 2008-07-24 18:03:17 +00:00
Roland McGrath
9844ff30b2 2008-07-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
* sysdeps/mach/hurd/bits/fcntl.h: Include <sys/types.h>.
2008-07-14 01:16:41 +00:00
Roland McGrath
f20ac01059 2008-07-06 Samuel Thibault <samuel.thibault@ens-lyon.org>
* sysdeps/mach/hurd/open.c: Include <stdio.h>.
	(__open_2): New function.
	(__open64_2): New alias to __open_2.
	* sysdeps/mach/hurd/openat.c: Include <stdio.h>.
	(__openat_2): New function.
	(__openat64_2): New alias to __openat_2.
2008-07-07 00:41:05 +00:00
Roland McGrath
d5a0160b58 * sysdeps/mach/hurd/recv.c (__recv): Initialize NPORTS.
* sysdeps/mach/hurd/recvfrom.c (__recvfrom): Likewise.
	* sysdeps/mach/hurd/recvmsg.c (__recvmsg): Likewise.
	* hurd/fd-read.c (_hurd_fd_read): Initialize NREAD.
	* hurd/get-host.c (_hurd_get_host_config): Likewise.
	* sysdeps/mach/hurd/dl-sysdep.c (__libc_read): Likewise.
2008-07-02 19:35:02 +00:00
Roland McGrath
0a583b5419 * sysdeps/unix/bsd/bsd4.4/bits/socket.h: Define MSG_NOSIGNAL.
* hurd/hurd/fd.h (__hurd_sockfail): Add extern inline function.
	* sysdeps/mach/hurd/recv.c (__recv): Use __hurd_sockfail instead of
	__hurd_dfail.
	* sysdeps/mach/hurd/recvfrom.c (__recvfrom): Likewise.
	* sysdeps/mach/hurd/recvmsg.c (__recvmsg): Likewise.
	* sysdeps/mach/hurd/send.c (__send): Likewise.
	* sysdeps/mach/hurd/sendto.c (__sendfrom): Likewise.
	* sysdeps/mach/hurd/sendmsg.c (__sendmsg): Likewise.
2008-07-02 09:54:02 +00:00
Roland McGrath
e66ecb226e 2008-07-01 Samuel Thibault <samuel.thibault@ens-lyon.org>
* sysdeps/unix/bsd/bsd4.4/bits/socket.h: Define MSG_NOSIGNAL.
	* hurd/hurd/fd.h (__hurd_sockfail): Add extern inline function.
	* sysdeps/mach/hurd/recv.c (__recv): Use __hurd_sockfail instead of
	__hurd_dfail.
	* sysdeps/mach/hurd/recvfrom.c (__recvfrom): Likewise
	* sysdeps/mach/hurd/recvmsg.c (__recvmsg): Likewise
	* sysdeps/mach/hurd/send.c (__send): Likewise
	* sysdeps/mach/hurd/sendfrom.c (__sendfrom): Likewise
	* sysdeps/mach/hurd/sendmsg.c (__sendmsg): Likewise
2008-07-02 09:53:29 +00:00
Ulrich Drepper
d0a1ae9464 * sysdeps/posix/getaddrinfo.c: Move _res_hconf_init call to a
better place so it is not called when nscd is used.
2008-06-13 23:35:47 +00:00
Ulrich Drepper
9ea8bfec35 * sysdeps/powerpc/powerpc64/fpu/s_llround.S (__llround): Avoid using
cr[34] registers.
	* sysdeps/powerpc/powerpc64/fpu/s_llroundf.S (__llroundf): Likewise.
	* sysdeps/powerpc/powerpc32/power4/fpu/s_llround.S (__llround):
	Likewise.
	* sysdeps/powerpc/powerpc32/fpu/s_lround.S (__lround): Avoid using cr3
	register.
2008-06-13 01:18:22 +00:00
Ulrich Drepper
5228ba2fe8 * nscd/nscd.h (struct database_dyn): Add inotify_descr and clear_cache
fields.
	* nscd/connections.c (inotify_fd): New variable.
	(nscd_init): Try to open an inotify descriptor.
	If successful, watch files for databases using inotify instead of
	having prune threads stat the files.
	(nscd_run_prune): Recognize clear_cache flag being set and call
	prune_cache appropriately.
	(main_loop_poll): Add inotify descriptor to wait set and handle the
	reported changes.
	(main_loop_epoll): Likewise.
	* nscd/cache.c (prune_cache): Don't stat files for databases if
	inotify is used.
	* sysdeps/unix/sysv/linux/Makefile [subdir=nscd]
	(CFLAGS-connections.c): Add -DHAVE_INOTIFY.
2008-06-12 22:40:27 +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
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
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
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
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
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
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
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
Roland McGrath
19928ef0ae [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:42 +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
Jakub Jelinek
a86a7a3946 * sysdeps/unix/sysv/linux/sparc/sparc32/ucontext_i.sym: New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/Makefile [$(subdir) = stdlib]: 
(gen-as-const-headers): Add it. 
* sysdeps/unix/sysv/linux/sparc/sparc32/getcontext.S: New file. 
* sysdeps/unix/sysv/linux/sparc/sparc32/makecontext.c: Likewise. 
* sysdeps/unix/sysv/linux/sparc/sparc32/setcontext.S: Likewise. 
* sysdeps/unix/sysv/linux/sparc/sparc32/swapcontext.S: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/ucontext_i.sym: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc32/Makefile [$(subdir) = stdlib]:
	(gen-as-const-headers): Add it.
	* sysdeps/unix/sysv/linux/sparc/sparc32/getcontext.S: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc32/makecontext.c: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/setcontext.S: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/swapcontext.S: Likewise.
2008-05-05 09:34:18 +00:00
Jakub Jelinek
4ce349e559 * sysdeps/unix/sysv/linux/sparc/sparc32/syscall.S: Add support for
six system call parameters. 
* sysdeps/unix/sysv/linux/sparc/sparc64/syscall.S: Likewise.
2008-05-01  David S. Miller  <davem@davemloft.net>

	* sysdeps/unix/sysv/linux/sparc/sparc32/syscall.S: Add support for
	six system call parameters.
	* sysdeps/unix/sysv/linux/sparc/sparc64/syscall.S: Likewise.
2008-05-05 09:17:00 +00:00
Ulrich Drepper
1ce0612b99 Define RUSAGE_THREAD and RUSAGE_LWP. 2008-05-01 05:37:45 +00:00
Jakub Jelinek
d4e92d9e08 * sysdeps/unix/sysv/linux/sparc/sparc64/semctl.c (semctl):
Pass "union semun" properly in to sys_ipc, it must be passed 
by value, not by reference.
2008-04-25  David S. Miller  <davem@davemloft.net>

	* sysdeps/unix/sysv/linux/sparc/sparc64/semctl.c (semctl):
	Pass "union semun" properly in to sys_ipc, it must be passed
	by value, not by reference.
2008-04-29 17:07:03 +00:00
Ulrich Drepper
7eb5e6c9bd * nscd/Makefile (nscd-cflags): Set back to -fpie.
* nscd/nscd.h (mem_in_flight): Add attribute_tls_model_ie.
	* nscd/connections.c (mem_in_flight): Likewise.

	* nscd/nscd.h (dbs): Make hidden.

	* sysdeps/unix/sysv/linux/times.c (__times): Fix check for EFAULT.
	Avoid returning -1, return 0 instead.
2008-04-22 15:53:59 +00:00
Ulrich Drepper
0073dd2d49 * resolv/res_mkquery.c (__res_nopt): Use NS_PUT16 instead of ns_put16. 2008-04-20 04:56:49 +00:00
Jakub Jelinek
39546e34c2 * sysdeps/unix/sysv/linux/dl-osinfo.h: Include fcntl.h.
2008-04-17  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/dl-osinfo.h: Include fcntl.h.
2008-04-17 08:32:24 +00:00
Ulrich Drepper
9e113ecd80 * sysdeps/unix/sysv/linux/powerpc/bits/mathinline.h (__signbitl):
Also use for 32-bit.
2008-04-12 04:17:47 +00:00
Ulrich Drepper
3b6d574e01 * sysdeps/ieee754/ldbl-128ibm/s_nearbyintl.c (__nearbyintl): Use
__nextafter instead of nextafter to avoid local PLT.
2008-04-12 03:49:11 +00:00
Ulrich Drepper
c3a0ead420 * sysdeps/powerpc/fpu/e_sqrt.c: Avoid call to fetestexcept.
* sysdeps/powerpc/fpu/e_sqrtf.c: Likewise.
2008-04-12 03:39:30 +00:00
Ulrich Drepper
3cc56f9208 * sysdeps/powerpc/fpu/fe_nomask.c: Add libm_hidden_def. Include
<fenv_libc.h> instead of <fenv.h>.
2008-04-12 02:39:29 +00:00
Ulrich Drepper
246ec41199 * sysdeps/powerpc/fpu/fenv_libc.h: Add libm_hidden_proto for
__fe_nomask_env.
	* sysdeps/powerpc/fpu/fe_nomask.c: Add libm_hidden_def.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/fe_nomask.c: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/fpu/fe_nomask.c: Likewise.

	* sysdeps/powerpc/bits/fenv.h: Make safe for C++.

	* sysdeps/unix/sysv/linux/powerpc/bits/mathinline.h: New file.
	* sysdeps/powerpc/fpu/fegetexcept.c (__fegetexcept): Rename
	function from fegetexcept and make old name weak alias.
	* include/fenv.h: Declare __fegetexcept.
	* sysdeps/powerpc/fpu/fedisblxcpt.c: Use __fegetexcept instead of
	fegetexcept.
	* sysdeps/powerpc/fpu/feenablxcpt.c: Likewise.
	* sysdeps/powerpc/fpu/fraiseexcpt.c (__feraiseexcept): Avoid call
	to fetestexcept.
	* sysdeps/ieee754/ldbl-128ibm/s_log1pl.c (__log1pl): Use __frexpl
	instead of frexpl to avoid local PLT.
	* math/s_significandl.c (__significandl): Use __ilogbl instead of
	ilogbl to avoid local PLT.
	* sysdeps/ieee754/ldbl-128ibm/s_expm1l.c (__expm1l): Use __ldexpl
	instead of ldexpl to avoid local PLT.
	* sysdeps/ieee754/ldbl-128ibm/e_expl.c (__ieee754_expl): Use
	__roundl not roundl to avoid local PLT.
	* sysdeps/ieee754/ldbl-128/e_j0l.c: Use function names which avoid
	local PLTs.  Use __sincosl instead of separate sinl and cosl
	calls.
	* sysdeps/ieee754/ldbl-128/e_j1l.c: Likewise.
2008-04-12 00:51:34 +00:00
Ulrich Drepper
2dc4a2fd9e * sysdeps/unix/sysv/linux/configure.in: Bump minimal kernel
version for ppc64 to 2.4.21 since without it makecontext will fail.
2008-04-11 21:13:48 +00:00
Ulrich Drepper
cf3a8c7f42 * elf/tls-macros.h (__TLS_GET_ADDR): Define according to the ABI
in use.
	(TLS_LD): Use __TLS_GET_ADDR instead of .__tls_get_addr.
	(TLS_GD): Likewise.
2008-04-11 21:04:10 +00:00
Ulrich Drepper
c1e6b459c8 [BZ4997]
* sysdeps/powerpc/powerpc32/fpu/s_lround.S (__lround): Fixed erroneous
	result when x is +/-nextafter(+/-0.5,-/+1) i.e. all 1's in the
	mantissa.
	* sysdeps/powerpc/powerpc32/power4/fpu/s_llround.S (__llround):
	Likewise.  Also account for when x is an odd number between 2^52
	and 2^53-1.
	* sysdeps/powerpc/powerpc64/fpu/s_llround.S (__llround): Likewise.
	* sysdeps/powerpc/powerpc64/fpu/s_llroundf.S (__llroundf): Likewise.
	* math/libm-test.inc (lround_test, llround_test): Added test cases to
	detect aforementioned erroneous conditions.
2008-04-11 19:32:37 +00:00
Ulrich Drepper
5d59f4a50f * include/features.h (__GLIBC_MINOR__): Bump to 8.
* sysdeps/powerpc/powerpc32/fpu/s_lroundf.S: Remove duplicate comment.
	* sysdeps/powerpc/powerpc32/power5+/fpu/s_llroundf.S: Likewise.
	* sysdeps/powerpc/powerpc32/power6/fpu/s_llroundf.S: Likewise.
	* sysdeps/powerpc/powerpc64/fpu/s_lrint.S: Likewise.
	* sysdeps/powerpc/powerpc64/fpu/s_lround.S: Likewise.
	* sysdeps/powerpc/powerpc64/fpu/s_lroundf.S: Likewise.
2008-04-11 17:33:24 +00:00
Ulrich Drepper
153cf97250 [BZ #5741]
2008-01-24  Steven Munroe  <sjmunroe@us.ibm.com>
	[BZ #5741]
	* sysdeps/powerpc/powerpc64/dl-machine.h (PPC_DCBT, PPC_DCBF):
	Define additonal Data Cache Block instruction macros.
	(elf_machine_fixup_plt): Add dcbt for opd and plt entries.
	Replace dcbst with dcbf and sync with sync/isync.
2008-04-11 00:02:52 +00:00
Ulrich Drepper
d2207f32b1 * sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_type_class):
Always set ELF_RTYPE_CLASS_PLT.
	(elf_machine_lookup_noexec_p, elf_machine_lookup_noplt_p): Delete.
2008-04-10 18:26:16 +00:00
Ulrich Drepper
13d83320ff * sysdeps/powerpc/powerpc32/power4/hp-timing.c: New file.
* sysdeps/powerpc/powerpc32/power4/hp-timing.h: New file.
	* sysdeps/powerpc/powerpc64/hp-timing.h [_ARCH_PWR4] (HP_TIMING_NOW):
	For ISA 2.01 and later replace mftb with mfspr 268.

	* sysdeps/i386/i686/memcpy.S: Optimize copying of equally aligned
	buffers.
2008-04-10 16:50:07 +00:00
Ulrich Drepper
5f7aead5c4 [BZ #5768]
2008-02-19  Steven Munroe  <sjmunroe@us.ibm.com>
	[BZ #5768]
	* sysdeps/powerpc/fpu/Makefile (libm-tests): Add test-powerpc-snan.
	* sysdeps/powerpc/fpu/test-powerpc-snan.c: New file.

2008-02-18  Steven Munroe  <sjmunroe@us.ibm.com>

	[BZ #5768]
	* sysdeps/powerpc/powerpc32/fpu/s_isnan.S: New file.
	* sysdeps/powerpc/powerpc32/fpu/s_isnan.c: Removed.
	* sysdeps/powerpc/powerpc64/fpu/s_isnan.S: New file.
	* sysdeps/powerpc/powerpc64/fpu/s_isnan.c: Removed.
2008-04-10 14:17:22 +00:00
Ulrich Drepper
1ee82cfa18 isnan implementation for ppc32. 2008-04-10 14:15:27 +00:00
Ulrich Drepper
3e852ba889 isnan implementation for Power6x 64-bit 2008-04-10 05:59:52 +00:00
Ulrich Drepper
3b32d8a259 * sysdeps/powerpc/powerpc32/power5/fpu/s_isnan.S: New file.
* sysdeps/powerpc/powerpc32/power5/fpu/s_isnanf.S: New file.
	* sysdeps/powerpc/powerpc32/power6/fpu/s_isnan.S: New file.
	* sysdeps/powerpc/powerpc32/power6/fpu/s_isnanf.S: New file.
	* sysdeps/powerpc/powerpc64/power5/fpu/s_isnan.S: New file.
	* sysdeps/powerpc/powerpc64/power6/fpu/s_isnan.S: New file.
	* sysdeps/powerpc/powerpc64/power6x/fpu/s_isnan.S: New file.
2008-04-10 05:59:13 +00:00
Ulrich Drepper
facd1d8ef3 [BZ #4407]
2008-02-12  Pete Eberlein  <eberlein@us.ibm.com>
	[BZ #4407]
	* sysdeps/ieee754/ldbl-128/e_lgammal_r.c (__ieee754_lgammal_r):
	Preserve sign in signgamp when x is zero.
2008-04-10 04:58:03 +00:00
Ulrich Drepper
aece054b30 * sysdeps/powerpc/powerpc32/power4/fpu/w_sqrt.S: New File.
* sysdeps/powerpc/powerpc32/power4/fpu/w_sqrt.c: Removed.
	* sysdeps/powerpc/powerpc32/power4/fpu/w_sqrtf.S: New File.
	* sysdeps/powerpc/powerpc32/power4/fpu/w_sqrtf.c: Removed.
	* sysdeps/powerpc/powerpc32/power5/fpu/w_sqrt.S: New File.
	* sysdeps/powerpc/powerpc32/power5/fpu/w_sqrtf.S: New File.
2008-04-10 04:53:40 +00:00
Ulrich Drepper
2120860435 [BZ #4314]
* sysdeps/i386/i686/memcpy.S: Optimize copying of aligned buffers.
2008-04-09 20:01:52 +00:00
Ulrich Drepper
2f611ada05 [BZ #5209]
* sysdeps/unix/sysv/syscalls.list: times syscalls doesn't return
	an error value.
2008-04-09 18:47:07 +00:00
Ulrich Drepper
6c30d38fdd [BZ #5436]
2008-04-09  Ulrich Drepper  <drepper@redhat.com>
	* stdlib/tst-makecontext.c: Change parameter to cf to negative
	value to check for correct sign extension.

	[BZ #5436]
	* sysdeps/unix/sysv/linux/x86_64/makecontext.c (__makecontext):
	Copy 64-bit parameter values even though this is not required in
	the standard.

	* sysdeps/unix/sysv/linux/x86_64/vfork.S (__vfork): Record return
	PC save.
2008-04-09 18:30:12 +00:00
Ulrich Drepper
d03eba121c [BZ #6040]
* locales/fr_FR: Fix abmon, abday, d_ftm, grouping.
2008-04-08 00:17:58 +00:00
Ulrich Drepper
221e523037 * sysdeps/unix/opendir.c (__alloc_dir): If allocation fails for size
provided through st_blksize, try the default size before giving up.
2008-03-30 08:51:55 +00:00
Ulrich Drepper
e8a3212650 [BZ #5939]
* sysdeps/posix/tempname.c (__gen_tempname): Correct flag selection.
2008-03-30 03:30:38 +00:00
Ulrich Drepper
48cc060e64 * sysdeps/unix/sysv/linux/wordsize-64/syscalls.list: Add open
and creat system calls.
	* sysdeps/unix/sysv/linux/alpha/syscalls.list: Remove open system
	call.
	* sysdeps/unix/sysv/linux/ia64/syscalls.list: Remove open and creat
	system calls.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise.
2008-03-27 16:23:55 +00:00
Ulrich Drepper
f96853beaf * sysdeps/unix/sysv/linux/bits/local_lim.h: Undefined ARG_MAX if
<linux/limits.h> has defined it.
	* sysdeps/unix/sysv/linux/sys/param.h: Define NCARGS to the legacy
	ARG_MAX value and prevent ARG_MAX from being defined by the kernel
	headers.
	* sysdeps/unix/sysv/linux/sysconf.c: Define legacy_ARG_MAX and use
	it instead of ARG_MAX.
2008-03-27 15:20:38 +00:00
Ulrich Drepper
fde15fdc5b * posix/gai.conf: Fix comment for scope nullbits.
* sysdeps/posix/getaddrinfo.c (gaiconf_init): If /bits is not present,
	default to 128 bits for v4 mapped addresses.
2008-03-26 17:45:14 +00:00
Ulrich Drepper
87b9b50f0d * sysdeps/s390/fpu/fegetenv.c (fegetenv): Remove PTRACE_PEEKUSER
ptrace call to get the ieee_instruction_pointer from the kernel.
	* sysdeps/s390/fpu/fesetenv.c (fesetenv): Remove PTRACE_POKEUSER
	ptrace call to set the ieee_instructtion_pointer.
	* sysdeps/unix/sysv/linux/s390/sys/user.h (struct _user_regs_struct):
	Add comment that ieee_instruction_pointer is always 0.
2008-03-24 20:01:15 +00:00
Ulrich Drepper
af0498dc95 [BZ #5857]
2008-03-09  Andreas Jaeger  <aj@suse.de>
	[BZ #5857]
	* sysdeps/ieee754/dbl-64/s_rint.c (__rint): Handle j0==18.
	* sysdeps/ieee754/dbl-64/s_nearbyint.c (__nearbyint): Likewise.
  	Patch by Mark Elliott <mark.h.elliott@lmco.com>.

	* math/libm-test.inc (nearbyint_test): Add new test cases from #5857.
	(rint_test): Likewise.
2008-03-24 19:57:55 +00:00
Ulrich Drepper
e093c24743 * sysdeps/unix/sysv/linux/adjtime.c: Correctly use
ADJ_OFFSET_SS_READ.
2008-03-24 16:11:32 +00:00
Ulrich Drepper
0ab7632d38 * sysdeps/unix/sysv/linux/bits/sched.h: Add new CLONE_* flags,
remove CLONE_STOPPED.
2008-03-24 16:03:48 +00:00
Ulrich Drepper
72e6cdfa2c Remove useless "if" before "free". 2008-03-19 06:43:34 +00:00
Jakub Jelinek
354b75277b * sysdeps/unix/sysv/linux/dl-sysdep.h: Use __ASSEMBLER__ instead
of ASSEMBLER. nptl/ 
* sysdeps/unix/sysv/linux/ia64/dl-sysdep.h: Use __ASSEMBLER__ instead 
of ASSEMBLER. 
* sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h: Likewise. 
* sysdeps/unix/sysv/linux/i386/dl-sysdep.h: Likewise.
2008-03-18  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/dl-sysdep.h: Use __ASSEMBLER__ instead
	of ASSEMBLER.
2008-03-17 23:41:58 +00:00
Andreas Jaeger
b45ee712d5 [BZ #5753]
* sysdeps/ia64/ieee754.h: Use protected namespace 
__BIG_ENDIAN/__LITTLE_ENDIAN. 
* sysdeps/ieee754/ieee754.h: Likewise. 
Patch by Aurelien Jarno <aurelien@aurel32.net>.
2008-03-10 06:21:21 +00:00
Roland McGrath
d2ea0b9659 2008-03-08 Roland McGrath <roland@frob.com>
* sysdeps/mach/hurd/i386/trampoline.c (_hurd_setup_sighandler):
	Clear DF bit in thread state's eflags.
	Reported by Samuel Thibault <samuel.thibault@ens-lyon.org>.
2008-03-08 21:39:00 +00:00
Ulrich Drepper
368a8dec0a * sysdeps/unix/sysv/linux/dl-sysdep.c: Avoid unnecessary code for
.o file.
	* elf/Makefile (routines): Add dl-sysdep.
	(elide-routines.os): Likewise.
2008-03-08 17:52:13 +00:00
Ulrich Drepper
7c22c7ec9a [BZ #5786]
* elf/dl-sysdep.c: Undefine ROUND after use.
	* sysdeps/generic/ldsodefs.h [HAVE_DL_DISCOVER_OSVERSION]
	(struct rtld_global_ro): Add _dl_tls_get_addr_soft element.
	* elf/rtld.c (rtld_global_ro): Initialize _dl_discover_osversion.
	* sysdeps/unix/sysv/linux/dl-osinfo.h: Move _dl_discover_osversion
	to ...
	* sysdeps/unix/sysv/linux/dl-sysdep.c: ...here.
	* sysdeps/unix/sysv/linux/dl-sysdep.h: Declare _dl_discover_osversion
	if necessary.
	* sysdeps/unix/sysv/linux/sysconf.c: Handle _SC_ARG_MAX here.
2008-03-08 07:35:10 +00:00
Ulrich Drepper
93025f9373 * sysdeps/generic/ldsodefs.h (struct rtld_global_ro): Add
_dl_tls_get_addr_soft element.
	* elf/rtld.c (rtld_global_ro): Initialize _dl_tls_get_addr_soft.
	* elf/Versions (ld): Don't export _dl_tls_get_addr_soft.
	* dlfcn/dlinfo.c (dlinfo_doit): Access dl_tls_get_addr_soft through
	GLRO.
	* elf/dl-iteratephdr.c (__dl_iterate_phdr): Likewise.
	* elf/dl-tls.c (_dl_tls_get_addr_soft): Use attribute_hidden instead
	of internal_function.
2008-03-08 05:44:56 +00:00
Ulrich Drepper
443db17889 [BZ #5778]
* sysdeps/unix/sysv/linux/pathconf.h: Declare
	__statfs_chown_restricted.
	* sysdeps/unix/sysv/linux/fpathconf.c: Call __statfs_chown_restricted
	for _PC_CHOWN_RESTRICTED.
	* sysdeps/unix/sysv/linux/pathconf.c: Likewise.
	Implement __statfs_chown_restricted.
	* sysdeps/unix/sysv/linux/bits/posix_opt.h: Change
	_POSIX_CHOWN_RESTRICTED value to zero.

2008-02-26  Harsha Jagasia  <harsha.jagasia@amd.com>
2008-03-08 01:57:18 +00:00
Ulrich Drepper
78c2bf0eb4 * sysdeps/x86_64/rtld-memset.c: New file.
2008-2-26  Harsha Jagasia  <harsha.jagasia@amd.com>

	* sysdeps/x86_64/cacheinfo.c (NOT_USED_RIGHT_NOW): Remove ifdef guards.

	* sysdeps/x86_64/memset.S: Rewrite non-SSE code path as tuned for AMD
	Barcelona machine.  Make default fall through branch of
	__x86_64_preferred_memory_instruction check as the integer code path.

2007-10-15  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/x86_64/cacheinfo.c
	(__x86_64_preferred_memory_instruction): New variable.
	(init_cacheinfo): Initialize __x86_64_preferred_memory_instruction.

	* sysdeps/x86_64/memset.S: Rewrite.

2008-01-08  Jakub Jelinek  <jakub@redhat.com>
	* malloc/malloc.c (public_cALLOc): For arenas other than
2008-03-07 17:55:11 +00:00
Ulrich Drepper
dff3751503 * include/stdio.h (__asprintf_chk, __dprintf_chk,
__obstack_printf_chk): New prototypes.
	(__vasprintf_chk, __vdprintf_chk,
	__obstack_vprintf_chk): Likewise.
	Add libc_hidden_proto.
	* libio/obprintf.c
	(_IO_obstack_jumps): No longer static, add attribute_hidden.
	* libio/bits/stdio-ldbl.h (__asprintf_chk, __dprintf_chk,
	__obstack_printf_chk, __vasprintf_chk, __vdprintf_chk,
	__obstack_vprintf_chk): Add __LDBL_REDIR_DECL.
	* libio/bits/stdio2.h (__asprintf_chk, __dprintf_chk,
	__obstack_printf_chk, __vasprintf_chk, __vdprintf_chk,
	__obstack_vprintf_chk): New prototypes.
	(asprintf, __asprintf, dprintf, obstack_printf, vasprintf, vdprintf,
	obstack_vprintf): New inlines.
	* debug/dprintf_chk.c: New file.
	* debug/vdprintf_chk.c: New file.
	* debug/asprintf_chk.c: New file.
	* debug/vasprintf_chk.c: New file.
	* debug/obprintf_chk.c: New file.
	* debug/tst-chk1.c (do_test): Add asprintf and obstack_printf tests.
	* debug/Versions (__asprintf_chk, __dprintf_chk, __obstack_printf_chk,
	__vasprintf_chk, __vdprintf_chk, __obstack_vprintf_chk): Export
	@@GLIBC_2.8.
	* debug/Makefile: Build asprintf_chk, vasprintf_chk, dprintf_chk,
	vdprintf_chk and obprintf_chk, set CFLAGS for them.
	* sysdeps/ieee754/ldbl-opt/nldbl-compat.c (__nldbl___vasprintf_chk,
	__nldbl___vdprintf_chk, __nldbl___obstack_vprintf_chk): Add
	libc_hidden_proto.
	* sysdeps/ieee754/ldbl-opt/nldbl-compat.h (__nldbl___vasprintf_chk,
	__nldbl___vdprintf_chk, __nldbl___obstack_vprintf_chk): New prototypes.
	* sysdeps/ieee754/ldbl-opt/Versions (__nldbl___asprintf_chk,
	__nldbl___vasprintf_chk, __nldbl___dprintf_chk, __nldbl___vdprintf_chk,
	__nldbl___obstack_printf_chk, __nldbl___obstack_vprintf_chk): Export
	@@GLIBC_2.8.
	* sysdeps/ieee754/ldbl-opt/Makefile (libnldbl-calls): Add asprintf_chk,
	vasprintf_chk, dprintf_chk, vdprintf_chk, obstack_printf_chk and
	obstack_vprintf_chk.
	* sysdeps/ieee754/ldbl-opt/nldbl-obstack_vprintf_chk.c: New file.
	* sysdeps/ieee754/ldbl-opt/nldbl-dprintf_chk.c: New file.
	* sysdeps/ieee754/ldbl-opt/nldbl-obstack_printf_chk.c: New file.
	* sysdeps/ieee754/ldbl-opt/nldbl-asprintf_chk.c: New file.
	* sysdeps/ieee754/ldbl-opt/nldbl-vdprintf_chk.c: New file.
	* sysdeps/ieee754/ldbl-opt/nldbl-vasprintf_chk.c: New file.
2008-03-05 07:05:13 +00:00
Ulrich Drepper
2e3e9ff16c * sysdeps/unix/sysv/linux/sys/timerfd.h: New file.
* sysdeps/unix/sysv/linux/Makefile [subdir=misc] (sysdep_headers): Add
	sys/timerfd.h.
	* sysdeps/unix/sysv/linux/syscalls.list: Add timerfd_create,
	timerfd_gettime, timerfd_settime.
	* sysdeps/unix/sysv/linux/Versions: Add timerfd_create,
	timerfd_gettime, timerfd_settime for GLIBC_2.8.
2008-02-10 19:43:56 +00:00
Ulrich Drepper
9d9ba87333 Header for timerfd interfaces. 2008-02-10 19:43:07 +00:00
Roland McGrath
363a641b1c * Makeconfig (sysd-rules-targets): New variable.
* sysdeps/unix/make-syscalls.sh: Use it in the rules emitted.
	* sysdeps/unix/Makefile (omit-deps): Append variants for each target.
2008-02-01 00:01:25 +00:00
Ulrich Drepper
b4b166af4f * sysdeps/i386/fpu/ftestexcept.c (fetestexcept): Use short for fnstsw. 2008-01-22 18:58:31 +00:00
Andreas Jaeger
0aa678b799 [BZ #5040] * sysdeps/unix/sysv/linux/x86_64/sys/epoll.h (enum EPOLL_EVENTS): Add EPOLLRDHUP. 2008-01-21 21:19:51 +00:00
Ulrich Drepper
a0f6c236e0 [BZ #5628]
* bits/shm.h: Fix comment describing shmid_ds.
	* sysdeps/gnu/bits/shm.h: Likewise.
	* sysdeps/unix/sysv/linux/alpha/bits/shm.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/shm.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/bits/shm.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/bits/shm.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/bits/shm.h: Likewise.
	* sysdeps/unix/sysv/linux/sh/bits/shm.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/shm.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/bits/shm.h: Likewise.
	Patch by Hareesh Nagarajan <hareesh.nagarajan@gmail.com>.
2008-01-16 23:49:43 +00:00
Ulrich Drepper
6107639e64 * sysdeps/posix/getaddrinfo.c (default_labels): Adjust for change
of names of in in6_addr.
	(default_precedence): Likewise.
	* sysdeps/unix/sysv/linux/cmsg_nxthdr.c: Include <stddef.h> for
	NULL definition.
2008-01-16 19:47:17 +00:00
Ulrich Drepper
a53d3f8295 [BZ #5607]
2008-01-16  Ulrich Drepper  <drepper@redhat.com>
	[BZ #5607]
	* conform/data/fcntl.h-data: Fix posix_fadvise and posix_fallocate
	prototypes.
	* conform/data/limits.h-data: Adjust limits changed in v6 and add
	additional suffixes.
	* conform/data/mqueue.h-data: Fix typo in mq_curmsgs entry.
	Add optional functions mq_timedreceive and mq_timedsend.
	* conform/data/netdb.h-data: Add more AI_* and EAI_* constants.
	* conform/data/pthread.h-data: Fix prototype of
	pthread_condattr_setclock.  pthread_sigmask is not required in v6.
	* conform/data/semaphore.h-data: Allow time.h definitions.
	* conform/data/signal.h-data: Likewise.
	* conform/data/stdio.h-data: getw and putw are not required in v6.
	* conform/data/stdlib.h-data: Change setstate prototype.
	* conform/data/string.h-data: Fix strerror_r prototype.
	* conform/data/time.h-data: Fix typo in TIMER_ABSTIME definition.
	* conform/data/unistd.h-data: pthread_atfork not required in v6.
	Fix readlink prototype.
	* conform/data/netinet/in.h-data: Add const to in6addr_any and
	in6addr_loopback.
	* inet/netinet/in.h: Cleanup namespace.
	* posix/regex.h: Likewise.
	* resolv/netdb.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/in.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/socket.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/bits/stat.h: Likewise.
2008-01-16 10:11:18 +00:00
Andreas Jaeger
3a4ef5252b [BZ #5600] (struct signalfd_siginfo): Use 64-bit type for ssi_ptr to sync with Linux kernel header. 2008-01-12 16:33:43 +00:00
Ulrich Drepper
49029a669d * sysdeps/posix/getaddrinfo.c (rfc3484_sort): Store result of
native interface lookup in all the relevant places.
2008-01-10 22:30:58 +00:00
Ulrich Drepper
0efd19566d * sysdeps/posix/getaddrinfo.c (sort_results): Remove service_order
field.  Use sockaddr_in6 for source_addr.
	(get_scope): Change type of parameter to sockaddr_in6.  Adjust.
	(match_prefix): Likewise.
	(get_label): Likewise.
	(get_precedence): Likewise.
	(rfc3484_sort): Change to use indirect access to results array.
	Adjust to use of sockaddr_in6.  Replace service_order test with
	simple index comparison.
	(getaddrinfo): Define order array.  Initialize it.  Don't initialize
	service_order field.  Adjust qsort_t calls.  Access sorted result
	array indirectly through order array.
	* posix/tst-rfc3484.c: Adjust for change of rfc3484_sort.
	* posix/tst-rfc3484-2.c: Likewise.
	* posix/tst-rfc3484-3.c: Likewise.
2008-01-10 20:00:52 +00:00
Ulrich Drepper
148e12ed12 * sysdeps/unix/sysv/linux/i386/makecontext.S (__makecontext): Avoid
clobbering memory at or above uc_stack.ss_sp + uc_stack.ss_size.
	* stdlib/Makefile: Add rules to build and run tst-makecontext2.
	* stdlib/tst-makecontext2.c: New test.
2008-01-09 19:35:21 +00:00
Ulrich Drepper
ad586879b1 * sysdeps/unix/sysv/linux/check_pf.c (make_request): Fix
recognition of interface family.
2008-01-03 00:25:03 +00:00
Ulrich Drepper
ee269826ab (intel_02_known): New entry 0x3f. 2007-12-23 19:32:28 +00:00
Ulrich Drepper
52386be756 * sysdeps/unix/sysv/linux/x86_64/init-first.c (__vdso_gettimeofday):
Return long.
	(__vdso_clock_gettime): Likewise.
2007-12-15 01:12:13 +00:00
Ulrich Drepper
78b767a0a6 * sysdeps/unix/sysv/linux/x86_64/sysdep.h (INTERNAL_SYSCALL_ERROR_P):
First cast argument to long
	* sysdeps/unix/sysv/linux/x86_64/bits/libc-vdso.h: Functions
	return long.
2007-12-14 23:38:23 +00:00
Ulrich Drepper
a78814a99a [BZ #5477]
2007-12-12  Jakub Jelinek  <jakub@redhat.com>
	* sysdeps/i386/i486/bits/string.h (memmove): Define as macro.
	(memmove): Rename to __memmove_g, with __asm__ ("memmove").
	* sysdeps/s390/bits/string.h (__strlen_g, __strcpy_g, __strncpy_g,
	__strcat_g, __strncat_g): Add __asm__.

2007-12-12  Ulrich Drepper  <drepper@redhat.com>

	[BZ #5477]
	* io/fchmodat.c: Fix typo in stub_warning use.
	Patch by Petr Salinger.
2007-12-12 18:03:27 +00:00
Ulrich Drepper
ae18718f58 * sysdeps/unix/sysv/linux/adjtime.c: Use ADJ_OFFSET_SS_READ if
possible.
	* sysdeps/unix/sysv/linux/kernel-features.h
	(__ASSUME_ADJ_OFFSET_SS_READ): Define for 2.6.24.
	* sysdeps/unix/sysv/linux/sys/timex.h (ADJ_OFFSET_SS_READ): Define.
2007-12-10 23:51:42 +00:00
Ulrich Drepper
26e21e7554 [BZ #5441, BZ #5452, BZ #5454]
2007-12-07  Ulrich Drepper  <drepper@redhat.com>
	[BZ #5441]
	* stdio-common/vfscanf.c (_IO_vfwscanf): Don't free ptrs_to_free
	structure, it's allocated with alloca.
	* stdio-common/Makefile (tests): Add bug21.
	* stdio-common/bug21.c: New file.

2007-12-06  Aurelien Jarno  <aurelien@aurel32.net>

	[BZ #5452]
	* sysdeps/unix/sysv/linux/bits/sched.h: Use __extension__
	  keyword for gcc's braced-groups.

2007-12-07  Ulrich Drepper  <drepper@redhat.com>

	[BZ #5454]
	* inet/ether_line.c: Strip hostname of whitespaces.
	* inet/Makefile (tests): Add tst-ether_line.
	* inet/tst-ether_line.c: New file.
2007-12-07 16:50:11 +00:00
Ulrich Drepper
da0ff4ae5b [BZ #5439]
* sysdeps/unix/sysv/linux/sys/signalfd.h: Fix use of __nonnull.
2007-12-03 06:17:25 +00:00
Ulrich Drepper
51bd20d93a [BZ #5435]
* sysdeps/unix/sysv/linux/i386/makecontext.S: Align stack.
2007-12-03 04:57:30 +00:00
Ulrich Drepper
609bb0712d * sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list: Add open
and creat system calls.
2007-11-24 03:23:39 +00:00
Ulrich Drepper
715db78bd4 * sysdeps/unix/sysv/linux/check_native.c: Include <asm/types.h>.
* nscd/mem.c (gc): Don't allocate arrays on the stack if they can
	Return zero in case the thread library is not NPTL.
2007-11-24 03:12:25 +00:00
Ulrich Drepper
37143323d8 * sysdeps/s390/bits/string.h (strlen, strcpy, strncpy, strcat,
strncat): Define as macros to avoid compile errors.
2007-11-23 15:21:46 +00:00
Ulrich Drepper
dcdcf4b9c9 * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: Add open and
creat entries.
2007-11-23 15:20:57 +00:00
Ulrich Drepper
ea2c47b6be * sysdeps/unix/sysv/linux/Makefile [subdir=inet] (sysdep_headers):
Add netiucv/iucv.h.
	* sysdeps/unix/sysv/linux/netiucv/iucv.h: New file.
	* sysdeps/unix/sysv/linux/opensock.c (__opensock): Add AF_IUCV
	protocol.
	* sysdeps/unix/sysv/linux/sa_len.c (__libc_sa_len): Likewise.
	* sysdeps/unix/sysv/linux/s390/opensock.c: New file.
	* sysdeps/unix/sysv/linux/s390/sa_len.c: New file.
2007-11-23 15:19:41 +00:00
Ulrich Drepper
7ea8eb02b0 [BZ #5382]
* nscd/nscd.h (NSCD_THREAD_STACKSIZE): Define.
	* nscd/connections.c (start_threads): Use NSCD_THREAD_STACKSIZE.
	* nscd/mem.c (gc): Don't allocate arrays on stack if it can
	overflow it.

	* sysdeps/unix/sysv/linux/nscd_setup_thread.c (setup_thread):
	Return zero in case thread library is not NPTL.
2007-11-23 06:37:58 +00:00
Ulrich Drepper
ee72b97189 * sysdeps/posix/getaddrinfo.c (defaults_scopes, scopes): New variables.
(get_scope): For IPv4 scope, use scopes table.
	(fini): Free scopes table if necessary.
	(free_scopelist): New function.
	(scopecmp): New function.
	(gaiconf_init): Also handle scopev4 entries.
	* posix/tst-rfc3484.c (do_test): Initialize scopes.
	* posix/tst-rfc3484-2.c (do_test): Likewise.
	* posix/gai.conf: Document scopev4 defaults.
	* posix/Makefile (tests): Add tst-rfc3484-3.
	* posix/tst-rfc3484-3.c: New file.
2007-11-20 00:41:22 +00:00
Ulrich Drepper
f4a7976578 * sysdeps/posix/getaddrinfo.c (default_labels): Describe entry for
Teredo tunnels.
2007-11-19 17:31:40 +00:00
Roland McGrath
9ef78a1208 2007-11-18 Roland McGrath <roland@frob.com>
* sysdeps/mach/hurd/bits/fcntl.h (O_CLOEXEC): Fix value.
2007-11-18 22:51:16 +00:00
Ulrich Drepper
238346abad * sysdeps/unix/sysv/linux/Makefile [subdir=misc] (sysdep_headers):
Add sys/signalfd.h and sys/eventfd.h.
2007-11-17 08:49:48 +00:00
Andreas Jaeger
a05826e208 Fix size of union. 2007-11-15 19:06:06 +00:00
Ulrich Drepper
1e2692c922 * sysdeps/unix/sysv/linux/check_native.c (__check_native): Simplify
significantly.  The device type is also part of the ifinfomsg data.
2007-11-15 00:03:41 +00:00
Ulrich Drepper
773e79b316 * include/ifaddrs.h: Remove in6ai_temporary.
(struct in6addrinfo): Add index element.
	Declare __check_native.
	* inet/Makefile (aux): Add check_native.
	* sysdeps/unix/sysv/linux/check_native.c: New file.
	* sysdeps/unix/sysv/linux/check_pf.c: No need to recognize
	IFA_F_TEMPORARY.  Pass back ifa_index.
	* sysdeps/posix/getaddrinfo.c: Remove netlink compatibility code.
	(rfc3484_sort): Add new parameter.  Implement rule 7 correctly:
	call __check_native if necessary.
	(getaddrinfo): Fill in index field.  Use qsort_r instead of qsort
	to sort addresses.  Pass information about the results.
	* posix/tst-rfc3484.c: Adjust for addition of index field and change
	of rfc3484_sort interface.
	* posix/tst-rfc3484-2.c: Likewise.
2007-11-14 06:58:35 +00:00
Ulrich Drepper
e1cedf8c1f Hurd-specific kernel-features.h. 2007-11-13 16:28:42 +00:00
Roland McGrath
9c0e11e62e 2007-09-13 H.J. Lu <hongjiu.lu@intel.com>
* sysdeps/i386/i586/memcpy_chk.S: New file.
	* sysdeps/i386/i586/mempcpy_chk.S: Likewise.
	* sysdeps/i386/i586/memset_chk.S: Likewise.
2007-11-13 01:56:18 +00:00
Ulrich Drepper
6f3914d5a3 * include/ifaddrs.c (struct in6addrinfo): Add prefixlen field.
* sysdeps/unix/sysv/linux/check_pf.c (make_request): Always return
	list of interfaces.  Also store prefix length.
	* sysdeps/posix/getaddrinfo.c (sort_result): Add prefixlen element.
	(rfc3484_sort): In rule 9, for IPv4 addresses count only matching
	prefix if source and destination address are in the same subnet.
	(getaddrinfo): Always call __check_pf.  Fill in prefixlen field.
	Always look for matching record in in6ai list.
	Correct source_addr_len value for IPv6->IPv4 converted records.
2007-11-12 23:55:58 +00:00
Ulrich Drepper
01e7fdbb74 * sysdeps/pthread/aio_misc.c (handle_fildes_io): Avoid unnecessary
complications for 64-bit platforms.
2007-11-10 19:40:16 +00:00
Ulrich Drepper
7f745396c4 * sysdeps/unix/sysv/linux/open64.c: Move __open64_2 implementation to..
* sysdeps/unix/sysv/linux/open64_2.c: ...here.  New file.
	* sysdeps/unix/sysv/linux/Makefile [subdir=io] (sysdep_routines): Add
	open64_2.
	* sysdeps/unix/sysv/linux/ia64/syscalls.list: Add open and creat
	entries.
	* sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise.
	* sysdeps/wordsize-64/alphasort.c: New file.
	* sysdeps/wordsize-64/alphasort64.c: New file.
	* sysdeps/wordsize-64/fseeko.c: New file.
	* sysdeps/wordsize-64/fseeko64.c: New file.
	* sysdeps/wordsize-64/ftello.c: New file.
	* sysdeps/wordsize-64/ftello64.c: New file.
	* sysdeps/wordsize-64/ftw.c: New file.
	* sysdeps/wordsize-64/ftw64.c: New file.
	* sysdeps/wordsize-64/iofgetpos.c: New file.
	* sysdeps/wordsize-64/iofgetpos64.c: New file.
	* sysdeps/wordsize-64/iofopen.c: New file.
	* sysdeps/wordsize-64/iofopen64.c: New file.
	* sysdeps/wordsize-64/iofsetpos.c: New file.
	* sysdeps/wordsize-64/iofsetpos64.c: New file.
	* sysdeps/wordsize-64/lockf.c: New file.
	* sysdeps/wordsize-64/lockf64.c: New file.
	* sysdeps/wordsize-64/mkostemp.c: New file.
	* sysdeps/wordsize-64/mkostemp64.c: New file.
	* sysdeps/wordsize-64/mkstemp.c: New file.
	* sysdeps/wordsize-64/mkstemp64.c: New file.
	* sysdeps/wordsize-64/scandir.c: New file.
	* sysdeps/wordsize-64/scandir64.c: New file.
	* sysdeps/wordsize-64/tmpfile.c: New file.
	* sysdeps/wordsize-64/tmpfile64.c: New file.
	* sysdeps/wordsize-64/versionsort.c: New file.
	* sysdeps/wordsize-64/versionsort64.c: New file.
	* sysdeps/unix/sysv/linux/wordsize-64/aio_read.c: New file.
	* sysdeps/unix/sysv/linux/wordsize-64/aio_read64.c: New file.
	* sysdeps/unix/sysv/linux/wordsize-64/aio_write.c: New file.
	* sysdeps/unix/sysv/linux/wordsize-64/aio_write64.c: New file.
	* sysdeps/unix/sysv/linux/wordsize-64/creat64.c: New file.
	* sysdeps/unix/sysv/linux/wordsize-64/getdirentries.c: New file.
	* sysdeps/unix/sysv/linux/wordsize-64/getdirentries64.c: New file.
	* sysdeps/unix/sysv/linux/wordsize-64/lio_listio.c: New file.
	* sysdeps/unix/sysv/linux/wordsize-64/lio_listio64.c: New file.
	* sysdeps/unix/sysv/linux/wordsize-64/open64.c: New file.
	* sysdeps/unix/sysv/linux/wordsize-64/openat.c: New file.
	* sysdeps/unix/sysv/linux/wordsize-64/openat64.c: New file.

	* crypt/sha256-crypt.c: Fix a comment.
	* crypt/sha512-crypt.c: Likewise.
2007-11-10 19:36:06 +00:00
Ulrich Drepper
f6ed654cab * sysdeps/x86_64/memset.S: Add sfence after movnti. 2007-11-08 01:07:04 +00:00
Ulrich Drepper
ffb1b88282 * nscd/aicache.c (addhstaiX): Check herrno after IPv4 lookup only
when the lookup call failed.

	* nscd/nscd.h (struct database_dyn): Rename prunelock to prune_lock.
	Add prune_cond and wakeup_time.
	(CACHE_PRUNE_INTERNAL): Define.
	Update declarations of prune_cache and setup_thread.
	* nscd/connections.c (dbs): Update initializers.
	(CACHE_PRUNE_INTERNAL): Moved to nscd.h.
	(nscd_init): Default number of threads is now 4.
	(invalidate_cache): Take lock before calling prune_cache.
	(handle_request): If SELinux forbids the request, say so.
	(readylist_cond): Use static initializer.
	(nscd_run_prune): New function.  Used only by pruning threads.
	(nscd_run_worder): Renamed from nscd_run.  Remove support for pruning
	here.
	(fd_ready): Update nscd_run reference.
	(start_threads): No need to initialize readylist_cond.
	Start pruning threads separately.
	* nscd/nscd_setup_thread.c: Change return value type to int and always
	return 0.
	* sysdeps/unix/sysv/linux/nscd_setup_thread.c: Change return value type
	to int and return nonzero value if we can use the TID address hack.
	* nscd/cache.c (cache_add): If next wakeup time of cleanup thread for
	the database is later than the new entry's timeout, update the
	wakeup time and wake the cleanup thread.
	(prune_cache): Return seconds the next entry in the database is still
	valid.  Remove locking for pruning here.
	* nscd/nscd.conf: Document default number of threads.
2007-11-06 00:45:40 +00:00
Ulrich Drepper
41ff2a4999 * sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Make sure
stack is properly aligned for the target function.
	Correct unwind info.
2007-10-31 19:25:15 +00:00
Ulrich Drepper
94833f118b [BZ #5040]
* sysdeps/unix/sysv/linux/sys/epoll.h (EPOLLRDHUP): Add value.
2007-10-28 01:34:10 +00:00
Ulrich Drepper
05d691474f [BZ #3112]
2007-10-27  Andreas Jaeger  <aj@suse.de>
	[BZ #3112]
	* sysdeps/ia64/backtrace.c (init): Free shared library if incorrect.
	(__cleanup): Free shared library when exiting.
	* sysdeps/i386/backtrace.c (init): Free shared library if incorrect.
	(__cleanup): Free shared library when exiting.
2007-10-28 01:29:21 +00:00
Ulrich Drepper
ad3371fbac [BZ #5208]
2007-10-23  Andreas Jaeger  <aj@suse.de>
	[BZ #5208]
	* sysdeps/unix/sysv/linux/readahead.c (__readahead): Use
	__LONG_LONG_PAIR to handle little endian byte order.
	Suggested by abhishekrai@google.com
2007-10-28 01:08:55 +00:00
Jakub Jelinek
46ae88502d 2007-10-06 David S. Miller <davem@davemloft.net>
* configure.in: Add sparcv9v2 and sparc64v2.
	* scripts/config.sub: Likewise.
	* configure: Regenerate.
	* elf/elf.h (HWCAP_SPARC_N2): New.
	* sysdeps/sparc/dl-procinfo.h (_DL_HWCAP_COUNT): Bump to 8.
	* sysdeps/sparc/dl-procinfo.c (_dl_sparc_cap_flags): Add 'v9v2'.
	(HWCAP_IMPORTANT): Add HWCAP_SPARC_N2.
	* sysdeps/sparc/sparc32/sparcv9/sparcv9v2/memcpy.S: New file.
	* sysdeps/sparc/sparc32/sparcv9/sparcv9v2/memset.S: New file.
	* sysdeps/sparc/sparc64/sparcv9v2/memcpy.S: New file.
	* sysdeps/sparc/sparc64/sparcv9v2/memset.S: New file.
2007-10-06  David S. Miller  <davem@davemloft.net>

	* configure.in: Add sparcv9v2 and sparc64v2.
	* scripts/config.sub: Likewise.
	* configure: Regenerate.
	* elf/elf.h (HWCAP_SPARC_N2): New.
	* sysdeps/sparc/dl-procinfo.h (_DL_HWCAP_COUNT): Bump to 8.
	* sysdeps/sparc/dl-procinfo.c (_dl_sparc_cap_flags): Add 'v9v2'.
	(HWCAP_IMPORTANT): Add HWCAP_SPARC_N2.
	* sysdeps/sparc/sparc32/sparcv9/sparcv9v2/memcpy.S: New file.
	* sysdeps/sparc/sparc32/sparcv9/sparcv9v2/memset.S: New file.
	* sysdeps/sparc/sparc64/sparcv9v2/memcpy.S: New file.
	* sysdeps/sparc/sparc64/sparcv9v2/memset.S: New file.
2007-10-19 06:59:33 +00:00
Jakub Jelinek
ed13ccf1f7 * sysdeps/x86_64/memset.S (bzero): Renamed to __bzero. Add
weak_alias.
2007-10-17  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/x86_64/memset.S (bzero): Renamed to __bzero.  Add
	weak_alias.
2007-10-18 00:09:32 +00:00
Roland McGrath
bd92328d5e 2007-10-17 Roland McGrath <roland@frob.com>
* sysdeps/mach/hurd/bits/fcntl.h [__USE_GNU__] (F_DUPFD_CLOEXEC): New.
	* sysdeps/mach/hurd/fcntl.c (__libc_fcntl): Implement it.
2007-10-17 22:32:35 +00:00
Ulrich Drepper
1aa5e4d74f * sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Define F_DUPFD_CLOEXEC.
* sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h:  Likewise.
	* sysdeps/unix/sysv/linux/alpha/bits/fcntl.h: Likewise.
2007-10-17 18:55:39 +00:00
Ulrich Drepper
fc4837e5d7 * sysdeps/posix/getaddrinfo.c (getaddrinfo): When sorting addresses
and admin selects to be able to replace the gai.conf file, lock
	data structures around the qsort call.
2007-10-17 16:05:34 +00:00
Ulrich Drepper
406f28dbe5 * sysdeps/x86_64/cacheinfo.c: Comment out code added in support of
new memset.
	too high for the improvements.  Implement bzero unconditionally for
	use in libc.
2007-10-17 15:58:16 +00:00
Ulrich Drepper
ac1cb5da08 * sysdeps/x86_64/memset.S: Revert to old version for now. The cost is
too high for the improvements.

2007-10-17  Ulrich Drepper  <drepper@redhat.com>
	    Jakub Jelinek  <jakub@redhat.com>
2007-10-17 15:44:30 +00:00
Ulrich Drepper
6a649d25bb Help the compiler recognize unreachable code on 32-bit machines.
2007-10-16  Ulrich Drepper  <drepper@redhat.com>

	* time/tzfile.c (__tzfile_read): Help the compiler recognize
	unreachable code on 32-bit machines.
2007-10-16 23:25:46 +00:00
Ulrich Drepper
69819d9223 (__tzfile_read): Take extra memory requested by caller into account when copying TZ string.
2007-10-16  Ulrich Drepper  <drepper@redhat.com>

	* time/tzfile.c (__tzfile_read): Take extra memory requested by caller
	into account when copying TZ string.
2007-10-16 22:37:35 +00:00
Jakub Jelinek
8d137b6098 * sysdeps/x86_64/memset.S (memset): Fix sse2_nt_move
PIC indirect jump.
	* sysdeps/x86_64/memset.S (memset): Fix sse2_nt_move
	PIC indirect jump.
2007-10-16 09:23:09 +00:00
Jakub Jelinek
0308ad66c1 * sysdeps/x86_64/memset.S: Jump from bzero to memset using
a local label rather than HIDDEN_JUMPTARGET.
2007-10-16  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/x86_64/memset.S: Jump from bzero to memset using
	a local label rather than HIDDEN_JUMPTARGET.
2007-10-16 08:54:19 +00:00
Ulrich Drepper
e2b393bc69 * sysdeps/x86_64/cacheinfo.c (__x86_64_shared_cache_size): Define.
(init_cacheinfo): Initialize it.
	* sysdeps/x86_64/memset.S: Use __x86_64_shared_cache_size.
	Always define bzero.
	Remove non-glibc code.
	* sysdeps/x86_64/bzero.S: Make an empty file.

2007-10-15  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/x86_64/cacheinfo.c
	(__x86_64_preferred_memory_instruction): New.
	(init_cacheinfo): Initialize __x86_64_preferred_memory_instruction.

	* sysdeps/x86_64/memset.S: Rewrite.

	* nss/getXXbyYY_r.c (REENTRANT_NAME): Mangle startp and start_fct
2007-10-16 05:59:53 +00:00
Ulrich Drepper
340779f775 Make an empty file. 2007-10-16 05:59:15 +00:00
Ulrich Drepper
6f55ed8885 * sysdeps/posix/getaddrinfo.c (struct sort_result): Add
service_order.
	(rfc3484_sort): Make sure that even of qsort doesn't support
	stable sorting it is stable by comparing service_order.
	(getaddrinfo): Initialize service_order.
2007-10-14 17:58:03 +00:00
Jakub Jelinek
d0b5557df8 * sysdeps/gnu/netinet/tcp.h: Include sys/socket.h if __USE_MISC.
(struct tcp_md5sig): Change tcpm_addr type to struct sockaddr_storage.
	* inet/netinet/in.h: Don't include bits/socket.h.
	* sysdeps/unix/sysv/linux/bits/socket.h: Only check _SYS_SOCKET_H
	macro.
	* sysdeps/unix/bsd/bsd4.4/bits/socket.h: Likewise.
2007-10-11  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/gnu/netinet/tcp.h: Include sys/socket.h if __USE_MISC.
	(struct tcp_md5sig): Change tcpm_addr type to struct sockaddr_storage.

	* inet/netinet/in.h: Don't include bits/socket.h.
	* sysdeps/unix/sysv/linux/bits/socket.h: Only check _SYS_SOCKET_H
	macro.
	* sysdeps/unix/bsd/bsd4.4/bits/socket.h: Likewise.
2007-10-11 16:32:14 +00:00
Ulrich Drepper
5a01ab7b83 * sysdeps/x86_64/cacheinfo.c (init_cacheinfo): Work around problem
with some Pentium Ds.
2007-10-10 01:22:45 +00:00
Ulrich Drepper
e3f8e04910 * sysdeps/unix/sysv/linux/eventfd_read.c (eventfd_read): Use
__read not read.
	* sysdeps/unix/sysv/linux/eventfd_write.c (eventfd_write): Use
	__write not write.
2007-10-09 03:56:53 +00:00
Ulrich Drepper
a6fa53288f [BZ #3924]
* sysdeps/i386/dl-trampoline.S (_dl_runtime_profile): Fix a few
	more little bugs in creating the stack frame when pltexit has to
	be called.
2007-10-07 05:31:00 +00:00
Ulrich Drepper
c039eedd66 [BZ #4407]
* sysdeps/ieee754/dbl-64/e_lgamma_r.c: Fix *signgamp for -0.0.
	* sysdeps/ieee754/flt-32/e_lgammaf_r.c: Likewise.
	* sysdeps/ieee754/ldbl-96/e_lgammal_r.c: Likewise.
	* math/libm-test.inc: Add test for this case.

	Half the patch by Christian Iseli <christian.iseli@licr.org>.
2007-10-06 18:37:30 +00:00
Ulrich Drepper
6789aaaa97 2007-10-04 Jakub Jelinek <jakub@redhat.com>
2007-10-03  Jakub Jelinek  <jakub@redhat.com>
2007-10-05 20:32:30 +00:00
Ulrich Drepper
8e351378b7 * sysdeps/gnu/netinet/tcp.h: Define TCP_MD5SIG, TCP_MD5SIG_MAXKEYLEN,
struct tcp_md5sig.  Extend struct tcp_info according to recent kernels.

	* sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add eventfd,
	evetnfd_read, eventfd_write.
	* sysdeps/unix/sysv/linux/eventfd.c: New file.
	* sysdeps/unix/sysv/linux/eventfd_read.c: New file.
	* sysdeps/unix/sysv/linux/eventfd_write.c: New file.
	* sysdeps/unix/sysv/linux/sys/eventfd.h: New file.
	* sysdeps/unix/sysv/linux/Versions: Export eventfd, evetnfd_read,
	eventfd_write for GLIBC_2.7.
2007-10-05 18:55:57 +00:00
Ulrich Drepper
34c2c09296 * sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add signalfd.
* sysdeps/unix/sysv/linux/signalfd.c: New file.
	* sysdeps/unix/sysv/linux/sys/signalfd.h: New file.
	* sysdeps/unix/sysv/linux/Versions: Export signalfd for GLIBC_2.7.
2007-10-05 16:31:37 +00:00
Ulrich Drepper
385b4cf4c5 * sysdeps/generic/ldsodefs.h (struct dl_scope_free_list): Store
void * pointers instead of struct link_map **.
	(_dl_scope_free): Change argument type to void *.
	* include/link.h (struct link_map): Change type of l_reldeps
	to struct link_map_reldeps, move l_reldepsact into that
	struct too.
	* elf/dl-deps.c: Include atomic.h.
	(_dl_map_object_deps): Only change l->l_initfini when it is
	fully populated, use _dl_scope_free for freeing it.  Optimize
	removal of libs from reldeps by using l_reserved flag, when
	some removal is needed, allocate a new list instead of
	reallocating and free the old with _dl_scope_free.  Adjust
	for l_reldeps and l_reldepsact changes.
	* elf/dl-lookup.c (add_dependency): Likewise.  Reorganize to allow
	searching in l_initfini and l_reldeps without holding dl_load_lock.
	* elf/dl-fini.c (_dl_sort_fini): Adjust for l_reldeps and
	l_reldepsact changes.
	* elf/dl-close.c (_dl_close_worker): Likewise.
	* elf/dl-open.c (_dl_scope_free): Change argument type to void *.
2007-09-29 06:58:31 +00:00
Jakub Jelinek
e6eec9cef2 * sysdeps/posix/getaddrinfo.c (getaddrinfo): Use
close_not_cancel_no_status instead of close.
2007-09-24  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/posix/getaddrinfo.c (getaddrinfo): Use
	close_not_cancel_no_status instead of close.
2007-09-24 15:18:25 +00:00
Ulrich Drepper
0435403c9d * sysdeps/x86_64/cacheinfo.c (__x86_64_data_cache_size_half): Renamed
from __x86_64_core_cache_size_half.
	(init_cacheinfo): Compute shared cache size for AMD processors with
	shared L3 correctly.
	* sysdeps/x86_64/memcpy.S: Adjust for __x86_64_data_cache_size_half
	name change.
	Patch in large parts by Evandro Menezes.
2007-09-22 05:54:03 +00:00
Ulrich Drepper
e1db0493fd * sysdeps/posix/getaddrinfo.c (getaddrinfo): Avoid unnecessary
open/close when determining source addresses.
2007-09-19 22:12:22 +00:00
Jakub Jelinek
006805680f * sysdeps/sparc/sparc32/elf/start.S: Remove cfi_* markup.
* sysdeps/sparc/sparc64/elf/start.S: Likewise. 
* sysdeps/unix/sysv/linux/sparc/sparc32/clone.S (__thread_start): Likewise. 
* sysdeps/unix/sysv/linux/sparc/sparc64/clone.S (__thread_start): Likewise.
	* sysdeps/sparc/sparc32/elf/start.S: Remove cfi_* markup.
	* sysdeps/sparc/sparc64/elf/start.S: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/clone.S (__thread_start): Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/clone.S (__thread_start): Likewise.
2007-09-18 19:29:44 +00:00
Ulrich Drepper
b90395e6e9 * sysdeps/generic/ldsodefs.h (DL_LOOKUP_GSCOPE_LOCK): New definition.
* elf/dl-runtime.c (_dl_fixup, _dl_profile_fixup): Or in
	DL_LOOKUP_GSCOPE_LOCK into flags after THREAD_GSCOPE_SET_FLAG ().
	* elf/dl-sym.c (do_sym): Likewise.
	* include/link.h (struct link_map): Add l_serial field.
	* elf/dl-object.c (_dl_new_object): Initialize l_serial.
	* elf/dl-lookup.c (add_dependency): Add flags argument.
	Remember map->l_serial, if DL_LOOKUP_GSCOPE_LOCK is among
	flags, use THREAD_GSCOPE_RESET_FLAG before and
	THREAD_GSCOPE_SET_FLAG after
	__rtld_lock_lock_recursive (GL(dl_load_lock)) to avoid deadlock.
	Don't dereference map until it has been found on some list.
	If map->l_serial changed, return -1.
2007-09-18 19:20:56 +00:00
Ulrich Drepper
874aa52349 * include/stdio.h (__isoc99_fscanf, __isoc99_scanf,
__isoc99_sscanf, __isoc99_vscanf): New prototypes.
	(__isoc99_vsscanf, __isoc99_vfscanf): New prototypes, add
	libc_hidden_proto.
	* include/wchar.h (__isoc99_fwscanf, __isoc99_wscanf,
	__isoc99_swscanf, __isoc99_vwscanf): New prototypes.
	(__isoc99_vswscanf, __isoc99_vfwscanf): New prototypes,
	add libc_hidden_proto.
	* libio/stdio.h (fscanf, scanf, sscanf, vfscanf, vscanf,
	vsscanf): Redirect to __isoc99_* if strict ISO C99 or POSIX
	conformance requested.
	* wcsmbs/wchar.h (fwscanf, wscanf, swscanf, vfwscanf, vwscanf,
	vswscanf): Redirect to __isoc99_* if strict ISO C99 or POSIX
	conformance requested.
	* libio/bits/stdio-ldbl.h (fscanf, scanf, sscanf, vfscanf, vscanf,
	vsscanf): Redirect to __nldbl___isoc99_* if strict ISO C99 or POSIX
	conformance requested.
	* wcsmbs/bits/wchar-ldbl.h (fwscanf, wscanf, swscanf, vfwscanf,
	vwscanf, vswscanf): Redirect to __nldbl___isoc99_* if strict
	ISO C99 or POSIX conformance requested.
	* stdio-common/Versions (libc): Export __isoc99_scanf@@GLIBC_2.7,
	__isoc99_vscanf@@GLIBC_2.7, __isoc99_fscanf@@GLIBC_2.7,
	__isoc99_vfscanf@@GLIBC_2.7, __isoc99_sscanf@@GLIBC_2.7
	and __isoc99_vsscanf@@GLIBC_2.7.
	* stdio-common/Makefile (routines): Add isoc99_scanf, isoc99_vscanf,
	isoc99_fscanf, isoc99_vfscanf, isoc99_sscanf and isoc99_vsscanf.
	(tests): Add scanf14.
	(CFLAGS-vfprintf.c, CFLAGS-fprintf.c, CFLAGS-printf.c,
	CFLAGS-vfwprintf.c, CFLAGS-vfscanf.c, CFLAGS-vfwscanf.c,
	CFLAGS-fscanf.c, CFLAGS-scanf.c, CFLAGS-isoc99_vfscanf.c,
	CFLAGS-isoc99_vscanf.c, CFLAGS-isoc99_fscanf.c,
	CFLAGS-isoc99_scanf.c): Add $(exceptions).
	(CFLAGS-scanf15.c): Add various -I paths to prevent the compiler
	from using internal headers.
	* wcsmbs/Versions (libc): Export __isoc99_wscanf@@GLIBC_2.7,
	__isoc99_vwscanf@@GLIBC_2.7, __isoc99_fwscanf@@GLIBC_2.7,
	__isoc99_vfwscanf@@GLIBC_2.7, __isoc99_swscanf@@GLIBC_2.7
	and __isoc99_vswscanf@@GLIBC_2.7.
	* wcsmbs/Makefile (routines): Add isoc99_wscanf, isoc99_vwscanf,
	isoc99_fwscanf, isoc99_vfwscanf, isoc99_swscanf and isoc99_vswscanf.
	(CFLAGS-isoc99_wscanf.c, CFLAGS-isoc99_fwscanf.c,
	CFLAGS-isoc99_vwscanf.c, CFLAGS-isoc99_vfwscanf.c): Add $(exceptions).
	(CPPFLAGS): Add -D_IO_MTSAFE_IO if needed.
	* stdio-common/isoc99_scanf.c: New file.
	* stdio-common/isoc99_vsscanf.c: New file.
	* stdio-common/isoc99_vscanf.c: New file.
	* stdio-common/isoc99_vfscanf.c: New file.
	* stdio-common/isoc99_fscanf.c: New file.
	* stdio-common/isoc99_sscanf.c: New file.
	* wcsmbs/isoc99_fwscanf.c: New file.
	* wcsmbs/isoc99_vswscanf.c: New file.
	* wcsmbs/isoc99_swscanf.c: New file.
	* wcsmbs/isoc99_wscanf.c: New file.
	* wcsmbs/isoc99_vwscanf.c: New file.
	* wcsmbs/isoc99_vfwscanf.c: New file.
	* libio/libio.h (_IO_FLAGS2_SCANF_STD): Define.
	* libio/libioP.h (_IO_acquire_lock_clear_flags2_fct): Also
	clear _IO_FLAGS2_SCANF_STD bit from _flags2.
	* stdio-common/vfscanf.c (_IO_vfscanf_internal): Don't
	handle %as, %aS and %a[ if _IO_FLAGS2_SCANF_STD is set in _flags2.
	* stdio-common/scanf14.c: New test.
	* stdio-common/scanf15.c: New test.
	* sysdeps/ieee754/ldbl-opt/Makefile (libnldbl-calls): Add
	isoc99_scanf, isoc99_fscanf, isoc99_sscanf,
	isoc99_vscanf, isoc99_vfscanf, isoc99_vsscanf,
	isoc99_wscanf, isoc99_fwscanf, isoc99_swscanf,
	isoc99_vwscanf, isoc99_vfwscanf and isoc99_vswscanf.
	* sysdeps/ieee754/ldbl-opt/Versions (libc): Export
	__nldbl___isoc99_scanf@@GLIBC_2.7,
	__nldbl___isoc99_fscanf@@GLIBC_2.7,
	__nldbl___isoc99_sscanf@@GLIBC_2.7,
	__nldbl___isoc99_vscanf@@GLIBC_2.7,
	__nldbl___isoc99_vfscanf@@GLIBC_2.7,
	__nldbl___isoc99_vsscanf@@GLIBC_2.7,
	__nldbl___isoc99_wscanf@@GLIBC_2.7,
	__nldbl___isoc99_fwscanf@@GLIBC_2.7,
	__nldbl___isoc99_swscanf@@GLIBC_2.7,
	__nldbl___isoc99_vwscanf@@GLIBC_2.7,
	__nldbl___isoc99_vfwscanf@@GLIBC_2.7
	and __nldbl___isoc99_vswscanf@@GLIBC_2.7.
	* sysdeps/ieee754/ldbl-opt/nldbl-compat.h (__isoc99_scanf,
	__isoc99_fscanf, __isoc99_sscanf, __isoc99_vscanf,
	__isoc99_vfscanf, __isoc99_vsscanf, __isoc99_wscanf,
	__isoc99_fwscanf, __isoc99_swscanf, __isoc99_vwscanf,
	__isoc99_vfwscanf, __isoc99_vswscanf): Add NLDBL_DECL.
	* sysdeps/ieee754/ldbl-opt/nldbl-compat.c
	(__nldbl___isoc99_scanf, __nldbl___isoc99_fscanf,
	__nldbl___isoc99_sscanf, __nldbl___isoc99_vscanf,
	__nldbl___isoc99_vfscanf, __nldbl___isoc99_vsscanf,
	__nldbl___isoc99_wscanf, __nldbl___isoc99_fwscanf,
	__nldbl___isoc99_swscanf, __nldbl___isoc99_vwscanf,
	__nldbl___isoc99_vfwscanf, __nldbl___isoc99_vswscanf): New
	functions.
	* sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vfscanf.c: New file.
	* sysdeps/ieee754/ldbl-opt/nldbl-isoc99_swscanf.c: New file.
	* sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vwscanf.c: New file.
	* sysdeps/ieee754/ldbl-opt/nldbl-isoc99_wscanf.c: New file.
	* sysdeps/ieee754/ldbl-opt/nldbl-isoc99_scanf.c: New file.
	* sysdeps/ieee754/ldbl-opt/nldbl-isoc99_sscanf.c: New file.
	* sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vsscanf.c: New file.
	* sysdeps/ieee754/ldbl-opt/nldbl-isoc99_fwscanf.c: New file.
	* sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vfwscanf.c: New file.
	* sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vswscanf.c: New file.
	* sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vscanf.c: New file.
	* sysdeps/ieee754/ldbl-opt/nldbl-isoc99_fscanf.c: New file.

	* stdio-common/Makefile (tests): Add scanf13.
	(scanf13-ENV): New.
	* stdio-common/vfscanf.c (_IO_vfscanf_internal): Handle
	m modifier followed by l.
	(STRING_ARG): Add width argument.
	(_IO_vfscanf_internal) <case L_('c')>: Handle %mc.
	<case L_('C')>: Handle %mlc and %mC.
	<case L_('s'), case L_('S'), case L_('[')>: Adjust STRING_ARG
	arguments.
	* stdio-common/scanf13.c: New test.

	* libio/libioP.h (_IO_acquire_lock_clear_flags2_fct): Clear
	the _IO_FLAGS2_FORTIFY bit from _flags2 rather than _flags.

	type and __THROW marker of splice, vmsplice, and tee.
2007-09-18 19:04:01 +00:00
Ulrich Drepper
883f7943f2 * sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Correct return value
type __THROW marker of splice, vmsplice, and tee.
	* sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/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/syscalls.list: Mark splice, vmsplice, and tee
	as cancellation points.
2007-09-18 16:21:06 +00:00
Ulrich Drepper
b197b0e1ae Correct return value type __THROW marker of splice, vmsplice, and tee. 2007-09-18 16:20:44 +00:00
Ulrich Drepper
3524efe0bd * sysdeps/unix/sysv/linux/dl-osinfo.h (_dl_discover_osversion): Don't
parse more than three parts of the version number.
2007-09-15 22:54:33 +00:00
Ulrich Drepper
5e17d6b75b * 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.
2007-09-15 22:38:32 +00:00
Ulrich Drepper
3a50811c2f * 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.
2007-09-15 22:35:27 +00:00
Ulrich Drepper
9bdfff6000 * 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.
2007-09-15 22:24:03 +00:00
Ulrich Drepper
de1c3ebb59 * 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.
2007-09-15 02:38:04 +00:00
Roland McGrath
af2f25a163 * sysdeps/mach/hurd/bits/ioctls.h (TAB3): New macro. 2007-09-07 20:39:01 +00:00
Ulrich Drepper
de4d856364 * 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>.
2007-08-29 16:50:11 +00:00
Roland McGrath
52ab602c1c 2007-08-27 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/syscalls.list
	(personality): Change caller to EXTRA.
2007-08-27 20:10:31 +00:00
Ulrich Drepper
76fca9f14a * sysdeps/x86_64/cacheinfo.c (handle_amd): Fix computation of
associativity for fully-associative caches.
2007-08-25 17:24:23 +00:00
Ulrich Drepper
80e7d6a6d3 * sysdeps/x86_64/cacheinfo.c (handle_amd): Handle L3 cache
requests.  Fill on more associativity values for L2.
	Patch mostly by Evandro Menezes.
2007-08-25 17:07:47 +00:00
Ulrich Drepper
d250df8c57 * sysdeps/unix/sysv/linux/x86_64/init-first.c
(_libc_vdso_platform_setup): Avoid using exported variable by using
	alias.
2007-08-24 18:24:03 +00:00
Ulrich Drepper
cb5ba30495 * sysdeps/unix/sysv/linux/i386/syscalls.list: No reason to mark
fallocate64 as EXTRA< it is not referenced if the symbol isn't
	defined.
2007-08-24 17:22:25 +00:00
Ulrich Drepper
44b2e5815b * sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Correctly
align stack for call if pltexit is to be used.
2007-08-24 03:57:56 +00:00
Ulrich Drepper
73e3ff07a3 [BZ #3924]
* sysdeps/i386/dl-trampoline.S (_dl_runtime_profile): Correctly
	align for function call in case pltexit has to be called later.
2007-08-24 02:58:08 +00:00
Ulrich Drepper
62e1b1f564 * sysdeps/i386/dl-trampoline.S (_dl_runtime_resolve): Avoid
implicit atomic operation when storing function pointer.
	(_dl_runtime_profile): Likewise.
2007-08-24 02:03:29 +00:00
Jakub Jelinek
b211fe0fef * 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.
2007-08-21 08:07:28 +00:00
Ulrich Drepper
fb84593c43 * 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.
2007-08-20 22:36:43 +00:00
Jakub Jelinek
91ddd9c448 * 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.
2007-08-16 19:44:26 +00:00
Jakub Jelinek
8a501135a4 * 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.
2007-08-16 10:42:36 +00:00
Jakub Jelinek
e4720b0e59 * 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.
2007-08-15 20:47:43 +00:00
Jakub Jelinek
467d1345e0 * 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.
2007-08-14 19:59:35 +00:00
Jakub Jelinek
702a94146a * 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.
2007-08-14 19:37:50 +00:00
Ulrich Drepper
22502ea2a7 * 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.
2007-08-14 03:21:23 +00:00
Ulrich Drepper
9c6f6953fd * 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.
2007-08-13 18:47:42 +00:00
Ulrich Drepper
f8de5057b9 * 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.
2007-08-13 18:33:31 +00:00
Ulrich Drepper
4eb375fea3 * sysdeps/unix/sysv/linux/clock_gettime.c (maybe_syscall_gettime_cpu):
Build fix for systems which might lack POSIX timer support.
2007-08-13 00:46:30 +00:00
Ulrich Drepper
3c87d79db7 * 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.
2007-08-13 00:23:59 +00:00
Ulrich Drepper
27d9ffda17 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.
2007-08-12 20:09:16 +00:00
Ulrich Drepper
8d944b0fc6 * sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h: Include stddef.h
with __need_size_t.
2007-08-12 19:40:27 +00:00
Ulrich Drepper
fb86328ad8 * 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.
2007-08-12 19:33:45 +00:00
Ulrich Drepper
75fb247e69 * 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.
2007-08-12 19:03:54 +00:00
Ulrich Drepper
d7e23b02a4 * 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.
2007-08-11 02:48:28 +00:00
Ulrich Drepper
916ee8bcba (shm_open): Fix typo in last change. 2007-08-10 23:21:18 +00:00