Commit Graph

173 Commits

Author SHA1 Message Date
Thomas Bushnell, BSG
acf51e0261 *** empty log message ***
Thu Sep  5 13:18:25 1996  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* sysdeps/mach/hurd/i386/init-first.c (__libc_argc, __libc_argv):
	New variables.
	(init1): Initialize them.
	* hurd/hurdinit.c (_hurd_setproc): Now that happens to be
	available, pass __libc_argv in call to __proc_set_arg_locations.

	* gmon/gmon.c (write_hist): Call __profile_frequency instead of
	hertz. 
	(hertz): Delete function.
	* gmon/Makefile (routines): Add `prof-freq'.
	* sysdeps/generic/prof-freq.c: New file.
	* sysdeps/mach/hurd/prof-freq.c: New (stubby) file.
	* sysdeps/mach/hurd/profil.c (profile_tick): New variable.
	(update_waiter): Store frequency in profile_tick.
	(__profile_frequency): New function.

	* sysdeps/mach/hurd/sendto.c (sendto): Use prototype definition
	syntax.

	* Rules (generated): Restore reference to $(generated).

	* mach/Machrules (mig.uh, mig.__h): Don't include $(user-MIGFLAGS)
	here. 

 	* malloc/free.c (free): __lib_malloc_lock -> __libc_malloc_lock.
	
	* malloc/free.c: Provide extern decl of __libc_malloc_lock.
	* malloc/realloc.c: Likewise.
	* malloc/malloc-find.c: Likewise.
	* malloc/malloc-size.c: Likewise.
	* malloc/malloc-walk.c: Likewise.
	* malloc/memalign.c: Likewise.

  	* mach/Machrules (mig.uh, mig.__h): Include $(user-MIGFLAGS) and
1996-09-06 00:08:55 +00:00
Thomas Bushnell, BSG
548330d38e *** empty log message *** 1996-08-26 17:39:10 +00:00
Roland McGrath
0e3426bbcf Tue May 7 19:00:01 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* string/argz-extract.c: Remove const from decl.
	* string/argz.h: Here too.

	* Makeconfig (version.mk): Fix regexp in sed cmd.
	Depend on $(..)Makeconfig.

	* GMP code updated from gmp-2.0 release.
	* stdlib/Makefile (mpn-routines): Removed add_1, added inlines.
	* sysdeps/generic/add_1.c: File removed.
	* stdlib/strtod.c: mp_limb is now mp_limb_t.
	* stdlib/fpioconst.c, stdlib/fpioconst.h: Likewise.
	* stdio-common/_itoa.c: Likewise.
	* stdio-common/printf_fp.c: Likewise.
	Don't include ansidecl.h.

	* sysdeps/mach/hurd/getcwd.c: Use io_identity instead of io_stat.

	* shlib-versions: New file.
	* Makerules (soversions.mk): New target, include file generated from
	shlib-versions.  Moved shared library rules before installation rules.
	Rewrote shared library installation rules for versioned libraries.
	* math/Makefile (libm.so-version): Variable removed.

	* sysdeps/mach/hurd/i386/exc2signal.c: Use struct hurd_signal_detail.

	* hurd/report-wait.c (_S_msg_describe_ports): New function.

	* configure.in: Add AC_PROG_LN_S check.
	* config.make.in (LN_S): New variable.

Sun May  5 03:10:44 1996  Ulrich Drepper  <drepper@cygnus.com>

	* misc/efgcvt_r.c (ecvt_r): Work aroung gcc bug.  gcc does
	not know about weak aliases now and optimizes necessary `if'
	statement away.

	* posix/unistd.h: Add swapoff prototype.

	* sysdeps/generic/confname.h: Add even more POSIX.4 symbols.

	* sysdeps/posix/fpathconf.c (__fpathconf): Get information
	for _PC_PATH_MAX from fstatfs function if available.

	* sysdeps/posix/sysconf.c: Add code to handle _SC_AIO_LISTIO_MAX,
	_SC_AIO_MAX, _SC_AIO_PRIO_DELTA_MAX, _SC_DELAYTIMER_MAX,
	_SC_MQ_OPEN_MAX, _SC_MQ_PRIO_MAX, _SC_RTSIG_MAX,
	_SC_SEM_NSEMS_MAX, _SC_SEM_VALUE_MAX, _SC_SIGQUEUE_MAX, and
	_SC_TIMER_MAX.
	* sysdeps/unix/sysv/sysv4/sysconf.c: Ditto.

	* sysdeps/stub/swapoff.c: New file.  Stub version for swapoff
	function.

	* sysdeps/unix/syscalls.list:  Add swapoff.

	* sysdeps/unix/sysv/linux/Dist: Add sys/acct.h.

	* sysdeps/unix/sysv/linux/Makefile [$(subdir) == misc]
	(sysdep_routines): Add mount, umount, llseek, setfsgid, setfsuid,
	sysinfo, and uselib.
	(headers): Add sys/sysinfo.h.

	* sysdeps/unix/sysv/linux/gethostid.c: Prevent warning.

	* sysdeps/unix/sysv/linux/i386/Makefile [$(subdir) == misc]
	(sysdep_routines): Add ioperm, iopl, and vm86.
	(headers): Add sys/perm.h and sys/vm86.h.

	* sysdeps/unix/sysv/linux/i386/sys/perm.h: New file.  Contains
	prototypes for iopl and ioperm.

	* sysdeps/unix/sysv/linux/i386/sys/vm86.h:  New file.  Contains
	prototype for vm86.

	* sysdeps/unix/sysv/linux/i386/syscalls.list: New file.  Add
	vm86 system call.

	* sysdeps/unix/sysv/linux/sys/acct.h: New file.  Contains
	prototypes for acct function.

	* sysdeps/unix/sysv/linux/sys/socket.h: Provide real header
	file with prototypes.

	* sysdeps/unix/sysv/linux/sys/sysinfo.h: New file.  Contains
	prototype for sysinfo function.

	* sysdeps/unix/sysv/linux/syscalls.list: Add flock, ioperm, iopl,
	llseek, setfsgid, setfsuid, sysinfo, and uselib.

	* sysdeps/unix/sysv/linux/sysconf.c: Instead of duplicating
	posix/sysconf.c now only handle cases different to that
	implementation.

