Commit Graph
100 Commits
Author SHA1 Message Date
Roland McGrath 547d4019fa * sysdeps/mach/hurd/ioctl.c (do_ioctl): Avoid double-increment after
__mempcpy does it for us.
2000-12-28 20:44:54 +00:00
Roland McGrath f75ff470b7 2000-12-28 Roland McGrath <roland@frob.com>
* sysdeps/mach/hurd/ioctl.c (do_ioctl): Avoid double-increment after
	__mempcpy does it for us.
2000-12-28 20:44:11 +00:00
Roland McGrath 1ca315fca0 * sysdeps/mach/hurd/ioctl.c (__ioctl): Don't clobber ARG as we copy in
argument data, since it will be used to copy out too (for INOUT).
	Reported by Marcus Brinkmann <marcus@gnu.org>.

	* sysdeps/mach/hurd/ioctl.c: Include <stdint.h>.
	(__ioctl): Use uintptr_t instead of unsigned long int.

	* stdlib/l64a.c (l64a): Truncate M to 32-bit value.
2000-12-07 00:06:54 +00:00
Roland McGrath cde4d97bf2 2000-12-06 Roland McGrath <roland@frob.com>
* sysdeps/mach/hurd/ioctl.c (__ioctl): Don't clobber ARG as we copy in
	argument data, since it will be used to copy out too (for INOUT).
	Reported by Marcus Brinkmann <marcus@gnu.org>.
	* sysdeps/mach/hurd/ioctl.c: Include <stdint.h>.
	(__ioctl): Use uintptr_t instead of unsigned long int.
2000-12-07 00:05:30 +00:00
Roland McGrath 2082d3c68a * hurd/hurd/ioctl.h (_HURD_HANDLE_IOCTLS_1): New macro.
(_HURD_HANDLE_IOCTLS, _HURD_HANDLE_IOCTL): Redefine using it, so as to
	allow multiple instances using the same function name in one file.
2000-12-01 23:50:36 +00:00
Roland McGrath 72f841d535 2000-11-30 Roland McGrath <roland@frob.com>
* hurd/hurd/ioctl.h (_HURD_HANDLE_IOCTLS_1): New macro.
	(_HURD_HANDLE_IOCTLS, _HURD_HANDLE_IOCTL): Redefine using it, so as to
	allow multiple instances using the same function name in one file.
2000-12-01 23:50:27 +00:00
Roland McGrath 62e82a340f * sysdeps/mach/hurd/defs.c (init_stdio): Put this on __libc_subinit
rather than _hurd_fd_subinit, so it happens after it's safe to use
	libc facilities like malloc.
2000-11-30 23:29:46 +00:00
Roland McGrath 7b945eaeae 2000-11-30 Roland McGrath <roland@frob.com>
* sysdeps/mach/hurd/defs.c (init_stdio): Put this on __libc_subinit
	rather than _hurd_fd_subinit, so it happens after it's safe to use
	libc facilities like malloc.
2000-11-30 23:29:35 +00:00
Roland McGrath ca7ed9daa9 * hurd/get-host.c (_hurd_get_host_config): Fix last change. 2000-11-13 21:31:24 +00:00
Roland McGrath 8c65460904 2000-11-13 Roland McGrath <roland@frob.com>
* hurd/get-host.c (_hurd_get_host_config): Fix last change.
2000-11-13 21:31:17 +00:00
Roland McGrath 7499a22ad7 * Makeconfig: Undo last change.
* configure.in: If --disable-shared was given, don't set VERSIONING,
	don't define DO_VERSIONING, and don't give scare warning for no
	versioning.
	* configure: Regenerated.
2000-04-05 04:04:08 +00:00
Roland McGrath 2c57ff212d * Makeconfig [$(build-shared) != yes] (versioning): Set to `no'. 2000-04-05 00:48:08 +00:00
Roland McGrath 2a1bb46b9a 2000-04-04 Roland McGrath <roland@baalperazim.frob.com>
* Makeconfig [$(build-shared) != yes] (versioning): Set to `no'.
2000-04-05 00:44:59 +00:00
Roland McGrath ca5becb0c5 * Makeconfig (preprocess-versions): Undo last change.
Instead, pass -I$(common-objdir) -I$(..)include instead of $(CPPFLAGS).
2000-04-03 18:01:18 +00:00
Roland McGrath c6d8020283 * sysdeps/mach/hurd/i386/init-first.c (init): Don't set __environ
here, before we might move the stack.
	(posixland_init): Set __libc_argc, __libc_argc, and __environ here.
	(init1): And not here.

	* sysdeps/i386/dl-machine.h (RTLD_START): Fix code broken by last
	change, to restore argc value in call-clobbered register after
	RTLD_START_SPECIAL_INIT, which will contain a call.

	* elf/dl-deps.c (_dl_map_object_deps): Fix size calculations for
	allocating and initializing L->l_initfini.

	* resolv/Makefile (headers): Add bits/netdb.h, so it gets installed.
2000-04-03 17:13:51 +00:00
Roland McGrath 9129b9874d 2000-04-03 Roland McGrath <roland@baalperazim.frob.com>
* sysdeps/mach/hurd/i386/init-first.c (init): Don't set __environ
	here, before we might move the stack.
	(posixland_init): Set __libc_argc, __libc_argc, and __environ here.
	(init1): And not here.
