Commit Graph

450 Commits

Author SHA1 Message Date
Miles Bader
aeb0816f97 (_hurd_canonicalize_directory_name_internal): Don't deallocate DOTID & DOTDEVID until we're finished with them (we need to keep them at least until we've fetched the next level of id ports, so that mach will be able to use the same name if they're the same). Add inner_errlose: label, which deallocates DOTID & DOTDEVID and jumps to errlose, for those places where such cleanup is needed. 1996-06-26 17:44:44 +00:00
Miles Bader
315289fbb8 (_hurd_canonicalize_directory_name_internal): Initialize PARENT to THISDIR, and don't ever deallocate PARENT unless it != THISDIR. 1996-06-25 21:48:49 +00:00
Miles Bader
51ec5cb28a Thu Jun 20 12:18:21 1996 Miles Bader <miles@gnu.ai.mit.edu>
* sysdeps/mach/hurd/brk.c (_hurd_brk): Initialize to 0.

	* hurd/getuids.c (getuids): New weak link to __getuids.
1996-06-20 21:32:45 +00:00
Miles Bader
ae6095ca6f (___brk_addr): Now a variable, initialized to 0, instead of a weak link to _hurd_brk. 1996-06-20 17:34:37 +00:00
Miles Bader
bf0f472003 *** empty log message ***
Wed Jun 19 10:21:24 1996  Miles Bader  <miles@gnu.ai.mit.edu>

	* hurd/hurdlookup.c (__hurd_file_name_lookup_retry,
	__hurd_file_name_lookup, __hurd_file_name_split): Add & use LOOKUP argument. 
	Rename nested function lookup to lookup_op.
	(__file_name_lookup, __file_name_lookup_under):
	Pass 0 for lookup arg to __hurd_file_name_lookup.
	(__file_name_split): Likewise for __hurd_file_name_split.
	* hurd/path-lookup.c (hurd_file_name_path_lookup): Add LOOKUP argument.
	Rename nested function lookup to scan_lookup.
	(file_name_path_lookup): Pass 0 for lookup arg to
	hurd_file_name_path_lookup.
	* hurd/hurd/lookup.h (__hurd_file_name_lookup, hurd_file_name_lookup,
	__hurd_file_name_lookup_retry, hurd_file_name_lookup_retry: 
	__hurd_file_name_split, hurd_file_name_split, hurd_file_name_lookup):
	Add LOOKUP argument.
	* sysdeps/mach/hurd/access.c (__access): Pass 0 lookup arg to
	__hurd_file_name_lookup.
1996-06-19 22:38:55 +00:00
Roland McGrath
2cc7dc4d7f Mon Jun 17 17:53:21 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* sysdeps/mach/hurd/brk.c (___brk_addr): Define as weak alias for
	_hurd_brk.

	* libio/stdio.h [__USE_SVID]: Declare tempnam.

Fri Jun 14 19:28:33 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/unix/sysv/linux/syscalls.list: Add swapon with two
	parameters.

Wed Jun 12 20:40:51 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/m68k/dl-machine.h (RTLD_START): Fix access to
	_dl_default_scope.

	* sysdeps/stub/elfclass.h: New file.
1996-06-17 22:41:47 +00:00
Roland McGrath
5fbef18864 * hurd/Makefile (routines): Add get-host, set-host.
(distribute): Add hurdhost.h.
	* hurd/hurdhost.h: New file.
	* sysdeps/mach/hurd/gethostname.c: Use _hurd_get_host_config.
	* sysdeps/mach/hurd/gethostid.c: Likewise.
	* sysdeps/mach/hurd/sethostname.c: Use _hurd_set_host_config.
	* sysdeps/mach/hurd/sethostid.c: Likewise.
	* hurd/get-host.c: New file.
	* hurd/set-host.c: New file.

	* math/Makefile (headers): Add fpu_control.h.
	(aux): New variable, list fpu_control and setfpucw.
	* sysdeps/generic/fpu_control.c: New file.
	* sysdeps/stub/fpu_control.h: New file.
	* sysdeps/unix/sysv/linux/m68k/fpu_control.h: Moved to ...
	* sysdeps/m68k/fpu_control.h: here.
	* sysdeps/unix/sysv/linux/i386/fpu_control.h: Moved to ...
	* sysdeps/i386/fpu_control.h: here.
	* sysdeps/unix/sysv/linux/alpha/fpu_control.h: Moved to ...
	* sysdeps/alpha/fpu/fpu_control.h: here.  Fixed copyright.
	* sysdeps/unix/sysv/linux/alpha/Makefile (sysdep_routines): Remove
	setfpucw, fpu_control.
	* sysdeps/unix/sysv/linux/alpha/fpu_control.c: File removed.
	* sysdeps/unix/sysv/linux/setfpucw.c: Moved to ...
	* sysdeps/generic/setfpucw.c: here.
	(__fpu_control): Variable removed.
	(__setfpucw): Use SET even if zero.
1996-06-16 03:49:40 +00:00
Roland McGrath
a23db8e4af Sat Jun 15 18:13:43 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* sysdeps/unix/sysv/linux/Dist: Add sys/klog.h.

	* elf/dl-open.c (_dl_open): Remove PARENT argument, pass null.
	* elf/link.h: Update prototype.
	* elf/dl-load.c (_dl_map_object): If dependents' DT_RPATHs don't find
	NAME, try the DT_RPATH of the executable itself if dynamic.
	* elf/dlopen.c (dlopen): Don't pass first arg to _dl_open.

	* elf/dl-load.c (_dl_map_object): Exit DT_RPATH checking loop when an
	open succeeds.

	* Makerules (build-shlib): Give -L opts for each elt of $(rpath-link).

	* sysdeps/mach/hurd/Makefile (sysdep-LDFLAGS): Variable removed.
	(rpath-link): Append to this instead.
1996-06-16 01:27:54 +00:00
Roland McGrath
f332db0256 Fri Jun 14 01:51:47 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* version.c (banner): New static const variable, complete version
	banner text.
	(__libc_print_version): Use it, and use __write instead of printf.

	* configure.in (sysnames): Don't cache the value, because it
 	depends only on libc sources.  Merge uniquifying third pass into
	Implies/parent expansion second pass.  Report each unique name as
	it is added in partial report string, terminated when finished.

	* Makeconfig (sysdep_dir): Move defn before config.status rule that
	expands it.
	(sysdep-configures): Variable removed.
	(config.status): Use its contents directly, tighten up a bit, and
	include Implies files.

	* elf/dl-open.c (_dl_open) [PIC]: Set PARENT to _dl_loaded if null.

	* elf/Makefile ($(objpfx)$(rtld-installed-name)): Make a symlink.

	* sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_open_zero_fill):
	Add comment.

	* elf/rtld.c (dl_main): Close _dl_zerofd after mapping deps.

	* sysdeps/generic/machine-gmon.h [NO_UNDERSCORES]: Define mcount as
	weak alias for _mcount.
	* sysdeps/alpha/_mcount.S (mcount): Define as weak alias.
1996-06-14 12:05:04 +00:00
Roland McGrath
266180eb98 Mon Jun 10 06:14:03 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* sysdeps/mach/hurd/dl-sysdep.c (__open): Define this instead of open.
	(__close, __mmap): Likewise define with __ names now.

Mon Jun 10 05:13:18 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>

	* elf/dl-support.c: New file.
	* elf/Makefile (CFLAGS-dl-support.c): New variable.
	(routines, elide-routines.so): Add dl-support.

	* elf/dl-minimal.c (_dl_pagesize): Remove common defn.
	* elf/dl-load.c (_dl_pagesize): Define it here.
	(_dl_map_object_from_fd): Initialize it if zero.
	* elf/link.h (_dl_pagesize): Remove const.

Sun Jun  9 04:04:26 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>

	* elf/Makefile (routines): Add dl-symbol.
	* elf/dl-lookup.c (_dl_symbol_value): Moved to ...
	* elf/dl-symbol.c: New file.

	* elf/elf.h (Elf32_Xword, Elf32_Sxword): New types.
	(Elf32_Section, Elf64_Section): New types, 16 bits.
	(Elf32_Sym, Elf64_Sym): Use it.

	* elf/dl-deps.c (_dl_open): Moved to ...
	* elf/dl-open.c: New file.
	* Makefile (routines): Add dl-open.

	* elf/Makefile (dl-routines): New variable.
	(routines): Add $(dl-routines).
	(elide-routines.so): New variable, set to $(dl-routines).
	(libdl-inhibit-o): Variable removed; build all flavors of -ldl.
	(rtld-routines): All but rtld, dl-sysdep, and dl-minimal moved to
 	$(dl-routines).

	* elf/dl-lookup.c (_dl_lookup_symbol): Remove magic symbol grokage.

	* elf/dladdr.c: Use ELFW(ST_BIND) in place of ELF32_ST_BIND.

	* elf/dl-load.c (open_path): Use __ names for open and close.  Avoid
	using strdup.
	(_dl_map_object): Likewise.
	(_dl_map_object_from_fd): Use __ names for mmap, munmap, and mprotect.
	* elf/dl-minimal.c (malloc): Likewise.
	* elf/dl-reloc.c (_dl_relocate_object): Likewise.

	* elf/dl-minimal.c (_dl_pagesize): New variable.
	(malloc): Use that instead of a static variable.
	* elf/dl-reloc.c (_dl_relocate_object): Use _dl_pagesize instead of
	calling getpagesize.
	* elf/dl-load.c (_dl_map_object_from_fd): Likewise.
	* elf/link.h: Declare _dl_pagesize.

	* elf/rtld.c (dl_r_debug): Renamed to _dl_r_debug.

	* elf/link.h (struct link_map): Use Half for l_phnum instead of Word.
  	* elf/rtld.c (dl_main): Use Half for phdr count arg.
	(_dl_sysdep_start): Update prototype of DL_MAIN function ptr arg.

	* elf/dl-load.c (_dl_map_object_from_fd): Use explicit Elf32_Word to
 	extract 4-byte magic number, not ElfW(Word).  Match EI_CLASS against
 	native wordsize, either 32 or 64.

	* elf/elf.h (Elf64_Byte, Elf64_Section): Typedefs removed.  In C a
 	char is always a byte, no need for a typedef.  Section indices are
	16-bit quantities in elf64, which already have a typedef Elf64_Half.

	Remove partial -lelf implementation.  There is now a
	separately-distributed `libelf' package that implements it.
	* elf/dl-lookup.c: Don't #include <libelf.h> any more.
	(_dl_elf_hash): New function, moved from
	libelf.h:elf_hash.
	(_dl_lookup_symbol): Use it instead of elf_hash.
	* elf/libelf.h: File removed.
	* elf/elf_hash.c: File removed.
	* elf/Makefile (headers): Remove libelf.h.
	(extra-libs): Remove libelf.
	(libelf-routines): Variable removed.

	* elf/Makefile (libdl.so): Remove commands from this target.  The
 	implicit rule commands are correct, this explicit rule just serves to
 	add some dependencies.

	* elf/dl-lookup.c (_dl_lookup_symbol): Use ELFW(ST_TYPE) in place of
 	ELF32_ST_TYPE.  Likewise ST_BIND.
	* elf/do-rel.h (elf_dynamic_do_rel): Likewise R_SYM.

	* elf/link.h (ElfW): New macro for wordsize-independent ElfXX_* type
	naming.
	(ELFW): New macro, likewise for ELFXX_* macro naming.
	(_ElfW, _ElfW_1): New macros, subroutines of ElfW and ELF.

Sat Jun  8 20:52:38 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>

	* elf/link.h, elf/do-rel.h, elf/dynamic-link.h, elf/dl-deps.c,
 	elf/dl-init.c, elf/dl-load.c, elf/dl-lookup.c, elf/dl-reloc.c,
 	elf/dl-runtime.c, elf/dladdr.c, elf/dlclose.c, elf/dlsym.c,
 	elf/linux-compat.c, elf/rtld.c: Change all uses of `Elf32_XXX' to
 	`ElfW(XXX)' for wordsize-independence.

Sat Jun  8 20:50:42 1996  Richard Henderson  <rth@tamu.edu>

	* elf/elf.h: Move Elf64_* types in parity with Elf32 counterparts.
	(Elf64_auxv_t): New type.
	(EM_ALPHA, R_ALPHA_*): New macros for elf64-alpha format.
1996-06-10 10:18:47 +00:00
Roland McGrath
6d9756c910 * elf/dl-load.c (_dl_map_object_from_fd): Close FD before return.
* sysdeps/mach/mprotect.c: Define with __ name and weak alias.
	* sysdeps/stub/mprotect.c: Likewise.
	* sysdeps/unix/mman/syscalls.list (mprotect): Likewise.
	* sysdeps/generic/sys/mman.h: Declare __mprotect.
	* sysdeps/unix/sysv/irix4/sys/mman.h: Likewise.
	* sysdeps/unix/sysv/linux/sys/mman.h: Likewise.
	* sysdeps/unix/bsd/sun/sunos4/sys/mman.h: Likewise.
	* sysdeps/unix/bsd/osf/sys/mman.h: Likewise.
1996-06-09 22:02:59 +00:00
Miles Bader
061c6526bf (getpriority): Use new interface to __proc_getprocinfo. 1996-06-07 21:49:06 +00:00
Roland McGrath
4d02a5b18a Thu Jun 6 16:12:39 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* hurd/hurdsig.c (_hurd_internal_post_signal): For SIGNO==0 pending
	check, deliver a pending blocked signal if its action might be to
	ignore.
	* sysdeps/mach/hurd/sigaction.c: If new action is SIG_IGN or SIG_DFL
	and SIG is pending, wake up signal thread to check us.

	* hurd/hurdsig.c (_hurd_internal_post_signal): Don't mark a signal
	pending while blocked or stopped when the action is to ignore it.

	* hurd/hurdsig.c (_hurd_internal_post_signal: resume): Only set
	SS_SUSPENDED when the thread is really suspended.

	* elf/rtld.c (dl_main): Don't dereference _dl_rtld_map.l_next if null.
1996-06-06 20:49:22 +00:00
Roland McGrath
3ed8c0596e Thu Jun 6 12:56:03 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* sysdeps/mach/hurd/errlist.c: File removed.
1996-06-06 17:02:26 +00:00
Miles Bader
02eec64431 *** empty log message ***
Thu Jun  6 07:32:14 1996  Miles Bader  <miles@gnu.ai.mit.edu>

	* resolv/gethnamaddr.c (struct hstorage): Make NAME field a pointer.
	(_gethtbyname2): Remove ALIAS variable.
	Initialize NAME field of SELF and TARGET to 0.
	Add SELF_NAME_SIZE static variable.
	Add loop to call gethostname until the space we allocated is enough.
	Use malloced strings instead of fixed size buffers.
	<stdlib.h>, <unistd.h>: New includes.
	* sysdeps/generic/sys/socket.h (PF_INET6, AF_INET6): New macros.

	* sysdeps/mach/hurd/errlist.c (_sys_errlist): Add EILSEQ.
	(_sys_nerr): Initialize to 107.
	Update _HURD_ERRNOS consistency check.

	* stdlib/canonicalize.c (canonicalize): Use pathconf for PATH_MAX,
	not sysconf.

	* login/login.c [!PATH_MAX] (PATH_MAX): Define to be 1024 if not
	already defined.

	* sysdeps/mach/hurd/setitimer.c (timer_thread): Supply SIGCODE
	argument to __msg_sig_post_request.

	* hurd/hurdmalloc.c: Changes to bring in line with the hurd
	libthreads/malloc.c:
	(more_memory): Use assert_perror instead of MACH_CALL.
	"cthread_internals.h": Include removed.
	(realloc): Use LOG2_MIN_SIZE.
	(LOG2_MIN_SIZE): New macro.
	(realloc): Don't bother allocating a new block if the
 	new size request fits in the old one and doesn't waste any space.
  	Only free the old block if we successfully got a new one.
	[MCHECK] (struct header): New type.
	(union header): Only define if !MCHECK.
	(HEADER_SIZE, HEADER_NEXT, HEADER_FREE, HEADER_CHECK): New macros.
	[MCHECK] (MIN_SIZE): Add correct definition for this case.
	(more_memory, malloc, free, realloc): Use above macros, and add
	appropiate checks & frobs in MCHECK case.
1996-06-06 15:29:59 +00:00
Roland McGrath
aa592a63f9 * Makerules (distinfo-vars): Add sysdep_routines.
* mach/Machrules (include-%.defs): New canned sequence.
	Change all uses of `#include <$*.defs>' in cmds to use it.
	* mach/Makefile (mach_interface.defs): New variable, set to mach.defs.

	* sysdeps/i386/dl-machine.h (elf_machine_rel): Handle RESOLVE being
	null in all cases but R_386_COPY.
	(elf_machine_rel):

	* sysdeps/unix/bsd/ultrix4/mips/Dist: Updated.
	* sysdeps/unix/bsd/ultrix4/Dist: Removed.
	* sysdeps/unix/sysv/sysv4/Dist: Updated.
	* sysdeps/unix/sysv/sco3.2.4/Dist: Removed.
	* sysdeps/unix/sysv/irix4/Dist: Updated.
	* sysdeps/unix/sysv/linux/i386/Dist: Removed.
	* sysdeps/unix/sysv/Dist: Updated.
	* sysdeps/unix/bsd/sun/sunos4/Dist: Removed.
	* sysdeps/unix/bsd/sony/newsos4/Dist: Removed.
	* sysdeps/gnu/Dist: New file.
	* sysdeps/alpha/Dist: Updated.
	* sysdeps/mach/hurd/Dist: Updated.

	* Make-dist [subdir-dirs]: Set a vpath for %.c.

	* Make-dist (README): Fix typo in cvs cmd.
