Commit Graph

539 Commits

Author SHA1 Message Date
Ulrich Drepper 5ca3d19c74 Update.
2004-10-14  Ulrich Drepper  <drepper@redhat.com>

	* nscd/connections.c (nscd_init): Remove file if not persistent
	and not shared.  Patch by Jerome Borsboom <j.borsboom@erasmusmc.nl>.

	* sysdeps/unix/sysv/linux/i386/setresuid.c: Handle
	defined __NR_setresuid32 && !defined __NR_setresuid.
	* sysdeps/unix/sysv/linux/i386/setresgid.c: Handle
	defined __NR_setresgid32 && !defined __NR_setresgid.

	* sysdeps/sparc/fpu/bits/mathinline.h (__signbitf, __signbit,
	__signbitl, sqrtf, sqrt, sqrtl, fdim, fdimf): Use __NTH macro.

	* sysdeps/generic/errno-loc.c: Don't undef #errno
	if RTLD_PRIVATE_ERRNO.
	* include/errno.h (__errno_location): If RTLD_PRIVATE_ERRNO,
	add attribute_hidden.

	* dlfcn/dlinfo.c (dlinfo_doit): Replace iteration over GL(dl_loaded)
	chain with iteration over all namespaces' _ns_loaded chains.
	* sysdeps/powerpc/powerpc32/dl-machine.c (__elf_preferred_address):
	Likewise.
	* sysdeps/mips/dl-machine.h (elf_machine_runtime_link_map): Likewise.