2000-04-03 17:13:21 +00:00
Roland McGrath 5879ee9fa1 * sysdeps/mach/hurd/i386/init-first.c: Replace PIC #ifdefs with SHARED.
(init1): Don't initialize __environ here, since init already does it.
	(first_init): New function, broken out of _init.
	(_hurd_stack_setup): Use it.
	[SHARED] (_dl_init_first): New function, renamed from old _init.
	(init1) [SHARED]: Don't call posixland_init here.
	(posixland_init): Take ENVP arg, so signature is usual for initializer.
	[SHARED] (_init): Define as alias for posixland_init.
	[! SHARED] (__libc_first_init): Define as alias for posixland_init.
	* sysdeps/i386/dl-machine.h (RTLD_START): Insert the macro
	RTLD_START_SPECIAL_INIT before calling initializers.
	(RTLD_START_SPECIAL_INIT): Define to empty if undefined.
	* sysdeps/mach/hurd/i386/dl-machine.h: New file.
	* sysdeps/mach/hurd/dl-sysdep.c (_dl_init_first): New weak function.
	* elf/Versions ({libc,ld.so}: GLIBC_2.2): Add _dl_init_first.
2000-04-02 22:01:23 +00:00
Roland McGrath e1724cd7ef * stdio-common/tmpfile.c [! USE_IN_LIBIO]: No alias needed,
since we define the function with the name `tmpfile'.

	* mach/Versions: Define SHARED instead of PIC to affect shlib-compat.h.
	* hurd/Versions: Likewise.

	* elf/dl-runtime.c (fixup): Fix typo in comment.
	* resolv/netdb.h (getnameinfo): All length parameters are of type
	* elf/dl-init.c: Fix typo in comment.
	anymore, update comment.
2000-04-02 20:15:54 +00:00
Roland McGrath c2c67d1499 2000-04-02 Roland McGrath <roland@baalperazim.frob.com>
* mach/Versions: Define SHARED instead of PIC to affect shlib-compat.h.
	* hurd/Versions: Likewise.
2000-04-02 20:15:08 +00:00
Roland McGrath 9a95cd1c9c * mach/Versions (libc: GLIBC_2.0)
[SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)]: Conditionalize
	__vm_allocate on this.
	[SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)]: Conditionalize
	mutex- and spinlock-related symbols on this.
	[!SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)] (libc: HURD_CTHREADS_0.3):
	New version set.  Lock-related symbols go here instead in this case.
	* sysdeps/mach/hurd/Versions (libc: GLIBC_2.0): Remove
	_cthread_exit_routine, _cthread_init_routine, cthread_keycreate,
	cthread_getspecific, cthread_setspecific, __libc_getspecific.
	* hurd/Versions
	[SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)] (libc: GLIBC_2.0):
	Put them here instead.
	[!SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)] (libc: HURD_CTHREADS_0.3):
	New version set.  Those cthreads symbols go here instead in this case.
	* Versions.def (libc) [USE_IN_LIBIO]: Add HURD_CTHREADS_0.3 version.
2000-03-30 19:26:59 +00:00
Roland McGrath 693ef46bb1 2000-03-30 Roland McGrath <roland@baalperazim.frob.com>
* mach/Versions (libc: GLIBC_2.0)
	[SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)]: Conditionalize
	__vm_allocate on this.
	[SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)]: Conditionalize
	mutex- and spinlock-related symbols on this.
	[!SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)] (libc: HURD_CTHREADS_0.3):
	New version set.  Lock-related symbols go here instead in this case.
	* sysdeps/mach/hurd/Versions (libc: GLIBC_2.0): Remove
	_cthread_exit_routine, _cthread_init_routine, cthread_keycreate,
	cthread_getspecific, cthread_setspecific, __libc_getspecific.
	* hurd/Versions
	[SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)] (libc: GLIBC_2.0):
	Put them here instead.
	[!SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)] (libc: HURD_CTHREADS_0.3):
	New version set.  Those cthreads symbols go here instead in this case.
	* Versions.def (libc) [USE_IN_LIBIO]: Add HURD_CTHREADS_0.3 version.
2000-03-30 19:26:35 +00:00
Roland McGrath 26c400e689 * sysdeps/generic/bits/sigthread.h: Clean up conditionals.
Declare pthread_sigmask.

	* csu/version.c: Add 2000 to copyright years.
	Remove Emacs local variables section.
2000-03-28 07:06:08 +00:00
Roland McGrath 6998a04598 2000-03-28 Roland McGrath <roland@baalperazim.frob.com>
* csu/version.c: Add 2000 to copyright years.
	Remove Emacs local variables section.
2000-03-28 07:05:51 +00:00
Roland McGrath 65b4f10b89 * include/shlib-compat.h (SHLIB_COMPAT): Make the test handle the
obsoleting version not being defined at all, in which case the
	result is always true.
2000-03-27 23:57:43 +00:00
Roland McGrath 58dc1d4968 * Makeconfig (preprocess-versions): New canned sequence for running
cpp on shlib-versions and the like.
	(soversions.i): Use it.
	* Makerules (Versions.all, sysd-versions): Use it to preprocess the
	Versions.def and Versions files.
2000-03-27 19:43:54 +00:00
Roland McGrath 480d827b66 2000-03-27 Roland McGrath <roland@baalperazim.frob.com>
* Makeconfig (preprocess-versions): New canned sequence for running
	cpp on shlib-versions and the like.
	(soversions.i): Use it.
	* Makerules (Versions.all, sysd-versions): Use it to preprocess the
	Versions.def and Versions files.
2000-03-27 19:42:09 +00:00
Roland McGrath 9010d7f86f * stdio-common/tmpfile.c: Use <shlib-compat.h> macros. 2000-03-27 16:51:19 +00:00
Roland McGrath 3e5155f85a * include/shlib-compat.h: Conditionalize <abi-versions.h> include
on [HAVE_ELF && DO_VERSIONING].
2000-03-27 15:08:19 +00:00
Roland McGrath 9ee80c5249 2000-03-27 Roland McGrath <roland@baalperazim.frob.com>
* include/shlib-compat.h: Conditionalize <abi-versions.h> include
	on [HAVE_ELF && DO_VERSIONING].
2000-03-27 15:07:53 +00:00
Roland McGrath 16710d5829 * dlfcn/dlopen.c: Use <shlib-compat.h> macros.
* dlfcn/dlopenold.c: Likewise.
	* nss/getXXbyYY_r.c: Likewise.
	* nss/getXXent_r.c: Likewise.
	* hurd/hurdinit.c: Likewise.
	* hurd/compat-20.c: Likewise.
	* libio/oldiofopen.c: Likewise.
	* libio/oldiofclose.c: Likewise.
	* libio/oldiofdopen.c: Likewise.
	* libio/oldfileops.c: Likewise.
	* libio/oldstdfiles.c: Likewise.
	* libio/oldiofsetpos.c: Likewise.
	* libio/oldiofgetpos.c: Likewise.
	* libio/oldiofgetpos64.c: Likewise.
	* libio/oldiofsetpos64.c: Likewise.
	* libio/oldiopopen.c: Likewise.
	* libio/oldpclose.c: Likewise.
	* libio/oldtmpfile.c: Likewise.
	* libio/freopen.c (freopen): Likewise.
	* libio/iofclose.c (_IO_new_fclose): Likewise.
2000-03-27 05:18:47 +00:00
Roland McGrath 54f6cbb379 * sysdeps/mach/sys/reboot.h: Include <features.h>.
(reboot): Declare it.
2000-03-27 04:09:19 +00:00
Roland McGrath 1c479f72fe * libio/Makefile (headers): Add bits/stdio-lock.h here.
* sysdeps/mach/hurd/bits/stdio-lock.h: New file.
2000-03-27 03:57:46 +00:00
Roland McGrath a7ca88b86b * include/shlib-compat.h: Include <abi-versions.h> unconditionally. 2000-03-27 01:09:25 +00:00
Roland McGrath 9aae89cedc 2000-03-26 Roland McGrath <roland@baalperazim.frob.com>
* include/shlib-compat.h: Include <abi-versions.h> unconditionally.
2000-03-27 01:09:18 +00:00
Roland McGrath 2e6f096fd9 * hurd/hurdrlimit.c (init_rlimit): Give the RLIMIT_NOFILE soft limit
an initial value of 1024 instead of RLIM_INFINITY.

	* Versions.def (libmachuser, libhurduser): Remove these sections,
	since these libraries do not presently use symbol versions.

	* sysdeps/mach/hurd/getdtsz.c (__getdtablesize): If the resource limit
	is RLIM_INFINITY, return -1 instead.
2000-03-26 19:17:23 +00:00
Roland McGrath 8acd0bf21b 2000-03-26 Roland McGrath <roland@baalperazim.frob.com>
* hurd/hurdrlimit.c (init_rlimit): Give the RLIMIT_NOFILE soft limit
	an initial value of 1024 instead of RLIM_INFINITY.
2000-03-26 19:16:56 +00:00
Roland McGrath 9e3438bee6 * sysdeps/mach/hurd/setrlimit.c (setrlimit): Go into a critical
section while taking the _hurd_rlimit_lock.
	* sysdeps/mach/hurd/getrlimit.c (__getrlimit): Likewise.
2000-03-25 20:20:44 +00:00
Roland McGrath 6a08db097b * Makerules [$(cross-compiling) = yes] (symbolic-link-prog): Define
using $(LN_S).
2000-03-24 21:41:15 +00:00
Roland McGrath 4f173e2c8a * sysdeps/mach/hurd/if_index.c: New file.
* sysdeps/unix/sysv/linux/net/if.h: Moved to ...
	* sysdeps/gnu/net/if.h: here.
	(_IOT_ifconf, _IOT_ifreq): Hurd ioctl type macros moved from ...
	* sysdeps/mach/hurd/net/if.h: ... here; this file now removed.
	* sysdeps/generic/net/if.h: New file.  Declares just the standard
	functions and `struct if_nameindex' type.
	* socket/Makefile (headers): Add net/if.h here.
	* sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Not here.
	* sysdeps/mach/hurd/Dist: Remove it here.
	* sysdeps/unix/sysv/linux/Dist: And here.
	* sysdeps/generic/if_index.c: Include <net/if.h>.