1996-06-05 19:07:37 +00:00
Roland McGrath
198046e105 Regenerated: autoconf sysdeps/mach/hurd/configure.in 1996-06-05 05:09:56 +00:00
Roland McGrath
ee188d555b Tue Jun 4 21:01:20 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* sysdeps/mach/hurd/getlogin_r.c: New file.

Wed Jun  5 02:11:30 1996  Ulrich Drepper  <drepper@cygnus.com>

	* io/Makefile (routines): Add ttyname_r.

	* resolv/res_debug.c, resolv/resolv.h: Update from bind-4.3.4-T4A.

	* sysdeps/libm-i387/e_asinl.S, sysdeps/libm-i387/e_atan2l.S,
	sysdeps/libm-i387/e_expl.S, sysdeps/libm-i387/e_fmodl.S,
	sysdeps/libm-i387/e_log10l.S, sysdeps/libm-i387/e_logl.S,
	sysdeps/libm-i387/e_remainderl.S, sysdeps/libm-i387/e_scalbl.S,
	sysdeps/libm-i387/e_sqrtl.S, sysdeps/libm-i387/s_atanl.S,
	sysdeps/libm-i387/s_cosl.S, sysdeps/libm-i387/s_ilogbl.S,
	sysdeps/libm-i387/s_log1pl.S, sysdeps/libm-i387/s_logbl.S,
	sysdeps/libm-i387/s_scalbnl.S, sysdeps/libm-i387/s_sinl.S,
	sysdeps/libm-i387/s_tanl.S: New files.  i387 assembler versions
	of `long double' math functions.

	* sysdeps/libm-ieee754/k_standard.c: Add handling for errors
	in long double functions.

	* sysdeps/libm-ieee754/s_ilogbl.c, sysdeps/libm-ieee754/s_logbl.c,
	sysdeps/libm-ieee754/s_modfl.c:  New files.  Generic versions
	of `long double' math functions.

	* sysdeps/libm-ieee754/s_isinf.c [NO_LONG_DOUBLE]: Add string
        alias for __isinfl.

	* sysdeps/libm-ieee754/w_acoshl.c, sysdeps/libm-ieee754/w_acosl.c,
	sysdeps/libm-ieee754/w_asinl.c, sysdeps/libm-ieee754/w_atan2l.c,
	sysdeps/libm-ieee754/w_atanhl.c, sysdeps/libm-ieee754/w_cabsl.c,
	sysdeps/libm-ieee754/w_coshl.c, sysdeps/libm-ieee754/w_dreml.c,
	sysdeps/libm-ieee754/w_expl.c, sysdeps/libm-ieee754/w_fmodl.c,
	sysdeps/libm-ieee754/w_gammal.c, sysdeps/libm-ieee754/w_gammal_r.c,
	sysdeps/libm-ieee754/w_hypotl.c, sysdeps/libm-ieee754/w_j0l.c,
	sysdeps/libm-ieee754/w_j1l.c, sysdeps/libm-ieee754/w_jnl.c,
	sysdeps/libm-ieee754/w_lgammal.c, sysdeps/libm-ieee754/w_lgammal_r.c,
	sysdeps/libm-ieee754/w_log10l.c, sysdeps/libm-ieee754/w_logl.c,
	sysdeps/libm-ieee754/w_powl.c, sysdeps/libm-ieee754/w_remainderl.c,
	sysdeps/libm-ieee754/w_scalbl.c, sysdeps/libm-ieee754/w_sinhl.c,
	sysdeps/libm-ieee754/w_sqrtl.c: New files.  Wrapper functions
	around long double function implementations.

	* sysdeps/posix/ttyname_r.c (ttyname_r): Use _D_EXACT_NAMLEN
	to determine length of directory entry name.

	* posix/Makefile (routines): Add getlogin_r.
	* posix/unistd.h: Add prototype for getlogin_r.
	* sysdeps/stub/getlogin_r.c: New file.  Reentrant version of
	getlogin function, specified in P1003.1c/D6.  Stub version.
	* sysdeps/unix/getlogin.c (getlogin): Use ttyname_r instead of
	ttyname.  This avoids saving and restoring the old content.
	Also use setutent_r, getutline_r and endutent_r instead of
	accing UTMP file directly.
	* sysdeps/unix/getlogin_r.c: New file.  Reentrant version of
	getlogin function, specified in P1003.1c/D6.

Tue Jun  4 20:10:09 1996  J.T. Conklin  <jtc@cygnus.com>

	* sysdeps/libm-i387/s_finitef.S: Fix mask for exponent.

	* elf/dl-lookup.c (_dl_lookup_symbol): Grok magical undefined symbols
	_GNU_libc_dl_{open,close,symbol} and resolve them to dl functions.

	* elf/rtld.c (rtld_map): Renamed to _dl_rtld_map, made global.
	* elf/link.h: Declare _dl_rtld_map.

	* elf/dl-lookup.c (_dl_symbol_value): New function.
	* elf/link.h: Declare it.

	stdio-common/vfscanf.c: Prepare for reentrant libio.
	Used in reentrant libio.
1996-06-05 01:07:21 +00:00
Roland McGrath
b25ae9c6a4 Tue Jun 4 00:16:03 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* sysdeps/gnu/errlist.awk: Produce N_("..."), not _N("...").

	* intl: Updated from gettext-0.10.13.
	* intl/localealias.c intl/dcgettext.c [_LIBC]: Define HAVE_ALLOCA.

	* signal/siggetmask.c: New file.  Wrapper around sigblock with
	link_warning about obsolescence.
	* signal/Makefile (routines): Add siggetmask.

	* sysdeps/gnu/errlist.awk: New file, adapted from ...
	* sysdeps/mach/hurd/errlist.awk: File removed, above file replaces it.
	* sysdeps/mach/hurd/Makefile (errlist.c): Target removed.
	* sysdeps/gnu/Makefile: New file.
	(sysdeps/gnu/errlist.c): Make the errlist.c generation rule into this.

	* manual/errno.texi (Error Codes): Add placeholder items for missing
	Linux/i386 errno codes, with perror text but no documentation.
	Some existing perror texts changed.
1996-06-04 01:41:11 +00:00
Roland McGrath
76060ec0b8 Thu May 30 11:24:05 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* po/header.pot: Replace with exact boilerplate pinard dictates.

	* sysdeps/i386/strtok.S (Lillegal_argument): Remove this code to set
	errno and the check that jumped to it.

	* sysdeps/mach/hurd/Makefile (errnos.d): Use $(sed-remove-objpfx).

Thu May 30 03:21:57 1996  Ulrich Drepper  <drepper@cygnus.com>

	* FAQ: Document need of gperf program for developers.

	* elf/elf.h: Fix typos in comments.

	* libio/stdio.h [!__STRICT_ANSI__ || _POSIX_SOURCE]: Add
        prototypes for `ctermid' and `cuserid'.

	* locale/programs/locale.c: Switch to user selected locale
	before printing variables.

	* math/Makefile [$(long-double-fcts)==yes]: Define long-m-routines
        and long-c-routines.  Only if the `long double' data type is
        available we need to compile the functions.
	(libm-routines): Add $(long-m-routines).
	(routines): Remove isinfl, isnanl.  Use new file s_isinfl and
	s_isnanl instead if `long double' is available.

	* math/math.h: Include <mathcalls.h> again to define `long double'
        functions.

	* math/math_private.h: Define data types, prototypes and access
        macros for `long double'.

	* stdlib/stdlib.h: Add prototypes for `strtoll' and `strtoull'.
	[GCC2 && OPTIMIZE]: Define strto{,u}ll as inline function which
	calls __strto{,u}q_internal.

	* stdlib/strfmon.c: Replace PTR by `void *'.

	* stdlib/strtoq.c: Define strtoll as weak alias.
	* stdlib/strtouq.c: Define strtoull as weak alias.

	* string/tester.c: Correct `strsep' test.

	* sysdeps/generic/strsep.c: Make compatible with BSD version.
        Trailing characters of skip set are not skipped.  In this case
        empty tokens are returned.

	* sysdeps/i386/isinfl.c, sysdeps/i386/isnanl.c,
        sysdeps/ieee754/isinf.c, sysdeps/ieee754/isinfl.c,
        sysdeps/ieee754/isnan.c, sysdeps/ieee754/isnanl.c: Removed.  We
        now use the versions part of libm.

	* sysdeps/i386/strsep.S: Removed.  Generic C version is of
	similar speed.
	* sysdeps/i386/strtok.S: Remove support for `strsep'.

	* sysdeps/libm-i387/e_acosl.S, sysdeps/libm-i387/s_ceill.S,
        sysdeps/libm-i387/s_copysignl.S, sysdeps/libm-i387/s_finitel.S,
        sysdeps/libm-i387/s_floorl.S, sysdeps/libm-i387/s_isinfl.c,
        sysdeps/libm-i387/s_isnanl.c, sysdeps/libm-i387/s_nextafterl.c,
        sysdeps/libm-i387/s_rintl.S, sysdeps/libm-i387/s_significandl.S:
        New i387 specific math functions implementing `long double'
        versions.

	* sysdeps/libm-ieee754/s_ceill.c,
        sysdeps/libm-ieee754/s_copysignl.c,
        sysdeps/libm-ieee754/s_fabsl.c, sysdeps/libm-ieee754/s_finitel.c,
        sysdeps/libm-ieee754/s_floorl.c, sysdeps/libm-ieee754/s_isinfl.c,
        sysdeps/libm-ieee754/s_isnanl.c,
        sysdeps/libm-ieee754/s_nextafterl.c,
        sysdeps/libm-ieee754/s_rintl.c, sysdeps/libm-ieee754/s_scalbnl.c,
        sysdeps/libm-ieee754/s_significandl.c: New generic `long double'
        versions of libm functions.

	* sysdeps/libm-i387/e_exp.S: Add a few comments to explain the
        Intel FPU nonsense.

	* sysdeps/libm-i387/s_ceil.S, sysdeps/libm-i387/s_ceilf.S,
        sysdeps/libm-i387/s_floor.S, sysdeps/libm-i387/s_floorf.S: Correct
        handling of local variables.  The old version created a stack
        frame but stored the values outside.

	* sysdeps/libm-ieee754/s_isinf.c, sysdeps/libm-ieee754/s_isnan.c
        [!NO_LONG_DOUBLE]: Define alias with `long double' versions name.

	* login/pututline_r.c: Include sys/stat.h.  Fix typos.

        according to currently used locale for category LC_CTYPE by
	inet_nsap_ntoa.  Now in <arpa/inet.h>.
        _IO_dup2 to contain complete parameter list.
1996-05-30 16:12:42 +00:00
Roland McGrath
fa0bc87c32 Wed May 22 22:10:01 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* stdlib/canonicalize.c: New file.
	* stdlib/stdlib.h: Declare canonicalize_file_name, realpath.
	* stdlib/Makefile (routines): Add canonicalize.

	* posix/unistd.h: Declare __canonicalize_directory_name_internal.