2004-10-14 16:18:09 +00:00
Ulrich Drepper c0f62c5678 [BZ #77]
Update.
	Add support for namespaces in the dynamic linker.
	* dlfcn/Makefile (libdl-routines): Add dlmopen.
	* dlfcn/Versions [libdl, GLIBC_2.3.4]: Add dlmopen.
	* dlfcn/dlfcn.h: Define Lmid_t, LM_ID_BASE, and LM_ID_NEWLM.
	Declare dlmopen.  Document RTLD_DI_LMID.
	* dlfcn/dlinfo.c: Handle RTLD_DI_LMID.
	* dlfcn/dlmopen.c: New file.
	* dlfcn/dlopen.c: Pass new parameter to _dl_open.
	* dlfcn/dlopenold.c: Likewise.
	* elf/dl-addr.c: Adjust for removal of GL(dl_loaded).
	* elf/dl-caller.c: Likewise.
	* elf/dl-close.c: Likewise.
	* elf/dl-conflict.c: Likewise.
	* elf/dl-debug.c: Likewise.
	* elf/dl-lookup.c: Likewise.
	* elf/dl-sym.c: Likewise.
	* elf/dl-version.c: Likewise.
	* elf/do-lookup.h: Likewise.
	* elf/rtld.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/dl-librecon.h: Likewise.
	* elf/dl-depsc: Likewise.  Add new parameter to _dl_map_object.
	* elf/dl-fini.c: Call destructors in all namespaces.
	* elf/dl-iteratephdr.c: Compute total nloaded.  Adjust for removal of
	GL(dl_loaded).
	* elf/dl-libc.c: Pass new parameter to _dl_open.  Adjust for removal
	of GL(dl_loaded).
	* elf/dl-load.c (_dl_map_object_from_fd): Don't load ld.so a second
	time.  Reuse the one from the main namespace in all others.
	Pass new parameter to _dl_new_object.
	Adjust for removal of GL(dl_loaded).
	* elf/dl-object.c: Take new parameter.  Use it to initialize l_ns.
	Adjust for removal of GL(dl_loaded).
	* elf/dl-open.c (_dl_open): Take new parameter.
	Adjust for removal of GL(dl_loaded).
	* elf/dl-support.c: Replace global _dl_loaded etc variables with
	_dl_ns variable.
	* include/dlfcn.h: Adjust prototype of _dl_open.
	Define __LM_ID_CALLER.
	* include/link.h: Add l_real, l_ns, and l_direct_opencount elements.
	* sysdeps/generic/dl-tls.c: Bump TLS_STATIC_SURPLUS.  Since libc is
	using TLS we need memory appropriate to the number of namespaces.
	* sysdeps/generic/ldsodefs.h (struct rtld_global): Replace _dl_loaded,
	_dl_nloaded, _dl_global_scope, _dl_main_searchlist, and
	_dl_global_scope_alloc with _dl_ns element.  Define DL_NNS.
	Adjust prototypes of _dl_map_object and member in rtld_global_ro.
	* malloc/malloc.c: Include <dlfcn.h>.
	* malloc/arena.c (ptmalloc_init): If libc is not in primary namespace,
	never use brk.
	* elf/Makefile: Add rules to build and run tst-dlmopen1 and
	tst-dlmopen2.
	* elf/tst-dlmopen1.c: New file.
	* elf/tst-dlmopen1mod.c: New file.
	* elf/tst-dlmopen2.c: New file.

	* elf/dl-close.c: Improve reference counting by tracking direct loads.
	* elf/dl-lookup.c (add_dependency): Likewise.
	* elf/dl-open.c (dl_open_worker): Likewise.
	* elf/rtld.c (dl_main): Likewise.

2004-09-09  GOTO Masanori  <gotom@debian.or.jp>

	[BZ #77]
	* elf/dl-close.c: Count down l_opencount to check not only for
	l_reldeps, but also l_initfini.

2004-10-13  Ulrich Drepper  <drepper@redhat.com>
2004-10-14 02:08:23 +00:00
Roland McGrath 96c82b3fee 2004-10-04 Roland McGrath <roland@redhat.com>
* include/errno.h [RTLD_PRIVATE_ERRNO] (errno): Rename the real symbol
	to rtld_errno.
	* sysdeps/generic/errno.c [RTLD_PRIVATE_ERRNO] (rtld_errno): Define it,
	and don't define any other errno names.
	* sysdeps/unix/alpha/sysdep.h [RTLD_PRIVATE_ERRNO]: Use rtld_errno in
	place of errno.
	* sysdeps/unix/i386/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/m68k/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/sh/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise.
	* sysdeps/unix/x86_64/sysdep.S: Likewise.
2004-10-04 20:59:38 +00:00
Ulrich Drepper 7a11603dc6 Update.
2004-09-17  Ulrich Drepper  <drepper@redhat.com>

	* include/link.h (struct link_map): Add l_used element.
	* sysdeps/generic/ldsodefs.h: Define DL_DEBUG_UNUSED.
	* elf/rtld.c (process_dl_debug): Recognize unused.
	(dl_main): When unused debug flag is set check for unused direct
	dependencies.
	When printing dependencies and SONAME starts with /, omit the SONAME =>
	part.
	* elf/dl-lookup.c (_dl_lookup_symbol_x): Mark object in which the
	symbol has been found as used.
	* elf/ldd.bash.in: Add -u option.
2004-09-18 06:46:52 +00:00
Ulrich Drepper 79937577d1 Update.
2004-09-13  Ulrich Drepper  <drepper@redhat.com>

	* misc/sys/cdefs.h: Restore old definition of __P.
	* csu/munch.awk: Remove uses of __P and __PMT.
	* gmon/gmon.c: Likewise.
	* hesiod/hesiod.h: Likewise.
	* include/stdio.h: Likewise.
	* io/fts.c: Likewise.
	* libio/genops.c: Likewise.
	* libio/libioP.h: Likewise.
	* libio/fileops.c: Likewise.
	* libio/iolibio.h: Likewise.
	* libio/libio.h: Likewise.
	* libio/memstream.c: Likewise.
	* libio/oldfileops.c: Likewise.
	* libio/oldstdfiles.c: Likewise.
	* libio/iopopen.c: Likewise.
	* libio/vsnprintf.c: Likewise.
	* libio/vswprintf.c: Likewise.
	* libio/wgenops.c: Likewise.
	* libio/oldiopopen.c: Likewise.
	* locale/programs/xmalloc.c: Likewise.
	* locale/programs/xstrdup.c: Likewise.
	* malloc/mtrace.c: Likewise.
	* misc/getttyent.c: Likewise.
	* misc/getusershell.c: Likewise.
	* nis/rpcsvc/ypupd.h: Likewise.
	* posix/fnmatch.h: Likewise.
	* posix/glob.h: Likewise.
	* resolv/arpa/nameser.h: Likewise.
	* resolv/gethnamaddr.c: Likewise.
	* resolv/resolv.h: Likewise.
	* resolv/inet_net_ntop.c: Likewise.
	* resolv/inet_net_pton.c: Likewise.
	* resolv/res_init.c: Likewise.
	* resolv/nss_dns/dns-network.c: Likewise.
	* stdio-common/vfprintf.c: Likewise.
	* stdio-common/reg-printf.c: Likewise.
	* sysdeps/generic/chflags.c: Likewise.
	* sysdeps/generic/fchflags.c: Likewise.
	* sysdeps/generic/glob.c: Likewise.
	* sysdeps/generic/printf_fphex.c: Likewise.
	* sysdeps/generic/memcmp.c: Likewise.
	* sysdeps/generic/memcopy.h: Likewise.
	* sysdeps/generic/morecore.c: Likewise.
	* sysdeps/generic/sstk.c: Likewise.
	* sysdeps/posix/sigvec.c: Likewise.
	* sysdeps/posix/ttyname_r.c: Likewise.
	* sysdeps/standalone/arm/bits/errno.h: Likewise.
	* sysdeps/standalone/standalone.h: Likewise.
	* sysdeps/standalone/i386/force_cpu386/brdinit.c: Likewise.
	* sysdeps/standalone/i386/force_cpu386/_exit.c: Likewise.
	* sysdeps/unix/arm/start.c: Likewise.
	* sysdeps/unix/bsd/sigaction.c: Likewise.
	* sysdeps/unix/bsd/sun/m68k/sigtramp.c: Likewise.
	* sysdeps/unix/bsd/sun/sparc/sigtramp.c: Likewise.
	* sysdeps/unix/bsd/sun/sunos4/wait4.c: Likewise.
	* sysdeps/unix/bsd/ultrix4/mips/sigvec.c: Likewise.
	* sysdeps/unix/bsd/ultrix4/sysconf.c: Likewise.
	* sysdeps/unix/sparc/start.c: Likewise.
	* sysdeps/unix/sysv/getdents.c: Likewise.
	* sysdeps/unix/sysv/irix4/fpathconf.c: Likewise.
	* sysdeps/unix/sysv/irix4/getgroups.c: Likewise.
	* sysdeps/unix/sysv/irix4/getpriority.c: Likewise.
	* sysdeps/unix/sysv/irix4/getrusage.c: Likewise.
	* sysdeps/unix/sysv/irix4/pathconf.c: Likewise.
	* sysdeps/unix/sysv/irix4/setgroups.c: Likewise.
	* sysdeps/unix/sysv/irix4/sigtramp.c: Likewise.
	* sysdeps/unix/sysv/irix4/start.c: Likewise.
	* sysdeps/unix/sysv/irix4/sysconf.c: Likewise.
	* sysdeps/unix/sysv/sco3.2.4/__setpgid.c: Likewise.
	* sysdeps/unix/sysv/sco3.2.4/getgroups.c: Likewise.
	* sysdeps/unix/sysv/sysv4/__getpgid.c: Likewise.
	* sysdeps/unix/sysv/sysv4/__setpgid.c: Likewise.
	* sysdeps/unix/sysv/sysv4/getpgid.c: Likewise.
	* sysdeps/unix/sysv/sysv4/setpgid.c: Likewise.
	* sysdeps/unix/sysv/sysv4/sethostname.c: Likewise.
	* sysdeps/unix/sysv/sysv4/setsid.c: Likewise.
	* sysdeps/unix/sysv/sysv4/sysconf.c: Likewise.
	* sysdeps/unix/sysv/sysv4/waitpid.c: Likewise.
	* sysdeps/unix/sysv/sysv4/solaris2/getdents.c: Likewise.
	* time/tzset.c: Likewise.
	* time/strftime_l.c: Likewise.
	* time/strptime_l.c: Likewise.
	* crypt/md5.h: Likewise.
2004-09-14 04:41:35 +00:00
Ulrich Drepper f377d02227 Update.
* include/atomic.h: Define atomic_increment_val, atomic_decrement_val,
	and atomic_dealy is not already defined.
	* sysdeps/i386/i486/bits/atomic.h: Define atomic_delay.
	* sysdeps/x86_64/bits/atomic.h: Likewise.

	* miscd/sys/cdefs.h (__NTH): New macro.
	(__THROW): Define using nothrow attribute for C code and gcc >= 3.2.
	(__REDIRECT_NTH): New macro.
	* argp/argp.h: Use __NTH and __REDIRECT_NTH where necessary.
	* ctype/ctype.h: Likewise.
	* dirent/dirent.h: Likewise.
	* io/fcntl.h: Likewise.
	* io/sys/sendfile.h: Likewise.
	* io/sys/stat.h: Likewise.
	* io/sys/statfs.h: Likewise.
	* io/sys/statvfs.h: Likewise.
	* libio/bits/stdio.h: Likewise.
	* misc/sys/mman.h: Likewise.
	* posix/unistd.h: Likewise.
	* resource/sys/resource.h: Likewise.
	* rt/aio.h: Likewise.
	* signal/signal.h: Likewise.
	* stdlib/stdlib.h: Likewise.
	* string/argz.h: Likewise.
	* string/string.h: Likewise.
	* sysdeps/generic/inttypes.h: Likewise.
	* sysdeps/i386/fpu/bits/mathinline.h: Likewise.
	* sysdeps/powerpc/fpu/bits/mathinline.h: Likewise.
	* sysdeps/s390/fpu/bits/mathinline.h: Likewise.
	* sysdeps/x86_64/fpu/bits/mathinline.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/socket.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/sys/sysmacros.h: Likewise.
	* wcsmbs/wchar.h: Likewise.

	* sysdeps/generic/glob.c: Use __PMT isntead of __P where appropriate.

	* resolv/gethnamaddr.c (getanswer): Remove __P use in variable
	definition.

	* io/sys/poll.h: Remove __THROW from poll prototype, it's a
	cancellation point.
2004-09-07 22:33:37 +00:00
Ulrich Drepper 2ef4aac763 No need to use __THROW in this header. 2004-09-07 17:04:23 +00:00
Ulrich Drepper c14e91352e [BZ #116]
Update.
	* elf/dl-load.c (_dl_map_object): If __RTLD_CALLMAP flag is set,
	reset loader before the actual loading.
	* elf/dl-open.c (dl_open_worker): If file name contains no path
	element determine map of caller.  Pass caller map in this case to
	_dl_map_object.  Set __RTLD_CALLMAP in mode.
	* include/dlfcn.h (__RTLD_CALLMAP): Define.  [BZ #116]
	Patch by Greg Wolodkin <greg@mathworks.com>.
2004-08-09 06:41:04 +00:00
Ulrich Drepper 489aa29d62 Update.
* inet/netinet/in.h: Define struct ip_msfilter, IP_MSFILTER_SIZE,
	struct group_filter, and GROUP_FILTER_SIZE.
	* include/sys/socket.h: Declare __getsockopt.
	* sysdeps/unix/sysv/linux/setipv4sourcefilter.c: New file.
	* sysdeps/unix/sysv/linux/getipv4sourcefilter.c: New file.
	* sysdeps/unix/sysv/linux/setsourcefilter.c: New file.
	* sysdeps/unix/sysv/linux/getsourcefilter.c: New file.
2004-08-06 04:56:04 +00:00
Ulrich Drepper 87bb6b6c6b Update.
2004-08-04  Jakub Jelinek  <jakub@redhat.com>

	* hesiod/hesiod.c (__hesiod_res_get): Use calloc instead of malloc +
	memset.
	(__hesiod_res_set): Free nsaddrs.

	* include/resolv.h (__res_maybe_init): Add prototype.
	* resolv/resolv.h (struct __res_state): Add _u._ext.initstamp field.
	* resolv/Versions (libc): Add __res_maybe_init@@GLIBC_PRIVATE.
	* resolv/res_libc.c (__res_initstamp, lock): New variables.
	(res_init): Increase __res_initstamp.
	(__res_maybe_init): New function.
	* resolv/res_init.c (__res_vinit): Initialize _u._ext.initstamp.
	* hesiod/hesiod.c (__hesiod_res_get): Use __res_maybe_init instead
	of RES_INIT check and {res_ninit,__res_ninit,res_init} call.
	* sysdeps/posix/getaddrinfo.c (gaih_inet): Likewise.
	* resolv/nss_dns/dns-host.c (_nss_dns_gethostbyname2_r,
	_nss_dns_gethostbyaddr_r): Likewise.
	* resolv/nss_dns/dns-network.c (_nss_dns_getnetbyname_r,
	_nss_dns_getnetbyaddr_r): Likewise.
	* resolv/gethnamaddr.c (gethostbyname, gethostbyname2,
	gethostbyaddr): Likewise.
	* resolv/res_data.c (fp_nquery, res_mkquery, res_mkupdate,
	res_isourserver, res_sendsigned, res_update, res_search,
	res_querydomain): Likewise.
	* nss/getXXbyYY_r.c (INTERNAL (REENTRANT_NAME)): Likewise.
	* nss/digits_dots.c (__nss_hostname_digits_dots): Likewise.
	* nss/getnssent_r.c (__nss_setent, __nss_endent, __nss_getent_r):
	Likewise.

	* sysdeps/posix/getaddrinfo.c (gaih_inet): Set ai_family for
	V4-mapped IPv6 addresses and req->ai_family==AF_INET.
	Reported by A. Guru <a.guru@sympatico.ca>.

	* po/pl.po: Likewise.
	characters than necessary.
2004-08-05 23:32:24 +00:00
Ulrich Drepper 7a80496fb1 Update.
2004-07-23  Ulrich Drepper  <drepper@redhat.com>

	* posix/bits/posix1_lim.h: Fix values for _POSIX_CHILD_MAX and
	_POSIX_OPEN_MAX.  Add _POSIX_HOST_NAME_MAX, _POSIX_SYMLINK_MAX,
	_POSIX_SYMLOOP_MAX, and _POSIX_RE_DUP_MAX.
	Reported by Andrew Josey.

	* include/features.h: Document _POSIX_C_SOURCE == 200112L.

	* grp/grp.h: Define gid_t if __USE_XOPEN2K is defined.
	* pwd/pwd.h: Define uid_t and gid_t if __USE_XOPEN2K is defined.
	* io/sys/stat.h: Define dev_t, gid_t, ino_t, mode_t, nlink_t,
	off_t, time_t, and uid_t if __USE_XOPEN2K is defined.
	* signal/signal.h: Define pid_t if __USE_XOPEN2K is defined.
	* posix/unistd.h: Define gid_t, off_t, pid_t, uid_t, and
	useconds_t if __USE_XOPEN2K is defined.
	* io/utime.h: Define time_t if __USE_XOPEN2K is defined.
	* libio/stdio.h: Declare fseeko and ftello if __USE_XOPEN2K is defined.
2004-07-23 07:08:19 +00:00
Ulrich Drepper 4cdc0a3d63 Change inet_aton type from in_addr_t to int. 2004-07-21 16:28:40 +00:00
Ulrich Drepper ee600e3f76 Update.
2004-07-10  Ulrich Drepper  <drepper@redhat.com>

	* elf/ldconfig.c: Define PROCINFO_CLASS as static before including
	ldsodefs.h.
	* sysdeps/generic/ldsodefs.h: Only define PROCINFO_CLASS if it is not
	already defined.
	* sysdeps/i386/dl-procinfo.c: Define PROCINFO_CALLS only if not
	already defined.

	* elf/rtld.c (print_statistics): Mark with noinline attribute.
	* sysdeps/i386/dl-machine.h (elf_machine_rel): Mark with always_inline
	attribute.
	(elf_machine_rel_relative): Likewise.

	* include/string.h: Add libc_hidden_proto for __strtok_r and
	__strsep_g.
	* sysdeps/generic/strsep.c: Add libc_hidden_def.
	* sysdeps/generic/strtok_r.c: Likewise.
	* sysdeps/i386/strtok_r.S: Add alias for internal symbol.
	* sysdeps/i386/i686/strtok_r.S: Likewise.
	* sysdeps/x86_64/strtok_r.S: Likewise.

2004-07-09  Alexandre Oliva  <aoliva@redhat.com>

	* inet/getnetgrent_r.c (internal_setnetgrent): Make it hidden
	instead of internal-linkage, such that we can alias to it.
	(internal_endnetgrent, internal_getnetgrent_r): Likewise.
2004-07-10 20:00:44 +00:00
Ulrich Drepper d199bfb222 Update.
2004-07-09  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/fcntl.c (__fcntl_nocancel): Move attribute
	to the front for gcc 3.5+.
	* sysdeps/unix/sysv/linux/i386/fcntl.c: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/fcntl.c: Likewise.
	* include/fcntl.h: Don't declare __fcntl_nocancel here if
	NO_CANCELLATION is defined.
2004-07-09 17:20:48 +00:00
Ulrich Drepper 2dd18ce2b2 Update.
* include/string.h (ffs): Add libc_hidden_builtin_proto.
	* sysdeps/rs6000/ffs.c (ffs): Add libc_hidden_builtin_def.
	* sysdeps/alpha/alphaev67/ffs.S (ffs): Likewise.
	* sysdeps/alpha/ffs.S (ffs): Likewise.
	* sysdeps/s390/ffs.c (ffs): Likewise.
	* sysdeps/powerpc/ffs.c (ffs): Likewise.
	* sysdeps/i386/ffs.c (ffs): Likewise.
	* sysdeps/i386/i686/ffs.c (ffs): Likewise.
	* sysdeps/m68k/ffs.c (ffs): Likewise.
	* sysdeps/generic/ffs.c (ffs): Likewise.
	* sysdeps/m88k/ffs.c (ffs): Likewise.
	* sysdeps/am29k/ffs.c (ffs): Likewise.
	* sysdeps/i960/ffs.c (ffs): Likewise.
	* sysdeps/x86_64/ffs.c (ffs): Likewise.

	* Makerules (check-abi): Use diff -p -U 0 instead of diff -pu0.
2004-07-05 17:36:34 +00:00
Ulrich Drepper f8ea3acb62 Update.
2004-07-01  Martin Schwidefsky  <schwidefsky@de.ibm.com>

	* sysdeps/s390/fpu/bits/mathinline.h [__LIBC_INTERNAL_MATH_INLINES]
	(__ieee754_sqrt): Define as __MATH_INLINE using sqdbr instruction.
	(__ieee754_sqrtf): Define as __MATH_INLINE using sqebr instruction.
	* sysdeps/s390/fpu/e_sqrt.c: New file.
	* sysdeps/s390/fpu/e_sqrtf.c: New file.
	* sysdeps/s390/Implies: New file.
	* sysdeps/s390/s390-32/Implies: Remove ieee754, move
	ieee754/dbl-64 and ieee754/flt-32 to s390/Implies.
	* sysdeps/s390/s390-64/Implies: Likewise.

2004-06-30  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S: Include tls.h.
	* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S: Likewise.

	* sysdeps/unix/sysv/linux/s390/s390-32/clone.S (thread_start):
	DO_CALL (exit, 1) instead of branching to _exit.
	* sysdeps/unix/sysv/linux/s390/s390-64/clone.S (thread_start):
	Likewise.

	* sysdeps/s390/fpu/bits/mathinline.h: New file.

	* include/glob.h (glob64): Add libc_hidden_proto.
	* sysdeps/generic/glob64.c (glob64): Add libc_hidden_def.
	* sysdeps/gnu/glob64.c (glob64): Likewise.
	* sysdeps/unix/sysv/linux/i386/glob64.c (glob64): Likewise.
2004-07-01 17:50:47 +00:00
Ulrich Drepper f516442913 Update.
2004-06-30  Ulrich Drepper  <drepper@redhat.com>

	* include/net/if.h: Handle if_nameindex and if_freenameindex with
	libc_proto_hidden.
	* sysdeps/unix/sysv/linux/netlinkaccess.h: New file.
	* sysdeps/unix/sysv/linux/ifaddrs.c: Export netlink handling functions.
	* sysdeps/unix/sysv/linux/if_index.c (if_nameindex): Implement using
	netlink if possible.  Fall back on ioctl method if necessary.

	* include/unistd.h: Declare __truncate.
	* sysdeps/generic/truncate.c: Also define __truncate.
	* sysdeps/mach/hurd/truncate.c: Likewise.
	* sysdeps/unix/common/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/truncate64.c: Use __truncate, not truncate.
2004-06-30 07:43:11 +00:00
Ulrich Drepper 4a691b0639 Update.
2004-05-26  Jakub Jelinek  <jakub@redhat.com>

	* include/string.h (mempcpy, stpcpy): Add libc_hidden_builtin_proto.
	* string/bits/string2.h (memset): Disable macro for GCC 3.0+.
	(__mempcpy): Use __builtin_mempcpy for GCC 3.4+.
	(strchr): For GCC 3.2+, only use __rawmemchr if second argument is
	constant '\0' and first argument is not constant.
	(__stpcpy): Use __builtin_stpcpy for GCC 3.4+.
	(strncpy): Remove #ifdef _USE_STRING_ARCH_mempcpy variant.
	For GCC 3.2+ use __builtin_strncpy.
	(strncat): For GCC 3.2+ use __builtin_strncat.
	(strcmp): For GCC 3.2+ use __builtin_strcmp if both arguments are
	constant.
	(strcspn, strspn, strpbrk): For GCC 3.2+, use builtin function
	if both arguments are constant.

2004-05-26  Ulrich Drepper  <drepper@redhat.com>

	* nss/nss_files/files-hosts.c: Fix condition for looking up IPv4
	mapped addresses in gethostbyaddr.
2004-05-26 17:27:20 +00:00
Ulrich Drepper 27b0258934 Update.
2004-04-23  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/ia64/fpu/libm_support.h (__libm_error_support): Add
	libc_hidden_proto.  Define to __GI___libm_error_support for
	assembly going into libc.so.
	* sysdeps/ia64/fpu/libc_libm_error.c (__libm_error_support): Add
	libc_hidden_def.

	* include/libc-symbols.h (HIDDEN_BUILTIN_JUMPTARGET): Define.
	* sysdeps/ia64/bcopy.S (bcopy): Use it for jump to memmove.

	* sysdeps/unix/sysv/linux/ia64/sysdep.S (__syscall_error): Access
	gprel errno if RTLD_PRIVATE_ERRNO or __thread __libc_errno/errno
	if USE___THREAD.
2004-05-03 22:40:52 +00:00
Ulrich Drepper 1b82c6c77d Update.
2004-04-08  Ulrich Drepper  <drepper@redhat.com>

	* rt/tst-mqueue3.c: New file.
	* rt/Makefile (tests): Add tst-mqueue3.

2004-04-08  Jakub Jelinek  <jakub@redhat.com>

	* rt/tst-mqueue1.c: New file.
	* rt/tst-mqueue2.c: New file.
	* rt/tst-mqueue4.c: New file.
	* rt/Makefile (tests): Add tst-mqueue1, tst-mqueue2, tst-mqueue4.

	* rt/Versions (librt): Add mq_*@@GLIBC_2.3.4.
	* rt/Makefile (headers): Add mqueue.h and bits/mqueue.h.
	(mq-routines): Set.
	(librt-routines): Use it.
	* rt/mqueue.h: New file.
	* include/mqueue.h: New file.
	* sysdeps/generic/bits/mqueue.h: New file.
	* sysdeps/generic/mq_setattr.c: New file.
	* sysdeps/generic/mq_getattr.c: New file.
	* sysdeps/generic/mq_notify.c: New file.
	* sysdeps/generic/mq_close.c: New file.
	* sysdeps/generic/mq_send.c: New file.
	* sysdeps/generic/mq_unlink.c: New file.
	* sysdeps/generic/mq_receive.c: New file.
	* sysdeps/generic/mq_timedreceive.c: New file.
	* sysdeps/generic/mq_timedsend.c: New file.
	* sysdeps/generic/mq_open.c: New file.
	* sysdeps/unix/sysv/linux/bits/local_lim.h (MQ_PRIO_MAX): Define.
	* sysdeps/unix/sysv/linux/bits/mqueue.h: New file.
	* sysdeps/unix/sysv/linux/syscalls.list: Add mq_timedsend,
	mq_timedreceive and mq_setattr.
	* sysdeps/unix/sysv/linux/mq_getattr.c: New file.
	* sysdeps/unix/sysv/linux/mq_notify.c: New file.
	* sysdeps/unix/sysv/linux/mq_close.c: New file.
	* sysdeps/unix/sysv/linux/mq_send.c: New file.
	* sysdeps/unix/sysv/linux/mq_unlink.c: New file.
	* sysdeps/unix/sysv/linux/mq_receive.c: New file.
	* sysdeps/unix/sysv/linux/mq_open.c: New file.

2004-04-09  Thorsten Kukuk  <kukuk@suse.de>

	* sysdeps/s390/ffs.c: Don't add ffsl weak alias on s390x.

2004-04-09  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/unix/sysv/linux/powerpc/powerpc64/umount.c: New file.
2004-04-13 02:15:43 +00:00
Ulrich Drepper abca9f7f58 Update.
* inet/test-ifaddrs.c: Fight warnings.

	* argp/argp-help.c: Fight warnings.

	* include/time.h: Declare __difftime.
2004-04-04 00:41:39 +00:00
Ulrich Drepper 758b215383 Update.
* include/string.h: Add libc_hidden_builtin_proto for memcmp.
	* sysdeps/generic/memcmp.c: Add libc_hidden_builtin_def.
	* sysdeps/i386/memcmp.S: Likewise.
	* sysdeps/i386/i686/memcmp.S: Likewise.
	* sysdeps/ia64/memcmp.S: Likewise.
	* sysdeps/sparc/sparc64/memcmp.S: Likewise.

	* sysdeps/unix/sysv/linux/sigprocmask.c: Include <string.h>.
2004-04-01 23:29:52 +00:00
Ulrich Drepper eec8b6cae5 Update.
2004-03-26  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-caller.c: New file.
	* include/caller.h: New file.
	* Makefile (distribute): Add include/caller.h.
	* elf/Makefile (dl-routines): Add dl-caller.
	* elf/dl-load.c (_dl_map_object_from_fd): Record l_text_end.
	* elf/dl-open.c (check_libc_caller): Removed.
	(dl_open_worker): Use __check_caller instead.
	* elf/rtld.c (_rtld_global_ro): Initialize _dl_check_caller.
	(_dl_start_final): Record l_text_end for ld.so map.
	(dl_main): Record l_text_end for main object and vdso.
	* include/link.h (struct link_map): Add l_text_end field.
	* sysdeps/generic/ldsodefs.h (struct rtld_global_ro): Add
	_dl_check_caller field.
	Define enum allowmask.  Add declaration of _dl_check_caller.
	* sysdeps/unix/sysv/linux/dl-execstack.c: Also use __check_caller test.
2004-03-27 03:40:33 +00:00
Ulrich Drepper 17c263876b Header with call site checker definitions. 2004-03-27 02:43:52 +00:00
Ulrich Drepper f83aa16cbc Update.
2004-03-16  Ulrich Drepper  <drepper@redhat.com>

	* include/ctype.h: For libc, define isdigit, isdigit_l, and
	__isdigit_l as simple comparison macros.
	* include/wctype.h: For libc, define iswdigit, iswdigit_l, and
	__iswdigit_l as simple comparison macros.
	* wctype/wcfuncs_l.c: #undef iswdigit and __iswdigit.

	* sysdeps/alpha/fpu/bits/mathdef.h: Remove INFINITY.
	* sysdeps/arm/fpu/bits/mathdef.h: Likewise.
	* sysdeps/generic/bits/mathdef.h: Likewise.
	* sysdeps/i386/fpu/bits/mathdef.h: Likewise.
	* sysdeps/ia64/fpu/bits/mathdef.h: Likewise.
	* sysdeps/m68k/fpu/bits/mathdef.h: Likewise.
	* sysdeps/mips/fpu/bits/mathdef.h: Likewise.
	* sysdeps/powerpc/fpu/bits/mathdef.h: Likewise.
	* sysdeps/sh/sh4/fpu/bits/mathdef.h: Likewise.
	* sysdeps/sparc/fpu/bits/mathdef.h: Likewise.
	* sysdeps/x86_64/fpu/bits/mathdef.h: Likewise.
2004-03-16 10:10:13 +00:00
Ulrich Drepper ccadf7b534 Update.
2004-03-14  Ulrich Drepper  <drepper@redhat.com>

	Make the non-_l functions wrappers around the _l functions.
	* include/monetary.h: Declare __vstrmon_l.
	* include/string.h: Add libc_hidden_proto for __strcoll_l and
	__strxfrm_l.
	* include/time.h: Define ptime_locale_status.  Declare
	__strptime_internal.
	* include/wchar.h: Add libc_hidden_proto for __wcscoll_l and
	__wcsxfrm_l.
	* stdlib/strfmon.c: Move the code to strfmon_l.c.  Add little
	wrapper around __vstrfmon_l.
	* stdlib/strfmon_l.c: Add real implementation.  Split into new
	function __vstrfmon_l to allow calling it from strfmon.
	* stdlib/strtod.c: Move real code to strtod_l.c and add wrapper.
	* stdlib/strtod_l.c: Add real implementation.
	* stdlib/strtof.c: Adjust to changed strtod.c.
	* stdlib/strtof_l.c: Include strtod_l.c now.
	* stdlib/strtold.c: New file.
	* stdlib/strtold_l.c: Removed.
	* string/strcoll.c: Move real code to strcoll_l.c: Add wrapper.
	* string/strcoll_l.c: Add real implementation.
	* string/strxfrm.c: Move real code to strxfrm_l.c: Add wrapper.
	* string/strxfrm_l.c: Add real implementation.
	* sysdeps/generic/strtol.c: Move real implementation to strtol_l.c.
	Add wrappers.
	* sysdeps/generic/strtol_l.c: Add real implementation.
	* sysdeps/generic/strtold.c: Removed.
	* sysdeps/generic/strtold_l.c: New file.
	* sysdeps/generic/strtoll_l.c: Include strtol_l.c now.  Adjust
	#defines.
	* sysdeps/generic/strtoul_l.c: Likewise.
	* sysdeps/generic/strtoull_l.c: Likewise.
	* sysdeps/generic/wcstol_l.c: Likewise.
	* sysdeps/generic/wcstoll_l.c: Likewise.
	* sysdeps/generic/wcstoul_l.c: Likewise.
	* sysdeps/generic/wcstoull_l.c: Likewise.
	* sysdeps/ieee754/ldbl-128/strtold.c: Removed.
	* sysdeps/ieee754/ldbl-128/strtold_l.c: New file.
	* sysdeps/ieee754/ldbl-96/strtold.c: Removed.
	* sysdeps/ieee754/ldbl-96/strtold_l.c: New file.
	* sysdeps/m68k/strtold.c: Removed.
	* sysdeps/m68k/strtold_l.c: New file.
	* time/strftime.c: Move real code to strftime_l.c.  Add wrapper.
	* time/strftime_l.c: Add real implementation.
	* time/strptime.c: Move real code to strptime_l.c.  Add wrapper.
	* time/strptime_l.c: Add real implementation.
	* time/wcsftime.c: Simplify since only wrappers are defined in
	strftime.c.
	* time/wcsftime_l.c: Include strftime_l.c.
	* wcsmbs/wcscoll.c: Simplify since the file is not used by wcscoll_l.c
	anymore.
	* wcsmbs/wcscoll_l.c: Include strcoll_l.c.
	* wcsmbs/wcsxfrm.c: Simplify since the file is not used by wcsxfrm_l.c
	anymore.
	* wcsmbs/wcsxfrm_l.c: Include strxfrm_l.c.
	* wcsmbs/wcstod.c: Prepare to include new strtod.c.
	* wcsmbs/wcstod_l.c: Include strtod_l.c.
	* wcsmbs/wcstof.c: Prepare to include new strtof.c.
	* wcsmbs/wcstof_l.c: Include strtof_l.c.
	* wcsmbs/wcstold.c: Prepare to include new strtold.c.
	* wcsmbs/wcstold_l.c: Include strtold_l.c.

	* locale/uselocale.c: Use _NL_CURRENT_LOCALE instead of __libc_tsd_get.

	* sysdeps/generic/strcasecmp.c: Optimize a bit.  It's better to get
	a reference to the current locale and then use the _l functions.
	* sysdeps/generic/strncase.c: Likewise.
2004-03-14 21:12:06 +00:00
Ulrich Drepper d3a4a571c4 Update.
2004-03-10  Jakub Jelinek  <jakub@redhat.com>

	* include/libc-symbols.h [__ASSEMBLY__] (compat_text_section,
	compat_data_section): Define.
	* sysdeps/unix/sysv/linux/alpha/adjtime.c (ADJTIME): Add
	attribute_compat_text_section.
	* sysdeps/unix/sysv/linux/alpha/wordexp.c (__old_wordexp): Likewise.
	* sysdeps/unix/sysv/linux/alpha/oldglob.c (__old_glob,
	__old_globfree): Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/chown.c (__chown_is_lchown):
	Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/posix_fadvise64.c
	(__posix_fadvise64_l32): Likewise.
	* sysdeps/unix/sysv/linux/msgctl.c (__old_msgctl): Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/posix_fadvise64.c
	(__posix_fadvise64_l32): Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/semctl.c (__old_semctl):
	Likewise.
	* sysdeps/unix/sysv/linux/semctl.c (__old_semctl): Likewise.
	* sysdeps/unix/sysv/linux/posix_fadvise64.c (__posix_fadvise64_l32):
	Likewise.
	* sysdeps/unix/sysv/linux/shmctl.c (__old_shmctl): Likewise.
	* hurd/compat-20.c (_hurd_proc_init_compat_20): Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S
	(__swapcontext, __novec_swapcontext): Use END instead of PSEUDO_END.
	(__novec_swapcontext, __swapcontext_stub): Add compat_text_section.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S
	(__makecontext_stub): Likewise.
	(__novec_makecontext): Likewise.  Fix name in END () to match
	function name.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S
	(__setcontext): Use END instead of PSEUDO_END.
	(__novec_setcontext): Add compat_text_section.  Use END instead of
	PSEUDO_END, fix the name in END () to match function name.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S
	(__getcontext, __novec_getcontext): Use END instead of PSEUDO_END.
	(__novec_getcontext, __getcontext_stub): Add compat_text_section.

2004-03-10  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/sh/dl-machine.h: Don't use GL macro if not appropriate.
	(COPY_UNALIGNED_WORD): Remove cast used as lvalue.

2004-03-10  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/i386/dl-procinfo.h (HWCAP_IMPORTANT): Remove mmx, add sse2.
2004-03-10 19:28:58 +00:00
Ulrich Drepper 4a381a81fe Update.
2004-03-10  Ulrich Drepper  <drepper@redhat.com>

	* include/libc-symbols.h: Define attribute_compat_text_section and
	attribute_compat_data_section.
	* io/ftw.c: Mark compat code with attribute_compat_text_section.
	* libio/iofopncook.c: Likewise.
	* libio/oldfileops.c: Likewise.
	* libio/oldiofclose.c: Likewise.
	* libio/oldiofdopen.c: Likewise.
	* libio/oldiofgetpos.c: Likewise.
	* libio/oldiofgetpos64.c: Likewise.
	* libio/oldiofopen.c: Likewise.
	* libio/oldiofsetpos.c: Likewise.
	* libio/oldiofsetpos64.c: Likewise.
	* libio/oldiopopen.c: Likewise.
	* libio/oldpclose.c: Likewise.
	* libio/oldtmpfile.c: Likewise.
	* nptl/forward.c: Likewise.
	* nss/getXXbyYY_r.c: Likewise.
	* nss/getXXent_r.c: Likewise.
	* posix/tst-vfork1.c: Likewise.
	* stdlib/canonicalize.c: Likewise.
	* stdlib/old_atexit.c: Likewise.
	* sysdeps/generic/glob.c: Likewise.
	* sysdeps/posix/posix_fallocate64.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/alphasort64.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/chown.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/glob64.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/msgctl.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/oldgetrlimit64.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/posix_fadvise64.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/readdir64.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/readdir64_r.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/scandir64.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/semctl.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/shmctl.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/versionsort64.c: Likewise.

	* sysdeps/unix/sysv/linux/i386/syscalls.list: vm86@@GLIBC_2.3.4
	should be the default symbol. Having none misses the point.
2004-03-10 09:29:17 +00:00
Ulrich Drepper 511676f708 Update.
2004-03-08  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from gnulib.  We now assume C89 or better.
	* posix/getopt1.c (const): Remove.
	* posix/getopt.c (const): Likewise.
	* posix/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
	_getopt_long_only_r, main): Use prototypes, not old-style definitions.
	* posix/getopt.c (exchange, _getopt_initialize, _getopt_internal_r,
	_getopt_internal, getopt, main): Likewise.
	* posix/getopt.h (getopt, getopt_long, getopt_long_only): Likewise.
	* posix/getopt.c [!defined VMS || !HAVE_STRING_H]:
	Include <string.h> regardless.  No need for <strings.h>.
	[!defined _LIBC]: Include "gettext.h" rather than rolling it ourselves.
	(_): Define to gettext always.
	(my_index): Remove: all uses changed to strchr.
	(strlen): Remove declaration.
	* posix/getopt.h (struct option.name): Always const char *.

2004-03-08  Marcus Brinkmann  <marcus@gnu.org>

	* posix/getopt.h (_getopt_internal): Move to ...
	* posix/getopt_int.h: ... here.  New file.
	* include/getopt_int.h: New file.
	* include/getopt.h: Remove libc_hidden_proto for getopt_long
	and getopt_long_only.
	* posix/getopt1.c: Include "getopt_int.h".  Remove
	libc_hidden_def for getopt_long and getopt_long_only.
	(_getopt_long_r, _getopt_long_only_r): New functions.
	* posix/getopt.c: Include "getopt_int.h".
	(__getopt_initialized): Variable removed.
	(nextchar, ordering, posixly_correct, first_nonopt, last_nonopt):
	Static variables removed.
	(nonoption_flags_max_len, nonoption_flags_len) [_LIBC &&
	USE_NONOPTION_FLAGS]: Static variables removed.
	(getopt_data): New static variable.
	(SWAP_FLAGS): Use d->__nonoption_flags_len instead
	nonoption_flags_len.
	(exchange): Add new argument D of type struct getopt_data *.
	Replace optind with d->optind, optarg with d->optarg, opterr with
	d->opterr, optopt with d->optopt, nextchar with d->__nextchar,
	first_nonopt with d->__first_nonopt, last_nonopt with
	d->__last_nonopt, d->ordering with d->__ordering,
	d->posixly_correct with d->__posixly_correct (which is now an
	int instead a string, so fix users), nonoption_flags_len
	with d->__nonoption_flags_len, nonoption_flags_max_len with
	d->__nonoption_flags_max_len.
	(_getopt_initialize): Likewise.
	(_getopt_internal): Rename to ...
	(_getopt_internal_r): ... this.  Also add new argument D of type
	struct getopt_data * and use of members of D rather than global or
	static variables as described for exchange() above.  Add new argument
	to invocations of _getopt_initialize and exchange.
	(_getopt_internal): Reimplement in terms of _getopt_internal_r.
	* argp/argp-parse.c: Include <getopt_int.h>.
	[_LIBC]: Do not include <bits/libc-lock.h>.
	[!_LIBC && HAVE_CTHREADS_H]: Do not include <cthreads.h>.
	[!_LIBC] (_argp_hang): Make static.
	(getopt_lock, LOCK_GETOPT, UNLOCK_GETOPT): Remove.
	(_argp_unlock_xxx): Remove.
	(parser_init): Do not use LOCK_GETOPT.
	(parser_finalize): Do not use UNLOCK_GETOPT.
	(struct parser): New member OPT_DATA.
	(parser_init): Initialize parser->opt_data.  Use
	parser->opt_data.opterr instead of opterr.
	(parser_parse_opt): Use parser->opt_data.optarg instead optarg.
	(parser_parse_next): Likewise.  Use parser->opt_data.optind
	instead optind.  Use parser->opt_data.optopt instead of optopt.
	Call _getopt_long_only_r and _getopt_long_r instead of
	getopt_long_only and getopt_long, and pass the extra argument.
2004-03-09 10:36:53 +00:00
Ulrich Drepper b30542fb71 Update.
2004-03-08  Ulrich Drepper  <drepper@redhat.com>

	* Makerules: Use extra-modules.mk if modules-names is defined.
	* extra-modules.mk: New file.
	* dlfcn/Makefile (CPPFLAGS-modcxaatexit.c): Removed.
	* elf/Makefile (CFLAGS-interp.c): Add -DNOT_IN_libc=1.
	* csu/Makefile ($(objpfx)version-info.h): Pass -DNOT_IN_libc=1 to
	compiler.
	* Makefile (distribute): Add symbol-hacks.h.
	* sysdeps/generic/symbol-hacks.h: New file.
	* sysdeps/wordsize-32/symbol-hacks.h: New file.
	* sysdeps/wordsize-32/divdi3.c: Define *_internal aliases for __divdi3,
	__moddi3, __udivdi3, and __umoddi3.
	* include/libc-symbols.h: Include <symbol-hacks.h>.
2004-03-08 21:31:23 +00:00
Ulrich Drepper 154d10bdf1 Update.
* elf/Versions: Remove functions which are not exported anymore.
	* dlfcn/dlerror.c: Call ld.so functions through GLSO.
	* dlfcn/dlinfo.c: Likewise.
	* elf/dl-close.c: Likewise.
	* elf/dl-libc.c: Likewise.
	* elf/dl-open.c: Likewise.
	* elf/dl-sym.c: Likewise.
	* sysdeps/generic/libc-start.c: Likewise.
	* elf/dl-debug.c: Remove *_internal definition.  Don't use INTUSE for
	functions which are not exported anymore.
	* elf/dl-deps.c: Likewise.
	* elf/dl-dst.h: Likewise.
	* elf/dl-error.c: Likewise.
	* elf/dl-fini.c: Likewise.
	* elf/dl-init.c: Likewise.
	* elf/dl-load.c: Likewise.
	* elf/dl-lookup.c: Likewise.
	* elf/dl-misc.c: Likewise.
	* elf/dl-profile.c: Likewise.
	* elf/dl-profstub.c: Likewise.
	* elf/dl-reloc.c: Likewise.
	* elf/dl-runtime.c: Likewise.
	* elf/dl-version.c: Likewise.
	* elf/do-lookup.h: Likewise.
	* include/dlfcn.h: Likewise.
	* sysdeps/generic/dl-cache.c: Likewise.
	* sysdeps/generic/dl-fptr.c: Likewise.
	* sysdeps/generic/dl-origin.c: Likewise.
	* sysdeps/generic/dl-sysdep.c: Likewise.
	* sysdeps/generic/dl-tls.c: Likewise.
	* sysdeps/generic/ldsodefs.h: Likewise.
	* sysdeps/i386/dl-tls.h: Likewise.
	* sysdeps/unix/sysv/linux/dl-origin.c: Likewise.
	* elf/rtld.c: Likewise.  Export function though _rtld_global_ro.

	* generic/dl-fptr.c: Likewise.
	* mach/hurd/dl-sysdep.c: Likewise.
	* unix/sysv/linux/ia64/dl-static.c: Likewise.
	* unix/sysv/linux/ia64/getpagesize.c: Likewise.
	* unix/sysv/linux/m68k/getpagesize.c: Likewise.
	* unix/sysv/linux/sparc/sparc32/getpagesize.c: Likewise.
2004-03-06 08:19:29 +00:00
Ulrich Drepper 58845a7030 Update.
* include/wctype.h: Add libc_hidden_proto for __towctrans.
	* wctype/towctrans.c: Add libc_hidden_def.

	* libio/memstream.c (open_memstream): Use _IO_init with INTUSE.

	* posix/regexec.c (transit_state): Remove unused variable
	next_state.

	* posix/regcomp.c (init_dfa): Use __btowc instead of btowc.
2004-03-05 10:54:16 +00:00
Andreas Schwab 1bc1a2b907 * include/rpc/rpc.h: Declare thread variables with their correct
type. 
* sunrpc/clnt_perr.c: Don't cast thread variables. 
* sunrpc/clnt_raw.c: Likewise. 
* sunrpc/clnt_simp.c: Likewise. 
* sunrpc/key_call.c: Likewise. 
* sunrpc/svcauth_des.c: Likewise. 
* sunrpc/svc.c: Likewise. 
* sunrpc/svc_raw.c: Likewise. 
* sunrpc/svc_simple.c: Likewise.
2004-02-09  Andreas Schwab  <schwab@suse.de>

	* include/rpc/rpc.h: Declare thread variables with their correct
	type.
	* sunrpc/clnt_perr.c: Don't cast thread variables.
	* sunrpc/clnt_raw.c: Likewise.
	* sunrpc/clnt_simp.c: Likewise.
	* sunrpc/key_call.c: Likewise.
	* sunrpc/svcauth_des.c: Likewise.
	* sunrpc/svc.c: Likewise.
	* sunrpc/svc_raw.c: Likewise.
	* sunrpc/svc_simple.c: Likewise.
2004-02-09 10:47:53 +00:00
Ulrich Drepper 7be688b58f Update.
* stdio-common/_i18n_number.h: Support printing localized decimal
	point and thousand separator.
	* wctype/wctrans.c: Add __wctrans alias.
	* include/wctype.h: Declare __wctrans.
	Based on a patch by Hamed Malek.
2004-02-09 10:05:22 +00:00
Ulrich Drepper bed12f78fa Update.
2004-01-23  David Mosberger  <davidm@hpl.hp.com>

	* sysdeps/generic/ldsodefs.h (struct rtld_global): Add members
	_dl_load_adds and _dl_load_subs.
	* elf/dl-support.c (_dl_load_adds): New variable.
	(_dl_load_subs): Likewise.
	* elf/dl-object.c (_dl_new_object): Increment dl_load_adds.
	* elf/dl-close.c (_dl_close): Increment dl_load_subs.
	* elf/link.h (struct dl_phdr_info): Add members dlpi_adds and
	dlpi_subs.
	* include/link.h: Likewise.
	* elf/dl-iteratephdr.c (__dl_iterate_phdr): Initialize dlpi_adds
	and dlpi_subs members.
	(dl_iterate_phdr): Likewise.
	* elf/tst-dlmodcount.c: New file.
	* elf/Makefile (distribute): Mention tst-dlmodcount.c.
	(tests): If build-shared, mention tst-dlmodcount.
	($(objpfx)tst-dlmodcount): If build-shared, build and
	run tst-dlmodcount.
2004-01-24 20:12:10 +00:00
Richard Henderson d0369217f1 * include/unistd.h (__libc_enable_secure): Mark attribute_relro. (__libc_enable_secure_internal): Likewise.
* include/unistd.h (__libc_enable_secure): Mark attribute_relro.
        (__libc_enable_secure_internal): Likewise.
2004-01-16 08:21:37 +00:00
Ulrich Drepper 5ef6ae4bdb Update.
2004-01-14  Steven Munroe  <sjmunroe@us.ibm.com>

	* include/libc-symbols.h [HAVE_ASM_GLOBAL_DOT_NAME]
	(_symbol_version): Use C_SYMBOL_DOT_NAME to create '.'ed symbols.
	(_default_symbol_version): Use C_SYMBOL_DOT_NAME to create '.'ed
	symbols.
	* sysdeps/powerpc/Makefile: Add rtld-global-offsets.sym to
	gen-as-const-headers.
	* sysdeps/powerpc/elf/rtld-global-offsets.sym: New file.
	* sysdeps/powerpc/sysdep.h: Define v# symbols for vector registers.
	Define PPC_FEATURE_* masks for Aux Vector AT_HWCAP.
	* sysdeps/unix/sysv/linux/kernel-features.h
	(__ASSUME_SWAPCONTEXT_SYSCALL): Define for PPC and 2.6.0 kernels.
	* sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h [!__WORDSIZE == 32]:
	Declare mcontext_t inline and include altivec state for 64-bit.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions: Add GLIBC_2.3.4
	versions for setcontext, getcontext, and swapcontext.

	* sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions: Add GLIBC_2.3.4
	versions for setcontext, getcontext, swapcontext, and makecontext.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S
	(__getcontext):  Upgrade to save Altivec regs and version GLIBC_2_3_4.
	[SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4)](__novec_getcontext):
	Compatible with GLIBC_2.3.3 release.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S
	(__makecontext): Use parm save area instead of compiler_dw to hold
	context pointer.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S
	(__setcontext):  Upgrade to restore Altivec regs and version
	GLIBC_2_3_4.
	[SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4)](__novec_setcontext):
	Compatible with GLIBC_2.3.3 release.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S
	(__swapcontext): Upgrade to swap Altivec regs and version GLIBC_2_3_4.
	[SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4)](__novec_swapcontext):
	Compatible with GLIBC_2.3.3 release.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/ucontext_i.h
	(SIGCONTEXT_V_REGS_PTR, SIGCONTEXT_V_RESERVE): Defined.