2000-03-24 20:59:00 +00:00
Roland McGrath acdacef901 (Interface Naming): Fix typo: IFNAMSIZE -> IFNAMSIZ 2000-03-24 19:11:18 +00:00
Roland McGrath 2ae13e200c (compat_symbol): New macro.
* sysdeps/gnu/siglist.c: Use new SHLIB_COMPAT convention, and use
	compat_symbol macro.
2000-03-22 06:04:32 +00:00
Roland McGrath 42f76b6bd7 * include/shlib-compat.h (SHLIB_COMPAT): Take a third argument,
indicating the first version set to obsolete the conditionalized code.
	* scripts/abi-versions.awk: For subsumed versions, make ABI_* defn's
	rhs be the ABI_* macro for the subsuming version.  Assign increasing
	integer values to the ABI_* macros for supported versions.
2000-03-22 05:44:35 +00:00
Roland McGrath cb832354c3 2000-03-22 Roland McGrath <roland@baalperazim.frob.com>
* include/shlib-compat.h (SHLIB_COMPAT): Take a third argument,
	indicating the first version set to obsolete the conditionalized code.
	* scripts/abi-versions.awk: For subsumed versions, make ABI_* defn's
	rhs be the ABI_* macro for the subsuming version.  Assign increasing
	integer values to the ABI_* macros for supported versions.