Tue May  7 15:08:19 1996  Miles Bader  <miles@gnu.ai.mit.edu>

	* stdio/linewrap.c (__line_wrap_output): Renamed from lwoutput
	(all references changed).  Now exported.

	* stdio/linewrap.c (struct data): Type deleted (moved to linewrap.h).
	(wrap_stream, unwrap_stream, lwclose, lwfileno, lwoutput,
	line_wrap_stream, line_unwrap_stream): Use struct line_wrap_data
	instead of struct data.
	(lwoutput, line_wrap_stream, line_unwrap_stream): Rename various
	occurences of `wrap' and `wrapmargin' to `wmargin'.
	(line_wrapped, line_wrap_lmargin, line_wrap_set_lmargin,
	line_wrap_rmargin, line_wrap_set_rmargin, line_wrap_wmargin,
	line_wrap_set_wmargin, line_wrap_point): New functions.
	* stdio/linewrap.h: New file.
	* stdio/Makefile (headers): Add linewrap.h.

Tue May  7 14:19:12 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>

	* sysdeps/unix/sysv/linux/i386/Makefile: File removed.

	* stdio/stdio.h: Remove line_wrap_stream, line_unwap_stream decls.

	* sysdeps/unix/sysv/linux/schedbits.h: New file.

Tue May  7 13:47:02 1996  Miles Bader  <miles@gnu.ai.mit.edu>

	* stdio/linewrap.c (struct data): Make margin fields not-pointers.
	(lwoutput): Adjust uses acordingly.

	* sysdeps/mach/hurd/fdatasync.c: New file.
	* sysdeps/mach/hurd/fsync.c: Pass new flag to file_sync.

	* sysdeps/mach/hurd/xmknod.c: Pass new flag to dir_link.
	* sysdeps/mach/hurd/symlink.c: Likewise.
	* sysdeps/mach/hurd/link.c: Likewise.
	* sysdeps/mach/hurd/bind.c: Likewise.
	* hurd/hurdsig.c (write_corefile): Likewise.

	* hurd/hurdsig.c (write_corefile): Pass cttyid port to crash server.

	* sysdeps/mach/hurd/fpathconf.c: RPC takes int pointer, not long int.

	* sysdeps/mach/hurd/_exit.c (_hurd_exit): Pass sigcode arg to
	proc_mark_exit.
	* sysdeps/mach/hurd/dl-sysdep.c (_exit): Likewise.

	* sysdeps/mach/hurd/wait4.c: Pass sigcode arg to proc_wait.

	* sysdeps/mach/hurd/rename.c: Pass new flag to dir_rename.

	* hurd/hurdfault.c (_hurdsig_fault_catch_exception_raise): Use struct
	hurd_signal_detail.
	* hurd/catch-exc.c (_S_catch_exception_raise): Likewise.
	* hurd/hurd-raise.c (_hurd_raise_signal): Likewise.
	* sysdeps/mach/hurd/i386/trampoline.c (_hurd_setup_sighandler):
	Likewise.
	* sysdeps/mach/hurd/setitimer.c (restart_itimer): Likewise.

	* hurd/hurd/signal.h: Fix _hurd_exception2signal prototype.

	* hurd/hurdsig.c (write_corefile): Take const struct
	hurd_signal_detail * arg.  Pass all details to crash_dump_task.
	(_hurd_internal_post_signal): Pass DETAIL to write_corefile.
	(_hurd_internal_post_signal: suspend): Pass code and error to
	proc_mark_stop.

	* hurd/hurdprio.c (_hurd_priority_which_map): Pass flags arg to
	proc_getprocinfo by reference.