Thu May 23 00:01:10 1996  Ulrich Drepper  <drepper@cygnus.com>

	* db/recno/rec_seq.c: Prevent `sccsid' definition by using the
	same #if condition as in the other db files.

	* intl/Makefile: Add -Wno-unused CFLAGS for compilation of
	bindtextdom.c, finddomain.c, and localealias.c.

	* intl/dcgettext.c: Don't define prototype for getcwd() when
	compiling in glibc.

	* libio/cleanup.c: Add prototype for _IO_register_cleanup.

	* libio/filedoalloc.c, libio/fileops.c, libio/iopopen.c: Don't
        define _POSIX_SOURCE unconditionally.

	* libio/filedoalloc.c, libio/iopopen.c: Include <unistd.h> if
        compiling in glibc.

	* libio/fileops.c (_IO_file_close_it): Don't sync file, call
	flush instead.  This relaxes the rules from POSIX.1 about
	changing the active handle a bit.

	* libio/iofopncook.c (struct _IO_cookie_file): Move definition
	into <libio.h>.
	Add prototypes for local functions to prevent warnings.

	* libio/iopopen.c: Change prototypes for _IO_fork, _IO_pipe, and
        _IO_DUP2 to contain complete parameter list.

	* libio/libio.h: Add definition of struct _IO_cookie_file.

	* libio/libioP.h: Add prototypes for _IO_vasprintf, _IO_vdprintf,
        and _IO_vsnprintf.

	* libio/memstream.c: Include <stdio.h>.

	* libio/stdio.h: Add prototypes for fopencookie,
        __stdio_gen_tempname, __vfscanf, __vsscanf, and __vsnprintf.

	* libio/strops.c: Avoid useless expression in `for' initializer.

	* locale/findlocale.c: Add some casts to prevent warnings.

	* locale/programs/locfile.c (write_locale_data): Don't use
	double `/' in locale binary file.

	* posix/unistd.h: Remove prototype for `reboot'.

	Update from bind-4.9.4-T1A.
	* resolv/Makefile (routines): Add inet_ntop and inet_pton.
	* resolv/arpa/nameser.h: Add definition of IN6ADDRSZ.
	* resolv/gethnamaddr.c, resolv/getnetnamadr.c, resolv/res_comp.c,
	resolv/res_debug.c, resolv/res_init.c

	* resolv/inet_ntop.c, resolv/inet_pton.c: New files.

	* resolv/resolv.h: Add RES_USE_INET6 flag.
	(__dn_isvalid): Renamed to __res_dnok.
	Add prototypes for __res_ownok and __res_mailok.

	* stdio-common/Makefile: Add -Wno-unused to CFLAGS for _itoa.c.

	* stdio-common/getline.c, stdio-common/vfscanf.c,
        sysdeps/posix/tempname.c: Don't use <ansidecl.h> anymore.

	* sysdeps/unix/sysv/linux/Makefile [$subdir == misc]
        (sysdep_routines): Add s_reboot.
	(install-others): Add $(includedir)/sys/syscall.h.
	New rule for $(includedir)/sys/syscall.h to produce from
	<asm/unistd.h>.

	* sysdeps/unix/sysv/linux/reboot.c: New file.  Make single
        argument function call 3 argument system call.

	* sysdeps/unix/sysv/linux/sys/reboot.h: New file.  Linux specific
	definition for reboot function.

	* sysdeps/unix/sysv/linux/syscall.h: Remove old and obsolete
        comment.

	* sysdeps/unix/sysv/linux/syscalls.list: Rename function for
	reboot syscall to __syscall_reboot.

	* wcsmbs/wchar.h: Protect prototypes for wcstof and wcstold by
	__USE_GNU, not USE_GNU.

Tue May 21 21:55:49 1996  David Mosberger-Tang  <davidm@AZStarNet.com>

	* locale/programs/charset.c, locale/programs/ld-collate.c:
	Add casts to prevent warnings on 64-bit machines.

	* locale/programs/ld-monetary.c: Don't do unnecessary tests for
	int_frac_digits and frac_digits which only produce warnings.

Mon May 13 23:45:29 1996  David Mosberger-Tang  <davidm@AZStarNet.com>

	* inet/arpa/inet.h: Backup return type of inet_addr to u_long.
	* resolv/inet_addr.c: Likewise.

	* resolv/Makefile (distribute): Add res_hconf.h
	(routines): Add res_hconf.

	* resolv/gethnamaddr.c: Add support for /etc/host.conf.

	* resolv/res_init.c: Initialize /etc/host.conf reader.

	* resolv/res_hconf.c, resolv/res_hconf.h: New files.
        Implementation of reading /etc/host.conf.

Wed May 22 21:21:15 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>

	* Rules (%.out rules): Prepend $($*-ENV) to the command.

	* sysdeps/unix/sysv/linux/i386/brk.c (___brk_addr): Define as weak
	alias for __curbrk.

Wed May 22 19:37:27 1996  Miles Bader  <miles@gnu.ai.mit.edu>

	* hurd/hurdexec.c (_hurd_exec): Pass INIT_TRACEMASK.
	* hurd/hurdmsg.c (set_int): Support INIT_TRACEMASK.

Wed May 22 18:47:31 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>

	* sysdeps/mach/hurd/getcwd.c
	(_hurd_canonicalize_directory_name_internal): New function, broken out
	of __getcwd.
	(__getcwd): Use it.
	(__canonicalize_directory_name_internal): New function using it.

	* sysdeps/posix/getcwd.c (__canonicalize_directory_name_internal): New
	function, broken out of __getcwd.
	(__getcwd): Use it.

Wed May 22 18:14:05 1996  Miles Bader  <miles@gnu.ai.mit.edu>

	* string/argz-create.c (__argz_create): Correctly calculate length.

	* string/argz-extract.c (__argz_extract): Add terminating 0 entry.
	* hurd/hurdstartup.c (_hurd_startup): ... and don't so here.

	[HAVE_VMSDIR_H]: Include "vmsdir.h".
	(glob) [VMS]: Don't grok ~.
1996-05-23 03:15:42 +00:00
Roland McGrath
b8fe19fa80 Wed May 22 01:48:54 1996 Ulrich Drepper <drepper@cygnus.com>
* stdlib/strtol.c [!QUAD] (ULONG_MAX, LONG_MAX): Define these
	macros if they are not available.
	(WEAKNAME): New macro to declare argument as weak.
	Define function with __ prefix and add normal name as weak alias.

	* sysdeps/posix/euidaccess.c (S_IROTH, S_IWOTH, S_IXOTH): Defines
	these macros if not already available based on R_OK, W_OK, and
	X_OK.

Tue May 21 18:48:46 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>

	* misc/sys/syslog.h (__need___va_list): Define this instead of
	__need_va_list before including <stdarg.h>.

	* Makerules (o-iterator): Use $(object-suffixes-left) instead
	of $(object-suffixes) to produce repetitions; this is used for other
	lists than just that one.
	[versioned]: Use $(o-iterator) properly.

	* sysdeps/unix/sysv/linux/Implies: Include `gnu'.
	* sysdeps/mach/hurd/Implies: Likewise.

Sat May 18 02:57:46 1996  Ulrich Drepper  <drepper@cygnus.com>

	* login/Makefile: New file.  This directory contains functions
	for user administration.
	* Makefile (subdirs): Add login.

	* misc/Makefile (headers): Remove utmp.h.  Now in login/utmp.h.
	(extra-libs, libutil-routines): Ditto.
	* misc/login.c, misc/login_tty.c, misc/logout.c, misc/logwtmp.c,
	misc/utmp.h: Moved to misc/.
	* login/login.c, login/login_tty.c, login/logout.c,
        login/logwtmp.c, login/utmp.h: Moved to here from misc/.

	* login/utmp.h: Split file.  Definitions of data structures
	and constants are now in the system dependent utmpbits.h file.

	* login/setutent_r.c, login/setutent.c, login/endutent_r.c,
	login/endutent.c, login/getutent_r.c, login/getutent.c,
	login/getutid_r.c, login/getutid.c, login/getutline_r.c,
	login/getutline.c, login/pututline_r.c, login/pututline.c:
	New files.  Routines to handle utmp-style files.

	* sysdeps/gnu/utmpbits.h: New file.  Contains GNU/Linux
	specific definitions of utmp data structures and constants.

	* sysdeps/unix/sysv/utmpbits.h: Renamed from sysdeps/unix/sysv/utmp.h.

	* sysdeps/generic/utmpbits.h: New file.  Generic (BSDish) version of
	definitions of utmp data structures and constants.

Fri May 17 00:01:31 1996  Ulrich Drepper  <drepper@cygnus.com>

	* locale/C-monetary.c: Default value for mon_decimal_point should be
        '.'.

	* stdio-common/printf.h: Remove Linux libc compatibility stuff.
	Add `extra' flag.  Currently used in __printf_fp.

	* stdio-common/printf_fp.c (__guess_grouping): Renamed from
        `guess_grouping' and extend visibility to extern.  This function
        is now used in `strfmon'.
	(__printf_fp): Recognize new bit flag in info struct.  This
	triggers to use the grouping information and decimal point from
	the LC_MONETARY category instead of the LC_NUMERIC category.

	* stdio-common/vfprintf.c (process_arg): Correct major bug.  In
	`complicated' loop we must not use the varargs because the args
	are already available in the ARGS_VALUE array.

	* stdlib/Makefile (headers): Add monetary.h.
	(routines): Add strfmon.
	* stdlib/monetary.h: New file.  Header for strfmon function.
	* stdlib/strfmon.c: New file.  Implement strfmon function to print
	monetary amounts according to current locale's rules.

	* sysdeps/unix/sysv/linux/i386/sys/vm86.h: The kernel header is
	now (>= Linux-1.3.100) called <asm/vm86.h>.
1996-05-22 02:11:55 +00:00
Roland McGrath
0f90ef9650 * Makerules ($(libdir)/libc.so): Make the file an ld script.
* sysdeps/mach/hurd/configure.in: Don't grok --with-hurd option.

	* sysdeps/mach/configure.in: File removed.
	* sysdeps/mach/configure: File removed.
1996-05-12 22:15:01 +00:00
Roland McGrath
aa1075ea2f Sun May 12 11:16:58 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* mach/Machrules (%.udeps rule): Write deps for %_server.[ch] too.
	(%_server.[ch] rule): Don't depend on %.defs; use #include to get
	installed .defs file.

	* stdio-common/vfprintf.c (flockfile, funlockfile): Define to
	nothing for stdio.  Fix fUNlockfile -> funlockfile for libio.
	* stdio-common/vfscanf.c: Likewise.

Sat May 11 13:43:41 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>

	* hurd/hurdfault.c: Include faultexc_server.h instead of faultexc.h.

	* mach/Machrules (%.ir rule): Don't produce deps for imports.

	* elf/dl-fini.c (_dl_fini): Clear L->l_init_called after calling fn.

	* Makerules (install): Depend on $(slibdir)/libc.so$(libc.so-version).
	[!subdir] ($(libdir)/libc.so, $(common-objpfx)/libc-syms.so): Protect
	these targets and install dep on $(libdir)/libc.so with this.

	* hurd/Makefile: Removed all rules and defns for using code from Hurd
	sources and installing headers from there.

	* sysdeps/mach/hurd/errnos.awk: Set in_mach_errors to FILENAME when we
 	set it.  In Mach error matching clause, only match if FILENAME is
 	still the same value.

	* sysdeps/mach/hurd/Makefile: Don't include sysdeps/mach/Makefile;
	$(mach-srcdir) no longer exists.
	(hurd-srcdir): Variable removed.
	(includes): Don't append -I$(hurd-srcdir).
	(last-includes): Variable removed.
	Remove vpath specs using $(hurd-srcdir).
	(mach-errno-h): New canned sequence.
	($(common-objpfx)errnos.d): New target, generated included makefile
	to determine absolute file names of Mach headers to search for error
	codes and set variable mach-errnos-deps.
	($(common-objpfx)stamp-errnos): Depend on $(mach-errnos-deps) instead
	of prior explicit list.
	(generated): Add errnos.d, stamp-errnos.

	* mach/Machrules (some-if-rtn): New variable and target; compute deps
	of some if routine and make all if routines depend on that .d file
	instead of static list of .h files.

	* mach/Makefile (mach/mach_interface.defs,
	mach/memory_object_user.defs): Targets removed.
	($(objpfx)mach-syscalls.mk): Tweak this kludge so it doesn't depend
	directly on Mach sources.

	* sysdeps/mach/Makefile (mach-srcdir): Variable removed.
	(includes): Don't append -I$(mach-srcdir).
	Remove vpath specs using $(mach-srcdir).

	* hurd/Makefile (server-interfaces): Add faultexc.
	(sig): Remove it from here.
	(fault%.[ch]): Rule removed.
	(MIGFLAGS-faultexc): New variable.

	* hurd/faultexc.defs: New file.

	* mach/Machrules (%.ustamp rule): Pass $(MIGFLAGS-$*) to mig.
	(%_server.[ch] rule): Likewise.

	* mach/Makefile: Removed all rules and defns for using code from Mach
	sources and installing headers from there.

	* Makeconfig [$(build-shared)=yes] (link-libc): Append
	$(libc.so-version) to libc.so.

	* mach/Machrules (%.ustamp rule): Don't depend on %.defs.
	(%.udeps): New rule parallel to that one, generating included
	makefiles with -M output from `#include <%.defs>'.

	* Makerules (sed-remove-objpfx): Remove space before \ at eol.
1996-05-12 16:38:08 +00:00
Roland McGrath
f55814ff6c Regenerated: autoconf sysdeps/unix/configure.in 1996-05-09 23:13:21 +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
93a470c71a Tue May 7 10:51:52 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* wcsmbs/wcwidth.c, wcsmbs/wcswidth.c: Fixed typos.

	* sysdeps/unix/sysv/linux/sys/mman.h: Fixed typo.

	* sysdeps/stub/sched_getp.c: Add missing #include <sys/types.h>.
	* sysdeps/stub/sched_sets.c: Likewise.
	* sysdeps/stub/sched_setp.c: Likewise.
	* sysdeps/stub/sched_rr_gi.c: Likewise.
	* sysdeps/stub/sched_gets.c: Likewise.

	* hurd/hurdsig.c: Use struct hurd_signal_detail.
	* hurd/hurd/fd.h (_hurd_fd_error): Likewise.
	* sysdeps/mach/hurd/sysd-stdio.c (fd_fail): Likewise.
1996-05-07 14:57:38 +00:00
Roland McGrath
db2286f6d9 * locale/setlocale.c (_nl_C_name): Variable removed.
* locale/C_name.c: New file.
	(_nl_C_name): Put it here instead.
	* locale/Makefile (aux): Add C_name.

	* sysdeps/mach/hurd/dl-sysdep.c (open): Don't pass io port in
	auth_user_authenticate rpc.
	(open): Avoid using strtol in digit conversion for "fd/N" magic.
	(_dl_sysdep_start): Likewise for memobj name in magic switches.

	* elf/Makefile (reloc-link): New variable.
	(dl-allobjs.so): New target, link together $(rtld-routines).
	(librtld.so): Depend on that instead of the rtld components.
	(generated): Add dl-allobjs.so.