2000-03-22 05:43:53 +00:00
Roland McGrath 39c571225a * scripts/firstversions.awk: Allow multiple version sets in the
"earliest version" specification, meaning that version sets in the
	gaps between listed versions should be folded into the earliest later
	version that is explicitly listed.
	* shlib-versions (mips.*-.*-linux.*): Use that syntax for to say
	we support GLIBC_2.0 and GLIBC_2.2 but not the intervening sets.
2000-03-21 20:37:33 +00:00
Roland McGrath 733af7d6c3 2000-03-21 Roland McGrath <roland@baalperazim.frob.com>
* scripts/firstversions.awk: Allow multiple version sets in the
	"earliest version" specification, meaning that version sets in the
	gaps between listed versions should be folded into the earliest later
	version that is explicitly listed.
	* shlib-versions (mips.*-.*-linux.*): Use that syntax for to say
	we support GLIBC_2.0 and GLIBC_2.2 but not the intervening sets.
2000-03-21 20:36:53 +00:00
Roland McGrath 5d431a3ef0 * locale/programs/ld-time.c (time_finish): Use %Z instead of %z.
* locale/programs/ld-ctype.c (ctype_finish, ctype_class_new): Likewise.
2000-03-20 19:21:35 +00:00
Roland McGrath d3564d01a7 * scripts/versions.awk: Fixed version renaming code to distinguish
libraries properly.
2000-03-20 18:33:28 +00:00
Roland McGrath 8600b1afb7 2000-03-17 Roland McGrath <roland@baalperazim.frob.com>
* locale/programs/ld-collate.c (collate_read): Remove bogus cast.
	(insert_value, handle_ellipsis, collate_read): Replace %zu in format
	strings with %Zu, because gcc-2.95.2's -Wformat knows about the latter
	but not the former.
2000-03-20 18:09:38 +00:00
Roland McGrath af2603143f * Makeconfig (soversion.i): Use only first match for each lib. 2000-03-20 03:16:32 +00:00
Roland McGrath 0ecdeb26c0 * Makeconfig (soversion.i): Pass -undef to $(CC) -E. 2000-03-20 01:01:24 +00:00
Roland McGrath f1be66a1d4 2000-03-19 Roland McGrath <roland@baalperazim.frob.com>
* Makeconfig (soversion.i): Pass -undef to $(CC) -E.
2000-03-20 01:01:15 +00:00
Roland McGrath c95527a131 * Makerules (Versions.all, sysd-versions): Test $(sysd-sorted-done)
rather than $(sysd-dirs-done) to protect these rules.
2000-03-19 23:59:13 +00:00
Roland McGrath 3c132532af * Makerules (version-renames.def): Target removed.
(Versions.all): Depend on soversions.i directly and parse it.
2000-03-19 23:38:46 +00:00
Roland McGrath ba7e89ec33 * Makeconfig (soversions.i): New target, input-reading parts of
soversions.mk generation moved here; result is a canonicalized
	list "LIB VERSION [SET]" for this configuration.
	(soversions.mk): Use that as input.  Don't emit map-firstversions.
	* Makerules (version-renames.def): New target, generated from
	soversions.i with contents that was in $(map-firstversions).
	(Versions.all): Don't depend on soversions.mk, depend on
	version-renames.def instead; just cat it into the input.
