Commit Graph

68 Commits

Author SHA1 Message Date
Roland McGrath
b18c76e9f5 (_hurd_intr_rpc_mach_msg): Clear SS->intr_port when cancelled before RPC. 1996-02-01 01:08:12 +00:00
Roland McGrath
01cdeca0c9 Tue Jan 30 13:32:05 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* dirent/scandir.c: Allocate dirents with correct size for name, and
	copy with correct size.

	* hurd/hurdinit.c [! PIC] (map0): New function, on _hurd_preinit_hook.

	* stdio-common/vfscanf.c (TYPEMOD): New macro of all type modifier
	flag bits.
	(__vfscanf): Fix checking of extra type modifiers.

	* time/asia, time/australasia, time/backward: Updated from ADO 96b.

Tue Jan 30 12:17:26 1996  Ulrich Drepper  <drepper@ipd.info.uni-karlsruhe.de>

	* stdlib/strtod.c: Only negate exponent when there really is one.

	* stdio-common/vfscanf.c: Accept type modifiers on %n.
	Fix FP number parsing.
1996-01-31 10:00:24 +00:00
Roland McGrath
dc825f85f4 Sun Jan 28 17:25:38 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* setjmp/setjmp.h (jmp_buf): Give a tag in the struct defn, to
	make C++ happy.
	* alpha/jmp_buf.h: Likewise.
	* m68k/jmp_buf.h: Likewise.
	* mips/jmp_buf.h: Likewise.
	* sparc/jmp_buf.h: Likewise.
	* vax/jmp_buf.h: Likewise.
Sun Jan 28 17:25:38 1996  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* setjmp/setjmp.h (jmp_buf): Give a tag in the struct defn, to
	make C++ happy.
	* alpha/jmp_buf.h: Likewise.
	* m68k/jmp_buf.h: Likewise.
	* mips/jmp_buf.h: Likewise.
	* sparc/jmp_buf.h: Likewise.
	* vax/jmp_buf.h: Likewise.

	* sysdeps/generic/memmem.c: Fix return value in case where
	NEEDLE_LEN==0.

	* hurd/hurdlookup.c (__file_name_lookup_under,
	__file_name_lookup): Restrict mode with umask.
	* sysdeps/mach/hurd/xmknod.c: Restrict mode with umask.
	* sysdeps/mach/hurd/mkdir.c: Restrict mode with umask.
