Commit Graph

386 Commits

Author SHA1 Message Date
Ulrich Drepper
77dd4c3be8 * sysdeps/posix/getaddrinfo.c: Implement configuration file
handling.  /etc/gai.conf can contain replacements for the label
	and precedence table.  Fix byte order of default label and
	precedence table.
	* posix/gai.conf: New file.
	* posix/tst-rfc3484.c: Adjust for changes to getaddrinfo.c.
	* posix/tst-rfc3484-2.c: Likewise.
2006-05-04 06:38:07 +00:00
Ulrich Drepper
846d1362cd * posix/Makefile (tests): Add tst-getaddrinfo3.
* posix/tst-getaddrinfo3.c: New file.

	* sysdeps/posix/getaddrinfo.c (gaih_inet): Add parenthesis in test
	for better readability.
2006-04-30 20:19:09 +00:00
Ulrich Drepper
105a492d4d * sysdeps/posix/getaddrinfo.c (getaddrinfo): Fix typo which caused
bugs not to be reported.
2006-04-26 19:36:15 +00:00
Ulrich Drepper
cf6ada44a2 * sysdeps/posix/getaddrinfo.c (getaddrinfo): Always initialize in6ai. 2006-04-24 17:21:40 +00:00
Ulrich Drepper
727a6832f0 [BZ #1951]
2006-04-23  Ulrich Drepper  <drepper@redhat.com>
	[BZ #1951]
	* sysdeps/posix/sigset.c (sigset): Return correct value reflecting
	previous signal state.
	* signal/Makefile (tests): Add tst-sigset2.
	* signal/tst-sigset2.c: New file.
2006-04-23 19:05:33 +00:00
Ulrich Drepper
786dcb6287 * sysdeps/posix/getaddrinfo.c (getaddrinfo): Rewrite to avoid loop
over gaih array.  There is only on function to call in the moment.
2006-04-18 23:35:12 +00:00
Ulrich Drepper
3af48b5b31 * include/ifaddrs.h: Define struct in6addrinfo.
Add two more parameters to __check_pf.
	* sysdeps/unix/sysv/linux/check_pf.c: When using the netlink
	interface, determine whether IPv6 addresses are deprecated or
	temporary.  Create array of those addresses.
	* inet/check_pf.c: Always tell caller there are no depracated
	and temporary addresses.
	* sysdeps/posix/getaddrinfo.c: Pretty printing.
	(struct sort_result): Add source_addr_flags field.
	(rfc3484_sort): Implement rule 3 and 7.
	(in6aicmp): New function.
	(getaddrinfo): Call __check_pf also when we need info about IPv6
	source addresses.  When creating array for sorting addresses,
	look up deprecated and temporary addresses returned by __check_pf
	and add flag if necessary.
2006-04-16 21:34:32 +00:00
Ulrich Drepper
a238728234 * sysdeps/posix/getaddrinfo.c: Fix precedence for IP V4-to-V6
mapped addresses.
	* posix/Makefile (tests): Add tst-rfc3484-2.
	* posix/tst-rfc3484-2.c: New file.
2006-04-15 21:43:13 +00:00
Ulrich Drepper
cec4091671 * sysdeps/posix/tempname.c (__gen_tempname): Change attempts_min
into a macro.  Use preprocessor to decide how to initialize
	attempts [Coverity CID 67].

	* io/fts.c (fts_build): Comment out dead code [Coverity CID 68].

	* sunrpc/rpc_parse.c (def_union): Comment out dead code
	[Coverity CID 70].

	* locale/programs/linereader.c (lr_token): Remove duplicate
	handling of EOF [Coverity CID 71].

	* locale/programs/ld-numeric.c (numeric_read) [case tok_grouping]:
	We bail out early if ignore_content is set, so there is no need to
	check it later again [Coverity CID 72].

	* inet/inet6_option.c (inet6_option_find): Check *tptrp for NULL,
	not tptrp [Coverity CID 73].

	* inet/inet6_option.c (inet6_option_next): Check *tptrp for NULL,
	not tptrp [Coverity CID 74].

	* misc/tsearch.c (__tsearch): Don't rotate tree if memory
	allocation failed [Coverity CID 78].
2006-04-07 20:25:36 +00:00
Ulrich Drepper
5b353be3b6 * sysdeps/posix/getaddrinfo.c (gaih_inet): No need to duplicate
'name' for 'canon'.  The final allocation will happen later.
2006-03-29 17:52:29 +00:00
Roland McGrath
7d013a64de * malloc/malloc.c (MALLOC_ALIGNMENT): Revert to (2 * SIZE_SZ) value.
The correct value differs only on powerpc32, and for now changing it
	there is causing more trouble than it's worth.

	* malloc/arena.c: Add compile-time sanity check on padding calculation.

2006-03-05  Jakub Jelinek  <jakub@redhat.com>

	* malloc/arena.c (heap_info): Adjust the padding size if
	MALLOC_ALIGNMENT > 2 * SIZE_SZ.
2006-03-06 06:18:43 +00:00
Roland McGrath
182ed12e71 * sysdeps/posix/sysconf.c (__sysconf): Use #if _POSIX_FOO > 0
rather than #ifdef _POSIX_FOO for options.  We should return -1
	at runtime for an option defined to 0 at compile time.

	* sysdeps/mach/hurd/bits/posix_opt.h: Define many missing options,
	many to -1 or 0.

2006-03-05  Roland McGrath  <roland@redhat.com>

	* sysdeps/unix/sysv/linux/sysconf.c (__sysconf)
	[__NR_clock_getres || HP_TIMING_AVAIL]: Handle _SC_CPUTIME,
	_SC_THREAD_CPUTIME.
2006-03-06 02:51:01 +00:00
Roland McGrath
0f284e5837 2006-02-27 Roland McGrath <roland@redhat.com>
* sysdeps/posix/Makefile: New file.
	* Makerules (L_tmpnam, TMP_MAX, L_ctermid, L_cuserid): Set non-posix
	values here with ?=.
2006-02-28 07:05:34 +00:00
Roland McGrath
f2a2deef4d [BZ #2268]
2006-02-03  Roland McGrath  <roland@redhat.com>
	[BZ #2268]
	* sysdeps/posix/profil.c (__profil): Use __profile_frequency to choose
	timer interval, don't assume smallest possible interval is it.

	* sysdeps/powerpc/fpu/bits/fenvinline.h (fegetround): Make asm
	volatile.
2006-02-03 22:28:47 +00:00
Roland McGrath
aeb2153cd6 [BZ #1535]
* sysdeps/unix/get_child_max.c: New file.
	* posix/get_child_max.c: New file.
	* posix/Makefile (routines): Add it.
	* include/sys/sysinfo.h (__get_child_max): Declare it.
	* sysdeps/posix/sysconf.c (__sysconf) [! CHILD_MAX]: Use it.
2006-01-08 09:39:29 +00:00
Roland McGrath
9de06f3c77 * po/.cvsignore: List libc.pot.files, and not any .pot names.
* manual/maint.texi (Porting): Don't mention Dist files.
	* sysdeps/alpha/soft-fp/Dist: File removed.
	* sysdeps/alpha/Dist: File removed.
	* sysdeps/i386/i686/Dist: File removed.
	* sysdeps/i386/soft-fp/Dist: File removed.
	* sysdeps/i386/Dist: File removed.
	* sysdeps/mips/soft-fp/Dist: File removed.
	* sysdeps/mips/mips64/soft-fp/Dist: File removed.
	* sysdeps/mips/mips64/Dist: File removed.
	* sysdeps/mips/Dist: File removed.
	* sysdeps/wordsize-32/Dist: File removed.
	* sysdeps/m68k/fpu/switch/Dist: File removed.
	* sysdeps/m68k/fpu/Dist: File removed.
	* sysdeps/powerpc/powerpc64/Dist: File removed.
	* sysdeps/powerpc/soft-fp/Dist: File removed.
	* sysdeps/powerpc/powerpc32/fpu/Dist: File removed.
	* sysdeps/powerpc/powerpc32/Dist: File removed.
	* sysdeps/powerpc/fpu/Dist: File removed.
	* sysdeps/powerpc/Dist: File removed.
	* sysdeps/unix/common/Dist: File removed.
	* sysdeps/unix/bsd/bsd4.4/Dist: File removed.
	* sysdeps/unix/bsd/Dist: File removed.
	* sysdeps/unix/sysv/linux/alpha/Dist: File removed.
	* sysdeps/unix/sysv/linux/i386/Dist: File removed.
	* sysdeps/unix/sysv/linux/mips/mips64/Dist: File removed.
	* sysdeps/unix/sysv/linux/mips/Dist: File removed.
	* sysdeps/unix/sysv/linux/m68k/Dist: File removed.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/Dist: File removed.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/Dist: File removed.
	* sysdeps/unix/sysv/linux/powerpc/aix/Dist: File removed.
	* sysdeps/unix/sysv/linux/powerpc/Dist: File removed.
	* sysdeps/unix/sysv/linux/sparc/sparc32/Dist: File removed.
	* sysdeps/unix/sysv/linux/sparc/sparc64/Dist: File removed.
	* sysdeps/unix/sysv/linux/sparc/Dist: File removed.
	* sysdeps/unix/sysv/linux/ia64/Dist: File removed.
	* sysdeps/unix/sysv/linux/s390/s390-64/Dist: File removed.
	* sysdeps/unix/sysv/linux/s390/Dist: File removed.
	* sysdeps/unix/sysv/linux/s390/s390-32/Dist: File removed.
	* sysdeps/unix/sysv/linux/sh/Dist: File removed.
	* sysdeps/unix/sysv/linux/x86_64/Dist: File removed.
	* sysdeps/unix/sysv/linux/hppa/Dist: File removed.
	* sysdeps/unix/sysv/linux/Dist: File removed.
	* sysdeps/unix/sysv/Dist: File removed.
	* sysdeps/unix/Dist: File removed.
	* sysdeps/generic/Dist: File removed.
	* sysdeps/sparc/sparc32/soft-fp/Dist: File removed.
	* sysdeps/sparc/sparc32/sparcv9/Dist: File removed.
	* sysdeps/sparc/sparc32/sparcv8/Dist: File removed.
	* sysdeps/sparc/sparc32/Dist: File removed.
	* sysdeps/sparc/sparc64/soft-fp/Dist: File removed.
	* sysdeps/sparc/sparc64/Dist: File removed.
	* sysdeps/sparc/Dist: File removed.
	* sysdeps/gnu/Dist: File removed.
	* sysdeps/ia64/fpu/Dist: File removed.
	* sysdeps/ia64/Dist: File removed.
	* sysdeps/mach/mips/Dist: File removed.
	* sysdeps/mach/hurd/alpha/Dist: File removed.
	* sysdeps/mach/hurd/i386/Dist: File removed.
	* sysdeps/mach/hurd/mips/Dist: File removed.
	* sysdeps/mach/hurd/powerpc/Dist: File removed.
	* sysdeps/mach/hurd/Dist: File removed.
	* sysdeps/s390/s390-64/Dist: File removed.
	* sysdeps/s390/Dist: File removed.
	* sysdeps/s390/s390-32/Dist: File removed.
	* sysdeps/sh/Dist: File removed.
	* sysdeps/posix/Dist: File removed.
	* sysdeps/ieee754/dbl-64/Dist: File removed.
	* sysdeps/ieee754/ldbl-128/Dist: File removed.
	* sysdeps/ieee754/flt-32/Dist: File removed.
	* sysdeps/ieee754/Dist: File removed.
	* sysdeps/x86_64/soft-fp/Dist: File removed.
	* sysdeps/x86_64/Dist: File removed.
	* sysdeps/hppa/Dist: File removed.

	* Makerules (common-clean): Don't remove distinfo file.
	($(objpfx)distinfo): Target removed.
	* manual/Makefile (mostlyclean): Don't remove distinfo file.
	(glibc-targets): Remove echo-distinfo.

	* scripts/list-sources.sh: New file.
	* Makefile (TAGS): New target.
	* po/Makefile (libc.pot, libc.pot.files): New targets.
	* Makeconfig (XGETTEXT): New variable.
	* Makerules ($(..)po/%.pot): Rule removed.
	(TAGS): Target removed.
	* Rules (subdir_TAGS): Target removed.
	* MakeTAGS: File removed.

	* Makefile (iconvdata/% localedata/% po/% manual/%): Depend on FORCE.
	* Makeconfig ($(all-Depend-files)): New targets with no-op commands.
2006-01-08 06:46:10 +00:00
Roland McGrath
cb483e04aa * io/euidaccess.c: Add eaccess as an alias.
* sysdeps/mach/hurd/euidaccess.c: Likewise.
	* sysdeps/posix/euidaccess.c: Likewise.
	* posix/unistd.h [__USE_GNU]: Declare eaccess.
	* io/Versions (libc: GLIBC_2.4): Add eaccess.
2006-01-06 11:22:10 +00:00
Roland McGrath
8ad684db49 * sysdeps/posix/libc_fatal.c (__libc_message): Add a const, a cast.
* hurd/lookup-retry.c (__hurd_file_name_lookup_retry): Fix cast.
	* hurd/report-wait.c (_S_msg_report_wait): Likewise.

	* include/sys/xattr.h: New file.
2005-12-29 10:38:16 +00:00
Roland McGrath
8f480b4bc2 * elf/cache.c: Use <> rather than "" #includes.
* elf/chroot_canon.c: Likewise.
	* elf/dl-lookup.c: Likewise.
	* elf/ldconfig.c: Likewise.
	* elf/readlib.c: Likewise.
	* elf/rtld.c: Likewise.
	* gmon/mcount.c: Likewise.
	* hurd/hurdfault.c: Likewise.
	* hurd/hurdsig.c: Likewise.
	* hurd/report-wait.c: Likewise.
	* hurd/sigunwind.c: Likewise.
	* mach/setup-thread.c: Likewise.
	* rt/aio_read64.c: Likewise.
	* rt/aio_sigqueue.c: Likewise.
	* rt/aio_write64.c: Likewise.
	* soft-fp/soft-fp.h: Likewise.
	* stdio-common/tmpfile64.c: Likewise.
	* sysdeps/mach/hurd/fork.c: Likewise.
	* sysdeps/mach/hurd/hppa/trampoline.c: Likewise.
	* sysdeps/mach/hurd/i386/trampoline.c: Likewise.
	* sysdeps/mach/hurd/mips/trampoline.c: Likewise.
	* sysdeps/mach/hurd/powerpc/trampoline.c: Likewise.
	* sysdeps/posix/sprofil.c: Likewise.
	* sysdeps/pthread/aio_cancel.c: Likewise.
	* sysdeps/pthread/aio_fsync.c: Likewise.
	* sysdeps/pthread/aio_read64.c: Likewise.
	* sysdeps/pthread/aio_read.c: Likewise.
	* sysdeps/pthread/aio_suspend.c: Likewise.
	* sysdeps/pthread/aio_write64.c: Likewise.
	* sysdeps/pthread/aio_write.c: Likewise.
	* sysdeps/pthread/lio_listio64.c: Likewise.
	* sysdeps/pthread/lio_listio.c: Likewise.
	* sysdeps/unix/sysv/linux/aio_sigqueue.c: Likewise.
	* sysdeps/unix/sysv/tcflow.c: Likewise.
2005-12-21 22:16:34 +00:00
Ulrich Drepper
2094e1a975 * sysdeps/posix/gai_strerror.c: Complete rewrite. Avoid relocations.
* sysdeps/posix/gai_strerror-strs.h: New file.
	* sysdeps/posix/Dist: New file.
2005-12-20 17:53:00 +00:00
Ulrich Drepper
192c0fa590 * sysdeps/posix/getaddrinfo.c (gaih): Mark as const.
* locale/loadlocale.c (_nl_value_types): Likewise.
2005-12-20 16:51:14 +00:00
Roland McGrath
2826ac7e14 * sysdeps/alpha/fpu/s_cacosf.c: Don't use sysdeps/generic/.
* sysdeps/alpha/fpu/s_cacoshf.c: Likewise.
	* sysdeps/alpha/fpu/s_casinf.c: Likewise.
	* sysdeps/alpha/fpu/s_casinhf.c: Likewise.
	* sysdeps/alpha/fpu/s_catanf.c: Likewise.
	* sysdeps/alpha/fpu/s_catanhf.c: Likewise.
	* sysdeps/alpha/fpu/s_ccosf.c: Likewise.
	* sysdeps/alpha/fpu/s_ccoshf.c: Likewise.
	* sysdeps/alpha/fpu/s_cexpf.c: Likewise.
	* sysdeps/alpha/fpu/s_clog10f.c: Likewise.
	* sysdeps/alpha/fpu/s_clogf.c: Likewise.
	* sysdeps/alpha/fpu/s_cpowf.c: Likewise.
	* sysdeps/alpha/fpu/s_cprojf.c: Likewise.
	* sysdeps/alpha/fpu/s_csinf.c: Likewise.
	* sysdeps/alpha/fpu/s_csinhf.c: Likewise.
	* sysdeps/alpha/fpu/s_csqrtf.c: Likewise.
	* sysdeps/alpha/fpu/s_ctanf.c: Likewise.
	* sysdeps/alpha/fpu/s_ctanhf.c: Likewise.
	* sysdeps/alpha/libc-tls.c: Likewise.
	* sysdeps/gnu/glob64.c: Likewise.
	* sysdeps/gnu/updwtmp.c: Likewise.
	* sysdeps/gnu/utmp_file.c: Likewise.
	* sysdeps/i386/bzero.c: Likewise.
	* sysdeps/i386/ffs.c: Likewise.
	* sysdeps/i386/i686/ffs.c: Likewise.
	* sysdeps/i386/memset.c: Likewise.
	* sysdeps/ia64/fpu/printf_fphex.c: Likewise.
	* sysdeps/ia64/libc-tls.c: Likewise.
	* sysdeps/ieee754/ldbl-128/printf_fphex.c: Likewise.
	* sysdeps/m68k/ffs.c: Likewise.
	* sysdeps/mach/hurd/getdents.c: Likewise.
	* sysdeps/mach/hurd/init-posix.c: Likewise.
	* sysdeps/mach/msync.c: Likewise.
	* sysdeps/mips/libc-tls.c: Likewise.
	* sysdeps/posix/profil.c: Likewise.
	* sysdeps/posix/shm_open.c: Likewise.
	* sysdeps/posix/shm_unlink.c: Likewise.
	* sysdeps/posix/sprofil.c: Likewise.
	* sysdeps/powerpc/ffs.c: Likewise.
	* sysdeps/rs6000/ffs.c: Likewise.
	* sysdeps/s390/libc-tls.c: Likewise.
	* sysdeps/unix/sysv/linux/aio_sigqueue.c: Likewise.
	* sysdeps/unix/sysv/linux/alpha/glob.c: Likewise.
	* sysdeps/unix/sysv/linux/alpha/wordexp.c: Likewise.
	* sysdeps/unix/sysv/linux/ftruncate64.c: Likewise.
	* sysdeps/unix/sysv/linux/gai_sigqueue.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/getmsg.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/getresgid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/getresuid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/lchown.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/putmsg.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/readelflib.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setresgid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setresuid.c: Likewise.
	* sysdeps/unix/sysv/linux/ia64/readelflib.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/ftruncate64.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/readelflib.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/truncate64.c: Likewise.
	* sysdeps/unix/sysv/linux/mq_close.c: Likewise.
	* sysdeps/unix/sysv/linux/mq_getattr.c: Likewise.
	* sysdeps/unix/sysv/linux/mq_notify.c: Likewise.
	* sysdeps/unix/sysv/linux/mq_open.c: Likewise.
	* sysdeps/unix/sysv/linux/mq_receive.c: Likewise.
	* sysdeps/unix/sysv/linux/mq_send.c: Likewise.
	* sysdeps/unix/sysv/linux/mq_unlink.c: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/ftruncate64.c: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/truncate64.c: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/readelflib.c: Likewise.
	* sysdeps/unix/sysv/linux/s390/readelflib.c: Likewise.
	* sysdeps/unix/sysv/linux/sched_getaffinity.c: Likewise.
	* sysdeps/unix/sysv/linux/sched_setaffinity.c: Likewise.
	* sysdeps/unix/sysv/linux/sigqueue.c: Likewise.
	* sysdeps/unix/sysv/linux/sigstack.c: Likewise.
	* sysdeps/unix/sysv/linux/sigtimedwait.c: Likewise.
	* sysdeps/unix/sysv/linux/sigwaitinfo.c: Likewise.
	* sysdeps/unix/sysv/linux/sparc/readelflib.c: Likewise.
	* sysdeps/unix/sysv/linux/truncate64.c: Likewise.
	* sysdeps/unix/sysv/linux/vfork.c: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/readelflib.c: Likewise.
2005-12-15 21:13:14 +00:00
Ulrich Drepper
01abbc0f7f * sysdeps/posix/getaddrinfo.c: Avoid RFC 3484 sorting if there are
multiple return records but only one address.
2005-11-27 23:13:21 +00:00
Ulrich Drepper
29546dd9b4 (gaih_inet): Avoid some code duplication. 2005-11-27 22:58:34 +00:00
Ulrich Drepper
fec53fc575 * sysdeps/posix/euidaccess.c [_LIBC] (euidaccess): Don't cache
euid and egid.
2005-11-27 17:14:28 +00:00
Ulrich Drepper
57d44131d8 * configure.in: Remove gnu_ld definition and everything using it.
* config.h.in: Remove HAVE_GNU_LD.
	* csu/Makefile: Remove use of gnu-ld.
	* csu/munch.awk: Removed.
	* csu/munch-tmpl.c: Removed.
	* include/libc-symbols.h: Remove use of HAVE_GNU_LD.
	* posix/execl.c: Likewise.
	* posix/execv.c: Likewise.
	* stdio-common/psignal.c: Likewise.
	* stdlib/exit.c: Likewise.
	* string/strsignal.c: Likewise.
	* string/tester.c: Likewise.
	* sysdeps/generic/errlist.c: Likewise.
	* sysdeps/generic/getenv.c: Likewise.
	* sysdeps/generic/getgroups.c: Likewise.
	* sysdeps/generic/init-posix.c: Likewise.
	* sysdeps/posix/gettimeofday.c: Likewise.
	* sysdeps/posix/system.c: Likewise.
	* sysdeps/unix/bsd/init-posix.c: Likewise.
	* sysdeps/unix/bsd/ulimit.c: Likewise.
	* sysdeps/unix/bsd/sun/m68k/brk.S: Likewise.
	* sysdeps/unix/bsd/sun/m68k/sethostid.S: Likewise.
	* sysdeps/unix/bsd/sun/sparc/sethostid.S: Likewise.
	* sysdeps/unix/i386/brk.S: Likewise.
	* sysdeps/unix/sparc/brk.S: Likewise.
2005-11-06 02:06:06 +00:00
Ulrich Drepper
abab68592e [BZ #1774]
2005-11-03  Ulrich Drepper  <drepper@redhat.com>
	[BZ #1774]
	* sysdeps/posix/getaddrinfo.c (gaih_inet): Don't use simple
	gethostbyname2 lookup if AI_V4MAPPED|AI_ALL is set.

	* sysdeps/posix/getaddrinfo.c (gaih_inet): Avoid alloca when possible
	while looking for scope delimiter.
	Some pretty printing.
2005-11-03 18:56:56 +00:00
Ulrich Drepper
c6bad06ac4 (fls): New function. (gaih_inet): Don't use ffs, use fls. Convert address to native byte order first. 2005-09-26 21:10:16 +00:00
Ulrich Drepper
207cce4c47 [BZ #524]
* sysdeps/posix/getaddrinfo.c (match_prefix): Fix matching loop of
	number of bits is multiple of 8.
	Patch by Fredrik Tolf <fredrik@dolda2000.com>.
2005-09-26 16:12:12 +00:00
Ulrich Drepper
a9f43ef464 (__spawni): Automatically recognize some more cases when we can use vfork. 2005-09-13 18:41:48 +00:00
Ulrich Drepper
99c7f8700d * sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_runtime_setup):
Handle prelinked libraries and binaries with new style PLT.

2005-06-07  Jakub Jelinek  <jakub@redhat.com>

	* elf/elf.h (R_PPC_REL16, R_PPC_REL16_LO, R_PPC_REL16_HI,
	R_PPC_REL16_HA): Define.

2005-06-14  Alan Modra  <amodra@bigpond.net.au>

	* config.h.in (HAVE_ASM_PPC_REL16): Add.
	* elf/elf.h (DT_PPC_GOT, DT_PPC_NUM): Define.
	* elf/tls-macros.h (PowerPC32): Include config.h.  Add variants of
	TLS_IE, TLS_LD and TLS_GD for new PLT/GOT layout.
	* sysdeps/powerpc/powerpc32/configure.in: New file,
	* sysdeps/powerpc/powerpc32/dl-dtprocnum.h: New file.
	* sysdeps/powerpc/powerpc32/dl-machine.h (DT_PPC): Define.
	(ppc_got): New inline function.
	(elf_machine_dynamic): Use ppc_got.  Add attribute const.
	(elf_machine_load_address): Add attribute const.  Don't use int vars.
	Use bcl rather than bl to save trashing branch target stack.  Use
	elf_machine_dynamic rather than duplicating code here.
	(elf_machine_runtime_setup): New inline function replacing define.
	Handle new PLT.
	(elf_machine_fixup_plt): Handle new PLT.
	(elf_machine_rela): Likewise.
	* sysdeps/powerpc/powerpc32/sysdep.h: Include config.h.
	(CALL_MCOUNT): Don't set up counter vars.
	* sysdeps/powerpc/powerpc32/ppc-mcount.S: Correct comment.
	* sysdeps/powerpc/powerpc32/elf/start.S (start_addressesp): Don't
	define when HAVE_ASM_PPC_REL16.
	(_start): Add HAVE_ASM_PPC_REL16 code.
	* sysdeps/powerpc/powerpc32/dl-start.S (_dl_start_user): Don't bl
	into the GOT when HAVE_ASM_PPC_REL16.
	* sysdeps/powerpc/powerpc32/memset.S (memset): Likewise.
	* sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S (__longjmp): Ditto.
	* sysdeps/powerpc/powerpc32/fpu/s_ceil.S (__ceil): Likewise.
	* sysdeps/powerpc/powerpc32/fpu/s_ceilf.S (__ceilf): Likewise.
	* sysdeps/powerpc/powerpc32/fpu/s_floor.S (__floor): Likewise.
	* sysdeps/powerpc/powerpc32/fpu/s_floorf.S (__floorf): Likewise.
	* sysdeps/powerpc/powerpc32/fpu/s_lround.S (__lround): Likewise.
	* sysdeps/powerpc/powerpc32/fpu/s_rint.S (__rint): Likewise.
	* sysdeps/powerpc/powerpc32/fpu/s_rintf.S (__rintf): Likewise.
	* sysdeps/powerpc/powerpc32/fpu/s_round.S (__round): Likewise.
	* sysdeps/powerpc/powerpc32/fpu/s_roundf.S (__roundf): Likewise.
	* sysdeps/powerpc/powerpc32/fpu/s_trunc.S (__trunc): Likewise.
	* sysdeps/powerpc/powerpc32/fpu/s_truncf.S (__truncf): Likewise.
	* sysdeps/powerpc/powerpc32/fpu/setjmp-common.S (__sigsetjmp):
	Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/brk.S (__brk): Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S
	(__getcontext): Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S
	(__setcontext): Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S
	(__swapcontext): Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S (stackblock):
	Comment.
	(__socket): Bomb if NARGS >= 7.  Invoke CGOTSETUP and CGOTRESTORE.

2005-06-17  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/posix/sigignore.c: Include <string.h> to tell the compiler
	to use __GI_memset.
	* sysdeps/posix/signal.c: Likewise.
	* sysdeps/posix/sigset.c: Likewise.
	* sysdeps/posix/sysv_signal.c: Likewise.
	* sysdeps/unix/sysv/linux/sleep.c: Likewise.
	* sysdeps/unix/sysv/linux/sysctl.c: Likewise.
	* sysdeps/unix/sysv/linux/system.c: Likewise.
2005-06-17 23:11:35 +00:00
Ulrich Drepper
0e66ade5ad * debug/pread64_chk.c: Use __libc_pread64 instead of __pread64.
* sysdeps/posix/posix_fallocate64.c: Likewise.
	* include/string.h: Use libc_hidden_proto for strnlen.
	* sysdeps/generic/strnlen.c: Add libc_hidden_def.
	* include/libintl.h: Use libc_hidden_proto for __dcgettext.
	* intl/dcgettext.c: Add libc_hidden_def.
	* include/execinfo.h: Add libc_hidden_proto for __backtrace and
	__backtrace_symbols_fd.
	* sysdeps/generic/backtrace.c: Add libc_hidden_def.
	* sysdeps/generic/backtracesymsfd.c: Likewise.
	* sysdeps/generic/elf/backtracesymsfd.c: Likewise.
	* sysdeps/i386/backtrace.c: Likewise.
	* sysdeps/ia64/backtrace.c: Likewise.
	* sysdeps/powerpc/powerpc32/backtrace.c: Likewise.
	* sysdeps/powerpc/powerpc64/backtrace.c: Likewise.
	* sysdeps/s390/s390-32/backtrace.c: Likewise.
	* sysdeps/s390/s390-64/backtrace.c: Likewise.
2005-06-14 15:55:44 +00:00
Roland McGrath
beb3264222 2005-05-17 Neal H. Walfield <neal@gnu.org>
* sysdeps/posix/getaddrinfo.c (gaih_local): Check [_HAVE_SA_LEN]
	instead of [SALEN].
	(gaih_inet): Likewise.
2005-05-18 19:22:50 +00:00
Ulrich Drepper
fe80efd5f6 (posix_fallocate): If len == 0, call ftruncate if offset is bigger than current size. Make sure the file is offset + len bytes long if that is more than current size. Don't overwrite previous content of the file. 2005-05-03 15:07:47 +00:00
Roland McGrath
2f4f3bd4a9 2005-04-27 Roland McGrath <roland@redhat.com>
* sysdeps/unix/sysv/linux/kernel-posix-cpu-timers.h: New file.
	* sysdeps/unix/sysv/linux/clock_getcpuclockid.c: New file.
	* sysdeps/unix/sysv/linux/ia64/clock_getcpuclockid.c
	(HAS_CPUCLOCK): New macro.
	(clock_getcpuclockid): Function removed.
	#include the new linux file to define it instead.
	* sysdeps/unix/clock_gettime.c [HP_TIMING_AVAIL] (hp_timing_gettime):
	New function, broken out of ...
	(clock_gettime) [HP_TIMING_AVAIL]: ... here.  Call it.
	(realtime_gettime): New function, broken out of ...
	(clock_gettime) [! HANDLED_REALTIME]: ... here.  Call it.
	(clock_gettime) [SYSDEP_GETTIME_CPU]: Use new macro in default case.
	* sysdeps/unix/sysv/linux/clock_gettime.c (SYSCALL_GETTIME): New macro.
	(SYSDEP_GETTIME_CPUTIME): New macro.
	(SYSDEP_GETTIME): Use both.
	[! __ASSUME_POSIX_TIMERS] (maybe_syscall_gettime): New function, broken
	out of ...
	(SYSDEP_GETTIME): ... here.  Use it.
	[__NR_clock_gettime] (HANDLED_CPUTIME): Define it.
	(SYSDEP_GETTIME_CPUTIME): New macro.  Handle CPU timers by trying
	kernel support and falling back to hp-timing code.
	* sysdeps/posix/clock_getres.c
	[HP_TIMING_AVAIL] (hp_timing_getres): New function, broken out of ...
	(clock_getres) [HP_TIMING_AVAIL]: ... here.  Call it.
	(realtime_getres): New function, broken out of ...
	(clock_getres) [! HANDLED_REALTIME]: ... here.  Call it.
	(clock_getres) [SYSDEP_GETRES_CPU]: Use new macro in default case.
	* sysdeps/unix/sysv/linux/clock_getres.c (SYSCALL_GETRES): New macro.
	(SYSDEP_GETRES_CPUTIME): New macro.
	(SYSDEP_GETRES): Use both.
	[! __ASSUME_POSIX_TIMERS] (maybe_syscall_getres): New function, broken
	out of ...
	(SYSDEP_GETRES): ... here.  Use it.
	[__NR_clock_getres] (HANDLED_CPUTIME): Define it.
	(SYSDEP_GETRES_CPUTIME): New macro.  Handle CPU timers by trying
	kernel support and falling back to hp-timing code.
	* sysdeps/unix/sysv/linux/clock_nanosleep.c: Handle
	CLOCK_PROCESS_CPUTIME_ID and CLOCK_PROCESS_THREAD_ID specially,
	translating to the kernel clockid_t for our own process/thread clock.
2005-04-27 08:01:41 +00:00
Roland McGrath
9cfe5381a1 [BZ #284, BZ #721]
* intl/dcigettext.c (_nl_find_msg): Add a cast.
	* nis/nis_clone_dir.c (nis_clone_directory): Use char * for ADDR.
	* nis/nis_clone_obj.c (nis_clone_object): Likewise.
	* nis/nis_clone_res.c (nis_clone_result): Likewise.

	* resolv/nss_dns/dns-network.c (getanswer_r): Use const unsigned char *
	for END_OF_MESSAGE and CP.

	* resolv/res_send.c (send_dg): Add else branch for case impossible
	unless `poll' is buggy.

	* crypt/crypt_util.c (__setkey_r): Add a cast.

	* locale/programs/linereader.c (get_toplvl_escape): Use size_t for
	NBYTES, and unsigned char * for BYTES.

	* locale/programs/charmap.c (charmap_new_char): Use size_t and
	unsighed char * for NBYTES, BYTES parameters.

	* sysdeps/generic/dl-hash.h (_dl_elf_hash): Take const char * argument
	and cast it.
	* sysdeps/i386/i686/dl-hash.h (_dl_elf_hash): Likewise.

	* sunrpc/create_xid.c (_create_xid): Don't use unsigned long for RES.

	* sunrpc/svcauth_des.c (_svcauth_des): Fix cast type.

	* sunrpc/auth_des.c (authdes_create): Don't use u_char for PKEY_DATA.
	(authdes_marshal): Don't use unsigned int for LEN.
	* sunrpc/xdr.c (xdr_hyper): Don't use unsigned long for T2.
	(xdr_u_hyper): Likewise.
	(xdr_u_short): Don't use u_long for L.
	* sunrpc/xdr_intXX_t.c (xdr_int64_t): Don't use uint32_t for T2.

	* inet/rexec.c (rexec_af): Use socklen_t.
	* sunrpc/key_call.c (getkeyserv_handle): Likewise.
	* sunrpc/rtime.c (rtime): Likewise.
	* resolv/res_send.c (send_vc, send_dg): Likewise.
	* nis/nis_callback.c (__nis_create_callback): Likewise.

	* sysdeps/generic/libc-start.c: Use unsigned int for nthreads ptr.

	* sysdeps/posix/getaddrinfo.c (gaih_inet): Fix type of ADDR local.

	* libio/libio.h (_IO_BE): Add parenthesis around EXPR.

	* intl/dcigettext.c (INTVARDEF, INTUSE): Macros removed.
	(_nl_default_dirname): Use libc_hidden_data_def instead of INTVARDEF.
	(libc_freeres_fn, DCIGETTEXT): Don't use INTUSE.
	* intl/bindtextdom.c (INTUSE): Macro removed.
	(_nl_default_dirname): Use libc_hidden_proto.
	(set_binding_values): Don't use INTUSE.
	* include/libintl.h (_libc_intl_domainname_internal): Decl removed.
	(_libc_intl_domainname): Use libc_hidden_proto.
	* posix/regex_internal.h (gettext): Remove INTUSE on it.
	* locale/SYS_libc.c (_libc_intl_domainname): Use libc_hidden_data_def
	rather than INTDEF.
	* include/libintl.h (_): Don't use *_internal name.

	* ctype/ctype-extn.c (__ctype_tolower, __ctype_toupper): Use int32_t,
	not uint32_t.
	* locale/lc-ctype.c (_nl_postload_ctype): Likewise for assignments.

	* iconv/gconv_open.c (__gconv_open): Remove useless cast.

	[BZ #721]
	* sysdeps/i386/dl-machine.h (ELF_MACHINE_NO_RELA): Define this outside
	of [RESOLVE_MAP].
	* sysdeps/sh/dl-machine.h (ELF_MACHINE_NO_REL): Likewise.
	* sysdeps/powerpc/powerpc32/dl-machine.h
	(elf_machine_rel, elf_machine_rel_relative): Removed.
	* sysdeps/powerpc/powerpc64/dl-machine.h
	(elf_machine_rel, elf_machine_rel_relative): Removed.

2005-02-03  Alexandre Oliva  <aoliva@redhat.com>

	[BZ #721]
	* elf/dynamic-link.h: Don't declare nested auto functions that are
	not going to be defined.

2004-07-23  Jakub Jelinek  <jakub@redhat.com>

	[BZ #284]
	* include/features.h (_POSIX_SOURCE, _POSIX_C_SOURCE): Define
	if _XOPEN_SOURCE >= 500 even if __STRICT_ANSI__ is defined.

2005-02-16  Roland McGrath  <roland@redhat.com>
2005-02-17 01:19:55 +00:00
Ulrich Drepper
a334319f65 (CFLAGS-tst-align.c): Add -mpreferred-stack-boundary=4. 2004-12-22 20:10:10 +00:00
Jakub Jelinek
0ecb606cb6 2.5-18.1 2007-07-12 18:26:36 +00:00
Ulrich Drepper
1f7d96933e Update.
2004-12-14  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/posix/sysconf.c (__sysconf_check_spec): Remove leading
	underscore from GETCONF_DIR filenames.
2004-12-14 15:39:54 +00:00
Ulrich Drepper
bf7c04cd5f Update.
2004-12-01  Jakub Jelinek  <jakub@redhat.com>

	* posix/tst-regex.c: Use defined _POSIX_CPUTIME && _POSIX_CPUTIME >= 0
	conditionals instead of defined _POSIX_CPUTIME.
	(main): If _POSIX_CPUTIME == 0, call sysconf to see if CPUTIME
	option is available.
	* posix/tst-regex.c2: Use defined _POSIX_CPUTIME && _POSIX_CPUTIME >= 0
	conditionals instead of defined _POSIX_CPUTIME.
	(do_test): If _POSIX_CPUTIME == 0, call sysconf to see if CPUTIME
	option is available.
	* sysdeps/posix/sysconf.c (__sysconf): If _POSIX_CPUTIME resp.
	_POSIX_THREAD_CPUTIME is defined to 0, return -1 for the corresponding
	_SC_ argument.
2004-12-10 00:41:30 +00:00
Roland McGrath
77474ccd46 * sysdeps/posix/sysconf.c (__sysconf_check_spec): Only define
if it will be actually used.
2004-12-07 21:06:29 +00:00
Ulrich Drepper
60e4523a08 Update.
2004-11-27  Ulrich Drepper  <drepper@redhat.com>

	* posix/getconf.c (vars): Add support for _SC_IPV6 and
	_SC_RAW_SOCKETS.
	* sysdeps/posix/sysconf.c (__sysconf): Add support for _SC_IPV6
	and _SC_RAW_SOCKETS.
	* sysdeps/generic/bits/confname.h: Define _SC_IPV6 and
	_SC_RAW_SOCKETS.
2004-11-27 20:57:44 +00:00
Ulrich Drepper
28f367c4e3 Update.
* posix/Makefile (install-others): Add $(inst_libexecdir)/getconf.
	(CFLAGS-sysconf.c): Add -D_GETCONF_DIR.
	(CFLAGS-getconf.c): New.
	($(inst_libexecdir)/getconf): New.
	* posix/confstr.c (confstr): Use __sysconf to query specifications
	that don't have _POSIX_V6_* macros defined.  Use __*_{C,LD}FLAGS
	macros defined in bits/environments.h.
	* sysdeps/posix/sysconf.c: Include stdlib.h, string.h and
	sys/stat.h.
	(__sysconf_check_spec): New routine.
	(__sysconf): Use it.
	* posix/getconf.c (specs): Change into structure array.
	(main): If -v is not given, try to get default from
	$(libexecdir)/getconf/default.  If specification is not
	supported by this getconf, try to execute
	$(libexecdir)/getconf/$(specification).
	* sysdeps/unix/bsd/bsd4.4/freebsd/bits/environments.h: New file.
	* sysdeps/unix/sysv/linux/s390/bits/environments.h: New file.
	* sysdeps/unix/sysv/linux/powerpc/bits/environments.h: New file.
	* sysdeps/unix/sysv/linux/sparc/bits/environments.h: New file.
	* sysdeps/unix/sysv/linux/i386/bits/environments.h: New file.
	* sysdeps/unix/sysv/linux/x86_64/bits/environments.h: New file.
	* sysdeps/generic/bits/environments.h (__ILP32_OFFBIG_CFLAGS):
	Define.

2004-11-26  Jakub Jelinek  <jakub@redhat.com>
2004-11-26 08:16:33 +00:00
Ulrich Drepper
6535f55f1a Update.
2004-11-22  Jakub Jelinek  <jakub@redhat.com>

	* nscd/nscd_getai (__nscd_getai): Avoid memory and file descriptor
	leaks.
	* sysdeps/posix/getaddrinfo.c (gaih_inet): Free air.

	* sysdeps/unix/sysv/linux/mips/bits/siginfo.h (__SI_MAX_SIZE):
	* dirent/dirent.h: Add nonnull attributes.
2004-11-22 18:43:44 +00:00
Ulrich Drepper
579e2d6ef1 Update.
2004-11-17  Alfred M. Szmidt  <ams@gnu.org>

	* sysdeps/posix/libc_fatal.c: Include <sys/uio.h>.
2004-11-17 09:10:08 +00:00
Ulrich Drepper
f895670da2 Update.
2004-11-15  Jakub Jelinek  <jakub@redhat.com>

	* posix/bug-regex24.c: Include string.h.

	* nis/nis_clone_obj.c (nis_clone_object): Rename out3 label to out2
	and out2 to out.  Remove out label.  Formatting.

2004-11-15  Ulrich Drepper  <drepper@redhat.com>

	* include/stdio.h: Do not mark __libc_message as noreturn.
	* sysdeps/unix/sysv/linux/libc_fatal.c (__libc_fatal): Add loop to
	fool gcc.  Include <stdbool.h>.
	* sysdeps/posix/libc_fatal.c (__libc_fatal): Add loop to fool gcc.
	(__libc_message): Fix typo.
2004-11-15 22:00:25 +00:00
Ulrich Drepper
37fa1953d5 Update.
* malloc/malloc.c (_int_free): Remove test for NULL parameter.
	(_int_realloc): Call _int_free only if memory parameter is not NULL.
2004-11-13 05:43:36 +00:00
Ulrich Drepper
1327439fc6 Add new function __libc_message which performs the printing and simple format string handling. The string is written to tty, stderr, syslog in this order, stopping after the first successful output. 2004-11-13 03:09:30 +00:00
Ulrich Drepper
4376935c17 (gaih_inet): If NAME is a numerical IP address and AI_CANONNAME is set, return copy of NAME as ai_canonname. 2004-09-28 07:11:00 +00:00
Ulrich Drepper
ca225a410b [BZ #358]
Update.
2004-09-26  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/posix/getaddrinfo.c (getaddrinfo): Remove incorrect
	requirement on socktype and protocol.
	(gaih_inet): If numeric port number is given, return records for all
	possible socket types.
	* posix/tst-getaddrinfo2.c: New file.
	* posix/Makefile (tests): Add tst-getaddrinfo2.  [BZ #358]
2004-09-26 08:43:34 +00:00