1996-05-08 02:07:47 +00:00
Roland McGrath
8f0c527e13 Sat May 4 05:44:25 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* hurd/hurd-raise.c (_hurd_raise_signal): Pass sigcode in msg_sig_post
	rpc.

	* hurd/hurdmsg.c (_S_msg_set_environment): Use argz.h functions
	instead of _hurd_split_args.
	(_S_msg_*_exec_flags): Functions removed.
	(_S_msg_startup_dosync): Stub removed.

Sat May  4 02:11:55 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>

	* sysdeps/mach/hurd/ptrace.c: Set _hurdsig_traced instead of
	EXEC_TRACED bit in _hurd_exec_flags.
	Pass sigcode arg in msg_sig_post_untraced rpc.

	* sysdeps/mach/hurd/access.c: Don't pass io port in
	auth_user_authenticate rpc.

	* posix/sched.h: Fix typos.

	* sysdeps/mach/hurd/fork.c: Use new critical section lock.
	Clear _hurdsig_traced instead of EXEC_TRACED.

	* sysdeps/stub/nanosleep.c (nanosleep): Fix typo.

	* wcsmbs/wcstol.c: Find strtol.c in ../stdlib.
	* wcsmbs/wcstof.c: Find strtod.c in ../stdlib.
	* wcsmbs/wcstod.c: Likewise.
	* wcsmbs/wcstold.c: Likewise.

	* wcsmbs/wcwidth.h: Find cname-lookup.h in ../wctype.

	* string/envz.c (envz_entry): Use const.
	(envz_get, envz_remove): Likewise.
	(envz_entry): Return char *, not const char *.

	* string/envz.h: Fix decl.

	* string/argz-create.c: Use const in prototype.
	* string/argz-next.c: Likewise.

	* sysdeps/mach/hurd/sigprocmask.c: Pass sigcode arg to msg_sig_post.
	* sysdeps/mach/hurd/i386/sigreturn.c: Likewise.
	* sysdeps/mach/hurd/sigsuspend.c: Likewise.
	* sysdeps/mach/hurd/kill.c: Likewise.

	* hurd/hurdexec.c (_hurd_exec): Use new critical section lock.
	* hurd/catch-exc.c (_S_catch_exception_raise): Likewise.
	* hurd/sigunwind.c (_hurdsig_longjmp_from_handler): Likewise.
	* hurd/thread-cancel.c (hurd_thread_cancel, hurd_check_cancel):
	Likewise.
	* sysdeps/mach/hurd/jmp-unwind.c (_longjmp_unwind): Likewise.
	* sysdeps/mach/hurd/sigaction.c: Likewise.

	* sysdeps/mach/hurd/errnos.awk: Don't use ARGV in comment; it can
	change meaninglessly.

	* hurd/hurd/signal.h (struct hurd_sigstate): Replace critical section
 	flag with a spin lock.
	(_hurd_critical_section_lock): Use spin_try_lock on that to see if we
 	get it.  No need to take SS->lock at all.
	(_hurd_critical_section_unlock): Unlock SS->critical_section_lock
	instead of clearing the old flag member.
	* hurd/hurdsig.c (_hurd_internal_post_signal): Use spin_lock_locked to
	test the critical section state.

	* hurd/hurdinit.c (_hurd_init): Set _hurdsig_traced from the intarray.

	* hurd/hurdkill.c (_hurd_sig_post): Pass 0 sigcode in msg_sig_post.

	* hurd/hurdsig.c (_hurd_internal_post_signal): Test _hurdsig_traced
 	instead of testing (_hurd_exec_flags & EXEC_TRACED).
	(_S_msg_sig_post): Take sigcode arg and pass it through.
	(_S_msg_sig_post_untraced): Likewise.
	(reauth_proc): Don't pass proc port in auth_user_authenticate.

	* hurd/setauth.c (_hurd_setauth): Don't pass object ports in
	auth_user_authenticate RPCs, just the one-off rendezvous port.
	* hurd/dtable.c (reauth_dtable): Likewise.
	* hurd/hurdlookup.c (__hurd_file_name_lookup_retry): Likewise.

	* hurd/hurdexec.c (_hurd_exec): Pass 0 flags to file_exec.
	Pass sigcode arg to msg_sig_post.

	* string/argz.h (argz_create): Use const in prototype.

	* hurd/hurdinit.c (_hurd_proc_init): Test _hurdsig_traced instead of
	testing (_hurd_exec_flags & EXEC_TRACED).
	Pass sigcode arg to msg_sig_post.

	* hurd/hurd.h: Declare _hurdsig_traced.

	* string/argz.h (__argz_next): Cast ENTRY before returning it.

	* hurd/hurd/signal.h (_hurd_critical_section_unlock): Pass sigcode arg
	to msg_sig_post.

	* hurd/path-lookup.c: New file.
	* hurd/Makefile (routines): Add path-lookup.
	* hurd/hurd/lookup.h: Declare file_name_path_scan,
	hurd_file_name_path_lookup.
	* hurd/hurd.h: Declare file_name_path_lookup.

	* sysdeps/mach/hurd/select.c: The io_select rpc no longer has a TAG_ID
	argument.  Instead, use a separate reply port for each RPC and put them
	all in a port set to wait for slow replies.