1996-01-28 22:47:31 +00:00
Roland McGrath
1d8dc4293f Mon Jan 22 10:40:40 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/posix/getcwd.c [__GNU_LIBRARY__]: Include unistd.h.

	* io/fts.h (FTSENT): Define fts_compar member with prototype.

	* hurd/hurd.h: Use prototype in getcttyid decl.

	* stdlib/l64a.c: Fix typo in last change.

	* stdlib/drand48-iter.c: Test limits.h macros instead of sizeof
	for determining size of types.
	* stdlib/srand48_r.c: Likewise.

	* misc/utmp.h: Declare login, logout, logwtmp.
	* misc/logout.c: Declare argument as pointer to const.
	* misc/login.c: Likewise.
	* misc/logwtmp.c: Likewise.
	Include time.h, string.h.

	* misc/efgcvt_r.c: Include stdlib.h.

	* io/mknod.c: Include sys/types.h.

	* gmon/sys/gmon.h: Declare monstartup, _mcleanup.

	* csu/gmon-start.c (_start, etext): Declare with prototypes.

	* stdio-common/vfscanf.c (%[): Fix range handling.
1996-01-23 10:00:23 +00:00
Roland McGrath
7974fe2117 Thu Jan 4 11:35:18 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/mach/hurd/setitimer.c: Code rearranged a bit to use new
	preemption interface.

	* sysdeps/mach/hurd/i386/trampoline.c (_hurd_setup_sighandler):
	Use _hurdsig_catch_memory_fault.

	* hurd/Makefile (headers): Add hurd/sigpreempt.h.
	(sig): Add catch-signal.

	* hurd/hurdfault.c (_hurdsig_fault_catch_exception_raise):
	Rewritten using a preempter in new interface.
	* hurd/hurdfault.h (_hurdsig_catch_fault): Likewise.
	(_hurdsig_catch_memory_fault): New macro.
1996-01-04 17:00:45 +00:00
Roland McGrath
fb8e70d6dd Wed Jan 3 20:23:42 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* hurd/catch-signal.c: New file.

	* hurd/intr-msg.c: When restarting RPC, fetch a new reply port.

	* hurd/hurdsig.c: Use new hurdfault.h interface.
	(abort_all_rpcs): Mutate return value to EINTR in threads whose
	replies we will wait for.

	* hurd/hurdkill.c (_hurd_sig_post): When doing pgrp, make sure we
	do ourselves last.

Wed Jan  3 19:17:10 1996  Miles Bader  <miles@gnu.ai.mit.edu>

	* sysdeps/mach/hurd/access.c (__access): Put the uid/gid arguments
	to auth_makeauth() in the right order.

Wed Jan  3 17:19:04 1996  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* sysdeps/generic/strsep.c: Rewritten.

	* sysdeps/mach/hurd/fork.c: Use a different workaround for the
 	suspended page fault deadlock kernel bug: thread_abort our signal
 	thread first thing after proc_dostop.

	* sysdeps/mach/hurd/setgid.c: Rewrote gid frobnication to
	recognize rootness properly.

	* hurd/hurdsig.c: Use new signal preemption interface.
1996-01-04 10:00:22 +00:00
Roland McGrath
67f27f3a02 (_hurd_sig_post): When doing pgrp, make sure we do ourselves last. 1996-01-04 01:23:21 +00:00
Roland McGrath
6df1b2474a Rewritten. 1996-01-04 00:06:01 +00:00
Roland McGrath
71733723fb * hurd/hurd/signal.h (struct hurd_sigstate): New member `preempters'.
(hurd_preempt_signals, hurd_unpreempt_signals): Decls removed.
	* hurd/hurd/sigpreempt.h: New file.
	* hurd/preempt-sig.c: Rewritten with new interface.
	* sysdeps/mach/hurd/jmp-unwind.c (_longjmp_unwind): Remove local signal
	preempters being unwound past.

	* db: New directory, 4.4 BSD db package incorporated from BSD db-1.85
	release.

	* sysdeps/unix/sysv/linux/sys/param.h: Several new macros for BSD
	compatibility.
1996-01-02 08:57:42 +00:00
Roland McGrath
0a95f04d06 Thu Dec 28 10:21:35 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/generic/confname.h: Define all names as self-referential
	macros so #ifdef works.

	* hurd/preempt-sig.c (hurd_unpreempt_signals): Remove bogus asgnmt
	of _hurd_signal_preempters[SIGNO].
1995-12-29 10:00:22 +00:00
Roland McGrath
f94a3574d5 Tue Dec 19 17:00:42 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* hurd/hurdpid.c (_S_msg_proc_newids): Only run the hook when the
	pgrp changes.
1995-12-20 10:00:22 +00:00
Roland McGrath
6a7169a509 (_hurd_internal_post_signal: suspend): Reply after aborting RPCs but before calling proc_mark_stop. 1995-12-14 03:05:50 +00:00
Roland McGrath
787e4db95c Fri Dec 8 13:04:51 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* locale/error.c, locale/error.h: Files removed.
	* locale/Makefile (distribute): Remove error.h.
	(lib-modules): Remove error.

	* hurd/hurdlookup.c (__hurd_file_name_lookup_retry): For "tty"
	magic, return ENXIO if no ctty.

	* sysdeps/mach/hurd/mmap.c: For MAP_FIXED, deallocate a previous
	mapping if vm_map fails for that reason.

	* posix/glob.c: Implement new options GLOB_ALTDIRFUNC, GLOB_BRACE,
	GLOB_TILDE, GLOB_NOMAGIC.
	(glob): Use stat instead of lstat to determine directoriness.
	* posix/glob.h (GLOB_ALTDIRFUNC, GLOB_BRACE, GLOB_NOMAGIC, GLOB_TILDE):
	New flag bits.
	(__GLOB_FLAGS): Include them.
	(glob_t): New members gl_closedir, gl_readdir, gl_opendir, gl_lstat,
	gl_stat.

	* elf/elf.h (ET_NUM, SHT_NUM, STB_NUM, STT_NUM, PT_NUM): New macros.

	* sysdeps/unix/sysv/linux/sys/mman.h: Include <linux/mman.h> to
	define all the bit values.
	(MAP_*, MCL_*): Macros removed.
1995-12-09 10:00:22 +00:00
Roland McGrath
1a3a58fd76 Tue Nov 21 14:12:13 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* malloc/malloc.c (align): Don't check contiguity and call abort.

	* hurd/hurdsig.c (post_reply): Function removed.
	(abort_thread, abort_all_rpcs, _hurdsig_abort_rpcs): Don't call it.
	Take single callback fn arg instead of reply port and type.
	(_hurd_internal_post_signal): Callers changed.
	Cache reply stub fn ptr in local var before UNTRACED might be changed.

	* sysdeps/mach/hurd/mmap.c: Cope with a null write memobj for
	PROT_READ|PROT_WRITE copy mapping.  Pass a proper vm_inherit_t to
	vm_map.

	* elf/rtld.c (_dl_start): For --list, do output and exit before
	relocating.
1995-11-22 10:00:23 +00:00
Roland McGrath
96aa2d94a2 Sat Nov 18 16:46:01 1995 Ulrich Drepper <drepper@gnu.ai.mit.edu>
* libio/Makefile, libio/cleanup.c, libio/clearerr.c, libio/feof.c,
	libio/ferror.c, libio/fgetc.c, libio/filedoalloc.c, libio/fileno.c,
	libio/fileops.c, libio/fputc.c, libio/freopen.c, libio/fseek.c,
	libio/genops.c, libio/getc.c, libio/getchar.c, libio/iofclose.c,
	libio/iofdopen.c, libio/iofflush.c, libio/iofgetpos.c, libio/iofgets.c,
	libio/iofopen.c, libio/iofprintf.c, libio/iofputs.c, libio/iofread.c,
	libio/iofscanf.c, libio/iofsetpos.c, libio/ioftell.c, libio/iofwrite.c,
	libio/iogetdelim.c, libio/iogetline.c, libio/iogets.c, libio/iolibio.h,
	libio/iopadn.c, libio/ioprims.c, libio/ioputs.c, libio/ioseekoff.c,
	libio/ioseekpos.c, libio/iosetbuffer.c, libio/iosetvbuf.c,
	libio/iosprintf.c, libio/ioungetc.c, libio/iovsprintf.c,
	libio/iovsscanf.c, libio/libio.h, libio/libioP.h, libio/putc.c,
	libio/putchar.c, libio/rewind.c, libio/setbuf.c, libio/setlinebuf.c,
	libio/stdfiles.c, libio/stdio.c, libio/stdio.h, libio/strfile.h,
	libio/strops.c, libio/vasprintf.c, libio/vscanf.c, libio/vsnprintf.c:
	New files.  Slightly modified version from Linux libc.

	* libio/memstream.c, libio/vdprintf.c: New files for functions not
	(yet) part of GNU libio.

	* libio/iofopncook.c: Implementation of `fopencookie', mainly written
	by Per Bothner.

	* stdio-common/getline.c: Adapted to libio.
	* stdio-common/snprintf.c: Adapted to libio.
	* stdio-common/vfprintf.c: Adapted to libio.
	* stdio-common/vfscanf.c: Adapted to libio.
	* sysdeps/posix/tempname.c: Adapted to libio.
1995-11-20 03:48:11 +00:00
Roland McGrath
a5a81fecc7 Fri Nov 17 17:57:00 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/generic/Makefile (make_siglist): Add missing backslash.

	* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start_cleanup): New
	function.

	* hurd/hurdfault.c: Replace __libc_fatal calls with assert_perror.
	(_hurdsig_fault_init): Remove #if 0 from setting exception port.
	Insert send right for SIGEXC before thread_set_special_port.
	* hurd/hurdsig.c: Replace __libc_fatal calls with assert_perror.
	(_hurdsig_init): Remove #if 0 from setting exception port.

	* sysdeps/mach/hurd/ptrace.c (ptrace: PTRACE_CONT): Use
	HURD_MSGPORT_RPC macro.