2004-01-12  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/unix/sysv/linux/powerpc/powerpc32/Versions: Add GLIBC_2.3.4
	versions for setcontext, getcontext, swapcontext, and makecontext.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S
	(__getcontext):  Upgrade to save Altivec regs and version GLIBC_2_3_4.
	[SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)](__novec_getcontext):
	Compatible with GLIBC_2.3.3 release.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S
	(__makecontext): Upgrade to align for Altivec regs and version
	GLIBC_2_3_4.
	[SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)](__novec_makecontext):
	Compatible with GLIBC_2.3.3 release.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S
	(__setcontext):  Upgrade to restore Altivec regs and version
	GLIBC_2_3_4.
	[SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)](__novec_setcontext):
	Compatible with GLIBC_2.3.3 release.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S
	(__swapcontext): Upgrade to swap Altivec regs and version GLIBC_2_3_4.
	[SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)]
	(__novec_swapcontext): Compatible with GLIBC_2.3.3 release.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/ucontext_i.h:
	(_UC_VSCR, _UC_VRSAVE): Define.
	(_FRAME_BACKCHAIN, _FRAME_LR_SAVE,_FRAME_PARM_SAVE1,_FRAME_PARM_SAVE2,
	_FRAME_PARM_SAVE3, _FRAME_PARM_SAVE4): Defined.