1996-05-04 13:57:05 +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
Roland McGrath
f5936b69da Wed May 1 09:10:04 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* sysdeps/mach/hurd/getcwd.c: Jump out of both loops when we find a
	name, instead of checking for reaching end of buffer, which happens
	when the match is the last entry in the buffer.
1996-05-02 00:26:56 +00:00
Miles Bader
06f82985cb Regenerated from ../sysdeps/mach/hurd/errnos.awk ../manual/errno.texi ../../mach/mach/message.h ../../mach/mach/kern_return.h ../../mach/mach/mig_errors.h ../../mach/device/device_types.h 1996-04-30 21:33:05 +00:00
Roland McGrath
c508104668 Regenerated from ../sysdeps/mach/hurd/errnos.awk ../manual/errno.texi /gd4/gnu/mach/mach/message.h /gd4/gnu/mach/mach/kern_return.h /gd4/gnu/mach/mach/mig_errors.h /gd4/gnu/mach/device/device_types.h 1996-04-29 06:49:03 +00:00
Roland McGrath
392d7920cd Mon Apr 29 00:11:59 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* errno.h [!__error_t_defined] (error_t): New type.
	* sysdeps/mach/hurd/errnos.awk: #define __error_t_defined after the
	typedef in errnos.h.

	* string/envz.c, string/envz.h: New files.
	* string/argz.h, string/argz-append.c, string/argz-count.c,
	string/argz-create.c, string/argz-delete.c, string/argz-extract.c,
	string/argz-insert.c, string/argz-stringify.c: New files.
	* string/Makefile (routines): Add envz, argz-*.
	(headers): Add argz.h, envz.h.
1996-04-29 05:21:53 +00:00
Miles Bader
072d114510 (__getcwd): When we find a match in the scan for a name, avoid doing another readdir (which overwrites NENTRIES, and was resulting in a bogus ENOENT). 1996-04-25 21:37:46 +00:00
Miles Bader
8ec2f30995 (__fcntl): Add missing break after F_SETFL. 1996-04-25 20:21:20 +00:00
Roland McGrath
9a8c0d4f41 Tue Apr 23 15:56:56 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* config.h.in (HAVE_REGEX): New macro.

	* sysdeps/unix/syscalls.list: Add statfs, fstatfs.
	* io/Makefile (headers): Add sys/statfs.h, statfsbuf.h.
	(routines): Add statfs, fstatfs.
	* sysdeps/mach/hurd/statfs.c: New file.
	* sysdeps/mach/hurd/fstatfs.c: New file.
	* sysdeps/stub/fstatfs.c: New file.
	* sysdeps/stub/statfs.c: New file.
	* io/sys/statfs.h: New file.
	* sysdeps/generic/statfsbuf.h: New file.
	* sysdeps/unix/sysv/linux/statfsbuf.h: New file.

Tue Apr 23 00:06:47 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>

	* malloc/Makefile (gmalloc-routines): Add valloc back here.
	(dist-routines): Remove it here.
	* malloc/valloc.c [_MALLOC_INTERNAL && GMALLOC_INHIBIT_VALLOC]
	(ELIDE_VALLOC): Define it.
	[! ELIDE_VALLOC]: Make whole file conditional on this.
	* malloc/malloc.h (valloc): Make decl conditional on
	[!GMALLOC_INHIBIT_VALLOC] instead of [!emacs].

Mon Apr 22 00:02:19 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>

	* MakeTAGS: Include version.mk.
	(po/SYS_libc.pot): Add missing / in sed s cmd.
1996-04-24 00:58:47 +00:00
Miles Bader
a1a5fa67c6 (__gettimeofday): Don't fail if the user passes in TZ, just zero it (emacs passes in a dummy variable, and rms says the hurd should be the one to change). 1996-04-08 23:35:57 +00:00
Roland McGrath
3125073e10 Sun Apr 7 10:37:30 1996 Roland McGrath <roland@whiz-bang.gnu.ai.mit.edu>
* sysdeps/mach/hurd/fork.c: Don't leak send rights to the child's proc
 	port in the parent.
Fri Apr  5 17:43:41 1996  Miles Bader  <miles@gnu.ai.mit.edu>
1996-04-07 17:44:31 +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
Miles Bader
aa0e1b599c (__mig_dealloc_reply_port): Only attempt to destroy PORT if it's a valid port name. 1996-04-06 01:49:21 +00:00
Roland McGrath
8c1442d02f Thu Mar 28 14:22:51 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
* sysdeps/mach/hurd/kill.c: If proc_pid2task gives us MACH_PORT_NULL
	the process is a zombie; send no messages and return success.
1996-03-28 19:30:33 +00:00
Roland McGrath
b20e47cb14 Tue Mar 19 14:18:42 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
* sysdeps/unix/bsd/pause.c: Moved to sysdeps/unix/common/pause.c.

Mon Mar  4 20:17:28 1996  David Mosberger-Tang  <davidm@azstarnet.com>

	* sysdeps/unix/sysv/linux/adjtime.c: Use INT_MAX instead of LONG_MAX.

	* sysdeps/unix/sysv/Makefile (sysdep_routines): Don't add s_getdents.

	* sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Don't add mount,
	umount.

	* sysdeps/alpha/__math.h (atan, cabs): New functions.

	* sysdeps/unix/sysv/linux/alpha/sigsuspend.S: new file (syscall
 	expects set-value, not pointer to it).

Sun Feb 25 22:36:10 1996  David Mosberger-Tang  <davidm@azstarnet.com>

	* sysdeps/unix/sysv/linux/alpha/profil-counter.h: New file.

	* gmon/gmon.c (__bb_head): new variable.
	(write_hist, write_call_graph, write_bb_counts): new functions.
	(_mcleanup): modified to call above functions instead of directly
 	writing out gmon.out.
	* gmon/sys/gmon.h (struct __bb): New type.
	(struct gmonhdr): Type removed.
	(struct gmonparam): New member `log_hashfraction'.
	(GMONVERSION): Macro removed.

	* gmon/sys/gmon_out.h, gmon/bb_exit_func.c,
 	sysdeps/generic/bb_init_func.c, sysdeps/alpha/bb_init_func.S: new
 	files.
	* gmon/Makefile (headers): Add sys/gmon_out.h.
	(routines): Add bb_init_func, bb_exit_func.

	* gmon/mcount.c: Avoid integer division.

Wed Feb 21 23:56:41 1996  David Mosberger-Tang  <davidm@azstarnet.com>

	* sysdeps/alpha/setjmp.S: switched order in which sp and fp are
 	passed to match what __sigsetjmp_aux() expects.

Tue Feb 20 11:33:46 1996  David Mosberger-Tang  <davidm@azstarnet.com>

	* sysdeps/unix/sysv/linux/alpha/syscalls.list (select, bind,
 	connect, getpeername, getsockname, listen, recv, recvfrom,
 	recvmsg, send, sendmsg, sendto, setsockopt, shutdown, socketpair):
 	added to override same-name assembly file in the parent directory.

	* stdlib/stdlib.h: add include of sys/types.h in front of random
 	etc declarations to ensure int32_t is declared.

	* stdlib/random.c, stdlib/random_r.c: replaced "long int" by int32_t
	where 32 bit integers are required.  Also change LONG_MAX into
	0x7fffffff since the intent is to turn off the sign bit in a
	32 bit integer.

	* time/offtime.c (__offtime): Use Paul Eggert's code to deal
	with very large values for "days" (e.g., 64 bit values).

Mon Feb 19 22:22:12 1996  David Mosberger-Tang  <davidm@azstarnet.com>

	* stdlib/stdlib.h (__random, __random_r, random_r, struct
 	random_data): use int32_t instead of `long int'.

Sat Feb 17 11:29:29 1996  David Mosberger-Tang  <davidm@azstarnet.com>

	* sysdeps/unix/sysv/linux/alpha/ioperm.c: new file.

	* sysdeps/alpha/ffs.S: new file.

	* sysdeps/alpha/fabs.c: File removed.

	* time/tzfile.c (__tzfile_read): counter variable is i, *not*
	num_transitions!

	* time/offtime.c: make capable of dealing with very large (64 bit)
 	time_t values.  Use old algorithm until a year is reached that
	is an integer multiple of 400, then use DAYS_PER_400_YEARS to
	do the remainder in a single division.

	* sysdeps/generic/ffs.c (ffs): fix variable declarations to
	be unsigned int, not unsigned long.

	* string/test-ffs.c (main): add test case with all upper bits
	set.

	* stdlib/tst-strtol.c: add tests cases for machines where
	sizeof(long)==8.

	* stdlib/testrand.c (main): disallow rand() to return negative
 	integers.

	* stdlib/testmb.c (main): fix format to use %lx instead of %x.

	* stdlib/stdlib.h: on 64 bit machines, declare
	struct random_data, __random(),  __random_r, and random_r to
	return "int" instead of "long int".

	* stdlib/random_r.c: 64 bit machines use "int" instead of "long
 	int".  Similarly, use INT_MAX instead of LONG_MAX.

	* stdlib/random.c: on 64 bit machines, randtbl[] and __random[]
 	need to operate on "int" instead of "long int".

	* locale/locfile-hash.c (compute_hashval): make shifted constant
	a long to avoid loosing bits on 64 bit machines.

	* dirent/tst-seekdir.c (main): fix confusing comment; print
	a line to mark point where directory is rewound.

Fri Feb 16 15:01:49 1996  David Mosberger-Tang  <davidm@azstarnet.com>

	* time/strftime.c (strftime): any hour > 11 is PM (not > 12!).

Wed Feb 14 00:21:17 1996  David Mosberger-Tang  <davidm@azstarnet.com>

	* sysdeps/unix/sysv/linux/alpha/Makefile,
	sysdeps/unix/sysv/linux/alpha/brk.S,
	sysdeps/unix/sysv/linux/alpha/fpu_control.c,
	sysdeps/unix/sysv/linux/alpha/fpu_control.h,
	sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S,
	sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S,
	sysdeps/unix/sysv/linux/alpha/pipe.S,
	sysdeps/unix/sysv/linux/alpha/setfpucw.c,
	sysdeps/unix/sysv/linux/alpha/sigprocmask.c,
	sysdeps/unix/sysv/linux/alpha/speed.c,
	sysdeps/unix/sysv/linux/alpha/start.S,
	sysdeps/unix/sysv/linux/alpha/syscall.S,
	sysdeps/unix/sysv/linux/alpha/syscalls.list,
	sysdeps/unix/sysv/linux/alpha/alpha/regdef.h,
	sysdeps/unix/sysv/linux/alpha/sysdep.S,
	sysdeps/unix/sysv/linux/alpha/sysdep.h: New files.

	* sysdeps/alpha/setjmp_aux.c (__sigsetjmp_aux): restore return
 	address register before returning (gcc 2.7.1 doesn't do it,
 	presumably because $26 is declared as a global variable).

	* sysdeps/unix/sysv/linux/sys/mman.h: msync was missing "flags"
	argument.

	* sysdeps/unix/alarm.c (alarm): do roundup using test & increment
	instead of multiplication.

	* sysdeps/posix/sleep.c (sleep): initialize sa_mask to mask of
	currently blocked signals instead of the empty mask to ensure
	that execution of alarm handler occurs with none of the currently
	blocked signals enabled.

	* sysdeps/unix/alpha/sysdep.h: new file (adapted from OSF/1 version).

	* sysdeps/unix/bsd/osf/alpha/sysdep.h: include
 	sysdeps/unix/alpha/sysdep.h and removed definitions now in that file.

	* sysdeps/alpha/divrem.S, sysdeps/alpha/htonl.S,
	sysdeps/alpha/htons.S, sysdeps/alpha/machine-gmon.h,
	sysdeps/alpha/_mcount.S, sysdeps/alpha/ntohl.s, sysdeps/alpha/ntohs.s,
	sysdeps/alpha/strlen.S: New files.

	* sysdeps/alpha/divl.S, sysdeps/alpha/divlu.S, sysdeps/alpha/divq.S,
	sysdeps/alpha/divqu.S, sysdeps/alpha/divrem.m4,
	sysdeps/alpha/macros.m4, sysdeps/alpha/reml.S, sysdeps/alpha/remlu.S,
	sysdeps/alpha/remq.S, sysdeps/alpha/remqu.S, sysdeps/alpha/strlen.c:
 	Removed.

	* sysdeps/generic/sbrk.c (__sbrk): argument is of type ptrdiff_t, not
	int.

	* sysdeps/alpha/__longjmp.c (__longjmp): moved dummy while loop
	to end of function to avoid a jump across NOPs.

	* sysdeps/alpha/Makefile (sysdep_routines): Removed all rules
 	pertaining to integer division/remainder routines since new code
 	doesn't require them.

	* sunrpc/xdr_mem.c, sunrpc/xdr_stdio.c: Use 4 instead of sizeof(long)
	where 32 bit quantities are consumed/stored.  Various other minor
	64-bit cleanups (casting).

	* sunrpc/xdr.c (xdr_int): test for sizeof(int)==4 to determine
 	whether xdr_long or xdr_short should be used to encode an int.
  	Notice that an xdr_long is 4 bytes independent of the architecture
	(otherwise no Alpha could interoperate with existing NFS servers,
 	for example).  Ditto for enums.

	* sunrpc/svc_udp.c (svcudp_recv): changed test from 4*sizeof(u_long)
	to 16 since it really wants 16 bytes.

	* sunrpc/svc.c (maskp): changed from u_long* to u_int32*.

	* sunrpc/rpc_cmsg.c (xdr_callmsg), sunrpc/svc_authux.c: increment
	"buf" pointer by casting it to a char* first since a long* may be 8
 	bytes or more and oa->oa_length may be any multiple of 4.

	* sunrpc/rpc/xdr.h (IXDR_GET_LONG, IXDR_PUT_LONG): change casts to
 	u_int32_t (instead of u_long).

	* sunrpc/clnt_udp.c (clntudp_call): replaced sizeof(u_long) by 4
	since it really is testing for 32 bits.  Fixed casts to use
	u_int32 instead of u_long.
	* sunrpc/xdr_rec.c: Likewise.

	* sunrpc/clnt_tcp.c (clnttcp_call): replaced u_long by u_int32.
	* sunrpc/rpc/auth.h: Likewise.

	* limits.h (LONG_MAX, LONG_MIN, ULONG_MAX): use 64 bit values
	for Alpha.