1995-11-18 10:00:22 +00:00
Roland McGrath
accc07a981 * malloc/malloc.c (align): Assert that space for alignment
adjustment is same original space.

	* hurd/hurdprio.c (_hurd_priority_which_map): Cast vm_deallocate
	arg to vm_address_t.
1995-11-11 10:01:11 +00:00
Roland McGrath
75914335da Fri Nov 10 14:15:21 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* hurd/hurdsig.c (_hurd_internal_post_signal): For SIGNO == 0,
	skip straight to pending check.  When UNTRACED, resume process
	from suspension first.

	* intl/Makefile (headers): New variable, libintl.h.
	[gettext-srcdir]: New rules to copy source from $(gettext-srcdir)/intl.
	* configure.in: Check for --with-gettext arg.

Fri Nov 10 13:51:30 1995  Richard Stallman  <rms@gnu.ai.mit.edu>

	* malloc/malloc.c (get_contiguous_space): New function.
	(morecore): Rewrite allocating new malloc info table.
	(_malloc_internal): Use get_contiguous_space.

Fri Nov 10 13:03:40 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* hurd/hurdexec.c (_hurd_exec): If exec'ing self, pass
	_hurd_msgport to be destroyed.

	* Makerules (installed-libcs): Filter out %_pic.a.

	* hurd/hurdinit.c (_hurd_proc_init): When traced, use msg_sig_post
	to our msgport to take SIGTRAP, instead of _hurd_raise_signal.

	* hurd/Makefile (user-interfaces): Add hurd/process_request.
1995-11-10 20:38:31 +00:00
Roland McGrath
853f0eead1 Fri Nov 3 17:27:49 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/mach/hurd/sendto.c: Don't pass BINDING arg to
	socket_create_address.
	* sysdeps/mach/hurd/connect.c: Likewise.
	* sysdeps/mach/hurd/bind.c: Likewise.

	* hurd/hurdprio.c (_hurd_priority_which_map): Pass threadwaits
	args to proc_getprocinfo.
	* sysdeps/mach/hurd/getpriority.c: Likewise.

	* hurd/hurdmsg.c (_S_msg_report_wait): New stub function.
1995-11-03 22:42:06 +00:00
Roland McGrath
80b55d320b * sysdeps/mach/hurd/getpriority.c (getpriority): Pass
PI_FETCH_TASKINFO to proc_getprocinfo and through
	_hurd_priority_which_map.

	* sysdeps/mach/hurd/setpriority.c (setpriority): Pass new arg to
	_hurd_priority_which_map.
	* hurd/hurdprio.c (_hurd_priority_which_map): New arg PI_FLAGS,
	passed through to proc_getprocinfo RPC.
	* hurd/hurd/resource.h: Add PI_FLAGS arg in decl.
1995-11-01 10:00:20 +00:00
Roland McGrath
f44f9c33df * stdio/stdio.h (sys_errlist, _sys_errlist): Declare const. 1995-10-26 03:38:19 +00:00
Roland McGrath
03a7582576 * sysdeps/unix/sysv/linux/i386/sysdep.h (SYSCALL_ERROR_HANDLER):
New macro.
	(PSEUDO): Use it instead of SYSCALL_PIC_SETUP and jmp syscall_error.

	* sysdeps/unix/sysv/linux/i386/sysdep.S (__syscall_error): Define
	only #ifndef PIC.

	* Makeconfig (built-program-cmd): New variable.
	* sunrpc/Makefile (rpcgen-cmd): Use $(built-program-cmd).
	* time/Makefile (zic-cmd): Likewise.

	* hurd/Makefile (user-interfaces): Add hurd/exec_startup.