2004-01-16 04:50:59 +00:00
Ulrich Drepper 392a6b5265 Update.
2004-01-14  Ulrich Drepper  <drepper@redhat.com>

	* configure.in: Define HAVE_Z_RELRO if the linker supports -z relro.
	* config.h.in: Add entry for HAVE_Z_RELRO.
	* include/libc-symbols.h: Define attribute_relro.
	* elf/dl-load.c: Add attribute_relro to env_path_list, capstr, ncapstr,
	max_capstrlen, and max_dirnamelen definitions.
	* elf/rtld.c: Add attribute_relro to _dl_argc, _dl_argv, _dl_skip_args,
	load_time, start_time, library_path, preloadlist, version_info,
	any_debug.
	Remove rtld_total_time.  Make it a local variable.  Pass pointer to
	it to print_statistics.  Change print_statistics accordingly.
	* sysdeps/generic/dl-sysdep.c: Add attribute_relro to _dl_auxv.  Use
	attribute_relro instead of explicitly assigning variable to the
	.data.rel.ro section for __libc_enable_secure and __libc_stack_end.
	* sysdeps/generic/ldsodefs.h: Declare __libc_stack_end, _dl_argc,
	_dl_argv, _dl_argv_internal with attribute_relro.
2004-01-15 06:38:27 +00:00
Ulrich Drepper ed20b3d9cc Update.
2004-01-13  Ulrich Drepper  <drepper@redhat.com>

	* Makeconfig: Define relro-LDFLAGS if have-z-relro==yes.  Add it to
	LDFLAGS.so and LDFLAGS-rtld.
	(+link): Add relro-LDFLAGS.
	* Makeconfig (shlib.lds): Place __libc_subfreeres, __libc_atexit, and
	__libc_thread_subfreeres sections after .jcr section.
	* config.make.in: Add have-z-relro.
	* configure.in: Add check for -z relro option.
	* include/link.h (struct link_map): Add relro_addr and relro_size
	members.
	* elf/dl-load.c (_dl_map_object_from_fd): Recognize PT_GNU_RELRO.
	* elf/dl-reloc.c (_dl_relocate_object): At the end, make relro
	part of loaded segments read-only.
	* elf/elf.h: Define PT_GNU_RELRO.
	* elf/rtld.c (_dl_start): Recognize PT_GNU_RELRO of ld.so.
	(dl_main): Recognize PT_GNU_RELRO of the application.  Call
	_dl_debug_initialize and initialize l_info[DT_DEBUG] before
	relocations.
2004-01-13 08:36:54 +00:00
Ulrich Drepper 2def87644d Update.
2003-11-15  Ulrich Drepper  <drepper@redhat.com>

	* wcsmbs/mbsinit.c: Undef mbsinit and __mbsinit.
	* include/wchar.h: Provide inline versions of mbsinit and __mbsinit.
2003-11-15 21:58:21 +00:00
Ulrich Drepper 5a4b5076f1 Update.
* include/dlfcn.h (__RTLD_OPENEXEC): Define.
	* elf/dl-load.c (_dl_map_object_from_fd): Don't allow loading
	executables unless __RTLD_OPENEXEC flag is present.
	* elf/rtld.c (dl_main): Pass __RTLD_OPENEXEC flag to
	_dl_map_object when loading the executable.

	reverse lookup format for IPv6 addresses is using bitstring and
	* resolv/ns_name.c: Implement encoding and decoding bitstring in