Tue Mar 19 13:27:49 1996  Roland McGrath  <roland@charlie-brown.gnu.ai.mit.edu>

	* sysdeps/i386/fpu/__math.h: New file.
	Contributed by John C. Bowman <bowman@hagar.ph.utexas.edu>.

Sun Mar 17 00:28:16 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/posix/clock.c: Don't multiply the return value by
	CLOCKS_PER_SEC or CLK_TCK.

	* sysdeps/mach/hurd/getcwd.c: Fail with ENOENT if a parent directory
	scan finds no match.

	* posix/unistd.h (setpgrp): Declare no-arg version unless __FAVOR_BSD.
	* misc/bsd-compat.c (setpgrp): New function, two arg version.
	* sysdeps/stub/setpgid.c: Remove setpgrp alias.
	* sysdeps/mach/hurd/setpgid.c: Likewise.
	* sysdeps/unix/sysv/sysv4/setpgid.c: Likewise.
	* sysdeps/unix/common/syscalls.list (setpgid): Remove setpgrp alias.
	* sysdeps/unix/sysv/irix4/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/setpgrp.c: Obsolete file removed.
	* posix/setpgrp.c (setpgrp): New file.
	* posix/Makefile (routines): Add setpgrp.

Tue Feb  6 12:46:29 1996  David Mosberger-Tang  <davidm@azstarnet.com>

	* libc-symbols.h (weak_alias, weak_symbol): added definitions
	for ECOFF (HAVE_ECOFF).