1995-10-25 02:19:39 +00:00
Roland McGrath
4d049a8baa Wed Oct 18 03:33:22 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/generic/_strerror.c: Declare _sys_errlist and _sys_nerr.

	* hurd/hurdlookup.c (__hurd_file_name_lookup_retry): For magic
	`fd/', pass the right pointer to strtol to parse the number.
1995-10-18 07:36:16 +00:00
Roland McGrath
cabcc273c2 Tue Oct 17 23:00:10 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/mach/_strerror.c: Include stdio-common/_itoa.h instead
	of stdio/_itoa.h.

Tue Oct 17 19:51:17 1995  Ulrich Drepper  <drepper@ipd.info.uni-karlsruhe.de>

	* sysdeps/unix/sysv/linux/i386/stat.S [PIC] (__stat): Set GOT
	register %ebx before calling __xstat through PLT.

	* sysdeps/unix/sysv/linux/i386/sysdep.S: Fix typo in comment.

	* sysdeps/unix/sysv/linux/sigset.h: Remove file.

	* hurd/hurdsock.c: Include stdio-common/_itoa.h instead of
	stdio/_itoa.h.
	* hurd/hurdlookup.c: Likewise.
1995-10-18 05:47:53 +00:00
Roland McGrath
f2149f697a * hurd/hurd/signal.h: Declare hurd_preempt_signals and
hurd_unpreempt_signals.

	* stdio/stdio.h: Declare __snprintf and __vsnprintf.
1995-10-17 09:00:50 +00:00
Roland McGrath
924b9ff68d Mon Oct 16 03:22:37 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/mach/hurd/getcwd.c: Use __file_name_lookup_under.
	* sysdeps/mach/hurd/bind.c: Likewise.
	* sysdeps/mach/hurd/access.c: Use new __hurd_file_name_lookup
	calling convention.

	* hurd/hurdexec.c: Undo last change (10 Oct 95).
1995-10-16 07:29:08 +00:00
Roland McGrath
2948fc64a6 * hurd/hurd/lookup.h: New file.
* hurd/hurdlookup.c (__file_name_lookup_under): New function.
	(__hurd_file_name_lookup, __hurd_file_name_lookup_retry,
	__hurd_file_name_split): Rewritten to take callback functions for
	using any needed init or dtable port, instead of passing in crdir
	and cwdir ports.  
	(__file_name_lookup, __file_name_split): Use new calling
	convention; pass _hurd_ports_use and __getdport as the callback
	functions. 

	* sysdeps/mach/hurd/chroot.c: Use __file_name_lookup_under instead
	of __hurd_file_name_lookup.
	* sysdeps/mach/hurd/chdir.c: Likewise.
	* sysdeps/mach/hurd/fchdir.c: Likewise.
	* hurd/fchroot.c: Likewise.
1995-10-16 02:51:06 +00:00
Roland McGrath
8f5ca04bc7 Sat Oct 14 02:52:36 1995 Ulrich Drepper <drepper@ipd.info.uni-karlsruhe.de>
* malloc/malloc.c (_malloc_internal): Performance fix.  Move
	if statement out of loop.

	* stdio/_itoa.c, stdio/_itoa.h: Complete rewrite.  Much faster
	implementation using GMP functions.  Contributed by
	Torbjorn Granlund and Ulrich Drepper.

	* stdio/test_rdwr.c: Include <errno.h>.

	* sysdeps/i386/i586/Implies: New file.

	New highly optimized string functions for i[345]86.
	* sysdeps/i386/memchr.S, sysdeps/i386/memcmp.S: New files.
        * sysdeps/i386/stpcpy.S, sysdeps/i386/stpncpy.S: New files.
        * sysdeps/i386/strchr.S, sysdeps/i386/strcspn.S: New files.
        * sysdeps/i386/strpbrk.S, sysdeps/i386/strrchr.S: New files.
        * sysdeps/i386/strspn.S, sysdeps/i386/i486/strcat.S: New files.
        * sysdeps/i386/i486/strlen.S, sysdeps/i386/i586/strchr.S: New files.
        * sysdeps/i386/i586/strlen.S: New file.
	* sysdeps/i386/memchr.c: Removed.  There is now an assembler version.

	* sysdeps/i386/i586/memcopy.h (WORD_COPY_BWD): Parameters did
	not correspond to used values.

	* sysdeps/unix/sysv/linux/nfs/nfs.h: New file.  Simply a wrapper
        around a kernel header file.
	* sysdeps/unix/sysv/linux/Dist: Add it.
	* sysdeps/unix/sysv/linux/Makefile [$(subdir)=sunrpc] (headers):
	Likewise.

	* sysdeps/unix/sysv/linux/local_lim.h: Rewrite.  Instead of
        defining ourself we use a kernel header file.

	* sysdeps/unix/sysv/linux/i386/sysdep.h (DO_CALL): Optimize system
        call handler for i586.

	* sysdeps/unix/sysv/linux/sys/param.h: Add copyright and clean up.
Sat Oct 14 02:52:36 1995  Ulrich Drepper  <drepper@ipd.info.uni-karlsruhe.de>

	* malloc/malloc.c (_malloc_internal): Performance fix.  Move
	if statement out of loop.

	* stdio/_itoa.c, stdio/_itoa.h: Complete rewrite.  Much faster
	implementation using GMP functions.  Contributed by
	Torbjorn Granlund and Ulrich Drepper.

	* stdio/test_rdwr.c: Include <errno.h>.

	* sysdeps/i386/i586/Implies: New file.

	New highly optimized string functions for i[345]86.
	* sysdeps/i386/memchr.S, sysdeps/i386/memcmp.S: New files.
        * sysdeps/i386/stpcpy.S, sysdeps/i386/stpncpy.S: New files.
        * sysdeps/i386/strchr.S, sysdeps/i386/strcspn.S: New files.
        * sysdeps/i386/strpbrk.S, sysdeps/i386/strrchr.S: New files.
        * sysdeps/i386/strspn.S, sysdeps/i386/i486/strcat.S: New files.
        * sysdeps/i386/i486/strlen.S, sysdeps/i386/i586/strchr.S: New files.
        * sysdeps/i386/i586/strlen.S: New file.
	* sysdeps/i386/memchr.c: Removed.  There is now an assembler version.

	* sysdeps/i386/i586/memcopy.h (WORD_COPY_BWD): Parameters did
	not correspond to used values.

	* sysdeps/unix/sysv/linux/nfs/nfs.h: New file.  Simply a wrapper
        around a kernel header file.
	* sysdeps/unix/sysv/linux/Dist: Add it.
	* sysdeps/unix/sysv/linux/Makefile [$(subdir)=sunrpc] (headers):
	Likewise.

	* sysdeps/unix/sysv/linux/local_lim.h: Rewrite.  Instead of
        defining ourself we use a kernel header file.

	* sysdeps/unix/sysv/linux/i386/sysdep.h (DO_CALL): Optimize system
        call handler for i586.

	* sysdeps/unix/sysv/linux/sys/param.h: Add copyright and clean up.
1995-10-16 01:37:51 +00:00
Roland McGrath
8e3cc80f6d Tue Oct 10 23:08:53 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* Makerules (build-shlib): Pass -rpath and -rpath-link options.
	(LDFLAGS-c.so): Don't pass -dynamic-linker here.
	* Makeconfig (+link): Pass $(sysdep-LDFLAGS).
	(link-libc): Pass -rpath and -rpath-link options.

	* MakeTAGS (all-dirs): Omit CVS directories.
	Specify vpath directives to find source files in $(all-dirs).
	(sources, headers): Append sources and headers from $(all-dist) to
	these. 
	(all-dist): Filter them out of this.
	(all-headers, all-sources): Use $(shell find ...) instead of
	$(wildcard ...).

	* sysdeps/mach/hurd/Makefile (sysdep-LDFLAGS): New variable; pass
	-rpath-link.

	* hurd/hurdexec.c: Pass poly and dealloc args to __file_exec.

	* elf/Makefile (install-others): Add missing $.

	* mach/Makefile ($(objpfx)errsystems.c): Rule reenabled.
1995-10-11 03:34:46 +00:00
Roland McGrath
b122c7038e Mon Oct 9 02:54:14 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* Makeconfig (config-LDFLAGS): Define to
	-Wl-dynamic-linker=$(libdir)$(rtld-installed-name).
	(rtld-installed-name): New variable.
	* elf/Makefile (install-lib): Variable removed.
	(install-others): Define this instead, to
	$(libdir)(rtld-installed-name). 
	($(libdir)(rtld-installed-name)): New target; install from ld.so.

	* elf/ldd.sh.in: New file.
	* elf/Makefile (distribute): Add ldd.sh.in.
	(install-bin): Add ldd.
	($(objpfx)ldd: ldd.sh.in): New rule.

	* sysdeps/mach/hurd/dl-sysdep.c: Use __hurd_fail throughout.
	* hurd/hurd.h (__hurd_fail): Replace macro with inline function.
	Translate some Mach errors to Hurd errors.

	* elf/rtld.c (dl_main): Under --list, print msg if executable is
	statically linked.

	* elf/dl-load.c (_dl_map_object_from_fd): Rewrote program header
	table processing.

Sat Oct  7 01:25:48 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* sysdeps/stub/machine-gmon.h: Add #error.

Fri Oct  6 01:49:48 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* elf/dynamic-link.h (elf_get_dynamic_info): If DYN is null, don't
	examine it.
1995-10-09 07:06:29 +00:00
Roland McGrath
600927014b Wed Sep 20 18:02:03 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* locale/locale.c: Include errno.h.
	* locale/localedef.c: Likewise.

Tue Sep 19 00:02:06 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* Makefile (distclean-1): Remove config.cache, config.log, config.h.
	(parent-mostlyclean): Remove all flavors of the parent library.

	* misc/mntent.c (getmntent): Skip multiple whitespace chars
	between fields.

	* hurd/hurdstartup.c (_hurd_startup): If RPC returns
	EXEC_STACK_ARGS flag, get args from stack.
	If args on stack but have info from RPC, relocate args on stack to make
	space for struct hurd_startup_data.

	* elf/dl-object.c: Include errno.h.
	* posix/execvp.c: Likewise.
	* dirent/scandir.c: Likewise.
	* sysdeps/posix/system.c: Likewise.
	* sysdeps/generic/setenv.c: Likewise.
	* stdlib/msort.c: Likewise.
	* stdio/memstream.c: Likewise.
	* stdio/fclose.c: Likewise.
	* stdio/getdelim.c: Likewise.
	* stdio/setvbuf.c: Likewise.
	* sysdeps/ieee754/ldexp.c: Likewise.
	* locale/locfile-parse.c: Likewise.

	* stdlib/lcong48_r.c: Don't check for null argument; let it fault.
	* stdlib/seed48_r.c: Likewise.
	* stdlib/srand48_r.c: Likewise.
	* stdlib/jrand48_r.c: Likewise.
	* stdlib/nrand48_r.c: Likewise.

	* misc/search.h: Many decls for hsearch functions.
1995-09-21 04:01:40 +00:00
Roland McGrath
aa9109070f Mon Sep 18 01:58:40 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* Makefile (subdirs): Add sysvipc.

	* stdlib/srand48_r.c (srand48_r): Use UL suffix for huge constant.
	* stdlib/drand48-iter.c (__drand48_iterate): Likewise.

	* hurd/hurdlookup.c (__hurd_file_name_lookup_retry): Call
	 __file_set_size instead of __file_truncate.

	* features.h (__USE_REENTRANT): New macro.
1995-09-18 09:00:07 +00:00
Roland McGrath
9fd18b6c1b Fri Sep 15 21:34:28 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* hurd/hurdsig.c: Include <hurd/crash.h> in place of <hurd/core.h>.
	(write_corefile): Call __crash_dump_task instead of __core_dump_task.
	Use envariable CRASHSERVER instead of CORESERVER.
	* hurd/Makefile (user-interfaces): Replace hurd/core with hurd/crash.
1995-09-17 19:29:59 +00:00
Roland McGrath
44c8d1a2a8 Fri Sep 1 16:16:12 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* libc-symbols.h (link_warning): Take new first arg SYMBOL; ask
	for a warning on references to that specific symbol, not the
	entire containing object file.
	(stub_warning): Pass symbol name to link_warning.
	* stdio/gets.c: Pass function name in link_warning invocation.

	* hurd/intr-msg.c: Treat apparent EINTR return from msg trap like
	MACH_SEND_INTERRUPTED.  That indicates interrupt_operation was
	sent, but failed.

	* stdlib/msort.c: Include memcopy.h.
	(msort_with_tmp): If operating on aligned op_t words, use direct word
	fetches and stores.

	* sysdeps/i386/dl-machine.h (ELF_MACHINE_BEFORE_RTLD_RELOC): Add
	missing backslash.
1995-09-01 22:25:08 +00:00
Roland McGrath
a993273c0d Wed Aug 30 16:44:55 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/mach/hurd/select.c: Deal with out of order replies
	during io_select request loop.
	Handle MACH_RCV_TIMED_OUT error from requests.
	* hurd/intr-msg.c: If the user passed the MACH_RCV_TIMEOUT option,
	distinguish MACH_RCV_TIMED_OUT from EINTR.

	* posix/glob.c (glob): Use realloc to extend strings for GLOB_MARK
	slash.
	(glob_in_dir): Don't allocate extra byte here.

	* sysdeps/i386/dl-machine.h (ELF_MACHINE_BEFORE_RTLD_RELOC):
	Decrement the DT_RELSZ value for the skipped reloc.
1995-08-31 00:02:32 +00:00
Roland McGrath
7752137a6a Fri Aug 25 12:12:42 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/mach/hurd/mmap.c: Fix inverted test of MAP_FIXED.

	* stdio/vfscanf.c (number): Allow field width to inhibit first
	digit after base detection.

	* stdio/vfprintf.c (vfprintf: %s): Never search past the limit
	specified by the precision.

	* grp/grpread.c (__grpscan): New function.
	* grp/grp.h (__grpscan): Declare it.
	* grp/getgrgid.c: Use __grpscan.
	* grp/getgrnam.c: Likewise.
	* pwd/pwdread.c (__pwdscan): New function.
	* pwd/pwd.h (__pwdscan): Declare it.
	* pwd/getpwnam.c: Use __pwdscan.
	* pwd/getpwuid.c: Likewise.

Thu Aug 24 16:29:40 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* sysdeps/mach/hurd/mmap.c: Treat (FLAGS & MAP_TYPE) == 0 like
	MAP_FILE.

	* hurd/thread-cancel.c: Return EINTR when called on self.
	* sysdeps/i386/elf/start.S (data_start): Define as weak alias for
	__data_start.
1995-08-25 19:23:32 +00:00
Roland McGrath
3cf595e562 Tue Aug 22 16:49:12 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* inet/netdb.h: Moved to resolv.
	* inet/Makefile (headers): Remove netdb.h.
	* resolv/Makefile (headers): Add netdb.h.
	* resolv/gethnamaddr.c, resolv/inet_addr.c, resolv/netdb.h,
	resolv/res_send.c: Updated from BIND-4.9.3-BETA26.

	* hurd/thread-cancel.c: If SS->cancel_hook is not null, call it before
	resuming the thread.
	* hurd/hurd/signal.h (struct hurd_sigstate): New member `cancel_hook'.

	* hurd/Makefile: Removed dep on hurd/signal.h for RPC stub objects.