2003-10-27 01:36:12 +00:00
Ulrich Drepper 39358e8b2b Update.
2003-09-22  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/lowlevellock.c (__lll_timedlock_wait): Use
	lll_futex_timed_wait instead of lll_futex_wait.
	* sysdeps/unix/sysv/linux/s390/lowlevellock.c: Removed.
	* sysdeps/unix/sysv/linux/s390/lowlevelmutex.c: Removed.
	* sysdeps/unix/sysv/linux/s390/libc-lowlevellock.c: Removed.
	* sysdeps/unix/sysv/linux/s390/libc-lowlevelmutex.c: Removed.
	* sysdeps/unix/sysv/linux/s390/sem_trywait.c: Removed.
	* sysdeps/unix/sysv/linux/s390/sem_wait.c: Removed.
	* sysdeps/unix/sysv/linux/s390/sem_post.c: Removed.
	* sysdeps/unix/sysv/linux/s390/sem_timedwait.c: Removed.
	* sysdeps/unix/sysv/linux/s390/lowlevellock.h: Include atomic.h.
	Completely revamp the locking macros.  No distinction between
	normal and mutex locking anymore.
	* sysdeps/unix/sysv/linux/sparc/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/lowlevellock.h (__lll_lock_wait,
	__lll_lock_timedwait): Fix prototypes.
	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h (__lll_lock_wait,
	__lll_lock_timedwait): Likewise.
	(lll_mutex_lock, lll_mutex_cond_lock): Use _val instead of _bool
	macros, add __builtin_expect.
	(lll_mutex_timedlock): Likewise.  Fix return value.
	* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevelmutex.S: Removed.
	* sysdeps/unix/sysv/linux/i386/i586/libc-lowlevelmutex.S: Removed.
	* sysdeps/unix/sysv/linux/i386/i586/lowlevelmutex.S: Removed.
	* sysdeps/unix/sysv/linux/i386/i686/libc-lowlevelmutex.S: Removed.
	* sysdeps/unix/sysv/linux/i386/i686/lowlevelmutex.S: Removed.
	* sysdeps/unix/sysv/linux/x86_64/libc-lowlevelmutex.S: Removed.
	* sysdeps/unix/sysv/linux/lowlevelmutex.c: Removed.
	* sysdeps/unix/sysv/linux/libc-lowlevelmutex.c: Removed.
2003-09-22 21:30:25 +00:00
Ulrich Drepper ce42435cab Update.
* sysdeps/generic/utmp_file.c: Use not-cancelable syscalls all
	over the place.  It would be allowed to have these fucntions as
	cancellation points but the cleanup would be ugly and a lot of
	work.

	* sysdeps/generic/not-cancel.h (fcntl_not_cancel): Define.
	* sysdeps/unix/sysv/linux/not-cancel.h (fcntl_not_cancel): Define.

	* include/fcntl.h (__fcntl_nocancel): Declare.
	* sysdeps/unix/sysv/linux/fcntl.c: New file.
	* sysdeps/unix/sysv/linux/i386/fcntl.c (__libc_fcntl): Only enable
	cancellation if absolutely needed.
	(__fcntl_nocancel): Define.

	* posix/unistd.h (gethostid): Remove __THROW.  Clarify comment.
	* sysdeps/unix/sysv/linux/Makefile (CFLAGS-gethostid.c): Add
	-fexceptions.
	* sysdeps/unix/sysv/linux/gethostid.c (gethostid): Use
	extend_alloca.

	* resolv/res_init.c (__res_nclose): Use close_not_cancel_no_status
	instead of __close.
2003-09-04 14:08:24 +00:00
Ulrich Drepper cd2fbe58e6 Update.
2003-08-31  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/x86_64/bsd-_setjmp.S: Use HIDDEN_JUMPTARGET.
	* include/setjmp.h: Add libc_hidden_proto for __sigsetjmp.

	(CFLAGS-clnt_perr.c): Likewise.
2003-08-31 18:10:47 +00:00
Ulrich Drepper 577822c05f Update.
2003-08-27  Ulrich Drepper  <drepper@redhat.com>

	* include/stdio.h: Add declarations for __builtin_fwrite and
	__builtin_fwrite_unlocked.
2003-08-27 20:23:17 +00:00
Ulrich Drepper adc12574e5 Update.
2003-07-30  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-reloc.c (_dl_allocate_static_tls): Don't return any value,
	call dl_signal_error directly.  If already relocated, call
	GL(dl_init_static_tls) directly, otherwise queue it for later.
	(CHECK_STATIC_TLS): Undo 2003-07-24 change.
	* elf/rtld.c (dl_main): Initialize GL(dl_init_static_tls).
	* elf/dl-open.c (dl_open_worker): Call GL_dl_init_static_tls
	for all static TLS initializations delayed in _dl_allocate_static_tls.
	* elf/dl-support.c (_dl_init_static_tls): New variable.
	* include/link.h (struct link_map): Add l_need_tls_init.
	* sysdeps/generic/ldsodefs.h (_rtld_global): Add _dl_init_static_tls.
	(_dl_nothread_init_static_tls): New prototype.
	(_dl_allocate_static_tls): Adjust prototype.

	* elf/tls-macros.h (VAR_INT_DEF): Add alignment directive.

	elf_machine_rela_relative): Adjust.
	(CHECK_STATIC_TLS): _dl_allocate_static_tls can fail now.
2003-07-31 07:42:20 +00:00
Roland McGrath 0d2f48bb4a * include/ctype.h (__ctype_b_loc, __ctype_toupper_loc,
__ctype_tolower_loc): Avoid "dereferencing type-punned pointer will
	break strict-aliasing rules" warnings.
2003-07-29 23:48:35 +00:00
Ulrich Drepper 99fe3b0e7a Update.
2003-07-24  Ulrich Drepper  <drepper@redhat.com>

	* include/link.h (struct link_map): Add l_tls_firstbyte_offset field.
	* sysdeps/generic/dl-tls.c [TLS_TCB_AT_TP] (_dl_determine_tlsoffset):
	Fix calculation of offsets to take misalignment of first byte in
	file into account.
	* elf/dl-load.c (_dl_map_object_from_fd): Initialize
	l_tls_firstbyte_offset field.
	* elf/rtld.c (_dl_start_final, _dl_start, dl_main): Likewise.
	* elf/dl-reloc.c (_dl_allocate_static_tls): Change return type to int.
	Take l_tls_firstbyte_offset information into account.
	(CHECK_STATIS_TLS): _dl_allocate_static_tls can fail now.
	* sysdeps/generic/ldsodefs.h: Adjust _dl_allocate_static_tls prototype.
	* elf/Makefile: Add rules to build and run tst-tls14.
	* elf/tst-tls14.c: New file.
	* elf/tst-tlsmod14a.c: New file.
	* elf/tst-tlsmod14b.c: New file.
2003-07-24 20:07:00 +00:00
Ulrich Drepper 9d79e0377b Update.
* include/stdio.h (__libc_fatal): Add libc_hidden_proto.
	* include/dlfcn.h (__libc_dlopen_mode, __libc_dlsym, __libc_dlclose):
	Likewise.
	* elf/dl-libc.c (__libc_dlopen_mode, __libc_dlsym, __libc_dlclose):
	Add libc_hidden_def.
	* sysdeps/generic/libc_fatal.c (__libc_fatal): Likewise.
	* sysdeps/posix/libc_fatal.c (__libc_fatal): Likewise.
	* sysdeps/unix/sysv/linux/libc_fatal.c (__libc_fatal): Likewise.
	* elf/Versions (libc): Export __libc_dlopen_mode@@GLIBC_PRIVATE,
	__libc_dlsym@@GLIBC_PRIVATE and __libc_dlclose@@GLIBC_PRIVATE.
	* libio/Versions (libc): Export __libc_fatal@@GLIBC_PRIVATE.
	* sysdeps/generic/unwind-dw2.c: Readd #ifs removed during last
	change.
	* sysdeps/generic/unwind.inc: Removed.
2003-07-22 23:56:53 +00:00
Ulrich Drepper 0e9d624072 Update.
2003-07-22  Jakub Jelinek  <jakub@redhat.com>

	* include/resolv.h (__resp): Declare.  Define to __libc_resp
	if in libc.so.
	(_res): If USE___THREAD, define to (*__resp).
	* resolv/res_libc.c (_res): Normal .bss variable with compat_symbol
	even if USE___THREAD.
	(__resp): New __thread variable.
	(__libc_resp): New alias.
	* resolv/Versions (libc): Export _res@GLIBC_2.0 even if
	USE_TLS && HAVE___THREAD.  Export __resp@@GLIBC_PRIVATE.
	* sysdeps/generic/res-state.c (__res_state): Return __resp
	if USE___THREAD.
2003-07-22 23:10:17 +00:00
Andreas Jaeger 6c5775c363 (_elf_set_element): Use attribute used so that gcc will not optimize it away. (link_warning): Likewise. 2003-07-22 19:24:48 +00:00
Richard Henderson cbdce76606 * include/sys/resource.h (__getrusage): Mark hidden. * include/sys/time.h (__settimeofday, __setitimer, __utimes): Likewise. * include/sys/wait.h (__wait4): Likewise.
2003-06-30  Richard Henderson  <rth@redhat.com>

	* include/sys/resource.h (__getrusage): Mark hidden.
	* include/sys/time.h (__settimeofday, __setitimer, __utimes): Likewise.
	* include/sys/wait.h (__wait4): Likewise.
2003-06-30 23:15:13 +00:00
Ulrich Drepper 657f0417ed Update.
2003-06-25  Ulrich Drepper  <drepper@redhat.com>

	* include/time.h: Don't define CLOCK_IDFIELD_SIZE if _ISOMAC is
	defined.
2003-06-25 08:47:01 +00:00
Ulrich Drepper 4165d44d70 Update.
* include/time.h: Define CLOCK_IDFIELD_SIZE.
	* sysdeps/posix/clock_getres.c: Recognize thread CPU clock IDs.
	* sysdeps/unix/clock_gettime.c: Likewise.
	* sysdeps/unix/clock_settime.c: Likewise.
	* sysdeps/unix/clock_nanosleep.c (CPUCLOCK_P): Adjust for new
	clock id for thread CPU clocks.
2003-06-25 00:00:50 +00:00
Ulrich Drepper 2f7f7bc658 Update.
2003-06-16  Thorsten Kukuk  <kukuk@suse.de>

	* include/libc-symbols.h: Add static_link_warning macro.
	* grp/initgroups.c: Print linker warning if this function
	is called in a static linked binary.
	* nss/getXXbyYY.c: Likewise.
	* nss/getXXbyYY_r.c: Likewise.
	* nss/getXXent.c: Likewise.
	* nss/getXXent_r.c: Likewise.
	* sysdeps/posix/getaddrinfo.c: Likewise.

2003-06-16  Bruno Haible  <bruno@clisp.org>

	* iconvdata/gconv-modules (ISO-8859-15): Add aliases ISO_8859-15,
	LATIN-9.
	(ISO-8859-16): Add aliases ISO_8859-16:2001, ISO_8859-16.
	(IBM1047): Add alias IBM-1047.
	(GBK): Add aliases MS936, WINDOWS-936.

2003-06-16  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/xstatconv.c (__xstat_conv): Define even if
	defined __ASSUME_STAT64_SYSCALL && defined XSTAT_IS_XSTAT64.
	(__xstat64_conv): Change xstat_conv to __xstat_conv.

	Reported by Arnaud Desitter <arnaud.desitter@geography.oxford.ac.uk>.
2003-06-16 17:18:06 +00:00
Ulrich Drepper 8ba1d42919 Update.
* sysdeps/unix/sysv/linux/check_pf.c (__check_pf): Use __close,
	not close.

	* inet/inet6_option.c (inet6_option_alloc): Add libc_hidden_def.
	* include/netinet/in.h (inet6_option_alloc): Add libc_hidden_proto
	definition.
2003-06-14 09:00:28 +00:00
Ulrich Drepper dd9423a67a Update.
2003-06-11  Ulrich Drepper  <drepper@redhat.com>

	* allocatestack.c (queue_stack): Always inline.
	* ptreadhP.h (__do_cancel): Likewise.
2003-06-11 21:57:23 +00:00
Ulrich Drepper 1dc869d13c Update.
* inet/Makefile (aux): Add check_fd.
	* include/ifaddrs.h: Add prototype for __check_fd.
	* sysdeps/generic/check_fd.c: New file.
	* sysdeps/unix/sysv/linux/check_fd.c: New file.
	* sysdeps/unix/sysv/linux/ifaddrs.h (__no_netlink_support): Renamed
	from no_netlink_support.  Export.
	* sysdeps/posix/getaddrinfo.c (getaddrinfo): Don't call getifaddrs,
	call __check_pf.

	* sysdeps/generic/ifaddrs.h: Add libc_hidden_def.
2003-06-10 08:58:05 +00:00
Richard Henderson 6f1e513dbb * include/libc-symbols.h (symbol_set_declare): Use arrays of unspecified size.
2003-06-04  Richard Henderson  <rth@redhat.com>

        * include/libc-symbols.h (symbol_set_declare): Use arrays
        of unspecified size.
2003-06-06 05:43:57 +00:00
Ulrich Drepper bc4647a17c Update.
2003-05-28  Ulrich Drepper  <drepper@redhat.com>

	* include/libc-symbols.h: Define hidden attribute for real also if
	LIBC_NONSHARED is defined.  Patch by Jakub Jelinek.

	* csu/Makefile: Add rules to build Scrt1.o.
	* sysdeps/i386/elf/start.S: Make code compilable with SHARED.
2003-05-28 19:56:24 +00:00
Ulrich Drepper 23ae645174 Update.
* include/features.h (__USE_XOPEN2K): Define also for
	_POSIX_C_SOURCE>=200112L.
2003-05-17 00:38:41 +00:00
Ulrich Drepper 949ec76407 Update.
* posix/sched.h: Change prototypes of sched_getaffinity and
	sched_setaffinity.  Define CPU_SET, CPU_CLR, CPU_ISSET, and CPU_ZERO.
	* sysdeps/generic/sched_getaffinity.c: Adjust definition.
	* sysdeps/generic/sched_setaffinity.c: Likewise.
	* sysdeps/generic/bits/sched.h: Define __CPU_SETSIZE, __NCPUBITS,
	__CPUELT, __CPUMASK, cpu_set_t, __cpu_mask, __CPU_ZERO, __CPU_SET,
	__CPU_CLR, and __CPU_ISSET.
	* sysdeps/unix/sysv/linux/bits/sched.h: Likewise.
	* sysdeps/unix/sysv/linux/sched_getaffinity.c: New file.
	* sysdeps/unix/sysv/linux/sched_setaffinity.c: New file.

	* include/atomic.h (atomic_exchange_acq): Renamed from atomic_exchange.
	(atomic_exchange_rel): New #define.
	* sysdeps/ia64/bits/atomic.h: Likewise.
	* sysdeps/i386/i486/bits/atomic.h (atomic_exchange_acq): Renamed from
	atomic_exchange.
	* sysdeps/m68k/m68020/bits/atomic.h: Likewise.
	* sysdeps/powerpc/bits/atomic.h: Likewise.
	* sysdeps/sparc/sparc32/sparcv9/bits/atomic.h: Likewise.
	* sysdeps/sparc/sparc64/bits/atomic.h: Likewise.
	* sysdeps/x86_64/bits/atomic.h: Likewise.
	* csu/tst-atomic.c: Use atomic_exchange_acq instead of atomic_exchange.