2000-03-19 23:33:48 +00:00
Roland McGrath 6b3c3a3525 * Makerules (Versions.all): Use $(foreach ...) instead of sh for loop
for $(map-firstversions), which better handles it being empty.
2000-03-19 21:47:12 +00:00
Roland McGrath 361742eda9 * shlib-versions [USE_IN_LIBIO] (.*-.*-gnu-gnu*): Set earliest
supported version for libc 0.2.90.libio to GLIBC_2.2.

	* Makeconfig (soversions.mk): Grok new third column in shlib-versions,
	and use it to emit new variable `map-firstversions'.
	* scripts/firstversions.awk: New file.
	* Makerules (Versions.all): Use scripts/firstversions.awk and
	the $(map-firstversions) value to generate a modified versions list
	that includes renames in "A = B" syntax for each version set earlier
	than the "earliest symbol version" named in shlib-versions.
	* scripts/versions.awk: Recognize "A = B" lines in the input to mean
	rename version set A to B in the output to the intermediate file.
	* scripts/abi-versions.awk: New file.
	* Makerules (abi-versions.h): New target, generated by that script.
	[$(versioning) = yes] (before-compile): Prepend abi-versions.h.
	* include/shlib-compat.h: New file, uses that generated header.
2000-03-19 20:36:44 +00:00
Roland McGrath 8826885219 * Makeconfig (soversions.mk): Convert % -> # in shlib-versions
after stripping # comments, and then run it through cpp.
	This allows things like "%ifdef FOO" based on config.h settings.
	* shlib-versions [USE_IN_LIBIO] (.*-.*-gnu-gnu*): libc=0.2.90.libio
2000-03-19 00:33:02 +00:00
Roland McGrath a5733c2844 * hurd/intr-msg.c (_hurd_intr_rpc_mach_msg): For MACH_SEND_INTERRUPTED
and other errors that indicate a pseudo-receive happened, grok through
	the message buffer for port rights that need references fixed up.
2000-03-18 08:25:32 +00:00
Roland McGrath 024c4ccba6 2000-03-18 Roland McGrath <roland@baalperazim.frob.com>
* hurd/intr-msg.c (_hurd_intr_rpc_mach_msg): For MACH_SEND_INTERRUPTED
	and other errors that indicate a pseudo-receive happened, grok through
	the message buffer for port rights that need references fixed up.
2000-03-18 08:25:11 +00:00
Roland McGrath 4ae1869356 * sysdeps/i386/sys/ucontext.h: Prepend REG_ to enum values and
macros for register names, in line with 2000-03-14 linux change.
2000-03-17 09:27:02 +00:00
Roland McGrath da28fa2a44 * sysdeps/mach/sched_yield.c: New file.
2000-03-13  Roland McGrath  <roland@baalperazim.frob.com>

	* sysdeps/generic/lockfile.c: Include <stdio.h>
	(_IO_flockfile, _IO_funlockfile, _IO_ftrylockfile): #undef these in
	case <libio.h> defined them.
	(__flockfile, __funlockfile, __ftrylockfile): Functions renamed
	from __internal_*.
	(flockfile, _IO_flockfile, funlockfile, _IO_funlockfile,
	ftrylockfile, _IO_ftrylockfile): Fix aliases accordingly.

	* sysdeps/generic/bits/stdio-lock.h (_IO_lock_initializer): Use ...
	for more pleasing parse error.

	* elf/Makefile: Add rules to compile and run constload1 test.
2000-03-17 09:03:47 +00:00
Roland McGrath 1b67abbbfd 2000-03-13 Roland McGrath <roland@baalperazim.frob.com>
* sysdeps/generic/lockfile.c: Include <stdio.h>
	(_IO_flockfile, _IO_funlockfile, _IO_ftrylockfile): #undef these in
	case <libio.h> defined them.
	(__flockfile, __funlockfile, __ftrylockfile): Functions renamed
	from __internal_*.
	(flockfile, _IO_flockfile, funlockfile, _IO_funlockfile,
	ftrylockfile, _IO_ftrylockfile): Fix aliases accordingly.
2000-03-17 09:03:28 +00:00
Roland McGrath b4e54243c4 * mach/devstream.c (devstream_write, devstream_read): New functions.
(input, output): Functions removed.
	(mach_open_devstream): Use devstream_{read,write} as cookie functions,
	using only the vanilla fopencookie interface.

	* hurd/fopenport.c [! USE_IN_LIBIO] (cookie_io_functions_t): Define
	as macro for __io_functions.
	(funcsio): Use cookie_io_functions_t type name.
	(fopenport): Renamed from __fopenport.  Rewrite to call fopencookie.

	* libio/iofopncook.c (_IO_cookie_init): New function, broken out of
	fopencookie.
	(fopencookie): Use it.
	* libio/libio.h: Declare _IO_cookie_init.
	* hurd/vpprintf.c (vpprintf) [USE_IN_LIBIO]: Implement using
	_IO_cookie_init.

	* libio/libio.h (__io_seek_fn): Fix second argument type
	to be a pointer, in line with the manual and the old stdio.
	* libio/iofopncook.c (_IO_cookie_seek): Fix (sole) caller.

	* sysdeps/generic/bits/stdio-lock.h: New file.
	This is a stub with #error, but that's better than no file at all.

	* sysdeps/unix/sysv/linux/alpha/syscall.S:
	* manual/message.texi (Using gettextized software):
	* manual/filesys.texi (File Size):
	* manual/charset.texi (glibc iconv Implementation):
	* locale/programs/ld-collate.c (collate_output):
	* manual/stdio.texi (Output Conversion Syntax):
2000-03-10 08:46:33 +00:00
Roland McGrath 418f095a3e 2000-03-10 Roland McGrath <roland@baalperazim.frob.com>
* hurd/fopenport.c [! USE_IN_LIBIO] (cookie_io_functions_t): Define
	as macro for __io_functions.
	(funcsio): Use cookie_io_functions_t type name.
	(fopenport): Renamed from __fopenport.  Rewrite to call fopencookie.
2000-03-10 08:45:53 +00:00
Roland McGrath f25da8d01f * string/argz-stringify.c (__argz_stringify): Fix loop termination
conditions so as not to clobber the final '\0' when there is only one
	element in the vector.
2000-03-10 08:24:48 +00:00
Roland McGrath 07760b357c * io/sys/stat.h: Fix inverted sense of `defined __S_IFSOCK' test,
broken by 2000-02-27 change.

	* sysdeps/generic/bits/poll.h (POLLRDNORM, POLLRDBAND): New macros.