Mon Aug 21 16:37:09 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* sysdeps/i386/dl-machine.h (elf_machine_rel): Grok R_386_NONE
	relocs, and do nothing.  Why the linker generates them we may
	never know. 

	* sysdeps/mach/hurd/i386/intr-msg.h: New file.
1995-08-22 22:47:57 +00:00
Roland McGrath
207eb76afb (struct hurd_sigstate): New member `cancel_hook'. 1995-08-22 20:53:23 +00:00
Roland McGrath
86fe2915bb Removed dep on hurd/signal.h for RPC stub objects. 1995-08-22 20:48:46 +00:00
Roland McGrath
3fe9de0da5 Thu Aug 17 16:18:38 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* hurd/intr-msg.c: Use INTR_MSG_TRAP macro from machine-dependent
 	"intr-msg.h" for special syscall code, instead of i386-specific asm.
	* hurd/hurdsig.c: Use INTR_MSG_BACK_OUT macro from
 	machine-dependent "intr-msg.h" before mutating thread state to
 	skip RPC.

	* sysdeps/mach/hurd/i386/trampoline.c: If PC is inside
 	_hurd_intr_rpc_mach_msg special syscall code, use real SP saved in
	%ecx.

	* Makeconfig (link-libc): New variable; use shared library if
 	available.
	(+link): Use it.

	* sysdeps/mach/hurd/fork.c (_hurd_fork_locks): Variable removed.
  	Instead, declare with `symbol_set_declare'.
	(fork): Use symbol_set_* macros for _hurd_fork_locks.  
	Use SS->thread instead of __mach_thread_self ().  Suspend all
 	other threads during task_create and port copying.