2003-05-10 05:36:37 +00:00
Ulrich Drepper be4d80380a Update.
* sysdeps/generic/enbl-secure.c (__libc_enable_secure_decided): New
	variable.
	(__libc_init_secure): Don't do anything if __libc_enable_secure_decided
	is nonzero.
	* include/unistd.h: Declare __libc_enable_secure_decided.
	* elf/dl-support.c (_dl_aux_init): Recognize AT_UID, AT_EUID, AT_GID,
	and AT_EGID.  If all found, set __libc_enable_secure and
	__libc_enable_secure_decided.
2003-05-06 06:34:21 +00:00
Roland McGrath 362f5ae2c1 * sysdeps/generic/bp-thunks.h: Protect includes with [!__ASSEMBLER__].
* sysdeps/unix/sysv/linux/i386/bp-thunks.h: Likewise.

	* sysdeps/unix/sysv/linux/Makefile ($(objpfx)syscall-%.h):
	Use $(make-target-directory).
	* sysdeps/unix/Makefile ($(objpfx)stub-syscalls.c): Likewise.

	* Makerules (compile-mkdep-flags): New variable, pass -MD -MF $@.d.
	(compile-command.S): Don't use ifndef.  Append $(compile-mkdep-flags).
	(compile-command.s, compile-command.c): Likewise.
	($(objpfx)%.d): All such pattern rules removed.
	($(+sysdir_pfx)sysd-rules): Don't generate them.
	($(common-objpfx)dummy.d): Target removed.
	(make-dummy-dep): Variable removed.
	(generate-md5): Likewise.
	(%.d: %.dt): New pattern rule.
	(+depfiles): Use $(wildcard) function to get just existing *.d files
	and .d files for existing *.dt files.
	(common-clean): Remove all *.d and *.dt files.
	(before-compile): Add $(objpfx). when it doesn't exist,
	regardless of $(no_deps).
	* elf/rtld-Rules ($(objpfx)rtld-%.d): All such pattern rules removed.
	(rtld-depfiles): Use .os.d instead of .d names.
	Include existing *.d files and .d files for existing *.dt files.

	* Makerules ($(common-objpfx)%.make): Protect with [! subdir].
	Use -MD, -MT and -MF flags instead of SUNPRO_DEPENDENCIES variable.

	* sysdeps/unix/Makefile ($(common-objpfx)s-%.d): Remove compat.h hack.
	Do s-*.d includes only if we have some syscall routines in this subdir.

	* include/libc-symbols.h (libc_freeres_ptr): Use %nobits instead of
	@nobits.  The former is accepted by gas on any ELF platform.
2003-05-02 02:21:25 +00:00
Roland McGrath 20792f9946 * configure.in: Search for AUTOCONF unconditionally.
Just don't complain about missing it under --without-cvs.
	* configure: Regenerated.

	* include/libc-symbols.h (__symbol_set_attribute): New macro,
	give hidden for [SHARED] and weak for [! SHARED].
	(symbol_set_declare): Use that.  Never need weak_extern these days.
	* Makerules ($(common-objpfx)shlib.lds): Go back to using PROVIDE.
	Depend on $(..)Makerules.
2003-04-30 04:18:12 +00:00
Ulrich Drepper 85dd100310 Update.
* sysdeps/i386/fpu/ftestexcept.c: Also check SSE status word.

	* include/signal.h: Use libc_hidden_proto for sigaddset and sigdelset.
	* signal/sigaddset.c: Add libc_hidden_def.
	* signal/sigdelset.c: Likewise.

2003-04-29  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/i386/i486/string-inlines.c (__memcpy_g, __strchr_g): Move
	to the end of the file.

	* configure.in: Change __oline__ to $LINENO.
	(HAVE_BUILTIN_REDIRECTION): New check.
	* config.h.in (HAVE_BUILTIN_REDIRECTION): Add.
	* include/libc-symbols.h (libc_hidden_builtin_proto,
	libc_hidden_builtin_def, libc_hidden_builtin_weak,
	libc_hidden_builtin_ver): Define.
	* include/string.h (memchr, memcpy, memmove, memset, strcat, strchr,
	strcmp, strcpy, strcspn, strlen, strncmp, strncpy, strpbrk, strrchr,
	strspn, strstr): Add libc_hidden_builtin_proto.
	* intl/plural.y: Include string.h.
	* sysdeps/alpha/alphaev6/memchr.S (memchr): Add
	libc_hidden_builtin_def.
	* sysdeps/alpha/alphaev6/memcpy.S (memcpy): Likewise.
	* sysdeps/alpha/alphaev6/memset.S (memset): Likewise.
	* sysdeps/alpha/alphaev67/strcat.S (strcat): Likewise.
	* sysdeps/alpha/alphaev67/strchr.S (strchr): Likewise.
	* sysdeps/alpha/alphaev67/strlen.S (strlen): Likewise.
	* sysdeps/alpha/alphaev67/strrchr.S (strrchr): Likewise.
	* sysdeps/alpha/memchr.S (memchr): Likewise.
	* sysdeps/alpha/memset.S (memset): Likewise.
	* sysdeps/alpha/strcat.S (strcat): Likewise.
	* sysdeps/alpha/strchr.S (strchr): Likewise.
	* sysdeps/alpha/strcmp.S (strcmp): Likewise.
	* sysdeps/alpha/strcpy.S (strcpy): Likewise.
	* sysdeps/alpha/strlen.S (strlen): Likewise.
	* sysdeps/alpha/strncmp.S (strncmp): Likewise.
	* sysdeps/alpha/strncpy.S (strncpy): Likewise.
	* sysdeps/alpha/strrchr.S (strrchr): Likewise.
	* sysdeps/arm/memset.S (memset): Likewise.
	* sysdeps/arm/strlen.S (strlen): Likewise.
	* sysdeps/generic/memchr.c (memchr): Likewise.
	* sysdeps/generic/memcpy.c (memcpy): Likewise.
	* sysdeps/generic/memmove.c (memmove): Likewise.
	* sysdeps/generic/memset.c (memset): Likewise.
	* sysdeps/generic/strcat.c (strcat): Likewise.
	* sysdeps/generic/strchr.c (strchr): Likewise.
	* sysdeps/generic/strcmp.c (strcmp): Likewise.
	* sysdeps/generic/strcpy.c (strcpy): Likewise.
	* sysdeps/generic/strcspn.c (strcspn): Likewise.
	* sysdeps/generic/strlen.c (strlen): Likewise.
	* sysdeps/generic/strncmp.c (strncmp): Likewise.
	* sysdeps/generic/strncpy.c (strncpy): Likewise.
	* sysdeps/generic/strpbrk.c (strpbrk): Likewise.
	* sysdeps/generic/strrchr.c (strrchr): Likewise.
	* sysdeps/generic/strspn.c (strspn): Likewise.
	* sysdeps/generic/strstr.c (strstr): Likewise.
	* sysdeps/i386/i486/strcat.S (strcat): Likewise.
	* sysdeps/i386/i486/strlen.S (strlen): Likewise.
	* sysdeps/i386/i586/memcpy.S (memcpy): Likewise.
	* sysdeps/i386/i586/memset.S (memset): Likewise.
	* sysdeps/i386/i586/strchr.S (strchr): Likewise.
	* sysdeps/i386/i586/strcpy.S (strcpy): Likewise.
	* sysdeps/i386/i586/strlen.S (strlen): Likewise.
	* sysdeps/i386/i686/memcpy.S (memcpy): Likewise.
	* sysdeps/i386/i686/memmove.S (memmove): Likewise.
	* sysdeps/i386/i686/memset.S (memset): Likewise.
	* sysdeps/i386/i686/strcmp.S (strcmp): Likewise.
	* sysdeps/i386/memchr.S (memchr): Likewise.
	* sysdeps/i386/memset.c (memset): Likewise.
	* sysdeps/i386/strchr.S (strchr): Likewise.
	* sysdeps/i386/strcspn.S (strcspn): Likewise.
	* sysdeps/i386/strlen.c (strlen): Likewise.
	* sysdeps/i386/strpbrk.S (strpbrk): Likewise.
	* sysdeps/i386/strrchr.S (strrchr): Likewise.
	* sysdeps/i386/strspn.S (strspn): Likewise.
	* sysdeps/ia64/memchr.S (memchr): Likewise.
	* sysdeps/ia64/memcpy.S (memcpy): Likewise.
	* sysdeps/ia64/memmove.S (memmove): Likewise.
	* sysdeps/ia64/memset.S (memset): Likewise.
	* sysdeps/ia64/strcat.S (strcat): Likewise.
	* sysdeps/ia64/strchr.S (strchr): Likewise.
	* sysdeps/ia64/strcmp.S (strcmp): Likewise.
	* sysdeps/ia64/strcpy.S (strcpy): Likewise.
	* sysdeps/ia64/strlen.S (strlen): Likewise.
	* sysdeps/ia64/strncmp.S (strncmp): Likewise.
	* sysdeps/ia64/strncpy.S (strncpy): Likewise.
	* sysdeps/m68k/memchr.S (memchr): Likewise.
	* sysdeps/m68k/strchr.S (strchr): Likewise.
	* sysdeps/mips/mips64/memcpy.S (memcpy): Likewise.
	* sysdeps/mips/mips64/memset.S (memset): Likewise.
	* sysdeps/mips/memcpy.S (memcpy): Likewise.
	* sysdeps/mips/memset.S (memset): Likewise.
	* sysdeps/powerpc/powerpc32/memset.S (memset): Likewise.
	* sysdeps/powerpc/powerpc32/strchr.S (strchr): Likewise.
	* sysdeps/powerpc/powerpc32/strcmp.S (strcmp): Likewise.
	* sysdeps/powerpc/powerpc32/strcpy.S (strcpy): Likewise.
	* sysdeps/powerpc/powerpc32/strlen.S (strlen): Likewise.
	* sysdeps/powerpc/powerpc64/memcpy.S (memcpy): Likewise.
	* sysdeps/powerpc/powerpc64/memset.S (memset): Likewise.
	* sysdeps/powerpc/powerpc64/strchr.S (strchr): Likewise.
	* sysdeps/powerpc/powerpc64/strcmp.S (strcmp): Likewise.
	* sysdeps/powerpc/powerpc64/strcpy.S (strcpy): Likewise.
	* sysdeps/powerpc/powerpc64/strlen.S (strlen): Likewise.
	* sysdeps/powerpc/strcat.c (strcat): Likewise.
	* sysdeps/sparc/sparc32/memchr.S (memchr): Likewise.
	* sysdeps/sparc/sparc32/memcpy.S (memcpy): Likewise.
	* sysdeps/sparc/sparc32/memset.S (memset): Likewise.
	* sysdeps/sparc/sparc32/strcat.S (strcat): Likewise.
	* sysdeps/sparc/sparc32/strchr.S (strchr, strrchr): Likewise.
	* sysdeps/sparc/sparc32/strcmp.S (strcmp): Likewise.
	* sysdeps/sparc/sparc32/strcpy.S (strcpy): Likewise.
	* sysdeps/sparc/sparc32/strlen.S (strlen): Likewise.
	* sysdeps/sparc/sparc64/sparcv9b/memcpy.S (memcpy, memmove): Likewise.
	* sysdeps/sparc/sparc64/memchr.S (memchr): Likewise.
	* sysdeps/sparc/sparc64/memcpy.S (memcpy, memmove): Likewise.
	* sysdeps/sparc/sparc64/memset.S (memset): Likewise.
	* sysdeps/sparc/sparc64/strcat.S (strcat): Likewise.
	* sysdeps/sparc/sparc64/strchr.S (strchr, strrchr): Likewise.
	* sysdeps/sparc/sparc64/strcmp.S (strcmp): Likewise.
	* sysdeps/sparc/sparc64/strcpy.S (strcpy): Likewise.
	* sysdeps/sparc/sparc64/strcspn.S (strcspn): Likewise.
	* sysdeps/sparc/sparc64/strlen.S (strlen): Likewise.
	* sysdeps/sparc/sparc64/strncmp.S (strncmp): Likewise.
	* sysdeps/sparc/sparc64/strncpy.S (strncpy): Likewise.
	* sysdeps/sparc/sparc64/strpbrk.S (strpbrk): Likewise.
	* sysdeps/sparc/sparc64/strspn.S (strspn): Likewise.
	* sysdeps/sh/memcpy.S (memcpy): Likewise.
	* sysdeps/sh/memset.S (memset): Likewise.
	* sysdeps/sh/strlen.S (strlen): Likewise.
	* sysdeps/s390/s390-32/memchr.S (memchr): Likewise.
	* sysdeps/s390/s390-32/memcpy.S (memcpy): Likewise.
	* sysdeps/s390/s390-32/memset.S (memset): Likewise.
	* sysdeps/s390/s390-32/strcmp.S (strcmp): Likewise.
	* sysdeps/s390/s390-32/strcpy.S (strcpy): Likewise.
	* sysdeps/s390/s390-32/strncpy.S (strncpy): Likewise.
	* sysdeps/s390/s390-64/memchr.S (memchr): Likewise.
	* sysdeps/s390/s390-64/memcpy.S (memcpy): Likewise.
	* sysdeps/s390/s390-64/memset.S (memset): Likewise.
	* sysdeps/s390/s390-64/strcmp.S (strcmp): Likewise.
	* sysdeps/s390/s390-64/strcpy.S (strcpy): Likewise.
	* sysdeps/s390/s390-64/strncpy.S (strncpy): Likewise.
	* sysdeps/x86_64/memcpy.S (memcpy): Likewise.
	* sysdeps/x86_64/memset.S (memset): Likewise.
	* sysdeps/x86_64/strcat.S (strcat): Likewise.
	* sysdeps/x86_64/strchr.S (strchr): Likewise.
	* sysdeps/x86_64/strcmp.S (strcmp): Likewise.
	* sysdeps/x86_64/strcpy.S (strcpy): Likewise.
	* sysdeps/x86_64/strcspn.S (strcspn): Likewise.
	* sysdeps/x86_64/strlen.S (strlen): Likewise.
	* sysdeps/x86_64/strspn.S (strspn): Likewise.
	* string/string-inlines.c: Move...
	* sysdeps/generic/string-inlines.c: ...here.
	(__memcpy_g, __strchr_g): Remove.
	(__NO_INLINE__): Define before including <string.h>,
	undefine after.  Include bits/string.h and bits/string2.h.
	* sysdeps/i386/i486/string-inlines.c: New file.
	* sysdeps/i386/string-inlines.c: New file.
	* sysdeps/i386/i486/Versions: Remove.
	All GLIBC_2.1.1 symbols moved...
	* sysdeps/i386/Versions (libc): ...here.