1996-03-19 20:21:54 +00:00
Miles Bader
5ac0712ca5 (__select): Include LASTFD in the final loop. 1996-03-05 23:46:23 +00:00
Miles Bader
3cf11a4b33 (__select): Don't fault when some fdmask is 0. 1996-03-05 17:15:44 +00:00
Miles Bader
e9ef1cf37a (__select): Don't increment GOT only because READ/WRITE/EXCEPTFDS is 0! Don't return without frobbing the bitmasks after a timeout. When clearing the bitmasks, only loop from FIRSTFD to LASTFD. 1996-03-05 00:07:01 +00:00
Roland McGrath
92777700d2 Mon Feb 26 10:22:30 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
* sysdeps/unix/dirstream.h: Rewritten.
	* sysdeps/unix/readdir.c: Rewritten.
	* sysdeps/unix/telldir.c: Rewritten.
	* sysdeps/unix/closedir.c: Use <...> instead of "..." for dirstream.h.
	Remove __ from DIR struct member names.
	* sysdeps/unix/dirfd.c: Likewise.
	* sysdeps/unix/seekdir.c: Likewise.
	* sysdeps/unix/rewinddir.c: Likewise.
	* sysdeps/unix/opendir.c: Likewise.  Don't allocate extra space after
	DIR structure.
	* sysdeps/stub/direct.h: File removed.
	* sysdeps/unix/bsd/bsd4.4/direct.h: File removed.
	* sysdeps/unix/bsd/direct.h: File removed.
	* sysdeps/unix/common/direct.h: File removed.
	* sysdeps/unix/sysv/irix4/direct.h: File removed.
	* sysdeps/unix/sysv/isc3/direct.h: File removed.
	* sysdeps/unix/sysv/sco3.2.4/direct.h: File removed.
	* sysdeps/unix/sysv/sysv4/solaris2/direct.h: File removed.
	* sysdeps/unix/common/direntry.h: New file.
	* sysdeps/unix/bsd/direntry.h: New file.
	* sysdeps/unix/bsd/bsd4.4/direntry.h: New file.
	* sysdeps/unix/sysv/direntry.h: New file.
	* sysdeps/stub/direntry.h: New file.
	* dirent/dirent.h (struct dirent): Type removed.  Include <direntry.h>
	to define it.
	(_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New macros.
	* dirent/Makefile (headers): Add direntry.h.
	(distribute): Remove direct.h.
	* sysdeps/posix/getcwd.c: Use new macros instead of d_namlen.
	* dirent/scandir.c: Likewise.
	* io/fts.c (fts_build): Likewise.
	* io/ftw.c (ftw_dir): Likewise.
	* sysdeps/posix/ttyname.c: Likewise.

	* sysdeps/unix/sysv/sysv4/solaris2/syscalls.list: New file.

	* sysdeps/mach/hurd/profil.c (MAX_PC_SAMPLES): New macro.
	(collector_timeout): New static variable.
	(update_waiter): Actually call __task_enable_pc_sampling.
	Set collector_timeout based on the `tick' count returned.
	(profile_waiter): Use MAX_PC_SAMPLES.  Set nsamples before RPC.
	Use collector_timeout in __mach_msg call.

	* gmon/Makefile (noprof): New variable containing mcount.
	Append profil unless it is in $(unix-syscalls).
	(mcount.po): Use $(noprof) for list of targets in this rule.

	* libc-symbols.h: Define _LIBC before #include <config.h>.

Sun Feb 25 12:29:23 1996  Roland McGrath  <roland@charlie-brown.gnu.ai.mit.edu>

	* config.h.in [_LIBC] (HAVE_STRERROR): Define it.
	Protect 2nd page of #undef's for generator programs with #ifndef _LIBC.

	* time/zic.c, time/zdump.c, time/private.h: Updated from ADO's latest.

Fri Feb  9 12:40:19 1996  Brendan Kehoe  <brendan@lisa.cygnus.com>

 	* libio/cleanup.c (_IO_cleanup_registration_needed)
	[!_G_HAVE_ATEXIT]: Init to NULL.
	* libio/filedoalloc.c (_IO_cleanup_registration_needed): Remove decl.

Thu Feb  8 08:12:50 1996  Brendan Kehoe  <brendan@cygnus.com>

	* libio/filedoalloc.c (_IO_cleanup_registration_needed): Revert
	previous change, since cleanup.c only defines it if _G_HAVE_ATEXIT.

Wed Feb  7 15:10:17 1996  Brendan Kehoe  <brendan@lisa.cygnus.com>

	* libio/filedoalloc.c (_IO_cleanup_registration_needed): Declare as
	extern.

Sat Feb 24 11:34:13 1996  Roland McGrath  <roland@charlie-brown.gnu.ai.mit.edu>

	* sysdeps/i386/memcmp.S: Fix argument %esp offsets.

	* time/sys/time.h (timeradd, timersub): New macros; BSD has these.
1996-02-27 00:55:03 +00:00
Roland McGrath
a182affdd9 Wed Feb 21 02:25:07 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
* Rules (others): Depend on $(extra-objs), $(install-lib),
	$(install-bin), $(install-sbin), in object directory.

	* Makeconfig (link-libc): Don't pass -rpath option with default
	path, since ld.so should use the same default.
	* Makerules (build-shlib): Likewise.

	* Makerules (make-target-directory): Use mkinstalldirs.

	* sysdeps/mach/i386/sysdep.h: Include unix/i386/sysdep.h to
	redefine ENTRY et al.

	* sysdeps/unix/sysv/linux/i386/sysdep.h (NO_UNDERSCORES, ENTRY):
	Macros removed.  The code in unix/i386/sysdep.h should now suffice.

	* sysdeps/unix/i386/sysdep.h (ALIGNARG): New macro, defns for
	[HAVE_ELF] and not.
	(ENTRY): Use it in .align directive.
	(CALL_MCOUNT): New macro, empty unless [PROF].
	(ENTRY): Do CALL_MCOUNT just after the label.

	* Makeconfig (CPPFLAGS-.po): New variable, use -DPROF so assembly
	code can call mcount.

Tue Feb 20 23:05:16 1996  Roland McGrath  <roland@charlie-brown.gnu.ai.mit.edu>

	* time/private.h, time/zdump.c, time/zic.c: Updated verbatim from ADO;
	translation markings are now integrated in his distribution.

	* stdlib/strtod.c (round_and_return): Add missing (mp_limb) 1 cast.

	* po: New directory where `LANG.po' files for message translations
	will reside.
	* po/SYS_libc.pot: New file, template of message strings as in source.
	* MakeTAGS: New rules to build po/SYS_libc.pot automatically from
	the source using xgettext.
	* Makerules ($(..)po/%.pot): New rule.
	* manual/Makefile (../po/manual.pot): New target, make it empty.

	* sysdeps/unix/bsd/alarm.c: Moved to sysdeps/unix/alarm.c.
	* sysdeps/unix/bsd/nice.c: Moved to sysdeps/unix/nice.c.
	* sysdeps/unix/bsd/stime.c: Moved to sysdeps/unix/stime.c.
	* sysdeps/unix/bsd/time.c: Moved to sysdeps/unix/time.c.
	* sysdeps/unix/bsd/utime.c: Moved to sysdeps/unix/utime.c.
1996-02-22 15:52:20 +00:00
Roland McGrath
9e3db9cd59 Thu Feb 15 13:57:08 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
* mach/Machrules: Use -include for $(*.ir).

	* hurd/hurd/ioctl.h (_HURD_HANDLE_IOCTLS): Mask off type bits in
	request values.
	* sysdeps/mach/hurd/ioctls.h (_IOC_NOTYPE): New macro.
	(_IOT_COUNT2): Field is 3 bits, not 2.
	* sysdeps/mach/hurd/ioctl.c: Ignore handler if it fails with ENOTTY.
	* hurd/hurdioctl.c (_hurd_lookup_ioctl_handler): Mask off type
	bits before looking up handler.
	(fioctl): Use __hurd_dfail.
	(fioctl, fioclex): Use ENOTTY for bogus request instead of EGRATUITOUS.

Wed Feb 14 00:21:17 1996 David Mosberger-Tang  <davidm@azstarnet.com>

	* sysdeps/alpha/memchr.c (memchr): loop searching for matching
	character bailed out one too early; changed constant 6 to
	7 to fix this.
1996-02-16 02:19:52 +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
b07c5668f6 Updated from ../gpl2lgpl.sed /home/gd/gnu/lib/getopt.c 1996-02-02 18:41:42 +00:00
Miles Bader
924940c120 (__select): Recalculate GOT to include an increment for each operation allowed on each fd. 1996-01-29 21:45:43 +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
Miles Bader
6d5cbf7b35 (bind): Ensure NAME for the AF_LOCAL case is '\0'-terminated. 1996-01-24 02:39:26 +00:00
Roland McGrath
c43b8c4bea Wed Jan 17 11:04:58 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* io/sys/stat.h (_STAT_VER, _MKNOD_VER): New macros.
	(__xstat, __fxstat, __lxstat, __xmknod): Declare new functions.
	[__GNUC__] (stat, fstat, lstat, mknod): Define these (and __ names)
	as `extern inline's calling the `x' functions.
	* io/fstat.c: New file.
	* io/lstat.c: New file.
	* io/stat.c: New file.
	* sysdeps/generic/lstat.c: File removed.
	* sysdeps/generic/lxstat.c: New file.
	* sysdeps/mach/hurd/fstat.c: File removed.
	* sysdeps/mach/hurd/fxstat.c: New file.
	* sysdeps/mach/hurd/lstat.c: File removed.
	* sysdeps/mach/hurd/lxstat.c: New file.
	* sysdeps/mach/hurd/mknod.c: File removed.
	* sysdeps/mach/hurd/stat.c: File removed.
	* sysdeps/mach/hurd/xmknod.c: New file.
	* sysdeps/mach/hurd/xstat.c: New file.
	* sysdeps/stub/fstat.c: File removed.
	* sysdeps/stub/fxstat.c: New file.
	* sysdeps/stub/lstat.c: File removed.
	* sysdeps/stub/lxstat.c: New file.
	* sysdeps/stub/mknod.c: File removed.
	* sysdeps/stub/stat.c: File removed.
	* sysdeps/stub/xmknod.c: New file.
	* sysdeps/stub/xstat.c: New file.
	* sysdeps/unix/common/lstat.S: File removed.
	* sysdeps/unix/common/lxstat.c: New file.
	* sysdeps/unix/fstat.S: File removed.
	* sysdeps/unix/fxstat.c: New file.
	* sysdeps/unix/mknod.S: File removed.
	* sysdeps/unix/stat.S: File removed.
	* sysdeps/unix/sysv/linux/fstat.c: File removed.
	* sysdeps/unix/sysv/linux/i386/fxstat.S: File removed.
	* sysdeps/unix/sysv/linux/i386/lxstat.S: File removed.
	* sysdeps/unix/sysv/linux/i386/xmknod.S: File removed.
	* sysdeps/unix/sysv/linux/i386/xstat.S: File removed.
	* sysdeps/unix/sysv/linux/lstat.c: File removed.
	* sysdeps/unix/sysv/linux/mknod.c: File removed.
	* sysdeps/unix/sysv/linux/stat.c: File removed.
	* sysdeps/unix/sysv/sysv4/i386/fstat.S: File removed.
	* sysdeps/unix/sysv/sysv4/i386/lstat.S: File removed.
	* sysdeps/unix/sysv/sysv4/i386/mknod.S: File removed.
	* sysdeps/unix/sysv/sysv4/i386/stat.S: File removed.
	* sysdeps/unix/xmknod.c: New file.
	* sysdeps/unix/xstat.c: New file.
	* sysdeps/unix/mkfifo.c: Use __xmknod instead of __mknod.
	* misc/Makefile (routines): Remove mknod.
	* io/sys/stat.h (_STAT_VER, _MKNOD_VER): New macros.
	(__xstat, __fxstat, __lxstat, __xmknod): Declare new functions.
	[__GNUC__] (stat, fstat, lstat, mknod): Define these (and __ names)
	as `extern inline's calling the `x' functions.
	* io/fstat.c: New file.
	* io/lstat.c: New file.
	* io/stat.c: New file.
	* sysdeps/generic/lstat.c: File removed.
	* sysdeps/generic/lxstat.c: New file.
	* sysdeps/mach/hurd/fstat.c: File removed.
	* sysdeps/mach/hurd/fxstat.c: New file.
	* sysdeps/mach/hurd/lstat.c: File removed.
	* sysdeps/mach/hurd/lxstat.c: New file.
	* sysdeps/mach/hurd/mknod.c: File removed.
	* sysdeps/mach/hurd/stat.c: File removed.
	* sysdeps/mach/hurd/xmknod.c: New file.
	* sysdeps/mach/hurd/xstat.c: New file.
	* sysdeps/stub/fstat.c: File removed.
	* sysdeps/stub/fxstat.c: New file.
	* sysdeps/stub/lstat.c: File removed.
	* sysdeps/stub/lxstat.c: New file.
	* sysdeps/stub/mknod.c: File removed.
	* sysdeps/stub/stat.c: File removed.
	* sysdeps/stub/xmknod.c: New file.
	* sysdeps/stub/xstat.c: New file.
	* sysdeps/unix/common/lstat.S: File removed.
	* sysdeps/unix/common/lxstat.c: New file.
	* sysdeps/unix/fstat.S: File removed.
	* sysdeps/unix/fxstat.c: New file.
	* sysdeps/unix/mknod.S: File removed.
	* sysdeps/unix/stat.S: File removed.
	* sysdeps/unix/sysv/linux/fstat.c: File removed.
	* sysdeps/unix/sysv/linux/i386/fxstat.S: File removed.
	* sysdeps/unix/sysv/linux/i386/lxstat.S: File removed.
	* sysdeps/unix/sysv/linux/i386/xmknod.S: File removed.
	* sysdeps/unix/sysv/linux/i386/xstat.S: File removed.
	* sysdeps/unix/sysv/linux/lstat.c: File removed.
	* sysdeps/unix/sysv/linux/mknod.c: File removed.
	* sysdeps/unix/sysv/linux/stat.c: File removed.
	* sysdeps/unix/sysv/sysv4/i386/fstat.S: File removed.
	* sysdeps/unix/sysv/sysv4/i386/lstat.S: File removed.
	* sysdeps/unix/sysv/sysv4/i386/mknod.S: File removed.
	* sysdeps/unix/sysv/sysv4/i386/stat.S: File removed.
	* sysdeps/unix/xmknod.c: New file.
	* sysdeps/unix/xstat.c: New file.
	* sysdeps/unix/mkfifo.c: Use __xmknod instead of __mknod.
	* misc/Makefile (routines): Remove mknod.

	* sysdeps/ieee754/ieee754.h (union ieee854_long_double.ieee_nan):
	Add missing ; in little-endian case.
1996-01-18 00:35:55 +00:00
Roland McGrath
22930c9bf2 Tue Jan 9 16:10:26 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* elf/dl-load.c (_dl_map_object_from_fd): After mapping first
 	segment to find location, mprotect excess region to no access,
 	don't munmap it.

	* sysdeps/mach/hurd/dl-sysdep.c (mmap): If vm_map returns
	KERN_NO_SPACE for fixed location, deallocate it and try again.
1996-01-10 10:00:22 +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
Miles Bader
9418ccede9 (__access): Put the uid/gid arguments to auth_makeauth() in the right order. 1996-01-04 00:18:53 +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
be7e3b7e7e Mon Dec 25 20:56:39 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/mach/hurd/bind.c: Translate EEXIST from dir_link into
	EADDRINUSE.  If translated node doesn't grok ifsock protocol,
	return EADDRINUSE.

	* sysdeps/mach/hurd/connect.c: Make address arg
	`const struct sockaddr_un *'.
	The redecl is kosher and avoids another variable for AF_LOCAL case.
	* sysdeps/mach/hurd/sendto.c: Likewise.
	* sysdeps/mach/hurd/bind.c: Likewise.

	* socket/sys/socket.h (__SOCKADDR_ARG): Enable transparent_union
 	code for GCC >= 2.7; use __transparent_union__ for name safety;
 	add several sockaddr flavors.
	(__SOCKADDR_ALLTYPES, __SOCKADDR_ONETYPE): New macros used in
	constructing the transparent union declarations.
	(__CONST_SOCKADDR_ARG): New type (or macro if not GCC 2.7).
	(bind, connect, sendto): Make the sockaddr argument use that.
1995-12-26 10:00:22 +00:00
Roland McGrath
2114e10acb Fri Dec 22 00:38:00 1995 H.J. Lu <hjl@nynexst.com>
* stdio-common/vfscanf.c: Correctly handle white space skipping.
	* stdio-common/Makefile (tests): Add bug11.
	* stdio-common/bug11.c: New file.
Fri Dec 22 00:38:00 1995  H.J. Lu  <hjl@nynexst.com>

        * stdio-common/vfscanf.c: Correctly handle white space skipping.
	* stdio-common/Makefile (tests): Add bug11.
	* stdio-common/bug11.c: New file.
1995-12-23 01:14:10 +00:00
Roland McGrath
975320984b Fri Dec 22 00:57:38 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/mach/hurd/setuid.c: Rewrote ID frobnication to do the
	right thing.
	* sysdeps/mach/hurd/setgid.c: Likewise.
	* sysdeps/mach/hurd/setreuid.c: Likewise.
	* sysdeps/mach/hurd/setregid.c: Likewise.
	* sysdeps/mach/hurd/setegid.c: Likewise.
	* sysdeps/mach/hurd/seteuid.c: Likewise.

	* sysdeps/mach/hurd/fork.c: Peek __mach_task_self_ value before
	proc_dostop call to work around kernel paging bug.

Thu Dec 21 12:19:32 1995  Miles Bader  <miles@gnu.ai.mit.edu>

	* sysdeps/mach/hurd/setuid.c (__setuid): Actually add the new uid
 	instead of putting it (and other uids) in the gids and leaving the
 	old uids as is.
1995-12-22 10:00:21 +00:00
Roland McGrath
e3fa2641f4 Peek __mach_task_self_ value before proc_dostop call to work around kernel paging bug. 1995-12-22 05:57:24 +00:00
Miles Bader
567676ff81 (__setuid): Actually add the new uid instead of putting it (and other uids) in the gids and leaving the old uids as is. 1995-12-21 17:43:59 +00:00
Roland McGrath
755f55b0db Mon Dec 18 13:40:37 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* stdio/fread.c: Don't increment __offset when it's -1.

	* elf/rtld.c (dl_main): Prepend tab to "statically linked".  Exit
	0 in that case.

	* misc/err.c (vwarnx, vwarn): Fix major brainos.

	* sysdeps/mach/hurd/dl-sysdep.c (mmap): Fix setting of
	inheritance.
1995-12-19 10:00:22 +00:00
Roland McGrath
65bf5fa317 Regenerated
Fri Dec  8 13:04:51 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* 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.
1995-12-12 02:42:14 +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
Miles Bader
0c7b844d25 (__select): Still clear the user's bits for an fd when SELECT_RETURNED isn't set. Only clear bits in the user's fdsets -- those needing to be set should be already. Use SELECT_ALL in appropiate places. (SELECT_ALL): New macro. 1995-12-07 03:03:31 +00:00
Miles Bader
53525291ae (__select): Swap size args to mach_msg. 1995-12-06 23:45:07 +00:00
Roland McGrath
756245d743 (NBBY): New macro. 1995-12-06 14:13:00 +00:00
Roland McGrath
196980f511 Updated from ../gpl2lgpl.sed /home/gd/gnu/lib/error.c 1995-12-06 00:14:32 +00:00
Roland McGrath
99cf7e3eba For IOC_VOID request, send ARG itself as integer_t arg in RPC. 1995-12-04 17:10:03 +00:00
Roland McGrath
683158e0c4 * sysdeps/mach/hurd/brk.c (DATA_SIZE): Bump to 128MB.
(_hurd_set_brk): Try to allocate more space when we run out.
	* sysdeps/generic/sbrk.c: If __curbrk is zero, call __brk with
	zero and examine it again.
	* sysdeps/unix/sysv/linux/i386/brk.c: New file.
	* sysdeps/unix/sysv/linux/i386/brk.S: File removed.
	* sysdeps/unix/sysv/linux/i386/sbrk.S: File removed.
	* sysdeps/unix/sysv/linux/dl-sysdep.c: New file.
1995-12-03 10:00:22 +00:00
Roland McGrath
b7843ea9ff Mon Nov 27 19:24:18 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* posix/Makefile (routines): Add getsid.
	* sysdeps/unix/sysv/linux/getsid.S: New file.
	* sysdeps/mach/hurd/getsid.c: New file.
	* sysdeps/stub/getsid.c: New file.
	* posix/unistd.h [__USE_GNU]: Declare getsid.
1995-11-28 10:00:22 +00:00
Roland McGrath
42d2676e7c Wed Nov 22 12:37:39 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/unix/sysv/linux/i386/sysdep.S (_errno): Define as alias
	for errno.

	* stdio-common/vfprintf.c [USE_IN_LIBIO] (vfprintf): Define as
	alias for _IO_vfprintf.

	* sysdeps/unix/sysv/linux/sockaddrcom.h: File removed.

	* sysdeps/unix/sysv/linux/i386/init-first.c (init): Use
	__fpu_control instead of ___fpu_control.
	* sysdeps/unix/sysv/linux/i386/ieee_fpu.c
	(___fpu_control): Renamed to __fpu_control.
	* sysdeps/unix/sysv/linux/i386/fpu_control.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/fpu_control.c: Likewise.

	* elf/dl-minimal.c: New file.
	* elf/Makefile (rtld-routines): Add dl-minimal.
	* elf/rtld.c (__dgettext, __assert_fail, __assert_perror_fail):
	Functions moved to dl-minimal.c.
	* sysdeps/mach/hurd/dl-sysdep.c (malloc, free, realloc,
	sigjmp_save, longjmp): Likewise.

	* sysdeps/unix/sysv/linux/i386/brk.S (__curbrk): Always initialize
	to &_end, regardless of PIC.

	* stdio-common/vfscanf.c (__vfscanf): Fix arg name in defn.
1995-11-23 04:53:06 +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
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
4cb202902d Thu Nov 16 06:07:49 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_start_cleanup): New
	function.
	(_dl_sysdep_start): Move cleanup code there.

	* Makeconfig (default-rpath): New variable.
	(link-libc): Use it.
	* elf/Makefile (ld.so): Pass -rpath=$(default-rpath).
	* elf/rtld.c (_dl_rpath): New variable.
	(_dl_start): Set it from rtld_map's DT_RPATH.
	Call _dl_setup_hash on rtld_map.
	(dl_main): Cache address of _exit in variable before relocating,
	and use that in later calls.  Call _dl_sysdep_start_cleanup before
	relocating.  Keep track of dependency order while loading; remove
	rtld_map from chain, and reinsert in proper order if there is a
	dependency on it.

	* sysdeps/generic/Makefile (make_siglist): Pass
	-DSIGNUM_H=... with config's signum.h location.
	* sysdeps/generic/make_siglist.c: Include SIGNUM_H to define
	signal numbers.
	(HAVE_STRSIGNAL, HAVE_PSIGNAL): Define these before including signame.c
	(main): Deansideclize output.

	* elf/dl-load.c (_dl_map_object): Use _dl_rpath variable in place
	of DEFAULT_RPATH macro.
	* elf/Makefile: Undo last change.

	* sysdeps/mach/hurd/dl-sysdep.c (free): Don't abort, just nop.
1995-11-17 02:33:47 +00:00
Roland McGrath
ec967c06ac Wed Nov 15 19:22:07 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/mach/hurd/dl-sysdep.c: Include _itoa.h from stdio-common
	instead of stdio.
	(_dl_sysdep_start): If passed user entry is zero and
	EXEC_STACK_ARGS flag set, reset user entry to &_start.

	* elf/rtld.c (dl_main): Only call _dl_setup_hash if there is a
	DT_HASH element.

	* libc-symbols.h [HAVE_ELF] (symbol_set_declare): Gratuitously
	repeat weak decl using weak_symbol macro, in case using broken GCC
	(<2.8).

Wed Nov 15 18:49:55 1995  Ulrich Drepper  <drepper@ipd.info.uni-karlsruhe.de>

	* sysdeps/i386/isnanl.c: New file.
	* sysdeps/i386/isinfl.c: New file.
1995-11-16 00:44:18 +00:00
Thomas Bushnell, BSG
f535a036af (ptrace) [PTRACE_TRACEME]: Notify the proc server that we are now traced. 1995-11-08 20:12:30 +00:00
Roland McGrath
86d2c878ac Tue Nov 7 12:29:46 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* elf/linux-compat.c: New file.
	* elf/Makefile (distribute): Add linux-compat.c.
	(generated): Add librtld.so.
	[$(config-os)=linux*] (extra-objs): Add linux-compat.so.
	[$(config-os)=linux*] (extra-objs): Add ld-linux.so.1.
	(librtld.so): New target.
	(ld.so, ld-linux.so.1): Make from librtld.so.

	* elf/rtld.c (dl_main): Instead of weak call to _dl_compat_init,
	call our own DT_INIT if we have one (and then clear it).
	(__dgettext): New weak function.

	* intl/localealias.c (read_alias_file): Avoid sprintf; use memcpy
	by hand instead.

	* sysdeps/generic/_strerror.c (_strerror_internal): Use _itoa
	instead of snprintf.

	* sysdeps/mach/_strerror.c (_strerror_internal): Don't write
	BUF[BUFLEN].

	* elf/rtld.c (rtld_map): New static variable.
	(_dl_start): Use a differently named local BOOTSTRAP_MAP for the
	bootstrapping.  Then copy data into `rtld_map'.
	(dl_main): Finish filling in rtld_map and link it into the chain,
	instead of allocating a new structure.
	(dl_main): Call _dl_compat_init if it is defined (use weak ref).

	* elf/dlsym.c: Fix last change: move REF out of `doit'.


	control.
	using it.

	and cwdir ports.
	functions.
	these.
	$(libdir)(rtld-installed-name).

	leading zeroes.

	in the rhs.
	pattern rule.


	never know.
	(fork): Use symbol_set_* macros for _hurd_fork_locks.
	* sysdeps/unix/sysv/sysv4/linux/i386/sysdep.S (__syscall_error):
 	instead of unix/sysv.

	-dynamic-linker.

	(__printf_fp): Last arg ARGS is now `const void **const';

	locale/C-ctype.c.
	* sysdeps/mach/hurd/sigsuspend.c: Likewise.
	* sysdeps/mach/hurd/mips/sigreturn.c: Likewise.
	alias gethostname.
	setitmr
	setpgrp
	(_S_msg_get_exec_flags, _S_msg_set_exec_flags,
	(abort_thread, abort_rpcs): Take same new arg and pass it through.
1995-11-07 21:46:52 +00:00
Roland McGrath
e380bf6248 Sun Nov 5 16:09:13 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/mach/hurd/getpriority.c (getpriority): Cast
	__vm_deallocate arg to vm_address_t.
1995-11-05 21:13:25 +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
3bbceb1287 Tue Oct 31 00:07:29 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/mach/hurd/group_member.c: New file.
	* sysdeps/generic/group_member.c: New file.

	* Makerules (lib-noranlib): Don't depend on $(install-lib).
	(others): Do.
	* extra-lib.mk: Fix test of $(lib)-no-lib-dep.

Mon Oct 30 12:33:10 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* Rules (others): Depend on $(extra-objs).

	* posix/unistd.h [__USE_GNU]: Declare group_member, __group_member.
	* posix/Makefile (routines): Add group_member.

	* sysdeps/posix/euidaccess.c: New file, adapted from fileutils.

	* sysdeps/unix/sysv/linux/i386/sigaction.c: Tighten constraint for
	SIG operand in asm so it must be a register.
	Add dead return to quiet gcc warning.

	* Makerules (sysd-rules): Write a defn for sysd-rules-done.
	[! sysd-rules-done]: Inhibit deps.
1995-10-31 06:54:40 +00:00
Miles Bader
bf899faa49 Include "stdio-common/_itoa.h" instead of "stdio/_itoa.h". 1995-10-26 23:11:02 +00:00
Miles Bader
29370ca488 Swap args to dir_link. 1995-10-26 22:19:57 +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
b3a59f408e Tue Oct 17 01:21:21 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* stdio-common/psignal.c: Translate signal description strings.
	* string/strsignal.c: Likewise.
	* sysdeps/generic/_strerror.c (_strerror_internal): Translate
	error strings.
	* sysdeps/mach/_strerror.c: Likewise.

	* stdio-common/snprintf.c (__snprintf): Renamed from snprintf;
	call __vsnprintf.
	(snprintf): Define as weak alias.
	* stdio/vsnprintf.c (__vsnprintf): Renamed from vsnprintf.
	(vsnprintf): Define as weak alias.

	* libc-symbols.h [! ASSEMBLER] (_): New macro.
1995-10-17 05:49:48 +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
db65048bb3 Wed Oct 11 00:00:00 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* Makeconfig (config-LDFLAGS): Add missing slash.

	* sysdeps/mach/hurd/profil.c (fork_profil): Only call
	update_waiter if profiling was enabled in the parent.

	* csu/initfini.c: Don't pass -f flag to cp.
1995-10-11 05:53:53 +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
6a76c11515 Thu Oct 5 00:59:58 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* elf/rtld.c (dl_main): Grok --list flag.
	* sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_start): Ignore -- args.

	* sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_message): New function.
	* sysdeps/generic/dl-sysdep.c (_dl_sysdep_message): New function.
	* elf/link.h (_dl_sysdep_message): Declare it.