1996-05-04 09:46:57 +00:00
Miles Bader
786db2208e *** empty log message ***
Fri Apr  5 17:43:41 1996  Miles Bader  <miles@gnu.ai.mit.edu>

	* sysdeps/mach/hurd/i386/sigreturn.c (__sigreturn): Store
	MACH_PORT_DEAD in the thread reply-port variable before destroying
	the signal handler's reply port to avoid infinite recursion.
	* sysdeps/mach/hurd/mig-reply.c (__mig_dealloc_reply_port): Only
	attempt to destroy PORT if it's a valid port name.
1996-04-06 01:51:07 +00:00
Roland McGrath
4ca84cff3b Wed Feb 7 18:48:30 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* hurd/hurdmsg.c (_S_msg_report_wait): Function removed.
	* hurd/report-wait.c: New file.
	* hurd/Makefile (routines): Added report-wait.

	* sysdeps/mach/hurd/Makefile (inhibit-unix-syscalls): New variable.

	* sysdeps/mach/hurd/i386/intr-msg.h (struct mach_msg_trap_args):
	New type.
	(SYSCALL_EXAMINE, MSG_EXAMINE): New inline functions.
	* sysdeps/mach/hurd/i386/trampoline.c (struct mach_msg_trap_args):
	Structure moved to intr-msg.h; include that.

	* time/Makefile (CFLAGS-ialloc.c): Add -Wno-unused.
	(CFLAGS-scheck.c): New variable.

	* sysdeps/mach/hurd/dl-sysdep.c (__hurd_sigthread_stack_base,
	__hurd_sigthread_stack_end, __hurd_sigthread_variables,
	__hurd_threadvar_stack_mask): New variables.

	* sysdeps/mach/hurd/fork.c: Set the new task's exception port to
	its new message port.

	* misc/init-misc.c: Put __init_misc in the __libc_subinit set.

	* configure.in (uname): Add quoting.

	* sysdeps/mach/hurd/fchdir.c: Don't consult errno unless lookup fails.
	* hurd/fchroot.c: Likewise.

	* posix/sys/types.h [GCC >= 2.7]: Define intN_t/u_intN_t using
	__attribute__ ((__mode__ (__XX__))).