1995-08-17 22:55:22 +00:00
Roland McGrath
191abc516c Wed Aug 16 17:04:26 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* hurd/intr-msg.c: Fixed calculation of syscall %esp.

Tue Aug 15 12:26:18 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* hurd/hurdsig.c (_hurdsig_abort_rpcs): Remove `static'.

	* hurd/Makefile (sig): Add intr-msg.
1995-08-17 09:00:05 +00:00
Roland McGrath
2f85f8807d (sig): Add intr-msg. 1995-08-15 16:25:22 +00:00
Roland McGrath
54da5be39c Mon Aug 14 16:51:13 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* hurd/thread-cancel.c: New file.
	* sysdeps/mach/hurd/i386/trampoline.c (_hurd_setup_sighandler): In
 	rpc_wait case, frob mach_msg args to set timeout on receive.
	(_hurdsig_rcv_interrupted_p): Function removed.
	* sysdeps/mach/hurd/alpha/trampoline.c: Likewise.
	* sysdeps/mach/hurd/hppa/trampoline.c: Likewise.
	* sysdeps/mach/hurd/mips/trampoline.c: Likewise.
	* hurd/intr-msg.c: New file.
	* hurd/hurd/signal.h (struct hurd_sigstate): New member `cancel'.
	(_hurdsig_rcv_interrupted_p): Declaration removed.
	(HURD_EINTR_RPC): Macro removed.
	(_hurd_longjmp_thread_state, _hurd_interrupted_rpc_timeout): Declare
	these.
	* hurd/intr-rpc.h: New file.
	* hurd/intr-rpc.defs: Just import intr-rpc.h.
	* hurd/hurdsig.c (_hurd_interrupted_rpc_timeout): New variable.
	(interrupted_reply_port_location): Take new flag arg; only catch
	faults if it's set.
	(abort_rpcs): Rename to _hurdsig_abort_rpcs; take same new flag arg.
	No longer use _hurdsig_rcv_interrupted_p; instead compare PC to
 	&_hurd_intr_rpc_msg_in_trap.  If before it, mutate state to simulate
 	MACH_SEND_INTERRUPTED return; on it, interrupt the operation.  All
 	callers changed.
	* hurd/hurd.h (hurd_thread_cancel, hurd_check_cancel): Declare these.
	* hurd/Makefile (distribute): Remove intr-rpc.awk.
	(sig): Add thread-cancel.
	(transform-user-stub, transform-user-stub-output): Variables removed.
	* sysdeps/mach/hurd/dl-sysdep.c: Change all RPCs from
 	`__hurd_intr_rpc_*' to `__*'.
	(_hurd_intr_rpc_mach_msg): New function.
	(_hurd_thread_sigstate): Function removed.
	* sysdeps/mach/hurd/ioctl.c: Use _hurd_intr_rpc_mach_msg function,
 	instead of __mach_msg inside HURD_EINTR_RPC macro.

	* sysdeps/generic/morecore.c [__GNU_LIBRARY__]: Declare `__sbrk'
 	to take ptrdiff_t arg.

	* sysdeps/mach/hurd/fork.c: Remove _hurd_longjmp_thread_state decl.

	* sysdeps/mach/hurd/kill.c (kill_pid): Don't make `inline'.

	* libc-symbols.h [GCC >= 2.7] (strong_alias, weak_symbol,
 	weak_alias): Use `extern' storage class.
1995-08-14 22:49:23 +00:00
Roland McGrath
6c1b5ea4c1 Remove _hurd_longjmp_thread_state decl. 1995-08-08 22:18:35 +00:00
Roland McGrath
d6e2f671f7 Wed Jun 14 03:45:24 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* stdio/stdio.h (__validfp): Use ({...}) rather than a comma
 	expression, to avoid gcc's "value computed is not used" warning.

	* libc-symbols.h (_elf_set_element): Give the set-element variable
 	an `unused' attribute.

	* hurd/hurd/threadvar.h (__hurd_threadvar_location): Declare with
 	__attribute__ ((__const__)).
	* hurd/hurd/signal.h (_hurd_self_sigstate): Likewise.

	* hurd/hurd/userlink.h (_hurd_userlink_link): Properly set
 	LINK->resource.next->resource.prevp when appropriate, not
 	LINK->resource.next->thread.prevp!!!