1995-10-05 09:00:06 +00:00
Roland McGrath
879bf2e65a * sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_start): If started by
kernel with args on stack, point _dl_hurd_data at zero data
	instead of garbage.  When ld.so run as program, grok args
	-LIB=MEMOBJ and pre-load shared object files found in memory
	objects loaded by the boot loader.

	* elf/link.h (struct link_map): New member `l_entry'.
	(_dl_map_object, _dl_map_object_from_fd): Remove last arg ENTRY_POINT.
	* elf/dl-load.c (_dl_map_object, _dl_map_object_from_fd): Remove
	last arg ENTRY_POINT.  Store the entry point location in the
	`l_entry' member of the new map.
	* elf/rtld.c (dl_main): Don't pass USER_ENTRY arg to
	_dl_map_object.  When run as program, set *USER_ENTRY to L->l_entry.
	* elf/dl-init.c (_dl_init_next): Don't pass ENTRY_POINT arg to
	_dl_map_object.
1995-09-30 21:18:30 +00:00
Roland McGrath
3ec41e0302 * sysdeps/mach/hurd/getcwd.c (__getcwd): Renamed from getcwd.
(getcwd): Define as weak alias.
	* sysdeps/posix/getcwd.c: Likewise.
	* sysdeps/stub/getcwd.c: Likewise.
	* posix/unistd.h: Declare __getcwd.

	* string/string.h: Declare __strcasecmp.
	* sysdeps/generic/strcasecmp.c (__strcasecmp): Renamed from
	strcasecmp.
	(strcasecmp): Define as weak alias.

	* string/string.h: Declare __stpcpy.
	* sysdeps/generic/stpcpy.c (__stpcpy): Renamed from stpcpy.
	(stpcpy): Define as weak alias.
1995-09-28 09:00:19 +00:00
Roland McGrath
11c981a96d Tue Sep 26 16:50:17 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* gmon: New directory of profiling code, incorporated from
	4.4BSD-Lite and modified.
	* sysdeps/i386/machine-gmon.h: New file.
	* sysdeps/stub/machine-gmon.h: New file.
	* sysdeps/mach/hurd/profil.c: New file.
	* sysdeps/stub/profil.c: New file.
	* sysdeps/unix/bsd/profil.S: New file.
	* Makefile (subdirs): Add gmon.
	* csu/gmon-start.c: New file.
	* csu/Makefile (extra-objs): Add gmon-start.o,
	g$(start-installed-name).
	(install-lib, omit-deps): Add g$(start-installed-name).
	($(objpfx)g$(start-installed-name)): New target.
1995-09-26 20:59:38 +00:00
Roland McGrath
969705cc5b Fri Sep 22 14:24:25 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/mach/hurd/Makefile: Elide sunrpc from $(subdirs) for the
	time being.

	* sysdeps/unix/configure.in: Check for `profil' syscall.
1995-09-22 18:32:19 +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
c22164805d Mon Sep 18 12:39:22 1995 Paul Eggert <eggert@twinsun.com>
* mktime.c (localtime_r): Add substitute if the system doesn't
	provide one.

Mon Sep 18 14:39:20 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* time/gmtime.c (gmtime_r): Define as weak alias.
	* time/localtime.c (localtime_r): Define as weak alias.
	* time/time.h [__USE_REENTRANT] (gmtime_r, localtime_r): Declare them.

	* errno.h: Only define _ERRNO_H #ifndef __need_Emath.
	#undef __need_Emath after including errnos.h.
	[_ERRNO_H]: Protect decls with this.

Sun Sep 17 08:22:12 1995  Paul Eggert  <eggert@twinsun.com>

	Fix mktime so that it does not write over localtime's returned value.
	* localtime.c (__localtime_r): New function, with extra arg
	specifying where to store result.
	(localtime): Use it.
	(_tmbuf): New var.
	* gmtime.c (__gmtime_r, gmtime, _tmbuf): Likewise.
	* mktime.c (__mktime_internal):	Conversion function is now
	__localtime_r style, not localtime style.
	(mktime): Pass __localtime_r, not localtime.
	* timegm.c (timegm): Pass __gmtime_r, not gmtime.
	* offtime.c (__offtime): New arg specifying where to store result.
	* time.h (__mktime_internal, __offtime): Adjust decls accordingly.
	(__gmtime_r, __localtime_r): New decls.

	* time/localtime.c: <stddef.h>, <ctype.h>, <stdio.h>,
	<stdlib.h>, <string.h>: Remove includes.
	<errno.h>: Add include.

	* time/mktime.c, time/time.h, time/timegm.c (__mktime_internal):
	Renamed from _mktime_internal to avoid namespace pollution.

	* time/gmtime.c: Clear tm_isdst.

	* misc/efgcvt_r.c (ecvt_r, fcvt_r): Last arg is size_t, not int.
	* stdlib/stdlib.h (ecvt_r, fcvt_r): Fix type of last arg: make it
	size_t.

	* sysdeps/mach/hurd/fpathconf.c: Call __io_pathconf instead of
	__file_pathconf.
	* sysdeps/mach/hurd/pathconf.c: Likewise.
1995-09-18 19:00:32 +00:00
Roland McGrath
e537c55ea9 Sun Sep 17 18:29:13 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/mach/hurd/truncate.c: Call __file_set_size instead of
	__file_truncate.
	* sysdeps/mach/hurd/ftruncate.c: Likewise.

	* sysdeps/unix/sysv/linux/dl-machine.h: File removed.
1995-09-18 03:28:15 +00:00
Roland McGrath
60478656fa Sat Sep 16 17:47:19 1995 Ulrich Drepper <drepper@ipd.info.uni-karlsruhe.de>
* elf/elf.h (AT_GID): Fix typo: Read -> Real.

	* misc/efgvt_r.c: New file.  Reentrant version of [efg]cvt functions.
	* misc/efgcvt.c: Rewrite to use reentrant functions.
	* misc/hsearch_r.c: New file.  Reentrant version of functions from
	hsearch family.
	* misc/hsearch.c, misc/tsearch.c: New files.
	* misc/Makefile (routines): Add efgcvt_r, hsearch_r, hsearch, tsearch.

	* posix/unistd.h (ttyname_r): Add prototype for new function.

	* stdlib/drand48_r.c, stdlib/erand48_r.c, stdlib/jrand48_r.c,
	stdlib/lrand48_r.c, stdlib/mrand48_r.c, stdlib/nrand48_r.c,
	stdlib/seed48_r.c, stdlib/srand48_r.c, stdlib/lcong48_r.c,
	stdlib/drand48-iter.c: New files implementing reentrant versions
	of functions from drand48 family.
	* stdlib/seed48.c, stdlib/drand48.c, stdlib/erand48.c,
	stdlib/jrand48.c, stdlib/lrand48.c, stdlib/mrand48.c,
	stdlib/nrand48.c, stdlib/srand48.c, stdlib/lcong48.c:
	Rewrite to use reentrant versions.
	* stdlib/a64l.c, stdlib/l64a.c: New files.  Implement a64l()
	and l64a() functions from SysV library.
	* stdlib/Makefile (routines): Add drand48_r, erand48_r, lrand48_r,
	nrand48_r, mrand48_r, jrand48_r, srand48_r, seed48_r, lcong48_r,
	drand48-iter, a64l, l64a.
	* stdlib/stdlib.h: Declare them.

	* stdlib/random_r.c: New file.  Reentrant version of functions
	from random family.
	* stdlib/stdlib.h: Declare them.
	* stdlib/random.c: Rewrite to use reentrant functions.

	* string/strerror_r.c: New file.  Reentrant version.
	* string/strerror.c: Change for new _strerror_internal form.
	* string/Makefile (routines): Add strerror_r.

	* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Set default
	value of user_entry to `_start'.
	Close AT_ENTRY case with `break'.

	* sysdeps/generic/strstr.c: New and much faster implementation
	by Stephen R. van den Berg.

	* sysdeps/generic/_strerror.c: _strerror_internal now takes
	three argument and has and explicit buffer length.
	* sysdeps/mach/_strerror.c: Change for new interface with three
	arguments.
	* stdio/perror.c, stdio/vfprintf.c: Callers changed.
	
	* sysdeps/mach/hurd/ttyname_r.c: New file.  Reentrant version.
	* sysdeps/posix/ttyname_r.c: New file.  Reentrant version.
	* sysdeps/stub/ttyname_r: New file.  Define as dummy function.

	* sysdeps/posix/utimes.c: Include <utime.h> for prototype.
	(utimes): First parameter to utime must be file, not path.

	* sysdeps/posix/sysconf.c (__sysconf): Test for CLK_TCK in case
	_SC_CLK_TCK and return it when available.
	Test for STREAM_MAX in case _SC_STREAM_MAX and return it when
	available.
	Add case for _SC_2_LOCALEDEF which is now available.

	* posix/sys/types.h [__USE_SVID] (key_t): New type.
	* sysvipc/Makefile, sysvipc/ftok.c, sysvipc/sys/ipc.h,
	sysvipc/sys/msg.h, sysvipc/sys/sem.h, sysvipc/sys/shm.h,
	sysdeps/stub/sys/msq_buf.h, sysdeps/stub/sys/sem_buf.h,
	sysdeps/stub/sys/shm_buf.h, sysdeps/stub/sys/ipc_buf.h,
	sysdeps/stub/semctl.c, sysdeps/stub/semget.c, sysdeps/stub/semop.c,
	sysdeps/stub/shmat.c, sysdeps/stub/shmctl.c, sysdeps/stub/shmdt.c,
	sysdeps/stub/shmget.c, sysdeps/stub/msgctl.c, sysdeps/stub/msgget.c,
	sysdeps/stub/msgrcv.c, sysdeps/stub/msgsnd.c: New files.
	Add implementation of System V IPC.
1995-09-17 20:23:15 +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
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
9e865adecf * sysdeps/mach/hurd/dirstream.h: Define `struct __dirstream'
instead of `DIR'.
	* sysdeps/unix/bsd/dirstream.h: Likewise.
	* sysdeps/stub/dirstream.h: Likewise.
	* sysdeps/unix/dirstream.h: Likewise.
	* sysdeps/mach/hurd/telldir.c: Include "dirstream.h".
	* sysdeps/mach/hurd/seekdir.c: Likewise.
	* sysdeps/mach/hurd/opendir.c: Likewise.
	* sysdeps/mach/hurd/closedir.c: Likewise.
	* sysdeps/mach/hurd/readdir.c: Likewise.
	* sysdeps/unix/telldir.c: Likewise.
	* sysdeps/unix/seekdir.c: Likewise.
	* sysdeps/unix/rewinddir.c: Likewise.
	* sysdeps/unix/readdir.c: Likewise.
	* sysdeps/unix/opendir.c: Likewise.
	* sysdeps/unix/closedir.c: Likewise.
	* sysdeps/unix/bsd/telldir.c: Likewise.
	* sysdeps/unix/bsd/readdir.c: Likewise.
	* dirent/Makefile (headers): Remove dirstream.h.
	(distribute): Put it here instead.
1995-08-28 09:00:05 +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
a4bb25890d * sysdeps/mach/hurd/Makefile: Don't elide sunrpc and manual from
`subdirs' variable.
1995-08-21 09:00:05 +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
b88269329c (kill_pid): Don't make `inline'. 1995-08-14 23:32:44 +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
Miles Bader
46bdf16bf7 (__setuid): Switch the port-type and port-count parameters to __auth_makeauth. 1995-08-09 18:31:09 +00:00
Miles Bader
995069eea6 (__setgid): Switch the port-type and port-count parameters to __auth_makeauth. 1995-08-09 18:28:56 +00:00
Miles Bader
ad738d03ae (accept): If the protocol family can't tell us what an address means, just return a zero-length buffer instead. 1995-07-30 00:37:36 +00:00
Miles Bader
221c50840f (bind): Don't use file_invoke_translator, as it doesn't work. Instead just lookup the translated node again, and hope we're not hit by any race conditions. 1995-07-28 22:25:57 +00:00
Roland McGrath
ff48a63c86 * sysdeps/mach/hurd/pathconf.c: Declare VALUE as int, not long int. 1995-07-25 20:44:48 +00:00
Roland McGrath
d7e16e9e83 Sat Jul 22 20:53:18 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/unix/i386/sysdep.h (JUMPTARGET): Use ## to avoid space
 	before @PLT.
	* sysdeps/mach/i386/sysdep.h (JUMPTARGET): New macro.
	* sysdeps/i386/bsd-_setjmp.S: Use JUMPTARGET macro in jmp insn.
	* sysdeps/i386/bsd-setjmp.S: Likewise.