Wed Feb 7 03:24:05 1996 Torbjorn Granlund  <tege@tmg.se>

	* sysdeps/i386/i586/memcopy.h (WORD_COPY_FWD): Manually allocate
	destination cache lines.
	(WORD_COPY_BWD): Likewise.

Wed Feb  7 14:16:36 1996  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* sysdeps/generic/Makefile (make_siglist): Get signum.h absolute
	file name first thing, before $(native-compile) changes directories.

	From Gord Matzigkeit <gord@enci.ucalgary.ca>:
	* sysdeps/unix/make_errlist.c: Use strerror if available.
	* sysdeps/unix/configure.in: New file

	* sysdeps/unix/bsd/sun/syscalls.list: Added sigvec.
	* sysdeps/unix/bsd/sun/sigvec.S: File removed.

	* sysdeps/stub/sendto.c: Make sockaddr arg pointer to const.
	* sysdeps/stub/connect.c: Likewise.
	* sysdeps/stub/bind.c: Likewise.

	* hurd/hurdlookup.c (__hurd_file_name_lookup_retry): RETRYNAME of
	"" is only special for FS_RETRY_NORMAL; for FS_RETRY_REAUTH, do
	another dir_lookup of "".
1996-02-08 02:10:15 +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
0324daa005 Thu Sep 21 00:03:53 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/stub/sys/sem_buf.h (union semun): New type.

	* sysdeps/mach/hurd/i386/init-first.c (init1) [PIC]: Call
	__libc_global_ctors.
	* sysdeps/i386/init-first.c: Rewritten.
	* sysdeps/unix/sysv/linux/i386/init-first.S: File removed.
	* sysdeps/unix/sysv/linux/i386/init-first.c: New file.

	* sysdeps/unix/sysv/linux/i386/fpu_control.h: Fix name in decl of
	___fpu_control.

	* Makerules (build-shlib): New canned sequence, broken out of
	lib%.so rule.  Link in $^ instead of just $<.
	(lib%.so: lib%_pic.a): Use it.
	(libc.so): New target; use $(build-shlib) for cmds, but also depend
	on soinit.so first and sofini.so last.

	* elf/soinit.c: New file.
	* elf/sofini.c: New file.
	* elf/Makefile (distribute): Add soinit.c and sofini.c.
	(extra-objs): Add soinit.so and sofini.so.

	* sysvipc/sys/shm.h (shmat): Fix return type to char *.
	* sysdeps/stub/sys/ipc_buf.h (key_t): Type removed.

	* misc/syslog.c (vsyslog): Rewritten using open_memstream to
	dynamically allocate buffers.

	* Makerules (install-lib-nosubdir): Make this, rather than
	install-no-libc.a, depend on the installed shared libraries.
1995-09-21 06:24:21 +00:00
Roland McGrath
f405bed5ef * sysdeps/mach/hurd/i386/longjmp-ts.c: Use new array format for
jmp_buf.
1995-09-01 22:26:36 +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
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
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
d819080cba Mon Jul 10 05:39:21 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/mach/hurd/i386/init-first.c (init): Take just one arg,
 	DATA for the entry SP; DATA[-1] is always the return address
 	location.  In both cthreads and non-cthreads cases, use asm to
 	force parameters into %eax and %ecx before return, and mutate
 	DATA[-1] to return to specific asm code to set up the user from
 	%eax and %ecx.
	[PIC] (_init): Caller changed.
	(__libc_init_first) [! PIC] (doinit): Use asm to effect call to init
	with SP unwound to argument data ptr.