2000-03-10 04:30:29 +00:00
Roland McGrath 224a12bcb2 * sysdeps/mach/hurd/sigstack.c (sigstack): Remove `const' from
argument type, for 2000-02-22 change in signal/signal.h declaration.

	* sysdeps/generic/getdents64.c (__getdirentries64): Renamed
	to getdirentries64 (no __), since the Linux implementation
	has no __ name, and there is no declaration for the __ name.

	* sysdeps/mach/bits/libc-lock.h (__libc_cleanup_end): New macro.

	* sysdeps/mach/hurd/Makefile ($(common-objpfx)errnos.d): Tighten up
	sed regexp so as not to break directory names including /../ within.

	* sysdeps/unix/bsd/bits/waitflags.h: File removed.
	The sysdeps/generic file is right for BSD.  This file was in fact the
	Hurd file, but the only difference was the WNOREAP flag that was never
	actually implemented or used anywhere.
2000-03-09 22:44:39 +00:00
Roland McGrath 9ab47461ed * configure.in (PERL, INSTALL_INFO): Don't AC_SUBST these,
since AC_PATH_PROG already does it for us.
	(PERL): Rewrite check added in 2000-02-29 change for syntactic
	correctness and sh portability.  I replaced the broken check
	with a more sensible implementation of the apparently intended
	semantics, which might still be questionable.  Using expr causes
	a non-numeric value for `perl -V:apiversion` to be accepted,
	refusing to use only a perl that reports a number less than 5;
	on my system, perl (5.004_04) -V:apiversion produces UNKNOWN.
	* configure: Regenerated.
2000-03-09 21:48:47 +00:00
Roland McGrath 2fd5d0297c 2000-03-09 Roland McGrath <roland@baalperazim.frob.com>
* configure.in (PERL, INSTALL_INFO): Don't AC_SUBST these,
	since AC_PATH_PROG already does it for us.
	(PERL): Rewrite check added in 2000-02-29 change for syntactic
	correctness and sh portability.  I replaced the broken check
	with a more sensible implementation of the apparently intended
	semantics, which might still be questionable.  Using expr causes
	a non-numeric value for `perl -V:apiversion` to be accepted,
	refusing to use only a perl that reports a number less than 5;
	on my system, perl (5.004_04) -V:apiversion produces UNKNOWN.
	* configure: Regenerated.
2000-03-09 21:48:28 +00:00
Roland McGrath 72e1a75071 1999-11-18 Roland McGrath <roland@baalperazim.frob.com>
* hurd/hurdsig.c (_hurdsig_init): If __hurd_threadvar_stack_mask is
        nonzero, use cthread_fork to create the signal thread.
        * hurd/msgportdemux.c (_hurd_msgport_receive): Initialize
        _hurd_msgport_thread here (to self).
        * sysdeps/mach/hurd/fork.c (__fork): When __hurd_sigthread_stack_end
        is zero, instead compute child signal thread's starting SP from parent
        signal thread's current SP and the threadvar_stack variables.
        * hurd/Versions (GLIBC_2.1.3): Add cthread_fork, cthread_detach.
        These are now referenced weakly by _hurdsig_init.

        * hurd/report-wait.c (_S_msg_report_wait): Fix typo:
        &_hurd_itimer_thread not &_hurd_msgport_thread.

1999-10-01  Roland McGrath  <roland@baalperazim.frob.com>

        * hurd/hurdfchdir.c (_hurd_change_directory_port_from_fd): Rewrite
        without HURD_DPORT_USE to clean up warnings.
        * hurd/dtable.c (get_dtable_port): Likewise.

        * hurd/hurdioctl.c (rectty_dtable): Renamed to install_ctty.
        (install_ctty): Do the changing of the cttyid port cell here, inside
        the critical section while we holding the dtable lock.
        (_hurd_setcttyid, tiocsctty, tiocnotty): Use that instead of changing
        the port cell and calling rectty_dtable.
        (_hurd_locked_install_cttyid): New function, split out of install_ctty.
        (install_ctty): Use it inside a critical section, with the lock held.
        * sysdeps/mach/hurd/setsid.c (__setsid): Use
        _hurd_locked_install_cttyid to effect the cttyid and dtable changes
        after proc_setsid, having held the dtable lock throughout.
        * hurd/dtable.c (ctty_new_pgrp): With the dtable lock held, check the
        cttyid port for null and bail out early if so.  The dtable lock
        serializes us after any cttyid change and its associated dtable update.
1999-12-03 05:01:23 +00:00
Roland McGrath 63bf605304 1999-11-14 Roland McGrath <roland@baalperazim.frob.com>
* sysdeps/mach/hurd/nfs/nfs.h: New file, empty but for comments.
	Its presence lets librpcsvc compile ok.  This from Mark Kettenis.
	We don't install this file for users.
	* sysdeps/mach/hurd/Dist: Add it.
	* sysdeps/mach/hurd/Makefile [$(subdir) = sunrpc] (sysdep_headers):
	Append nfs/nfs.h here.
1999-12-02 19:51:24 +00:00
Roland McGrath 50a25edf01 1999-11-14 Roland McGrath <roland@baalperazim.frob.com>
* sysdeps/mach/hurd/nfs/nfs.h: New file, empty but for comments.
	Its presence lets librpcsvc compile ok.  This from Mark Kettenis.
	We don't install this file for users.
	* sysdeps/mach/hurd/Dist: Add it.
	* sysdeps/mach/hurd/Makefile [$(subdir) = sunrpc] (sysdep_headers):
	Append nfs/nfs.h here.
1999-12-02 19:50:42 +00:00
Roland McGrath 0bd019279b * Versions.def (libc): Move GLIBC_2.2 dependency from GLIBC_2.1.1 to
GLIBC_2.1.3.

1999-11-13  Roland McGrath  <roland@baalperazim.frob.com>
1999-11-13 23:52:38 +00:00
Roland McGrath 28f08f3fd1 1999-11-13 Roland McGrath <roland@baalperazim.frob.com>
* hurd/Versions (GLIBC_2.1.3): Define, adding directory_name_split and
	hurd_directory_name_split.
	* Versions.def (libc): Add GLIBC_2.1.3.

1999-11-09  Roland McGrath  <roland@baalperazim.frob.com>

	* hurd/report-wait.c (describe_port): Return char * and use __stpcpy
	to return the location of the null byte written into the string.
	(describe_number): Likewise.
	(describe_number): Remove assert, not always used with #.
	If FLAVOR is null, don't use it.
	(describe_number): Take signed argument and print a - if negative.
	(_S_msg_report_wait): Report system call number for system calls that
	aren't mach_msg.  Soup up reporting for mach_msg: If destination port
	matches SS->intr_port, bracket port description with [...] to indicate
	a Hurd interruptible RPC; if destination port is null, examine the
	receive port and report that state; if receive port is also null,
	check for timeout and report its value.
	* sysdeps/mach/hurd/i386/intr-msg.h (MSG_EXAMINE): Return int that is
	zero iff we managed to examine the stack; take new args RCV_NAME,
	SEND_NAME, OPTION, and TIMEOUT to fill in with mach_msg args.

	* hurd/report-wait.c (describe_port): Recognize MACH_PORT_NULL and
	MACH_PORT_DEAD specially.

1999-10-04  Roland McGrath  <roland@baalperazim.frob.com>

	* hurd/hurdlookup.c (__hurd_directory_name_split): New function.
	(__directory_name_split): New function.
	* hurd/hurd.h: Declare them.
	* sysdeps/mach/hurd/rmdir.c: Use __directory_name_split instead of
	__file_name_split, so we ignore trailing slashes properly.
	* sysdeps/mach/hurd/rename.c: Likewise.
1999-11-13 23:46:56 +00:00
Roland McGrath e9e2f70563 1999-10-05 Roland McGrath <roland@baalperazim.frob.com>
* mach/mach/mig_support.h [! __USE_GNU]: Use #error to insist that
	_GNU_SOURCE be defined.
1999-10-09 16:42:18 +00:00
Roland McGrath 6c7b18958b 1999-10-05 Roland McGrath <roland@baalperazim.frob.com>
* mach/mach/mig_support.h [! __USE_GNU]: Use #error to insist that
	_GNU_SOURCE be defined.
1999-10-05 18:31:06 +00:00
Roland McGrath 53304b0b14 1999-10-04 Roland McGrath <roland@baalperazim.frob.com>
* stdlib/stdlib.h [__USE_BSD]: Declare getloadavg.
1999-10-04 06:24:20 +00:00
Roland McGrath b2277c1530 1999-10-04 Roland McGrath <roland@baalperazim.frob.com>
* stdlib/stdlib.h [__USE_BSD]: Declare getloadavg.
1999-10-04 06:24:10 +00:00
Roland McGrath 8e755477c3 * misc/Versions (GLIBC_2.2): Add getloadavg. 1999-10-04 05:30:05 +00:00
Roland McGrath 54e9386dfd * misc/Makefile (routines): Add getloadavg.
* sysdeps/generic/getloadavg.c: New file.
	* sysdeps/mach/getloadavg.c: New file.
	* sysdeps/unix/sysv/linux/getloadavg.c: New file.
1999-10-04 05:28:33 +00:00
Roland McGrath b73549de65 1999-10-04 Roland McGrath <roland@baalperazim.frob.com>
* sysdeps/generic/memrchr.c: New file, adapted from memchr.c.
	* sysdeps/i386/bits/string.h (__memrchr): New function.
	* string/string.h: Declare memrchr, __memrchr.
	* manual/string.texi (Search Functions): Document memrchr.
1999-10-04 05:14:14 +00:00
Roland McGrath ca74785646 1999-10-04 Roland McGrath <roland@baalperazim.frob.com>
* sysdeps/generic/memrchr.c: New file, adapted from memchr.c.
	* sysdeps/i386/bits/string.h (__memrchr): New function.
	* string/string.h: Declare memrchr, __memrchr.
	* manual/string.texi (Search Functions): Document memrchr.
1999-10-04 05:13:05 +00:00
Roland McGrath 50b076f4dd 1999-09-18 Roland McGrath <roland@baalperazim.frob.com>
* sysdeps/mach/hurd/wait4.c (__wait4): When proc_wait returns EAGAIN,
	return zero to indicate no children died yet (assuming WNOHANG).

	* sysdeps/mach/hurd/setsid.c: #include <hurd/fd.h>.

1999-09-17  Roland McGrath  <roland@baalperazim.frob.com>

	* hurd/port2fd.c (_hurd_port2fd): Never change CTTYID port.

	* sysdeps/mach/hurd/setsid.c (__setsid): Fix return type -> pid_t.
	Return _hurd_pgrp instead of 0.
1999-09-19 20:46:22 +00:00
Roland McGrath 55ffcab7b6 * sysdeps/mach/hurd/brk.c (_hurd_set_brk): Deallocate and reallocate
pages rather than just reprotecting them.  This way we don't hold on
	to the backing space.
1999-09-19 20:40:43 +00:00
Roland McGrath 349447daaf 1999-09-19 Roland McGrath <roland@baalperazim.frob.com>
* hurd/hurdprio.c (_hurd_priority_which_map): Rearrange the code a bit.
	Use __munmap instead of __vm_deallocate.

	(_hurd_priority_which_map):
1999-09-19 05:42:21 +00:00
Roland McGrath aefc5849d2 1999-09-19 Roland McGrath <roland@baalperazim.frob.com>
* hurd/hurdprio.c (_hurd_priority_which_map): Rearrange the code a bit.
	Use __munmap instead of __vm_deallocate.
1999-09-19 05:42:05 +00:00
Roland McGrath f7db9ce5e1 add missing #include <unistd.h> 1999-09-05 08:51:02 +00:00
Roland McGrath 9024032c43 1999-09-05 Roland McGrath <roland@baalperazim.frob.com>
* hurd/hurdprio.c (_hurd_priority_which_map): If WHO is zero default
	it to getpid () for PRIO_PROCESS, geteuid () for PRIO_USER.
1999-09-05 08:45:28 +00:00
Roland McGrath 1a658b79cf 1999-09-05 Roland McGrath <roland@baalperazim.frob.com>
* hurd/hurdprio.c (_hurd_priority_which_map): If WHO is zero default
	it to getpid () for PRIO_PROCESS, geteuid () for PRIO_USER.
1999-09-05 08:44:50 +00:00
Roland McGrath a41301f038 1999-08-23 Mark Kettenis <kettenis@gnu.org>
* hurd/hurdsig.c (_hurd_internal_post_signal): Add missing else.

	* stdio-common/Makefile: Move addition to routines to the right place.
1999-08-23 21:06:00 +00:00
Roland McGrath 09d434dfc6 1999-08-23 Mark Kettenis <kettenis@gnu.org>
* hurd/hurdsig.c (_hurd_internal_post_signal): Add missing else.
1999-08-23 20:53:42 +00:00
Roland McGrath dc32a7c4b2 1999-08-22 Mark Kettenis <kettenis@gnu.org>
* hurd/new-fd.c (_hurd_new_fd): Initialize fcntl flags.
	* hurd/port2fd.c (_hurd_port2fd): Reset the fcntl flags when
	installing PORT in the descriptor cell.

1999-08-19  Roland McGrath  <roland@baalperazim.frob.com>

	* sysdeps/mach/hurd/i386/intr-msg.h (INTR_MSG_TRAP): Mark OPTION and
	TIMEOUT as outputs of the asm to indicate that the signal thread
	might mutate them.
	* hurd/intr-msg.c (_hurd_intr_rpc_mach_msg): Short circuit to plain
	mach_msg if only sending or only receiving (i.e., not an RPC).  When
	making an RPC that might get interrupted, save OPTION and the portion
	of the message buffer that gets clobbered by an EINTR reply message,
	and properly restore them before attempting to retry the request
	message send.
1999-08-22 22:28:03 +00:00
Roland McGrath 38e30b398a 1999-08-19 Roland McGrath <roland@baalperazim.frob.com>
* sysdeps/mach/hurd/i386/intr-msg.h (INTR_MSG_TRAP): Mark OPTION and
	TIMEOUT as outputs of the asm to indicate that the signal thread
	might mutate them.
	* hurd/intr-msg.c (_hurd_intr_rpc_mach_msg): Short circuit to plain
	mach_msg if only sending or only receiving (i.e., not an RPC).  When
	making an RPC that might get interrupted, save OPTION and the portion
	of the message buffer that gets clobbered by an EINTR reply message,
	and properly restore them before attempting to retry the request
	message send.
1999-08-22 22:23:58 +00:00
Roland McGrath 549c48e737 1999-07-31 Roland McGrath <roland@baalperazim.frob.com>
* hurd/intr-msg.c (_hurd_intr_rpc_mach_msg): Fix msgt_size member
	initializer in CHECK: a bit size, not the type code repeated!
1999-08-01 02:43:05 +00:00
Roland McGrath a606ab4c89 1999-07-31 Roland McGrath <roland@baalperazim.frob.com>
* hurd/intr-msg.c (_hurd_intr_rpc_mach_msg): Fix msgt_size member
	initializer in CHECK: a bit size, not the type code repeated!
1999-08-01 02:41:04 +00:00
Roland McGrath 50d3390d3b 1999-07-27 Mark Kettenis <kettenis@gnu.org>
* sysdeps/mach/hurd/i386/init-first.c (init): Move the inline
	assembler code to switch stacks and call init1 outside this
	function.  Inside `init' the code was optimized away by gcc
	2.95 since it was "clearly" unreachable.
	* sysdeps/mach/hurd/i386/trampoline.c (_hurd_setup_sighandler):
	Do something similar for the trampoline code.