2003-04-29  Ulrich Drepper  <drepper@redhat.com>
2003-04-29 22:49:58 +00:00
Ulrich Drepper 299601a1ef Update.
2003-04-22  Jakub Jelinek  <jakub@redhat.com>

	* include/link.h (NO_TLS_OFFSET): Define to 0 if not defined.
	* elf/dl-close.c (_dl_close): Use NO_TLS_OFFSET.
	* elf/dl-object.c (_dl_new_object): Initialize l_tls_offset to
	NO_TLS_OFFSET.
	* elf/rtld.c (_dl_start_final, _dl_start): Likewise.
	* elf/dl-reloc.c (CHECK_STATIC_TLS): Use NO_TLS_OFFSET.
	* sysdeps/generic/dl-tls.c (_dl_allocate_tls_init): Likewise.
	* sysdeps/powerpc/dl-tls.h (TLS_TPREL_VALUE): Don't subtract
	TLS_TCB_SIZE.
2003-04-25 09:12:43 +00:00
Ulrich Drepper 925c3c5c71 Update.
2003-04-24  Ulrich Drepper  <drepper@redhat.com>

	* include/ifaddrs.h: New file.
	* include/netdb.h: Move definitions of AI_V4MAPPED, AI_ALL, and
	AI_ADDRCONFIG...
	* resolv/netdb.h: ...here.
	* sysdeps/gnu/ifaddrs.c. Use libc_hidden_def where appropriate.
	* sysdeps/unix/sysv/linux/ifaddrs.c: Likewise.
	* sysdeps/posix/getaddrinfo.c: Implement AI_V4MAPPED, AI_ALL, and
	AI_ADDRCONFIG.
2003-04-24 23:45:17 +00:00
Ulrich Drepper ff479b9b9a Internal shadow header for <ifaddrs.h>. 2003-04-24 23:38:24 +00:00
Roland McGrath 63af556fef * elf/tst-tls12.c (main): Fix declaration.
* elf/tst-tls10.c (dummy): Make hidden instead of static.
	* elf/tst-tlsmod7.c (dummy): Likewise.
	* elf/tst-tlsmod8.c (dummy): Likewise.
	* elf/tst-tlsmod9.c (dummy): Likewise.

2003-04-22  Roland McGrath  <roland@redhat.com>

	* sysdeps/unix/sysv/linux/not-cancel.h: Put parens around macro args.
	(open_not_cancel): Make last argument non-optional.
	* sysdeps/generic/check_fds.c (check_one_fd): Update caller.
	* sysdeps/unix/sysv/linux/gethostid.c (gethostid): Likewise.
	* iconv/gconv_cache.c (__gconv_load_cache): Likewise.

	* include/tls.h: Protect against multiple inclusion.
2003-04-23 01:54:52 +00:00
Ulrich Drepper a1b5424f50 Update.
2003-04-15  Ulrich Drepper  <drepper@redhat.com>

	* include/atomic.h: Pretty printing.
2003-04-15 18:29:40 +00:00
Roland McGrath 859e708f0e * csu/tst-atomic.c (do_test): Add some new
atomic_compare_and_exchange_val_acq, atomic_add_zero,
	atomic_compare_and_exchange_bool_acq and atomic_add_negative tests.
	* include/atomic.h (atomic_add_negative, atomic_add_zero):
	Prefix local variable so that it doesn't clash with the one
	in atomic_exchange_and_add.
	* sysdeps/ia64/bits/atomic.h (atomic_exchange): Fix for long/void *
	pointers.
	(atomic_exchange_and_add): Implement using __sync_fetch_and_add_?i.
	* sysdeps/powerpc/bits/atomic.h (atomic_exchange_and_add): Force
	value into register.
	* sysdeps/s390/bits/atomic.h (__arch_compare_and_exchange_val_64_acq):
	Cast newval to long.
	* sysdeps/x86_64/bits/atomic.h
	(__arch_compare_and_exchange_val_64_acq): Cast newval and oldval to
	long.
	(atomic_exchange): Cast newvalue to long if sizeof == 8.
	(atomic_exchange_and_add): Cast value to long if sizeof == 8.
	(atomic_add, atomic_add_negative, atomic_add_zero): Likewise.
	(atomic_bit_set): Shift 1L up in all cases to shut up warnings.
2003-03-26 04:02:03 +00:00
Andreas Schwab 9fdf211e68 *** empty log message ***
* sysdeps/m68k/m68020/bits/atomic.h: Fix typos.
	* include/atomic.h: Likewise.
2003-03-25 23:41:38 +00:00
Ulrich Drepper 09402f5bc1 Update.
2003-03-25  Ulrich Drepper  <drepper@redhat.com>

	* csu/tst-atomic.c: Adjust tests to what atomic_add_negative and
	atomic_add_zero were supposed to do.
	* include/atomic.h: Adjust atomic_add_negative and atomic_add_zero
	to x86 behavior.

	* sysdeps/generic/bits/typesizes.h (__TIMER_T_TYPE): Define as void*.
	This matches the new timer implementation.
	* sysdeps/unix/sysv/linux/bits/siginfo.h (struct siginfo): Adjust
	timer info for what the kernel provides these days.
	(struct sigevent): Add _tid field.
	Define SIGEV_THREAD_ID.

	* Versions.def (librt): Add GLIBC_2.3.3.

	* abilist/libpthread.abilist: Update for nptl.
2003-03-25 20:41:26 +00:00
Roland McGrath fe4610b301 * include/atomic.h: Put parens around all macro arguments.
(__atomic_val_bysize, __atomic_bool_bysize): New macros.
	(atomic_compare_and_exchange_val_acq): Use it.
	(atomic_compare_and_exchange_bool_acq): Likewise.
	(atomic_increment_and_test): Invert sense of test.
	(atomic_decrement_and_test): Likewise.
	* csu/tst-atomic.c: Update those tests to match.
2003-03-22 23:38:18 +00:00
Roland McGrath d15851ec24 * include/atomic.h (atomic_increment_and_test): Invert sense of test.
Add comment.
	(atomic_decrement_and_test): Add comment.

2003-03-22  Jakub Jelinek  <jakub@redhat.com>

	* include/atomic.h (atomic_compare_and_exchange_val_acq): Add comment.
	Don't define if __arch_compare_and_exchange_val_32_acq is not defined.
	(atomic_compare_and_exchange_bool_acq): Add comment.  Don't use
	__oldval variable in the macro, since it might be macro argument.
	(atomic_decrement_if_positive): Initialize __memp, remove setting
	of non-existent variable.
	(atomic_bit_test_set): Cast 1 to __typeof (*mem) before shifting.
	* sysdeps/ia64/bits/atomic.h (atomic_exchange_and_add): Implement
	using atomic_compare_and_exchange_val_acq.
	(atomic_decrement_if_positive, atomic_bit_test_set): Define.
	* sysdeps/s390/bits/atomic.h (__arch_compare_and_exchange_val_8_acq):
	Renamed from...
	(__arch_compare_and_exchange_bool_8_acq): ... this.
	(__arch_compare_and_exchange_val_16_acq): Renamed from...
	(__arch_compare_and_exchange_bool_16_acq): ... this.
	(__arch_compare_and_exchange_val_32_acq): Return old value.  Renamed
	from...
	(__arch_compare_and_exchange_bool_32_acq): ... this.
	(__arch_compare_and_exchange_val_64_acq): Return old value.  Renamed
	from...
	(__arch_compare_and_exchange_bool_64_acq): ... this.
	(__arch_compare_and_exchange_val_32_acq): Use __typeof for local
	variables types instead of assuming int.
	Change prefix of local variables to __arch.
	* sysdeps/generic/bits/atomic.h (arch_compare_and_exchange_acq):
	Remove.
	(atomic_compare_and_exchange_val_acq,
	atomic_compare_and_exchange_bool_acq): Define.

	* csu/tst-atomic.c: New test.
	* csu/tst-atomic-long.c: New test.
	* csu/Makefile (tests): Add tst-atomic and tst-atomic-long.

	* malloc/memusagestat.c (main): Kill warning if uint64_t is ulong.

	* sysdeps/s390/Versions: Add trailing newline.

	* sysdeps/unix/sysv/linux/sysconf.c (__sysconf): Kill warning
	if INTERNAL_SYSCALL_ERROR_P doesn't use its first argument.
2003-03-22 23:01:01 +00:00
Roland McGrath 916ff11ac7 2003-03-21 Roland McGrath <roland@redhat.com>
* include/atomic.h (atomic_compare_and_exchange_bool_acq): Typo fix.
2003-03-21 08:54:39 +00:00
Ulrich Drepper 18627f615b Define atomic_compare_and_exchange_val_acq, atomic_compare_and_exchange_val_rel, atomic_compare_and_exchange_bool_acq, and atomic_compare_and_exchange_bool_rel instead of atomic_compare_and_exchange_acq and atomic_compare_and_exchange_rel. 2003-03-21 07:37:36 +00:00
Ulrich Drepper 972209dd7a (atomic_decrement_if_positive): Adjust for the correct atomic_compare_and_exchange_acq semantics. 2003-03-20 19:42:54 +00:00
Roland McGrath 2ff16e041a * sysdeps/powerpc/bits/atomic.h (atomic_exchange): Remove unused
variable.  Remove superfluous memory clobber.

	* include/atomic.h: Syntax braino fix.

	* posix/tst-nice.c (do_test): Use %m formats instead of printing errno
	in decimal.  Don't bail if niced at start.  Just check that nice call
	bumps the total at all.
2003-03-20 11:40:51 +00:00
Ulrich Drepper 5132931e18 Define atomic_exchange and atomic_decrement_if_positive if not already defined. Add some __builtin_expect. 2003-03-20 10:11:43 +00:00
Ulrich Drepper 4009bf4044 Update.
2003-03-19  Ulrich Drepper  <drepper@redhat.com>

	* Makefile (distribute): Add include/atomic.h and bits/atomic.h.
	* include/atomic.h: New file.
	* sysdeps/i386/i486/bits/atomic.h: New file.
	* sysdeps/x86_64/bits/atomic.h: New file.
	* sysdeps/s390/bits/atomic.h: New file.
	* sysdeps/sh/bits/atomic.h: New file.
	* sysdeps/ia64/bits/atomic.h: New file.
	* sysdeps/powerpc/bits/atomic.h: New file.
	* sysdeps/generic/bits/atomic.h: New file.
	* sysdeps/i386/i486/atomicity.h: Removed.
	* sysdeps/x86_64/atomicity.h: Removed.
	* sysdeps/s390/s390-32/atomicity.h: Removed.
	* sysdeps/s390/s390-64/atomicity.h: Removed.
	* sysdeps/ia64/atomicity.h: Removed.
	* sysdeps/powerpc/powerpc32/atomicity.h: Removed.
	* sysdeps/powerpc/powerpc64/atomicity.h: Removed.
	* elf/dl-profile.c: Use atomic.h instead of atomicity.h.  Adjust
	use of macros from atomicity.h to new names and semantics.
	* gmon_mcount.c: Likewise.
	* malloc/set-freeres.c: Likewise.
	* nscd/cache.c: Likewise.
	* stdlib/cxa_finalize.c: Likewise.
	* sysdeps/unix/sysv/linux/getsysstats.c: Likewise.

	* sysdeps/mips/ieee754.h: New file, suitable to replace both
	* stdlib/strtod.c (INTERNAL): While eating trailing zeros handle