Thu Jul  6 14:28:56 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* sysdeps/mach/hurd/dl-sysdep.c (fmh): Fixed this kludge to work
 	when 0x08000000 and up are not mapped.

	* Makerules (stamp$o-$(subdir) rule): Remove the timestamp file
 	before touching it.
	(lib%.so): Use -Wl to get -soname to ld.

	* elf/dlsym.c: Pass final arg to _dl_lookup_symbol.

	* elf/Makefile (libdl.so): Pass $(LDFLAGS.so).
1995-07-10 09:40:15 +00:00
Roland McGrath
a1a9d21596 Tue May 30 15:52:32 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* mach/Makefile (server-interfaces): Removed notify and
 	device_reply.  For shlibs with eager binding, libmachuser.so must
 	not refer to any functions not defined in libc.
1995-05-31 13:23:14 +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
Roland McGrath
99b306dc44 Wed May 10 21:00:47 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/mach/i386/sysdep.h (RETURN_TO): New macro.

	* Makerules (install-lib.so): Add %.so for each %_pic.a.

	* sysdeps/mach/hurd/i386/init-first.c: New file.
1995-05-11 01:02:23 +00:00
Roland McGrath
421f82e5cc Sat May 6 11:06:47 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* Makeconfig (+gccwarn): Add -Winline.

	* hurd/hurdsig.c (_hurd_internal_post_signal): If SS->context is
 	set, avoid abort_rpcs, and use reply and intr ports saved in
 	SS->context.
	* sysdeps/mach/hurd/i386/trampoline.c: Don't set SS->intr_port
 	from SS->context.  Don't clear SS->context.
	* sysdeps/mach/hurd/i386/sigreturn.c: Don't set SS->intr_port when
 	setting SS->context.  If msg_sig_post returns, re-lock and clear
 	SS->context.

Fri May  5 10:37:09 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* mach/Makefile (errsystems.c): Comment out generation rule.

	* sysdeps/mach/_strerror.c: Consider a system unknown if its
 	bad_sub member is null.

	* mach/mig-alloc.c: Add weak alias to non-__ name.
1995-05-08 09:11:25 +00:00
Roland McGrath
11d90def8c Thu Apr 20 22:23:58 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/mach/hurd/i386/trampoline.c (_hurd_setup_sighandler):
 	Point the return address for sigreturn's frame at a "hlt" insn so
 	it will definitely crash if sigreturn returns.

	HAVE_WEAK_SYMBOLS for doing weak_alias.
1995-04-21 02:24:35 +00:00
Roland McGrath
e607b492e5 Sun Apr 2 13:13:52 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/mach/hurd/i386/trampoline.c: Add a link to
 	SS->active_resources, so that _hurdsig_longjmp_from_handler will
 	be called when a longjmp unwinds the signal frame.
	* sysdeps/mach/hurd/i386/sigreturn.c: Remove the link on the
 	SS->active_resources chain added by _hurd_setup_sighandler.
	* hurd/sigunwind.c: New file.
	* hurd/Makefile (sig): Add sigunwind.

	* Makerules (lib%.so: lib%_pic.a): Remove dir name from $*.

	* MakeTAGS (tags-sources): Include $(all-dist).
	[subdir] (all-dist): Define to $(distribute).
1995-04-02 22:08:59 +00:00
Roland McGrath
1e9dc0393c Mon Mar 20 03:19:23 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* stdio/vfscanf.c (%n): Use READ_IN - 1, so as not to count the
 	read-ahead character.

	* hurd/dtable.c, hurd/getdport.c, hurd/hurd.h, hurd/hurdexec.c,
	  hurd/hurdinit.c, hurd/hurdprio.c, hurd/hurdsock.c,
	  hurd/ports-get.c, hurd/ports-set.c, hurd/setauth.c,
	  hurd/setuids.c, sysdeps/mach/hurd/i386/trampoline.c:
	Get anal with unsigned to pacify compiler.