1995-06-14 17:15:57 +00:00
Roland McGrath
5e75b23212 (_hurd_userlink_link): Properly set LINK->resource.next->resource.prevp when appropriate, not LINK->resource.next->thread.prevp!!! 1995-06-14 07:44:21 +00:00
Roland McGrath
5bf62f2d3a Thu Jun 8 02:50:26 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* elf/rtld.c [! NDEBUG] (__assert_perror_fail): New function.

	* hurd/hurdstartup.c (_hurd_startup): Fancier kludge to guess phdr
 	and user entry point addresses.

	* elf/dl-load.c (open_path): Don't do strlen on DIRPATH if it's null.
	(_dl_map_object): DT_RPATH value is relative to DT_STRTAB value.

	* Makerules (install-lib.so): Don't include libc.so.
	[$(build-shared)=yes] (install): Depend on the installed libc.so file.
	[$(build-shared)=yes] (install-no-libc.a): Make this, rather than
	install, depend on the installed $(install-lib.so) files.
	[$(build-shared)=yes] (install-lib.so): Append libc.so after that rule.

	* sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_start): Add kludge to
 	allocate high addresses to avoid random mappings appearing there.
	(mmap): Comment out mask; always pass zero.

Tue Jun  6 13:34:53 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* sysdeps/i386/dl-machine.h (ELF_MACHINE_USER_ADDRESS_MASK): New macro.
	* sysdeps/mach/hurd/dl-sysdep.c (mmap): Use it as mask in vm_map call.

	* elf/dl-error.c (_dl_catch_error): Clear *ERRSTRING and *OBJNAME
 	when successful.

	* sysdeps/mach/hurd/dl-sysdep.c (threadvars): New static variable.
	(__hurd_threadvar_max, __hurd_threadvar_stack_offset): Define these
	variables, using the `threadvars' buffer.

	* elf/dl-reloc.c: Don't dereference L->l_prev when it's null.
	* sysdeps/i386/dl-runtime.c: Likewise.

	* elf/rtld.c (dl_main): Add missing NULL terminating argument in
 	_dl_sysdep_fatal call.
	(__assert_fail): Likewise.

	* locale/Makefile (localedef-modules): Renamed ctype to
 	locale-ctype so as not to conflict with the object file for
 	ctype/ctype.c in the build directory.

	* sysdeps/i386/dl-machine.h (elf_machine_rel): If MAP->l_type is
 	lt_interpreter, first undo relocation done during bootstrapping.
1995-06-08 09:00:23 +00:00
Roland McGrath
ded291197c Sun Jun 4 22:14:11 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* hurd/Makefile (sig): Added thread-self.
	* hurd/hurd.h: Declare hurd_thread_self.
	* hurd/thread-self.c: New file.

Thu Jun  1 12:17:52 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* elf/rtld.c: Initialize RTLD_MAP.l_type.
	* elf/dl-reloc.c (_dl_relocate_object): Clear LAZY if relocating
 	the dynamic linker itself.
1995-06-05 03:04:45 +00:00
Roland McGrath
7cc645ed27 Fri May 26 13:00:08 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* hurd/hurdsig.c (_hurd_internal_post_signal): Don't loop to check
 	pending signals if the thread is in a critical section.  It will
 	send us a msg when it finishes.

	* sysdeps/mach/hurd/pathconf.c: New file.
	* sysdeps/mach/hurd/fpathconf.c: New file.

	* sysdeps/mach/hurd/sigaction.c: Only notify the proc server for
 	SIGCHLD when the SA_NOCLDSTOP bit actually changes.
1995-05-27 07:18:52 +00:00
Roland McGrath
a2fe9c76a9 Fri May 19 17:16:46 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/mach/hurd/i386/init-first.c: In cthreads case, handle
 	args on stack from kernel.

	* posix/Makefile, sysdeps/alpha/Makefile,
	* sysdeps/mach/hurd/Makefile, sysdeps/sparc/Makefile, Makefile,
	* Makerules, Make-dist: Fix "cvs commit" cmds in rules to not fail
	in the absence of CVS dirs.

	* hurd/hurdstartup.c: Don't call __mach_init.  Grok args from the
 	kernel on the stack properly.

	* set-init.c: Never call _init/_fini; just run __libc_subinit.

	* Makerules (LDFLAGS-c.so): Add -nostartfiles.
	* mach/Machrules (LDFLAGS-$(interface.so)): Likewise.

	* configure.in: Move defaulting of --with-elf and --with-gnu-*
 	based on host os outside the AC_CACHE_VAL for the sysdirs
 	calculation.

	* Makeconfig (localedir, nlsdir): New variables.

	* values.h: New file.
	* Makefile (headers): Add values.h.

	* locale/Makefile (distribute): Add error.h.
	* locale/localedef.c: Include "error.h".
	(main): Use error_message_count instead of warning_cntr.
1995-05-20 00:13:43 +00:00