2003-03-20 07:19:17 +00:00
Roland McGrath d632d5ce2b 2003-03-17 Roland McGrath <roland@redhat.com>
* include/ctype.h: Revert last change.
2003-03-18 00:37:46 +00:00
Roland McGrath 638bb1f394 * nscd/cache.c (cache_search): Give first arg type `request_type'.
* nscd/nscd.h: Update decl.

	* nscd/nscd_getpw_r.c (nscd_getpw_r): Add casts for signedness.
	* nscd/nscd_getgr_r.c (nscd_getgr_r): Likewise.
	* elf/dl-close.c (_dl_close): Likewise.
	* sysdeps/unix/sysv/linux/powerpc/chown.c (__chown): int -> size_t
	* io/fts.c (fts_build): Likewise.
	* elf/cache.c (add_to_cache): Likewise.
	* locale/programs/locarchive.c (show_archive_content): Likewise.

	* posix/fnmatch.c (fnmatch): Tweak __builtin_expect use.

	* include/ctype.h (__ctype_b_loc): Tweak type punning to make gcc 3.3
	happy.
	(__ctype_toupper_loc, __ctype_tolower_loc): Likewise.
2003-03-16 01:04:03 +00:00
Alexandre Oliva 3be9dc8e14 * include/gmp.h: Include/gmp-mparam.h. * stdlib/strtod.c: Include gmp-mparam.h before gmp.h and gmp-impl.h.
* include/gmp.h: Include/gmp-mparam.h.
	* stdlib/strtod.c: Include gmp-mparam.h before gmp.h and
	gmp-impl.h.

2003-03-14  Alexandre Oliva  <aoliva@redhat.com>
2003-03-14 05:48:18 +00:00
Roland McGrath 8dd569934c 2003-03-10 Roland McGrath <roland@redhat.com>
* dlfcn/Makefile (libdl-routines): Add dladdr1.
	* dlfcn/dladdr1.c: New file.
	* dlfcn/dlfcn.h [__USE_GNU]: Declare dladdr1.
	[__USE_GNU] (RTLD_DL_SYMENT, RTLD_DL_LINKMAP): New enum constants.
	* elf/dl-addr.c (_dl_addr): Take new args, a struct link_map ** and
	a const ElfNN_Sym ** to fill in.
	* include/dlfcn.h: Update decl.  Include <link.h>.
	* dlfcn/dladdr.c (dladdr): Update caller.
	* malloc/mtrace.c (tr_where): Likewise.
	* sysdeps/generic/elf/backtracesyms.c: Likewise.
	* sysdeps/generic/elf/backtracesymsfd.c: Likewise.
	* dlfcn/Versions (libdl: GLIBC_2.3.3): New set, add dladdr1.
	* Versions.def (libdl): Define GLIBC_2.3.3 set.
2003-03-10 09:12:11 +00:00
Ulrich Drepper 4f6f0a8fcf Update.
2003-03-03  Ulrich Drepper  <drepper@redhat.com>

	* include/sched.h (__clone2): Use ... instead of adding all the
	new parameters.
2003-03-03 22:02:13 +00:00
Ulrich Drepper 625f22fc7f Update.
2003-03-03  Ian Wienand  <ianw@gelato.unsw.edu.au>

	* sysdeps/unix/sysv/linux/ia64/clone2.S: Update to take extra clone
	flags.
	* include/sched.h: Update clone2 prototype.
2003-03-03 19:53:27 +00:00
Roland McGrath d2d442a51b * include/libc-internal.h: Declare __libc_thread_freeres. 2003-02-22 22:46:40 +00:00
Roland McGrath 2a3d906e21 * malloc/thread-freeres.c: Conditionalize on _LIBC_REENTRANT.
* sunrpc/rpc_thread.c: Likewise for text_set_element use.
	(__rpc_thread_destroy): Add it to __libc_subfreeres too.

	* include/resolv.h: Add libc_hidden_proto for __res_nclose.
	* resolv/res_init.c (__res_nclose): Add libc_hidden_def.
	(res_thread_freeres): New function, on __libc_thread_subfreeres and
	__libc_subfreeres.

	* malloc/Versions (libc: GLIBC_PRIVATE): Add __libc_thread_freeres.
	* sunrpc/Versions (libc: GLIBC_PRIVATE): Removed.
2003-02-22 01:58:06 +00:00
Ulrich Drepper 38e68573bc Update.
2003-02-01  Ulrich Drepper  <drepper@redhat.com>

	* time/tzfile.c (__tzfile_compute): Change return value type to
	void.  Adjust return statements.
	* include/time.h (__tzfile_compute): Adjust prototype.

2003-02-01  Jim Meyering  <jim@meyering.net>

	* time/tzset.c (__tz_convert): Remove dead code; __tzfile_compute
	always returns 1.

2003-01-31  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/unix/sysv/linux/powerpc/powerpc64/fe_nomask.c
	[!__ASSUME_NEW_PRCTL_SYSCALL]: Noop prctl syscall and set ENOSYS.

2003-01-31  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S
	[!__ASSUME_NEW_RT_SIGRETURN_SYSCALL]: Generate ENOSYS stub.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S
	[!__ASSUME_NEW_RT_SIGRETURN_SYSCALL]: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S
	[!__ASSUME_NEW_RT_SIGRETURN_SYSCALL]: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S
	[!__ASSUME_NEW_RT_SIGRETURN_SYSCALL]: Likewise.

2003-01-31  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/unix/sysv/linux/configure.in: Change arch_minimum_kernel
	back to 2.4.19 for powerpc64.
	* sysdeps/unix/sysv/linux/kernel-features.h
	(__ASSUME_NEW_PRCTL_SYSCALL): Define for powerpc64.
	(__ASSUME_NEW_RT_SIGRETURN_SYSCALL): Define for powerpc64.

2003-02-01  Ulrich Drepper  <drepper@redhat.com>

	* wcsmbs/wcscpy.c (wcscpy): Add alternative implementation for
	platforms with strange alignment requirements on wchar_t.
2003-02-01 20:53:16 +00:00
Ulrich Drepper 68ff8426c6 Update.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/fe_nomask.c
	(__fe_nomask_env): Use __prctl not prctl.
	* sysdeps/unix/sysv/linux/syscalls.list: Add __prctl alias for
	prctl syscall.
2003-01-28 05:59:24 +00:00
Roland McGrath f1c5213d69 * include/fcntl.h: Declare __libc_creat.
* sysdeps/mach/hurd/Makefile (libmachuser-link.so-no-z-defs,
	libhurduser-link.so-no-z-defs): New variables.

	* malloc/malloc.c: Revert last change.
	* malloc/malloc.h (_int_*): Move these decls to ...
	* include/malloc.h: ... here.  Add attribute_hidden.
	(_int_valloc): Declare it too.
2003-01-13 03:42:27 +00:00
Roland McGrath 2674e3c6fc 2003-01-12 Roland McGrath <roland@redhat.com>
* include/fcntl.h: Declare __libc_creat.
2003-01-13 03:42:08 +00:00
Ulrich Drepper 40e94df30a [HAVE_WEAK_SYMBOLS] (_weak_extern): Define using _Pragma(weak ...). 2003-01-03 23:43:53 +00:00
Ulrich Drepper ee2a5ae875 Update.
2002-12-31  Ulrich Drepper  <drepper@redhat.com>

	* string/string-inlines.c: Define __memcpy_g and __strchr_g macros
	to avoid using the exported symbols.  Define aliases with the
	original names separately.

	* include/time.h: Add libc_hidden_proto for __strftime_l.
	* include/wchar.h: Add libc_hidden_proto for __wcsftime_l.
	* time/strftime.c: Always use libc_hidden_def if _LIBC.

	* libio/libioP.h: Add libc_hidden_proto for _IO_file_open.
	* libio/fileops.c: Add libc_hidden_def for _IO_file_open.

	* malloc/mtrace.c: Add libc_hidden_proto and libc_hidden_def for
	tr_break.

	* csu/Makefile (routines): Add dso_handle.
	* csu/dso_handle.c: New file.
2002-12-31 23:13:55 +00:00
Ulrich Drepper a4baf360be Update.
* io/sys/stat.h [__USE_MISC]: Define __need_timespec for struct stat.
	* sysdeps/unix/sysv/linux/xstatconv.c (xstat_conv): Adjust for
	nsec resolution changes.
	(xstat64_conv): Likewise.
	(xstat32_conv): Likewise.
	* sysdeps/unix/sysv/linux/kernel_stat.h: Add nsec resolution for
	struct kernel_stat.
	* sysdeps/unix/sysv/linux/bits/stat.h: Add nsec resolution for
	structs stat and stat64.
	* time/time.h (__timespec_defined): Define for __USE_MISC.

2002-12-31  Ulrich Drepper  <drepper@redhat.com>

	* include/signal.h: Add libc_hidden_proto for __libc_current_sigrtmin
	and __libc_current_sigrtmax.

2002-12-31  Jakub Jelinek  <jakub@redhat.com>

	* include/errno.h (__errno_location): Add prototype.
	Use libc_hidden_proto unconditionally.
	* include/netdb.h (__h_errno_location): Use libc_hidden_proto
	unconditionally.
	* include/resolv.h (__res_state): Likewise.

	* hurd/errno-loc.c (__errno_location): Add libc_hidden_def.
	* include/sys/socket.h (accept): Add libc_hidden_proto.
	* include/errno.h (__errno_location): Likewise.
	* include/netdb.h (__h_errno_location): Likewise.
	* include/resolv.h (__res_state): Likewise.
	* include/unistd.h (__lseek): Likewise.
	* sysdeps/generic/errno-loc.c (__errno_location): Add libc_hidden_def.
	* sysdeps/generic/herrno-loc.c (__h_errno_location): Likewise.
	* sysdeps/generic/res-state.c (__res_state): Likewise.
	* sysdeps/generic/accept.c (accept): Likewise.
	* sysdeps/generic/lseek.c (__lseek): Likewise.
	* sysdeps/generic/allocrtsig.c (__libc_current_sigrtmin,
	__libc_current_sigrtmax): Likewise.
	* sysdeps/mach/hurd/accept.c (accept): Likewise.
	* sysdeps/mach/hurd/lseek.c (__lseek): Likewise.
	* sysdeps/unix/sysv/aix/accept.c (accept): Likewise.
	* sysdeps/unix/sysv/aix/lseek.c (__lseek): Likewise.
	* sysdeps/unix/sysv/linux/accept.S (accept): Likewise.
	* sysdeps/unix/inet/syscalls.list (__GI_accept): New alias to accept.
	* sysdeps/unix/sysv/linux/alpha/syscalls.list (__GI_accept): Likewise.
	* sysdeps/unix/sysv/linux/hppa/syscalls.list (__GI_accept): Likewise.
	* sysdeps/unix/sysv/linux/ia64/syscalls.list (__GI___lseek): New
	alias to llseek.
	(__GI_accept): New alias to accept.
	* sysdeps/unix/sysv/linux/mips/syscalls.list (__GI_accept): Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list (__GI___lseek):
	New alias to llseek.
	(__GI_accept): New alias to accept.
	* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list (__GI_accept):
	Likewise.
	* sysdeps/unix/sysv/linux/x86_64/syscalls.list (__GI_accept):
	Likewise.
	* sysdeps/unix/syscalls.list (__GI___lseek): New alias to lseek.

	* sysdeps/alpha/setjmp.S : Use libc_hidden_def(name) instead of
	strong_alias (name, __GI_name).
	* sysdeps/arm/bsd-_setjmp.S : Likewise.
	* sysdeps/hppa/bsd-_setjmp.S : Likewise.
	* sysdeps/i386/bsd-_setjmp.S : Likewise.
	* sysdeps/mips/mips64/bsd-_setjmp.S : Likewise.
	* sysdeps/mips/bsd-_setjmp.S : Likewise.
	* sysdeps/powerpc/powerpc32/bsd-_setjmp.S : Likewise.
	* sysdeps/powerpc/powerpc64/setjmp.S : Likewise.
	* sysdeps/s390/s390-32/elf/setjmp.S : Likewise.
	* sysdeps/s390/s390-32/bsd-_setjmp.S : Likewise.
	* sysdeps/s390/s390-64/elf/setjmp.S : Likewise.
	* sysdeps/s390/s390-64/bsd-_setjmp.S : Likewise.
	* sysdeps/sh/bsd-_setjmp.S : Likewise.
	* sysdeps/sparc/sparc32/setjmp.S : Likewise.
	* sysdeps/unix/arm/fork.S : Likewise.
	* sysdeps/unix/bsd/hp/m68k/vfork.S : Likewise.
	* sysdeps/unix/bsd/i386/vfork.S : Likewise.
	* sysdeps/unix/bsd/osf/alpha/fork.S : Likewise.
	* sysdeps/unix/bsd/sun/m68k/vfork.S : Likewise.
	* sysdeps/unix/bsd/ultrix4/mips/vfork.S : Likewise.
	* sysdeps/unix/bsd/vax/vfork.S : Likewise.
	* sysdeps/unix/i386/fork.S : Likewise.
	* sysdeps/unix/mips/fork.S : Likewise.
	* sysdeps/unix/sparc/fork.S : Likewise.
	* sysdeps/unix/sparc/vfork.S : Likewise.
	* sysdeps/unix/sysv/linux/arm/vfork.S : Likewise.
	* sysdeps/unix/sysv/linux/cris/vfork.S : Likewise.
	* sysdeps/unix/sysv/linux/i386/vfork.S : Likewise.
	* sysdeps/unix/sysv/linux/ia64/fork.S : Likewise.
	* sysdeps/unix/sysv/linux/ia64/setjmp.S : Likewise.
	* sysdeps/unix/sysv/linux/ia64/vfork.S : Likewise.
	* sysdeps/unix/sysv/linux/m68k/vfork.S : Likewise.
	* sysdeps/unix/sysv/linux/sh/vfork.S : Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/longjmp.S : Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/setjmp.S : Likewise.
	* sysdeps/unix/sysv/linux/sparc/fork.S : Likewise.
	* sysdeps/unix/sysv/linux/sparc/vfork.S : Likewise.
	* sysdeps/unix/sysv/linux/x86_64/vfork.S : Likewise.
	* sysdeps/unix/fork.S : Likewise.
	* sysdeps/vax/bsd-_setjmp.S : Likewise.
	* sysdeps/x86_64/bsd-_setjmp.S : Likewise.

	* sysdeps/unix/sysv/linux/ia64/sysdep.h: Guard against multiple
	inclusion.
2002-12-31 20:46:11 +00:00
Ulrich Drepper d1436edcb9 Update.
* include/unistd.h: Add libc_hidden_proto for __fork and __vfork.
	* sysdeps/generic/fork.c: Add libc_hidden_def for __fork.
	* sysdeps/mach/hurd/fork.c: Likewise.
	* sysdeps/unix/sysv/aix/fork.c: Likewise.
	* sysdeps/unix/fork.S: Add __GI___fork alias.
	* sysdeps/unix/arm/fork.S: Likewise.
	* sysdeps/unix/bsd/osf/alpha/fork.S: Likewise.
	* sysdeps/unix/i386/fork.S: Likewise.
	* sysdeps/unix/mips/fork.S: Likewise.
	* sysdeps/unix/sparc/fork.S: Likewise.
	* sysdeps/unix/sysv/linux/ia64/fork.S: Likewise.
	* sysdeps/unix/sysv/linux/sparc/fork.S: Likewise.
	* sysdeps/unix/sysv/linux/syscalls.list: Likewise.
	* sysdeps/generic/vfork.c: Add libc_hidden_def for __vfork.
	* sysdeps/unix/bsd/hp/m68k/vfork.S: Add __GI___vfork alias.
	* sysdeps/unix/bsd/i386/vfork.S: Likewise.
	* sysdeps/unix/bsd/sun/m68k/vfork.S: Likewise.
	* sysdeps/unix/bsd/ultrix4/mips/vfork.S: Likewise.
	* sysdeps/unix/bsd/vax/vfork.S: Likewise.
	* sysdeps/unix/sparc/vfork.S: Likewise.
	* sysdeps/unix/sysv/linux/arm/vfork.S: Likewise.
	* sysdeps/unix/sysv/linux/cris/vfork.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/vfork.S: Likewise.
	* sysdeps/unix/sysv/linux/ia64/vfork.S: Likewise.
	* sysdeps/unix/sysv/linux/m68k/vfork.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/vfork.S: Likewise.
	* sysdeps/unix/sysv/linux/sparc/vfork.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/vfork.S: Likewise.
2002-12-31 11:12:11 +00:00
Ulrich Drepper f7f7f8150a Update.
* include/time.h: Add libc_hidden_proto for __nanosleep.
	* sysdeps/generic/nanosleep.c: Add libc_hidden_def for __nanosleep.
	* sysdeps/mach/nanosleep.c: Likewise.
	* sysdeps/unix/sysv/aix/nanosleep.c: Likewise.
	* sysdeps/unix/sysv/linux/syscalls.list: Add __GI___nanosleep alias.
2002-12-31 10:25:10 +00:00
Ulrich Drepper e9395a94c3 Update.
* include/setjmp.h: Add libc_hidden_proto for __libc_longjmp.
	* sysdeps/generic/longjmp.c: Add libc_hidden_def for __longjmp.
	* sysdeps/unix/sysv/linux/sparc/sparc64/longjmp.S: Add
	__GI___longjmp alias.
2002-12-31 09:46:42 +00:00