1995-03-20 08:21:38 +00:00
Roland McGrath
f0bf9cb92c Thu Mar 16 00:04:41 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* locale/C-ctype.c: New correct data generated by drepper.

	* Rules: Don't use $(libc.a).

	Parsing of grouped numbers contributed by Ulrich Drepper.
	* stdlib/strtol.c (__strtol_internal): Renamed from strtol.  Take
 	new flag arg; if nonzero, parse locale-dependent thousands
 	grouping and interpret only the prefix that is correctly grouped.
	(strtol): Define this to call _strtol_internal with zero for the flag.
	Use a weak symbol for the definition.
	* stdlib/strtod.c (strtod, __strtod_internal): Likewise.
  	Check for the exponent of the number overflowing the float format.
	* stdlib/stdlib.h (__strtof, __strtold): Declarations removed.
	(__strto{f,d,ld,l,ul,q,uq}_internal): Declare these functions.
	[__OPTIMIZE__]: Define inline functions calling those.
	* stdlib/grouping.h: New file, written by drepper.
	* stdlib/Makefile (distribute): Add grouping.h.
	* stdio/vfscanf.c: Grok %' modifier to numeric conversions.  Call
 	__strtoX_internal with the grouping flag set iff the modifier is
 	present.

Wed Mar 15 00:40:54 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* sysdeps/generic/memchr.c: Fix typos: limit.h -> limits.h.

	* mach/Machrules: Produce static deps for all object flavors.
	[interface-library]: Remove all these variables and rules.
	($(interface-library)-routines): Define this variable.
	(extra-libs): Append $(interface-library) to this.
	* mach/Makefile (interface-library): Omit .a suffix.
	* hurd/Makefile: Likewise.

Tue Mar 14 23:40:31 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* stdio/internals.c (flushbuf): If !FLUSH_ONLY, don't skip out
 	early if no new data in buffer after priming.

	* Makerules (object-suffixes, libtypes): Move all these variables
 	to Makeconfig.
	* Makeconfig (object-suffixes, libtypes): Moved here from Makerules.

	* Makerules (build-extra-lib): New canned sequence.

	* sysdeps/mach/hurd/euidaccess.c: Include fcntl.h.  Declare ERR;
 	fix uses of FILE and PORT.  Remove bogus weak alias for `access'.

	* sysdeps/mach/hurd/dirfd.c: Include hurd/fd.h and errno.h.
	Add missing semicolon.
	* sysdeps/mach/hurd/opendir.c: Include hurd/fd.h.  Use a `struct
 	hurd_fd *' temp var, since DIRP->__fd is a `void *'.
	* sysdeps/mach/hurd/readdir.c: Include hurd/fd.h.

	* stdlib/wcstombs.c: #if 0 out code for non-ASCII chars until the
 	locale data format is implemented.

	* sysdeps/mach/hurd/i386/trampoline.c (_hurd_setup_sighandler):
 	Pass &__sigreturn on the stack to the trampoline code, so it is
 	not position-dependent.

	* stdio/printf_fp.c (NDEBUG): Define this to disable assert.
  	Don't include <stdarg.h>.
	(__printf_fp): Last arg ARGS is now `const void **const'; 
	dereference ARGS[0] instead of using va_arg.

	* locale/setlocale.c: In LC_ALL case, initialize CATEGORY before
 	loop to install data.

	* locale/loadlocale.c (_nl_category_num_items): Use _NL_ITEM_INDEX
 	to extract number from item code.
	(_nl_load_locale): Close the descriptor when finished.

	* malloc/realloc.c (_realloc_internal): Call _malloc_internal in
 	place of malloc.

	* time/tzfile.c (__tzfile_default): Initialize RULE_STDOFF to zero.
1995-03-16 05:32:45 +00:00
Roland McGrath
50843ff068 Wed Feb 22 00:44:41 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/mach/hurd/i386/sigreturn.c: Restore the FPU state.

	* stdlib/random.c (__srandom): Change algorithm used to populate
 	the state array.
	(randtbl): Recomputed with new algorithm.
1995-02-22 05:47:15 +00:00
Roland McGrath
28f540f45b initial import 1995-02-18 01:27:10 +00:00