1999-07-29 18:35:29 +00:00
Roland McGrath 83ddec31c6 1999-07-27 Mark Kettenis <kettenis@gnu.org>
* sysdeps/mach/hurd/i386/init-first.c (init): Move the inline
	assembler code to switch stacks and call init1 outside this
	function.  Inside `init' the code was optimized away by gcc
	2.95 since it was "clearly" unreachable.
	* sysdeps/mach/hurd/i386/trampoline.c (_hurd_setup_sighandler):
	Do something similar for the trampoline code.
1999-07-28 18:19:47 +00:00
Roland McGrath ed664e8e4f 1999-07-26 Roland McGrath <roland@baalperazim.frob.com>
* hurd/hurdprio.c (_hurd_priority_which_map): Initialize PIDS.
	Fix from Marcus Brinkmann <Marcus.Brinkmann@ruhr-uni-bochum.de>.
1999-07-26 23:31:14 +00:00
Roland McGrath 70aabf757c 1999-07-26 Roland McGrath <roland@baalperazim.frob.com>
* hurd/hurdprio.c (_hurd_priority_which_map): Initialize PIDS.
	Fix from Marcus Brinkmann <Marcus.Brinkmann@ruhr-uni-bochum.de>.
1999-07-26 23:28:24 +00:00
Roland McGrath 05a6acd0b0 (OLCUC): use 1<<9, since that's what hurd is already using 1999-07-24 00:18:21 +00:00