1995-07-23 00:58:43 +00:00
Thomas Bushnell, BSG
584de3b9d6 *** empty log message ***
Fri Jul 21 12:57:29 1995  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>

	* sysdeps/mach/hurd/socket.c (socket): Consider MIG_BAD_ID and
 	EOPNOTSUPP as indications that the server has died.
	* sysdeps/mach/hurd/pipe.c (__pipe): Likewise.
	* sysdeps/mach/hurd/socketpair.c (socketpair): Likewise.
1995-07-21 17:03:01 +00:00
Thomas Bushnell, BSG
620ce2509a (__pipe): Consider MIG_BAD_ID and EOPNOTSUPP as indications that the server port has died. 1995-07-21 16:54:30 +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
1a2df358c8 Mon Jun 12 13:15:45 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* Makerules (lib%.so: lib%_pic.a): Moved this rule to after
 	installation rules.

	* sysdeps/mach/sysdep.h [HAVE_ELF] (ENTRY): Redefine this macro so
 	it uses the `.type' directive, which is necessary for shared
 	libraries to work properly.
1995-06-12 18:26:02 +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
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
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
074d099ee3 Only notify the proc server for SIGCHLD when the SA_NOCLDSTOP bit actually changes. 1995-05-26 16:59:33 +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
273d56ce89 (__data_start): Define this symbol as the first thing in .data. 1995-05-09 07:03:38 +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
e4448b6f58 Wed May 3 11:56:35 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/mach/hurd/dup2.c: Fixed broken test in last change.

	* elf/dl-error.c (_dl_catch_error): Actually call the OPERATE
 	function.  Duh.

	* hurd/Makefile (distribute): Added hurdstartup.h.
	* hurd/hurd.h: Remove _hurd_startup decl.

	* hurd/hurd/ioctl.h (_HURD_HANDLE_IOCTLS): Use __attribute__
 	((__unused__)) instead of gratuitous self reference.

	* sysdeps/mach/hurd/dup2.c: Call _hurd_alloc_fd to expand the
 	table if FD2 doesn't fit.

	* sysdeps/mach/hurd/getdtsz.c: Return the RLIM_NOFILE soft limit,
 	not the current table size.

	* sysdeps/i386/init-first.c: New file.
	* sysdeps/stub/init-first.c: New file.
1995-05-04 09:00:10 +00:00
Roland McGrath
d66e34cd42 * sysdeps/mach/i386/sysdep.h (SNARF_ARGS, CALL_WITH_SP): Rewritten.
* sysdeps/i386/dl-machine.h: New file.
	* sysdeps/stub/dl-machine.h: New file.
	* sysdeps/i386/dl-runtime.c: New file.
	* sysdeps/stub/dl-runtime.c: New file.
	* sysdeps/i386/elf/start.S: New file.
	* sysdeps/generic/dl-sysdep.c: New file.
	* sysdeps/mach/hurd/dl-sysdep.c: New file.
1995-05-02 06:35:55 +00:00
Roland McGrath
11872325e2 Sat Apr 22 14:48:03 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* mach/Machrules [interface-library]
 	(LDFLAGS-$(interface-library:lib%=%.so)): New variable, set to
 	-nostdlib.

	* sysdeps/mach/hurd/fork.c: Subfunction `unlockss' removed.  Lock
 	_hurd_siglock only around initial task creation in parent.  Use
 	_hurd_critical_section_unlock at end.  Handle dead name rights
 	properly, and deal with a send right dying while we try to copy
 	it.  For the time being, use assert_perror for kernel and proc RPC
 	failures.

Fri Apr 21 01:10:15 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* extra-lib.mk: Don't include $(o-iterator); construct it by hand
 	using $(object-suffixes-$(lib)) instead.

	* sysdeps/mach/hurd/Makefile (LDLIBS-c.so): New variable.

	* Makerules (lib%.so: lib%_pic.a): Pass $(LDFLAGS-$(notdir $*).so).
	(LDFLAGS-c.so): New variable.

	* resolv/res_init.c (res_init): Don't clobber _res.options with
 	RES_DEFAULT.  If RES_INIT is clear, OR in RES_DEFAULT.

	* hurd/hurd.h: Declare _hurd_startup.
	* hurd/hurdstartup.c: New file.
	* hurd/Makefile (routines): Add hurdstartup.
1995-04-24 09:00:07 +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
45b28a8f0b Tue Apr 4 00:48:53 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* misc/progname.c (program_invocation_name,
 	program_invocation_short_name): Make these initialized data
 	definitions.

	* sysdeps/mach/hurd/setitimer.c (fork_itimer): Add self reference
 	so gcc doesn't optimize out the function entirely.
1995-04-04 21:53:15 +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
1474b80f01 Mon Mar 27 02:23:15 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* posix/unistd.h [__USE_BSD] (ttyslot): Declare it.

	* posix/unistd.h [__USE_BSD] (L_SET, L_INCR, L_XTND): Define
 	unless L_SET already defined.
	* misc/sys/file.h (L_SET, L_INCR, L_XTND): Don't define if L_SET
 	already defined.

	Incorporated -lutil library from 4.4-Lite.
	* misc/Makefile (extra-libs, libutil-routines): New variables.
	* misc/login.c, misc/login_tty.c, misc/logout.c, misc/logwtmp.c,
	sysdeps/generic/pty.c: New files for -lutil incorporated from 4.4-Lite.

	Support simple, light-weight unwind-protect mechanism for longjmp.
	* setjmp/longjmp.c: Call _longjmp_unwind first thing.
	* sysdeps/mach/hurd/jmp-unwind.c: New file.
	* sysdeps/stub/jmp-unwind.c: New file.
	* sysdeps/i386/jmp_buf.h (_JMPBUF_UNWINDS): New macro.
	* sysdeps/mips/jmp_buf.h (_JMPBUF_UNWINDS): New macro.
	* setjmp/Makefile (routines): Add jmp-unwind.
	* hurd/hurd/userlink.h (struct hurd_userlink): Move `next' and
 	`prevp' members into new substructure `resource'; add another such
 	substructure `thread' and members `cleanup' (function ptr) and
 	`cleanup_data' (generic ptr).
	(_hurd_userlink_link, _hurd_userlink_unlink): Insert/remove LINK
	into the `_hurd_self_sigstate ()->active_resources' list via the
	`thread' substructure.
	* hurd/hurd/port.h (_hurd_port_cleanup): Declare it.
	(_hurd_port_locked_get): Set LINK->cleanup to _hurd_port_cleanup and
	LINK->cleanup_data' to the port extracted.
	* hurd/hurd/signal.h (struct hurd_sigstate): New member
	`active_resources'.
	* hurd/port-cleanup.c: New file.
	* hurd/Makefile (routines): Add port-cleanup.

	* malloc/malloc.c: Include errno.h.

Sat Mar 25 18:24:21 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* locale/loadlocale.c (_nl_load_locale): Avoid */ inside comment.
1995-03-27 10:00:09 +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
be69ea41eb Sat Mar 18 14:07:08 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* stdio/vfscanf.c: Grok positional parameter specs (i.e. %3$d
 	means %d from 3rd arg).

	* sysdeps/mach/hurd/closedir.c: Include hurd/fd.h.

	* stdlib/strtol.c: If !GROUP, set END to null.  In loop, test only
 	END, not GROUP.
1995-03-18 20:44:21 +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
6408bdde65 Fri Mar 3 12:24:52 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/generic/sys/mman.h (__mmap, __munmap): Declare these.
	* sysdeps/unix/sysv/irix4/sys/mman.h: Likewise.
	* sysdeps/unix/bsd/ultrix4/sys/mman.h: Likewise.
	* sysdeps/unix/bsd/osf1/sys/mman.h: Likewise.
	* sysdeps/unix/bsd/sun/sunos4/sys/mman.h: Likewise.
	* sysdeps/stub/munmap.c (munmap): Rename to __munmap, add weak
 	alias munmap.
	* sysdeps/unix/mman/munmap.S: Likewise.
	* sysdeps/mach/munmap.c: Likewise.
	* sysdeps/mach/hurd/mmap.c (mmap): Rename to __mmap, add weak
 	alias mmap.
	* sysdeps/unix/mman/mmap.S: Likewise.
	* sysdeps/unix/bsd/sun/sunos4/mmap.c: Likewise.
	* sysdeps/stub/mmap.c: Likewise.

	* sysdeps/unix/bsd/setsid.c: Use __getpgid instead of __getpgrp.

	* sysdeps/unix/dirfd.c: #undef dirfd before function defn.

Thu Mar  2 12:15:24 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* misc/search.h: Add missing semicolon.

	* sysdeps/unix/dirfd.c: Fix typo.

	* sysdeps/generic/sys/mman.h (mmap): Use __off_t instead of off_t
 	in decl.

	* stdio/vfscanf.c (%c): In no-assign case, fix loop to decrement
 	WIDTH before test.
1995-03-06 00:27:08 +00:00
Roland McGrath
3c46a92d40 Sat Feb 25 02:17:52 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/mach/hurd/kill.c: When the process has no message port
 	registered and we have its task port, translate a few signals to
 	task_suspend/task_resume/task_terminate.
1995-02-25 11:33:49 +00:00
Roland McGrath
22a1292a42 * io/Makefile (routines): Add euidaccess.
* sysdeps/mach/hurd/euidaccess.c: New file.
	* sysdeps/stub/euidaccess.c: New file.
	* posix/unistd.h [__USE_GNU] (euidaccess): Declare it.

	* dirent/Makefile (routines): Add dirfd.
	* sysdeps/stub/dirfd.c: New file.
	* sysdeps/unix/dirfd.c: New file.
	* sysdeps/unix/dirstream.h (_DIR_dirfd): New macro.
	* dirent/dirent.h (dirfd): Declare new function.  Define as macro
 	_DIR_dirfd if that is defined.
	* sysdeps/mach/hurd/dirstream.h (DIR): Replace `__port' member
 	with `void *__fd'.
	* sysdeps/mach/hurd/opendir.c: Use DIRP->__fd instead of DIRP->__port.
	Open the file with `open'; set FD_CLOEXEC on the fd.
	* sysdeps/mach/hurd/closedir.c: Likewise.
	* sysdeps/mach/hurd/readdir.c: Likewise.
	* sysdeps/mach/hurd/dirfd.c: New file.

	* posix/Makefile (glob/configure): Do cvs commit if there is a CVS
 	directory.
	(glob/ChangeLog): Likewise.

	* locale/locale.h (LC_*): Use small integers instead of bit masks.
1995-02-25 01:23:32 +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
67a87b936e * string/Makefile (distribute): Add pagecopy.h.
* sysdeps/mach/pagecopy.h: New file.
	* sysdeps/generic/pagecopy.h: New file.
	* sysdeps/generic/memcpy.c: Include pagecopy.h; call
 	PAGE_COPY_FWD_MAYBE first when word aligned.
	* sysdeps/generic/memmove.c: Likewise.
1995-02-21 08:07:34 +00:00
Roland McGrath
f8e960f1b0 Include unistd.h for __environ decl. 1995-02-20 20:32:42 +00:00
Roland McGrath
0923c7a543 Mon Feb 20 04:04:57 1995 Roland McGrath <roland@duality.gnu.ai.mit.edu>
* config.h.in [HAVE_ELF || HAVE_GNU_LD]: Define HAVE_WEAK_SYMBOLS.

	* stdlib/strtod.c (PASTE, PASTE1): New helper macros; use these in
 	access to float.h macros.

	* misc/efgcvt.c: New file.
	* misc/Makefile (routines): Add efgcvt.
1995-02-20 09:50:50 +00:00
Roland McGrath
5f9e57babe Sun Feb 19 17:46:13 1995 Roland McGrath <roland@duality.gnu.ai.mit.edu>
* posix/Makefile (aux): Add environ.
	* posix/environ.c: New file.
	* sysdeps/unix/sparc/start.c: Remove __environ definition.
	* sysdeps/unix/start.c: Likewise.
	* sysdeps/unix/sysv/irix4/start.c: Likewise.
	* sysdeps/mach/hurd/start.c: Likewise.
	* sysdeps/mach/start.c: Likewise.
	* sysdeps/stub/start.c: Likewise.

	* sysdeps/unix/make_errlist.c: In produced program, test
 	HAVE_WEAK_SYMBOLS instead of HAVE_GNU_LD.
	* sysdeps/unix/sysv/sysv4/dup2.c: Fix #include of renamed file.
  	Remove extra weak alias.

	* sysdeps/unix/sysv/sysv4/sigaltstack.S: Fix unsquashed file name
 	in #include.

	* libc-symbols.h: Put comment around ^L to pacify Solaris as.

	* sysdeps/posix/Makefile (cded-objdir-includes): New variable
 	replaced cded-objdir-CPPFLAGS; transform $(+includes) instead of
 	$(CPPFLAGS).
	(mk-stdiolim): Use it instead.

	* mach/mach_init.c (__vm_page_size): Make it initialized.  It does
 	not work to make a weak alias to a bss symbol.

	* stdio/Makefile (distribute): Remove mpn-copy.mk; add gen-mpn-copy.
	(tests): Add test-fwrite.
	* stdio/test-fwrite.c: New file.

	* stdlib/stdlib.h [__USE_GNU]: Declare strtof, strtold, __strtof,
 	__strtold.

	* Makefile (autoconf-it): New canned sequence.  Do cvs commit if
 	there is a CVS directory.
	(configure, %/configure): Use $(autoconf-it) for cmds.
	* Make-dist: Likewise.
	* Makerules ($(gpl2lgpl)): Likewise.
 	inlines cause trouble for files defining global register variables.
	* stdio/vfprintf.c: Set PREC to zero for %. without following digit.
1995-02-20 01:08:14 +00:00
Roland McGrath
0ad4617705 Updated from ../gpl2lgpl.sed /home/gd/gnu/lib/getopt.c 1995-02-18 03:51:45 +00:00
Roland McGrath
28f540f45b initial import 1995-02-18 01:27:10 +00:00