Commit Graph

969 Commits

Author SHA1 Message Date
Roland McGrath
847242451c Wed May 29 00:57:37 1996 David Mosberger-Tang <davidm@azstarnet.com>
* time/Makefile (tests): Add test-tz.

	* time/test-tz.c: New test.

	* time/clocktest.c: Rewrite to test more meaningfully.

	* sysdeps/unix/sysv/linux/syscalls.list: Add bdflush,
 	create_module, delete_module, get_kernel_syms, init_module,
 	klogctl.

	* sysdeps/unix/sysv/linux/sys/param.h (MAXSYMLINKS): Define as 5
	instead of SYMLOOP_MAX, which is nowhere to be found.

	* sysdeps/unix/sysv/linux/sys/msq_buf.h,
 	sysdeps/unix/sysv/linux/sys/sem_buf.h,
 	sysdeps/unix/sysv/linux/sys/shm_buf.h [__USE_MISC]: Add more
 	control ops and datastructures.

	* sysdeps/unix/sysv/linux/sys/io.h: New file declaring low-level
 	I/O related functions.

	* sysdeps/unix/sysv/linux/sys/kdaemon.h: New file declaring kernel
	daemon related functions/operations.

	* sysdeps/unix/sysv/linux/sys/klog.h: New file declaring kernel
	logging related functions/operations.

	* sysdeps/unix/sysv/linux/sys/module.h: New file declaring kernel
	module related functions/operations.

	* sysdeps/unix/sysv/linux/speed.c: Only do "mention this twice" hack
	for non-Alpha based Linux systems.

	* sysdeps/unix/sysv/linux/alpha/speed.c: Remove.

	* sysdeps/unix/sysv/linux/Makefile (headers): Add sys/module.h,
	sys/io.h, sys/klog.h, and sys/kdaemon.h.

	* sysdeps/unix/sysdep.h (END): Define empty END macro for
 	platforms that don't need some sort of end directive at the
	end of functions.

	* sysdeps/unix/make-syscalls.sh: Emit END($strong) at end of
 	syscall wrapper to allow correct generation of debugging
 	information.

	* sysdeps/unix/alpha/sysdep.h (END): Redefine to use .end
 	directive for both ELF and ECOFF.
	(ret): Delete macro.  It was a dangerous macro and unnecessary
 	since the Alpha assemblers recognizes "ret" as a macro themselves.

	* sysdeps/gnu/utmpbits.h (struct utmp): Move ut_tv behind
 	ut_session to guarantee long alignment.  This is important for
 	Linux/Alpha since ut_tv.tv_sec is 32 bits and time_t is 64 bits.
  	This will all get cleaned up as programs start to use ut_tv
 	instead ut_time.

	* sysdeps/alpha/divrem.h: Include <sysdep.h> instead of <*/regdef.h>.

	* sysdeps/alpha/bsd-_setjmp.S (setjmp): Renamed entry point to
	_setjmp.

	* sysdeps/alpha/_mcount.S, sysdeps/alpha/bb_init_func.S,
 	sysdeps/alpha/bsd-_setjmp.S, sysdeps/alpha/bsd-setjmp.S,
 	sysdeps/alpha/copysign.S, sysdeps/alpha/divrem.h,
 	sysdeps/alpha/fabs.S, sysdeps/alpha/ffs.S, sysdeps/alpha/htonl.S,
 	sysdeps/alpha/htons.S, sysdeps/alpha/memchr.S,
 	sysdeps/alpha/setjmp.S, sysdeps/alpha/strlen.S,
 	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/llseek.S,
 	sysdeps/unix/sysv/linux/alpha/pipe.S,
 	sysdeps/unix/sysv/linux/alpha/sigsuspend.S,
 	sysdeps/unix/sysv/linux/alpha/sysdep.S: Use END macro instead of
 	.end directive.

	* csu/initfini.c (_fini): Tell gcc that _fini is not a leaf
 	function by having it contain a dummy function call.

	* configure.in (config_machine): Don't make ELF the default for
 	Linux/Alpha just yet (use --with-elf instead).
	(.init/.fini check): Generate .text to ensure function start and
 	end are in same section.

	* sysdeps/unix/bsd/osf/alpha/brk.S,
 	sysdeps/unix/sysv/linux/alpha/brk.S (__curbrk): Store the entire
 	break value, not just the low 32 bits to accomodate large
 	memories.

Tue May 28 10:46:04 1996  Richard Henderson  <rth@tamu.edu>

	* sysdeps/unix/sysv/linux/alpha/brk.S: Rather than attempt to
	dynamically resolve _end for initializing __curbrk, support the
	brk(0) query idiom.

	* sysdeps/alpha/bb_init_func.S: Don't make `init' an external symbol.

	* sysdeps/alpha/bsd-_setjmp.S: The function is _setjmp not setjmp.

Sun May 26 22:17:38 1996  Richard Henderson  <rth@tamu.edu>

	* stdlib/lcong48_r.c, stdlib/seed48_r.c, stdlib/strtod.c,
	stdlib/strtol.c: Include <string.h> for mem* and str* fns used.

Thu May 23 02:15:56 1996  David Mosberger-Tang  <davidm@azstarnet.com>

	* sysdeps/unix/sysv/linux/Makefile (headers): Add sys/io.h,
 	sys/klog.h, and sys/kdaemon.h.

	* sysdeps/unix/sysv/linux/sys/io.h: New file.
	* sysdeps/unix/sysv/linux/sys/klog.h: Ditto.
	* sysdeps/unix/sysv/linux/sys/kdaemon.h: Ditto.

	* sysdeps/unix/alpha/sysdep.h (ret): Remove macro.  It is
 	dangerous and unnecessary since both OSF/1 as and gas define "ret"
 	as a pseudo-instruction.

Sat Jun  1 17:18:21 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>

	* time/tzset.c (__tzset): Clear tz_rules name pointers after freeing
	them.  Bug found by David Mosberger-Tang.

	* sysdeps/posix/tempname.c (__stdio_gen_tempname): Use __ptr_t instead
	of PTR.

	* extra-lib.mk (extra-objs): Use patsubst intead of $(A:=B) syntax
	to work around Make bug when A contains var ref.

Fri May 31 18:27:52 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>

	* string/string.h [__USE_MISC]: Declare basename; OSF/1 puts it here.

	* sysdeps/unix/sysv/linux/syscalls.list (getpgid, setpgid): Define __
	strong names and [gs]etpgid as weak aliases.

	* math/math_private.h (GET_LDOUBLE_EXP): Add missing backslash.
1996-06-02 18:50:07 +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
0200214b28 Tue May 28 04:38:10 1996 Ulrich Drepper <drepper@cygnus.com>
* limits.h: Change MB_LEN_MAX to 6.  A 31-bit ISO 10646
	character in UTF-8 encoding has that many bytes.

	* locale/langinfo.h: New element _NL_CTYPE_MB_CUR_MAX.
	* locale/categories.def: Add description of field _NL_CTYPE_MB_CUR_MAX.
	* locale/Makefile (routines): Add mb_cur_max.
	* locale/mb_cur_max.c: New file.  This function gets called
	when the macro MB_CUR_MAX is used.
	* locale/C-ctype.c: Initialize new mb_cur_max field.
	* locale/localeinfo.h: Change magic value because of incompatible
        change.
	* locale/programs/ld-ctype.c: Determine value of mb_cur_max
        according to current character set and write it out with the rest.
	* stdlib/stdlib.h (MB_CUR_MAX): Not constant anymore.  Get value
        according to currently used locale for catefory LC_CTYPE by
        calling the function __ctype_get_mb_cur_max.

Tue May 28 03:27:46 1996  Ulrich Drepper  <drepper@cygnus.com>

	* FAQ:  Fix some typos.
	Tell that for Linux the kernel header files are necessary.

	* PROJECTS: New file.  List of open jobs for glibc.
	* Makefile (distribute): Add PROJECTS.

	* crypt/GNUmakefile (headers): New variable.  Mention crypt.h.
	* crypt/crypt.h: Header for crypt functions.

	* elf/elf.h: Add some new constants from recent Cygnus ELF
	header files.

	* login/getutid_r.c: Test for correct type.
	Don't depend on ut_type and ut_id unless _HAVE_UT_TYPE and
	_HAVE_UT_ID resp. are defined.
	Make really compliant with specification.

	* login/getutline_r.c, login/pututline_r.c: Don't depend on
	ut_type and ut_id unless _HAVE_UT_TYPE and _HAVE_UT_ID resp. are
	defined.
	Make really compliant with specification.

	* login/setutent_r.c: Don't depend on ut_type and ut_id unless
	_HAVE_UT_TYPE and _HAVE_UT_ID resp. are defined.

	* login/login.c, login/logout.c, login/logwtmp.c: Complete
	rewrite.  Now based on getut*/setut* functions.

	* stdlib/strtol.c: Undo changes of Wed May 22 01:48:54 1996.
	This prevented using this file in other GNU packages.

	* sysdeps/gnu/utmpbits.h: Define _HAVE_UT_TYPE, _HAVE_UT_ID,
	and _HAVE_UT_TV because struct utmp has these members.

	* sysdeps/libm-i387/e_exp.S: Correct exp(+-Inf) case.

	* utmp.h: New file.  Wrapper around login/utmp.h.

	* elf/dl-error.c (struct catch): New type.
	(catch): New static variable, struct catch *.
	(catch_env, signalled_errstring, signalled_objname): Variables removed.
	(_dl_signal_error): If CATCH is non-null, set its errstring and
	objname members and jump to CATCH->env.  If it is null, call
	_dl_sysdep_fatal with a standard message.
	* elf/rtld.c (dl_main): Explode `doit' function into dl_main's body.
	No longer use _dl_catch_error.
1996-05-29 04:48:04 +00:00
Roland McGrath
71a40c7471 * time/Makefile (tzcompile): Add missing backslash.
* wctype/wctype.h (__need_wint_t): Define this and include stddef.h.
	[! _WINT_T] (wint_t): Conditionalize typedef on this in case pre-2.7.3
	stddef.h doesn't define it.
	* wcsmbs/wchar.h: Likewise.
	* stdlib/strtod.c: Likewise.

	* wcsmbs/wcstok.c: Fix argument name typo.
1996-05-26 22:09:13 +00:00
Roland McGrath
59dd864187 Sun May 26 15:15:08 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* stdlib/ldiv.c: Deansideclized.

Sun May 26 19:39:53 1996  Ulrich Drepper  <drepper@cygnus.com>

	* intl/loadmsgcat.c (_nl_load_domain): Test correct variable
	after malloc.

	* string/Makefile (tester-ENV): New variable to suppress message
 	translation in test.

	* string/tester.c: Add tests for strtok_r and strsep.

	* sysdeps/i386/i486/strcat.S: Correct some more 8bit operation
	<-> 32 bit operand conflicts.

	* sysdeps/i386/strsep.S: Wrapper around <sysdeps/i386/strtok.S>
	to produce strsep function.
	* sysdeps/i386/strtok.S: Optimized implementation of strtok
	function.
	* sysdeps/i386/strtok_r.S: Wrapper around <sysdeps/i386/strtok.S>
	to produce strtok_r function.

	* sysdeps/generic/strtok.c: Moved here from string/strtok.c.
	Corrected example in comment.

	* string/Makefile (routines): Add strtok_r.
	* sysdeps/generic/strtok_r.c: New file.  Implement reentrant version
	of strtok_r.
	* string/string.h: Add prototype for strtok_r.
	* wcsmbs/wcstok.c: Handle illegal SAVE_PTR argument the same
	as in strtok_r.

Sun May 26 13:28:23 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>

	* time/tzset.c (__tzset): Ignore leading : in $TZ; always try tzfile
	first and fall back to 1003.1 syntax only if it fails.

	* time/Makefile (install-others): Also install posix/ZONE and
	right/ZONE for each ZONE in $(zonenames).
	(z.% rule): Generate rules for right/ZONE and posix/ZONE targets too,
	the difference begin leapseconds vs /dev/null as 3rd dep.  For
	original ZONE targets use $(leapseconds), to be set in Makeconfig.
	(target-zone-flavor): New variable.
	(tzcompile): Use it to get the right -d for posix/ and right/ flavors.
	* Makeconfig (leapseconds): New variable.

	* mach/Machrules (%.udeps rule): Depend on Machrules.
	Emit deps for .uh and .__h files.
	(%.uh, %.__h rules): Don't depend on %.defs; use #include <$*.defs>
	instead.

Sun May 26 01:06:47 1996  Ulrich Drepper  <drepper@cygnus.com>

	* stdlib/Makefile (routines): Add llabs, lldiv.
	* stdlib/llabs.c: New file.  Implementation of return
	absolute value of long long argument.
	* stdlib/lldiv.c: New file.  Implementation of division with remainder
	of long long argument.
	* stdlib/stdlib.h [__USE_GNU] (lldiv_t): New type for lldiv
	function.
	Define prototypes for lldiv and llabs functions.

	* locale/C-collate.c: Initialize _NL_COLLATE_NRULES element.

	* stdlib/strtod.c: Replace wchar_t with wint_t.  The later is
	really the type for a single wide character.

	* string/strxfrm.c (print_val): Define separate version for
	use as wcsxfrm.  Here we don't need UTF8 encoding.

	* wcsmbs/wchar.h:  gcc-2.7.2-960517 finally introduces wint_t
	in <stddef.h>.  Use this value and only for older gcc version
	define in place.
	(uwchar_t): Remove definition.

	* wcsmbs/wcscmp.c, wcsmbs/wcscoll.c, wcsmbs/wcsncmp.c,
	wcsmbs/wcsxfrm.c, wcsmbs/wmemcmp.c: : Don't use uwchar_t as unsigned
	type.  wint_t is intended for this.

Sat May 25 14:10:19 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>

	* sysdeps/unix/bsd/direntry.h: Use [1] instead of [0] for d_name to
	quiet -ansi -pedantic.
	* sysdeps/unix/common/direntry.h: Likewise.

	* login/Makefile (headers): Add lastlog.h.
	* login/lastlog.h: New file.

	* login/Makefile (CFLAGS): Don't append -D_THREAD_SAFE.
	* login/utmp.h [_REENTRANT || _THREAD_SAFE]: Replace this conditional
	with #ifdef __USE_REENTRANT.

	* features.h (__GNU_LIBRARY__): Set to 6.
	[_GNU_SOURCE] (_POSIX_SOURCE, _POSIX_C_SOURCE, _BSD_SOURCE,
	_SVID_SOURCE): Make sure they are all defined.

	* sysdeps/unix/sysv/linux/gnu/types.h: Instead of including
	<linux/posix_types.h>, define _LINUX_TYPES_DONT_EXPORT and then
	include <linux/types.h>.

	* resource/sys/resource.h: Remove trailing commas from enums.

	* sysdeps/generic/netinet/in.h: Remove trailing commas from enums.
	* sysdeps/unix/sysv/linux/netinet/in.h: Likewise.
1996-05-26 19:19:51 +00:00
Roland McGrath
613a76ff52 Fri May 24 02:31:36 1996 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/speed.c: Add new speed value 460800.

Thu May 23 23:09:33 1996  Ulrich Drepper  <drepper@cygnus.com>

	* FAQ: Add answer for 100% source code compatibility to Linux
	libc by David Mosberger-Tang.

	Update from bind-4.3.4-T3B.
	* inet/arpa/inet.h: Add prototypes for inet_pton, inet_ntop,
	inet_nsap_addr, and inet_nsap_ntoa.
	* resolv/gethnamaddr.c: Correct compatibility problems (sprintf),
	remove fourth argument to inet_pton and correct handling of
	host_addr passing.
	* resolv/inet_ntop.c: Correct compatibility problems (sprintf).
	* resolv/inet_pton.c: Remove fourth argument.
	* resolv/resolv.h: Remove prototypes for inet_nsap_addr and
	inet_nsap_ntoa.  Now on <arpa/inet.h>.

	* stdlib/gmp-impl.h: Add prototypes for internal functions.

Thu May 23 22:49:15 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>

	* Rules (subdir_install): Remove dep on sor-$(subdir).
	(static-only-routines): Removed variable and associated rules.

	* sysdeps/unix/sysv/linux/alpha/Makefile (headers): Add
 	sysdeps/alpha/bsd-_setjmp.S, sysdeps/alpha/ffs.S,
 	sysdeps/unix/sysv/linux/alpha/sigsuspend.S,
 	sysdeps/unix/sysv/linux/alpha/start.S,
1996-05-24 20:16:39 +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
64166d9834 Tue May 14 14:07:10 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* libc-symbols.h (lint): Macro removed.  The sunrpc code does some
	really stupid things #ifdef lint.

	* sysdeps/unix/sysv/linux/i386/profil-counter.h (profil_counter): Fix
	struct member name: sc_eip -> eip.
1996-05-14 20:30:25 +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
b928942eaa Updated from /src/gmp-2.0 1996-05-07 21:04:52 +00:00
Roland McGrath
75cd5204dd Wed May 1 09:10:04 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* time/strftime.c: Use canonical autoconf nugget for time.h+sys/time.h
	include.

Mon Apr 29 02:48:26 1996  Ulrich Drepper  <drepper@cygnus.com>

	* ctype/ctype-info.c: (__ctype_width): New variable.
	(__ctype_names): Initialize correctly without offset.

	* locale/C-collate.c, locale/C-ctype.c,
	locale/C-messages.c, locale/C-monetary.c,
	locale/C-numeric.c, locale/C-time.c: Change copyright.

	* locale/C-ctype.c (_nl_C_LC_CTYPE_class32): Correct
	endianess for initialization value.

	* locale/lc-ctype.c (current): Add parameter for offset.
	(__ctype32_b, __ctype_width): Add initialization for these
	variables.

	* locale/programs/charmap.c: Finish support for WIDTH information.
	(new_width): New function.

	* locale/programs/charset.h (width_rule): new data structure.
	(charset_t): Add elements for width information.

	* locale/programs/ld-ctype.c (locale_ctype_t): Add element
	for width information.
	(allocate_arrays): Add new argument for charset.
	(ctype_finish): Make sure all characters named in charset
	width table are known to name table.
	(ctype_output): Correct handling of class and map name
	information and write out width information.
	(find_idx): Prepare for being called with NULL pointer as
	TABLE argument.  This means only allocate name entry.
	(allocate_arrays): Correct handling of array element -1.
	Because EOF == -1 the value of element 127 must *not* be
	mirrored here.
	Fill width information from charset tables.

	* locale/programs/localedef.c (main): Correct loop over all
	categories after change of order from Thu Mar 28 14:22:51 1996.
	Add new charset argument to call of `write_all_categories'.

	* locale/programs/locales.h (ctype_finish, ctype_output): New
	charset argument.

	* locale/programs/locfile.c (write_all_categories): Call
	`ctype_output' with additional argument charset.

	* posix/getconf.c (vars): Add _POSIX_SYNC_IO, _POSIX_ASYNC_IO,
	and _POSIX_PRIO_IO definitions.

	* posix/posix2_lim.h: Add definition of _POSIX2_CHARCLASS_NAME_MAX
	and CHARCLASS_NAME_MAX.

	* posix/unistd.h: Document _POSIX_SYNC_IO, _POSIX_ASYNC_IO,
	and _POSIX_PRIO_IO.

	* stdlib/grouping.h: Prepare for use in wide string functions.

	* stdlib/stdlib.h: Correct prototypes for __strto*_internal
	functions.

	* stdlib/strtod.c: Extend for use as `wcsto{f,d,ld}'.

	* stdlib/strtol.c: Extend for use as `wcsto{l,ul,q,uq}'.

	* string/strcoll.c: Extend for use as `wcscoll'.

	* string/strxfrm.c: Extend for use as `wcsxfrm'.

	* sysdeps/generic/confname.h: Add definition of _PC_SYNC_IO,
	_PC_ASYNC_IO, _PC_PRIO_IO and _SC_CHARCLASS_NAME_MAX.

	* sysdeps/generic/stpncpy.c: Correct return value.

	* sysdeps/posix/fpathconf.c: Add handling of _PC_SYNC_IO,
	_PC_ASYNC_IO, and _PC_PRIO_IO.

	* sysdeps/posix/sysconf.c: Add handling of _SC_REALTIME_SIGNALS,
	_SC_PRIORITY_SCHEDULING, _SC_TIMERS, _SC_ASYNCHRONOUS_IO,
	_SC_PRIORITIZED_IO, _SC_SYNCHRONIZED_IO, _SC_FSYNC,
	_SC_MAPPED_FILES, _SC_MEMLOCK, _SC_MEMLOCK_RANGE,
	_SC_MEMORY_PROTECTION, _SC_MESSAGE_PASSING, _SC_SEMAPHORES,
	_SC_SHARED_MEMORY_OBJECTS, and _SC_CHARCLASS_NAME_MAX.
	* sysdeps/stub/sysconf.c: Ditto.
	* sysdeps/unix/sysv/sysv4/sysconf.c: Ditto.

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

	* sysdeps/unix/sysv/linux/Makefile [subdir == misc]
	(sysdep_routines): Add s_sysctl and sysctl.

	* sysdeps/unix/sysv/linux/sys/mman.h: Add declaration of mremap.

	* sysdeps/unix/sysv/linux/sys/socket.h: New file.  Wrapper
	around kernel header.

	* sysdeps/unix/sysv/linux/sys/sysctl.h: New file.  Define
	interface to `sysctl' function.

	* sysdeps/unix/sysv/linux/syscalls.list: Add mremap and _sysctl.

	* sysdeps/unix/sysv/linux/sysconf.c: Add handling of
	_SC_CHARCLASS_NAME_MAX.

	* sysdeps/unix/sysv/linux/sysctl.c: new file.  Implement caller
	of _sysctl system call.

	* sysvipc/Makefile (routines): Add ftok.

	* sysvipc/ftok.c: use variable `proj_id' not `id'.  Patch by
	David Mosberger-Tang.

	* wcsmbs/Makefile (routines): Add wcpcpy, wcpncpy, wcstol,
        wcstoul, wcstoq, wcstouq, wcstod, wcstold, wcstof, wcscoll,
        wcsxfrm, wcwidth, and wcswidth.

	* wcsmbs/wchar.h: Add declarations for wcpcpy, wcpncpy, wcstol,
        wcstoul, wcstoq, wcstouq, wcstod, wcstold, wcstof, wcscoll,
        wcsxfrm, wcwidth, and wcswidth.
	Declare internal interfaces for wcsto* functions.
	[OPTIMIZE]: Define inline functions for wcsto* functions to
	call internal interface functions.

	* wcsmbs/wcpcpy.c, wcsmbs/wcpncpy.c: New files.  Implement non-
	standard function equivalent to stpcpy/stpncpy.

	* wcsmbs/wcscoll.c: Implement `wcscoll' function by using
        `strcoll' implementation.

	* wcsmbs/wcscpy.c, wcsmbs/wcsncpy.c: Use wint_t instead of
        wchar_t.

	* wcsmbs/wcstod.c: Implement `wcstod' function by using `strtod'
        implementation.
	* wcsmbs/wcstof.c: Same for `wcstof'.
	* wcsmbs/wcstold.c: Same for `strtold'.

	* wcsmbs/wcstol.c: Implement `wcstol' function by using `strtol'
        implementation.
	* wcsmbs/wcstoq.c: Same for `wcstoq'.
	* wcsmbs/wcstoul.c: Same for `wcstoul'.
	* wcsmbs/wcstouq.c: Same for `wcstouq'.

	* wcsmbs/wcswidth.c: Implement `wcswidth' function from X/Open
        CAE.
	* wcsmbs/wcwidth.c: Ditto for `wcwidth'.
	* wcsmbs/wcwidth.h: Common function for definitions of above two
	functions.

	* wcsmbs/wcsxfrm.c: Implement `wcsxfrm function by using
        `strxfrm implementation.

	* wctype/wctype.c: Remove case for `wctype_t' being 16 bit type.

	* wctype/wctype.h (wint_t): Protect against multiple definition.
	(wctype_t): Always define as `unsigned long int'.

	* wctype.h: New file.  Wrapper around wctype/wctype.h.

	* hurd/hurdstartup.c (_hurd_split_args): Function removed.
	(_hurd_startup): Use argz functions.

	* hurd/hurdexec.c: Use argz functions.
1996-05-01 13:55:18 +00:00
Roland McGrath
b0d20a87b5 Sat Apr 20 18:13:00 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* Makerules (no-whole-archive): Test $(have-no-whole-archive), not
	$(libc_cv_ld_no_whole_archive).

Sat Apr 20 17:07:17 1996  Ulrich Drepper  <drepper@cygnus.com>

	* assert/assert.h, ctype/ctype.h, dirent/dirent.h, errno.h,
	grp/grp.h, io/fcntl.h, io/sys/stat.h, io/utime.h, locale/locale.h,
	math/math.h, misc/nlist.h, misc/sgtty.h, misc/sys/file.h,
	misc/sys/ioctl.h, misc/sys/uio.h, posix/sys/times.h,
	posix/sys/types.h, posix/sys/utsname.h, posix/sys/wait.h,
	posix/tar.h, posix/wordexp.h, pwd/pwd.h, resource/sys/vlimit.h,
	resource/sys/vtimes.h, setjmp/setjmp.h, signal/signal.h,
	stdio-common/printf.h, stdlib/alloca.h, stdlib/stdlib.h,
	string/string.h, sysdeps/generic/sigaction.h,
	sysdeps/generic/sigset.h, sysdeps/generic/sys/ptrace.h,
	sysdeps/generic/sys/ptrace.h, sysdeps/unix/bsd/osf/sigaction.h,
	sysdeps/unix/sysv/linux/sys/ptrace.h,
	sysdeps/unix/sysv/minix/sigaction.h,
	sysdeps/unix/sysv/sco3.2.4/sigaction.h,
	sysdeps/unix/sysv/sysv4/sigaction.h,
	sysdeps/unix/sysv/sysv4/sigset.h, termios/termios.h,
	time/sys/time.h, time/time.h: Fix copyright comment.

	* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): If uids and gids are
	not given in stack aux vector, fetch them with syscalls.
1996-04-21 00:27:19 +00:00
Roland McGrath
a641835acd Fri Apr 19 00:49:44 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* stdlib/rpmatch.c (rpmatch: try): Take new arg NOMATCH, return value
 	for nonmatching nonerror (instead of !MATCH).
	(rpmatch): Use it, so we return -1 when NOEXPR doesn't match either.

	* resolv/getnetnamadr.c (getnetbyaddr): Use u_int32_t instead of
	unsigned long for variable NET2.

	* time/etcetera, time/europe, time/solar89: Updated from ADO's 96e.

Tue Apr  9 14:37:31 1996  Ulrich Drepper  <drepper@cygnus.com>

	* catgets/Makefile, catgets/catgets.c, catgets/catgetsinfo.h,
	catgets/config.h, catgets/gencat.c, catgets/nl_types.h,
	catgets/open_catalog.c: New files.  Implementation of XPG4
	compliant catgets() function and needed tools.
	* Makefile (subdirs): Add catgets.

Thu Apr 18 23:36:11 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>

	* math/Makefile (CPPFLAGS): Append -D__NO_MATH_INLINES.

Wed Apr 10 20:48:43 1996  Ulrich Drepper  <drepper@cygnus.com>

	* stdio-common/vfprintf.c: Correct some typos.

	* sysdeps/libm-ieee754/w_gammaf.c, sysdeps/libm-ieee754/w_lgamma.c,
	sysdeps/libm-ieee754/w_lgammaf.c: Reference signgam instead of
	__signgam.

Thu Apr 18 21:07:27 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>

	* Makerules (no-whole-archive): New variable.
	(build-shlib): Use it.
	* elf/Makefile (libdl.so): Use it.
	* configure.in (libc_cv_ld_no_whole_archive): New check for
	--no-whole-archive.
	* config.make.in (have-no-whole-archive): New variable.

	* stdio-common/printf_fp.c: Increase fudge factor for BIGNUM_SIZE calc
	from 3 to 4.

	* Make-dist: Include version.mk.
	(version, release): Variables removed.
	* Makeconfig (version.mk): New target.

Fri Apr 19 01:42:18 1996  Ulrich Drepper  <drepper@cygnus.com>

	* locale/Makefile (headers): Add langinfo.h.
	(CPPFLAGS): Remove -Iliblib.
1996-04-20 00:05:25 +00:00
Roland McGrath
299a95b9f0 Tue Apr 2 21:27:01 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* posix/glob.c (glob_pattern_p): Avoid scanning past eos if
	the pattern ends with a backslash and quoting is enabled.
	* posix/fnmatch.c (fnmatch): Likewise; return FNM_NOMATCH for such
 	patterns.
1996-04-03 16:31:49 +00:00
Roland McGrath
53f770e0f9 Wed Mar 27 14:52:11 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
* elf/rtld.c (dl_main): Call _dl_sysdep_start_cleanup after
	_dl_relocate_object loop.  Avoid relocating RTLD_MAP in that loop, and
	do it individually if necessary after _dl_sysdep_start_cleanup call.

	* stdlib/Makefile (mpn-routines): Add divrem.

Tue Mar 26 22:54:14  Ulrich Drepper  <drepper@gnu.ai.mit.edu>

	* stdio-common/printf_fp.c (__printf_fp): Use mpn_divmod
	instead of __mpn_divmod.

Wed Mar 27 10:26:21 1996  David Mosberger-Tang  <davidm@azstarnet.com>

	* sysdeps/alpha/setjmp.S: Must establish global pointer before
 	address of __sigsetjmp_aux can be loaded.

Wed Mar 27 02:23:19 1996 Ulrich Drepper <drepper@gnu.ai.mit.edu>

	* sysdeps/i386/i586/memset.S: New file.  Highly optimized
	version for i586 contributed by Torbjorn Granlund.
	Adapted for use as bzero.
	* sysdeps/i386/i586/bzero.S: Use sysdeps/i386/i586/memset.S
	code to implement bzero().

Tue Mar 26 20:01:17 1996  Roland McGrath  <roland@charlie-brown.gnu.ai.mit.edu>

	* stdlib/Makefile (mpn-routines): Remove divmod.
1996-03-27 23:23:59 +00:00
Roland McGrath
857fa1b81d Mon Mar 25 03:35:16 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
* malloc/malloc.c (morecore): Don't attempt recursive realloc of info
	table when _heaplimit==0 during realloc growing large block.

	* MakeTAGS (extract): Remove /dev/null from xgettext command line.
	(text-srcs): New variable: extract only C sources from $(tags_sources).
	(po/$(domain).pot): Depend on that.
	If it's empty, cp /dev/null $@ instead of $(extract).

	* misc/Makefile (headers): Add iovec.h.
	* sysdeps/unix/sysv/linux/iovec.h: New file.
	* sysdeps/generic/iovec.h: New file.
	* misc/sys/uio.h (struct iovec): Type replaced with #include <iovec.h>.

	* configure.in (NO_UNDERSCORES check): Use AC_TRY_LINK instead of
	AC_TRY_COMPILE.

	* misc/sys/cdefs.h [__USE_BSD] (const, signed, volatile): Move these
	macros inside [! __STDC__].

	* stdlib/rpmatch.c: New file.
	* stdlib/Makefile (routines): Add rpmatch.
	* stdlib/stdlib.h [__USE_SVID]: Declare rpmatch.

	* MakeTAGS (MSGJOIN): Variable removed.
	(po/SYS_libc.pot): Use $(XGETTEXT) instead of $(MSGJOIN).

Wed Mar 20 20:08:46 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/unix/sysdep.h: Don't define C_SYMBOL_NAME.

	* sysdeps/unix/sysv/linux/m68k/sysdep.h: Don't define
	NO_UNDERSCORES.
1996-03-25 17:48:26 +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
Roland McGrath
5aab07eb56 Sat Mar 16 20:58:43 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
* stdlib/erand48_r.c: Use FP division by powers of two to distribute
	short bits into double.
1996-03-17 02:00:05 +00:00
Roland McGrath
52e9a9d118 Thu Mar 14 06:01:07 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
* string/strnlen.c: New file.
	* string/Makefile (routines): Add strnlen.
	* string/string.h [__USE_GNU] (strnlen): Declare new function.
	[__OPTIMIZE__]: Define extern inline implementation of it.

	* stdlib/erand48_r.c: Use __mpn_construct_double instead of ldexp and
	addition, to avoid using anything from -lm.

Mon Mar  4 21:57:14 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/unix/sysv/linux/m68k/Makefile: New file.

	* sysdeps/unix/sysv/linux/m68k/sysdep.h (SYS_ify): Redefine.
	(CALL_MCOUNT): New macro, empty unless [PROF].
	(ENTRY): Do CALL_MCOUNT just after the label.
	(JUMPTARGET): New macro.
	(SYSCALL_ERROR_HANDLER): Fix syntax.

Thu Mar 14 04:20:48 1996  Roland McGrath  <roland@charlie-brown.gnu.ai.mit.edu>

	* sysdeps/unix/sysv/linux/init-first.c (init): Call `__personality'
	function instead of using inline asm i386 syscall.
	* sysdeps/unix/sysv/linux/syscalls.list: Add personality syscall.

	* posix/unistd.h [__USE_BSD]: Declare usleep.

	* misc/efgcvt.c (MAXDIG): New macro computed from <floats.h> constants.
	(fcvt, ecvt): Use it for buffer size.

	* stdlib/drand48-iter.c (__drand48_iterate): Use u_int64_t instead of
	conditionalizing long vs long long.

	* stdlib/drand48-iter.c (__drand48_iterate): Don't check for null
	pointers; never return EFAULT.
	* stdlib/drand48_r.c (drand48_r): Likewise.
	* stdlib/erand48_r.c (erand48_r): Likewise.
1996-03-14 11:20:03 +00:00
Roland McGrath
6b628d3634 * stdlib/Makefile (mpn-stuff): New target.
(copy-mpn): Use it.

	* Code copied from GMP updated to 1.937 version.
	* stdlib/strtod.c (HAVE_ALLOCA): Define this for gmp headers.
1996-03-01 18:45:35 +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
bfc04a9ff1 Sun Feb 18 15:08:10 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/posix/utimes.c (__utimes): There are 1000000 usecs in a
	sec.

Sun Feb 18 13:56:00 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* elf/Makefile, time/Makefile: Make `all' the default target.

Mon Feb 19 18:09:04 1996  Roland McGrath  <roland@charlie-brown.gnu.ai.mit.edu>

	* misc/sys/ptrace.h: Moved to ...
	* sysdeps/generic/sys/ptrace.h: ... here.
	* sys/ptrace.h: File removed.

Sun Feb 18 12:13:07 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/unix/sysv/linux/Makefile (headers): Add fpu_control.h.

	* sysdeps/unix/sysv/linux/i386/sysdep.S (errno): Put it into .bss
 	so that the symbol alias works.

	* sysdeps/unix/sysv/linux/m68k/fpu_control.h (_FPU_SETCW): Corrected.

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

	* sysdeps/unix/sysv/linux/sys/ptrace.h: New file.

	* sysdeps/unix/sysv/linux/syscalls.list: Add getegid, geteuid,
	getppid and reboot.

	* sysdeps/unix/sysv/linux/sysconf.c: Special version that does not
	use getdtablesize.

Sat Feb 17 10:30:21 1996  David Mosberger-Tang  <davidm@AZStarNet.com>

	* stdio-common/printf_fp.c, stdlib/strtod.c, sysdeps/ieee754/dbl2mpn.c,
	sysdeps/ieee754/ldbl2mpn.c, sysdeps/ieee754/mpn2dbl.c,
	sysdeps/ieee754/mpn2ldbl.c: Cast left operands of shift instructions
	to `long' where necessary.

Thu Feb 15 20:04:50 1996  Ulrich Drepper  <drepper@gnu.ai.mit.edu>

	* stdlib/fpioconst.h: Introduce new constant _FPIO_CONST_OFFSET.
	* stdio-common/printf_fp.c, stdlib/strtod.c: Use _FPIO_CONST_OFFSET
	to correctly access MPN array depending on architecture.
1996-02-19 23:14:44 +00:00
Roland McGrath
01cdeca0c9 Tue Jan 30 13:32:05 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* dirent/scandir.c: Allocate dirents with correct size for name, and
	copy with correct size.

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

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

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

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

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

	* stdio-common/vfscanf.c: Accept type modifiers on %n.
	Fix FP number parsing.
1996-01-31 10:00:24 +00:00
Roland McGrath
b86199fb60 Set $inhibit_glue. 1996-01-29 19:30:15 +00:00
Roland McGrath
eb8c0f2de5 Fri Jan 26 12:20:45 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* stdlib/strtol.c: Undo last change.  ANSI C changed since the
	draft I checked yesterday.  Sigh.
1996-01-27 10:00:24 +00:00
Roland McGrath
8dad333dce Thu Jan 25 18:58:25 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* stdlib/strtol.c [UNSIGNED]: Don't recognize + or - as sign.
1996-01-26 10:00:23 +00:00
Roland McGrath
1d8dc4293f Mon Jan 22 10:40:40 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/posix/getcwd.c [__GNU_LIBRARY__]: Include unistd.h.

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

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

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

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

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

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

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

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

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

	* stdio-common/vfscanf.c (%[): Fix range handling.
1996-01-23 10:00:23 +00:00
Roland McGrath
bbed653cda Sun Jan 21 00:55:25 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/unix/sysv/linux/shmat.c: Include sys/shm.h instead of
	sys/sem.h.

	* stdlib/stdlib.h [__USE_SVID]: Declare a64l, l64a.

	* stdlib/l64a.c: Use 6-bit numbers as indices in CONV_TABLE, not
	literal byte values.

	* misc/bsd-compat.c (getpgrp): Define with prototype.

	* misc/init-misc.c (__progname_full): New variable.
	(program_invocation_name, program_invocation_short_name): New aliases.
	(__init_misc): Define with prototype.  Set __progname_full.
	* misc/progname.c: File removed.
	* misc/Makefile (aux): Remove progname.

	* misc/hsearch_r.c (isprime): Define with prototype.

	* sysdeps/unix/sysv/linux/seteuid.c: Just include unix/bsd version.
	* sysdeps/unix/bsd/seteuid.c: Disallow arg of -1.
	* sysdeps/unix/bsd/setegid.c: Likewise.
1996-01-21 10:01:05 +00:00
Roland McGrath
7176f4e4b5 * misc/efgcvt_r.c (ecvt_r): Handle negative values.
* stdlib/stdlib.h: Replace __CONSTVALUE by attribute.
	* stdlib/abs.c, stdlib/div.c, stdlib/labs.c, stdlib/ldiv.c,
	sysdeps/generic/hypot.c: Remove obsolete __CONSTVALUE.

	* stdio-common/printf_fp.c (__printf_fp): Fix parameter
	declaration.

	* sysdeps/generic/putenv.c (putenv): Fix second argument of
	setenv.

	* sysdeps/ieee754/hypot.c: New file, extracted out of cabs.c.
	* sysdeps/ieee754/cabs.c: Don't define hypot here.

	* sysdeps/ieee754/ieee754.h (union ieee854_long_double): Fix
	definition of ieee_nan alternative.

	* sysdeps/m68k/__longjmp.c, sysdeps/m68k/setjmp.c: Add register
 	prefix spec.

	* sysdeps/m68k/ffs.c (ffs): Fix register constraint.

	* sysdeps/m68k/fpu/__math.h: Include <errno.h>.  Replace obsolete
	__CONSTVALUE by attribute.
	(floor): Round to negative infinity.
	(rint, expm1) [__NO_MATH_INLINES]: Don't define, to avoid type
	clash when compiling source.
	(pow): Handle x == 0 and x < 0.
	(ceil, __isinf, __isnan): Fix register constraints.
	(__isinfl, __isnanl): Added.
	* sysdeps/m68k/fpu/acos.c, sysdeps/m68k/fpu/atan2.c,
	sysdeps/m68k/fpu/fmod.c, sysdeps/m68k/fpu/ldexp.c,
	sysdeps/m68k/fpu/pow.c: Remove obsolete __CONSTVALUE.

	* sysdeps/m68k/bsd-_setjmp.S, sysdeps/m68k/bsd-setjmp.S: Fix
	assembler syntax.

	* sysdeps/unix/bsd/bsd4.4/fchdir.S (fchdir): Take only one
 	argument.

	* sysdeps/unix/bsd/clock.c (timeval_to_clock_t): Fix timeval to
	clock_t conversion.
	(clock): Don't multiply by CLOCKS_PER_SEC.

	* sysdeps/unix/bsd/poll.c (poll): Fix msec to timeval conversion.

	* sysdeps/unix/bsd/sun/m68k/brk.S (brk): Compare with address of
	__end.

	* sysdeps/unix/bsd/sun/m68k/vfork.S: Fix assembler syntax.

	* sysdeps/unix/bsd/ualarm.c (ualarm): Fix timeval calculation.

	* sysdeps/unix/bsd/vax/vfork.S: Remove duplicate label.
1996-01-17 02:03:00 +00:00
Roland McGrath
da128169aa Sun Jan 14 01:01:10 1996 Ulrich Drepper <drepper@ipd.info.uni-karlsruhe.de>
* stdlib/strtol.c: Return correct pointer for strings
	like "0xyz" and base 0 or 16.

	* string/strxfrm.c: Handle case for LENGTH == 0 correct.

	* sunrpc/etc.rpc: Add some more known protocols.
Sun Jan 14 01:01:10 1996  Ulrich Drepper  <drepper@ipd.info.uni-karlsruhe.de>

	* stdlib/strtol.c: Return correct pointer for strings
	like "0xyz" and base 0 or 16.

	* string/strxfrm.c: Handle case for LENGTH == 0 correct.

	* sunrpc/etc.rpc: Add some more known protocols.
1996-01-17 00:46:59 +00:00
Roland McGrath
05be689b57 Fri Dec 15 04:41:22 1995 Ulrich Drepper <drepper@gnu.ai.mit.edu>
* stdio-common/Makefile (tests): Add bug10.
	* stdio-common/bug10.c: New file.  From HJ Lu.

	* stdio-common/tstdiomisc.c: Make more test-suite like: exit
	status tells about successful run.

	* stdio-common/vfscanf.c [!USE_IN_LIBIO]: Use `flags' to check
	format correctness.
	Correct handling of trailing white spaces in format + EOF.

Fri Dec 15 01:31:56 1995  Ulrich Drepper  <drepper@gnu.ai.mit.edu>

	* stdio-common/Makefile (tests): Add bug8 and bug9.
	* stdio-common/bug8.c, stdio-common/bug9.c: New tests.

	* stdio-common/vfscanf.c: Fix bug in dynamic buffer handling.

	* stdlib/strtod.c: Correct spelling: nominator -> numerator.
	Thanks to Jim Meyering.

Sat Nov 25 06:05:12 1995  H.J. Lu  <hjl@nynexst.com>

	* stdio-common/vfscanf.c: Always check width !=0.
	Correctly handle %%.
1995-12-15 05:22:35 +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
77a58cad3f Tue Dec 5 02:27:32 1995 Ulrich Drepper <drepper@gnu.ai.mit.edu>
* libio/Makefile [routines]: Remove iofscanf, add iopopen, pclose.

	* libio/iofscanf.c: Remove file.

	* libio/iogetdelim.c (_IO_getdelim): Correct stupid bug at string
        termination.

	* libio/iopopen.c: New file from GNU libio.

	* libio/memstream.c: Fixed bug in fclose handling.  Instead of
	providing a close callback we need a finish callback.

	* libio/pclose.c: New file.  Derived from popen.c in GNU libio.

	* posix/gnu/types.h: Fixed typo.

	* stdio-common/errnobug.c: fputs returns EOF in error case.  Do
	not test for != 0.

	* stdio-common/printf-parse.h (parse_one_spec): Do not force
	padding with ' ' if precision is given.  Fix by HJ Lu.

	* stdio-common/printf_fp.c: Fix comment.

	* stdio-common/tfformat.c, stdio-common/tiformat.c,
	stdio-common/tstdiomisc.c: New files from GNU libio test suite.

	* stdio-common/tstgetln.c: Provide ssize_t type when testing
	libio.

	* stdio-common/vfprintf.c (outchar): Use PUTC instead of putc.
	(vfprintf): Cleasr args_type array before using it.
	When printing 0 as an integer with precision 0 nothing must be
	written for the number.
	Based on patch by HJ Lu.

	* stdio-common/vfscanf.c: Remove fixed input buffer.  Now we
        have a dynamically extended buffer.

	* stdlib/strtod.c: Merge with version in Linux libc.  This fixes
        some bugs with handling of very small numbers and has different
        solution for formaer patches.

	* sysdeps/i386/i586/add_n.S, sysdeps/i386/i586/sub_n.S: Rename
        macros r1 and r2 to t1, and t2 resp.  This is necessary because
        glibc headers also define r1.
Tue Dec  5 02:27:32 1995  Ulrich Drepper  <drepper@gnu.ai.mit.edu>

	* libio/Makefile [routines]: Remove iofscanf, add iopopen, pclose.

	* libio/iofscanf.c: Remove file.

	* libio/iogetdelim.c (_IO_getdelim): Correct stupid bug at string
        termination.

	* libio/iopopen.c: New file from GNU libio.

	* libio/memstream.c: Fixed bug in fclose handling.  Instead of
	providing a close callback we need a finish callback.

	* libio/pclose.c: New file.  Derived from popen.c in GNU libio.

	* posix/gnu/types.h: Fixed typo.

	* stdio-common/errnobug.c: fputs returns EOF in error case.  Do
	not test for != 0.

	* stdio-common/printf-parse.h (parse_one_spec): Do not force
	padding with ' ' if precision is given.  Fix by HJ Lu.

	* stdio-common/printf_fp.c: Fix comment.

	* stdio-common/tfformat.c, stdio-common/tiformat.c,
	stdio-common/tstdiomisc.c: New files from GNU libio test suite.

	* stdio-common/tstgetln.c: Provide ssize_t type when testing
	libio.

	* stdio-common/vfprintf.c (outchar): Use PUTC instead of putc.
	(vfprintf): Cleasr args_type array before using it.
	When printing 0 as an integer with precision 0 nothing must be
	written for the number.
	Based on patch by HJ Lu.

	* stdio-common/vfscanf.c: Remove fixed input buffer.  Now we
        have a dynamically extended buffer.

	* stdlib/strtod.c: Merge with version in Linux libc.  This fixes
        some bugs with handling of very small numbers and has different
        solution for formaer patches.

	* sysdeps/i386/i586/add_n.S, sysdeps/i386/i586/sub_n.S: Rename
        macros r1 and r2 to t1, and t2 resp.  This is necessary because
        glibc headers also define r1.
1995-12-05 03:35:55 +00:00
Roland McGrath
b5a08c5aca Mon Dec 4 12:10:28 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* stdlib/gen-mpn-copy (translations): Updated for new layout in
	GMP 1.910.

	* malloc/malloc.c (__malloc_initialize): Renamed from initialize;
	made global.
	(malloc): Caller changed.
	* malloc/realloc.c (realloc): Call __malloc_initialize if
	necessary, before checking hook.
	* malloc/malloc.h: Declare __malloc_initialize.

	* sysdeps/mach/hurd/ioctl.c: For IOC_VOID request, send ARG itself
	as integer_t arg in RPC.
1995-12-04 19:00:50 +00:00
Roland McGrath
ba848785bb Updated from ../=mpn/gmp-1.910 1995-12-04 18:37:56 +00:00
Roland McGrath
96aa2d94a2 Sat Nov 18 16:46:01 1995 Ulrich Drepper <drepper@gnu.ai.mit.edu>
* libio/Makefile, libio/cleanup.c, libio/clearerr.c, libio/feof.c,
	libio/ferror.c, libio/fgetc.c, libio/filedoalloc.c, libio/fileno.c,
	libio/fileops.c, libio/fputc.c, libio/freopen.c, libio/fseek.c,
	libio/genops.c, libio/getc.c, libio/getchar.c, libio/iofclose.c,
	libio/iofdopen.c, libio/iofflush.c, libio/iofgetpos.c, libio/iofgets.c,
	libio/iofopen.c, libio/iofprintf.c, libio/iofputs.c, libio/iofread.c,
	libio/iofscanf.c, libio/iofsetpos.c, libio/ioftell.c, libio/iofwrite.c,
	libio/iogetdelim.c, libio/iogetline.c, libio/iogets.c, libio/iolibio.h,
	libio/iopadn.c, libio/ioprims.c, libio/ioputs.c, libio/ioseekoff.c,
	libio/ioseekpos.c, libio/iosetbuffer.c, libio/iosetvbuf.c,
	libio/iosprintf.c, libio/ioungetc.c, libio/iovsprintf.c,
	libio/iovsscanf.c, libio/libio.h, libio/libioP.h, libio/putc.c,
	libio/putchar.c, libio/rewind.c, libio/setbuf.c, libio/setlinebuf.c,
	libio/stdfiles.c, libio/stdio.c, libio/stdio.h, libio/strfile.h,
	libio/strops.c, libio/vasprintf.c, libio/vscanf.c, libio/vsnprintf.c:
	New files.  Slightly modified version from Linux libc.

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

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

	* stdio-common/getline.c: Adapted to libio.
	* stdio-common/snprintf.c: Adapted to libio.
	* stdio-common/vfprintf.c: Adapted to libio.
	* stdio-common/vfscanf.c: Adapted to libio.
	* sysdeps/posix/tempname.c: Adapted to libio.
1995-11-20 03:48:11 +00:00
Roland McGrath
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
6cab5056c4 Sun Oct 15 21:04:13 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* stdlib/Makefile (mpn-found): Don't omit %.s.
	(mpn-copy-sysdep): Omit files in nonexistent directories.
	(copy-mpn): Commit files to CVS.
	* stdlib/gen-mpn-copy (translations): Update translations for GMP
	1.906.7.

	* configure.in (machine): Translate alpha* to alpha/&, hppa* to hppa/&.

Thu Oct 12 15:45:32 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* hurd/hurd.h (file_name_lookup_under): Declare it.
	* hurd/Makefile (headers): Add hurd/lookup.h.

	* hurd/hurdinit.c (_hurd_ports_use): New function.
	* hurd/hurd.h (_hurd_ports_use): Declare it.
	(hurd_invoke_translator, hurd_file_name_lookup, hurd_file_name_split,
	hurd_file_name_lookup_retry): Remove these decls.
	* hurd/Makefile (routines): Remove invoke-trans.
1995-10-16 02:14:42 +00:00
Roland McGrath
8f5ca04bc7 Sat Oct 14 02:52:36 1995 Ulrich Drepper <drepper@ipd.info.uni-karlsruhe.de>
* malloc/malloc.c (_malloc_internal): Performance fix.  Move
	if statement out of loop.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	* sysdeps/unix/sysv/linux/sys/param.h: Add copyright and clean up.
1995-10-16 01:37:51 +00:00
Ulrich Drepper
889fd48ef9 (STRTOF): Fix handling of numbers with lots of leading zeroes. 1995-09-28 09:20:04 +00:00
Roland McGrath
600927014b Wed Sep 20 18:02:03 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* locale/locale.c: Include errno.h.
	* locale/localedef.c: Likewise.

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

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

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

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

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

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

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

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

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

	* features.h (__USE_REENTRANT): New macro.
1995-09-18 09:00:07 +00:00
Roland McGrath
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
cbf48a6ba0 (msort_with_tmp): Fixed alignment test. B1 and B2 are always congruent; just test that B1 is aligned. 1995-09-07 21:04:57 +00:00
Roland McGrath
44c8d1a2a8 Fri Sep 1 16:16:12 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* libc-symbols.h (link_warning): Take new first arg SYMBOL; ask
	for a warning on references to that specific symbol, not the
	entire containing object file.
	(stub_warning): Pass symbol name to link_warning.
	* stdio/gets.c: Pass function name in link_warning invocation.

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

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

	* sysdeps/i386/dl-machine.h (ELF_MACHINE_BEFORE_RTLD_RELOC): Add
	missing backslash.
1995-09-01 22:25:08 +00:00
Roland McGrath
b25c5d66b2 * stdlib/strtol.c: Use #ifdef, not #if, for HAVE_LIMITS_H.
* posix/glob.c (glob_in_dir): Allocate GLOB_MARK byte in case when
 	(NFOUND == 0 && (FLAGS & GLOB_NOCHECK)).
1995-08-07 21:45:04 +00:00
Jim Meyering
6c685ebb79 [_LIBC]: Define HAVE_LIMITS_H. [HAVE_LIMITS_H]: Include it. 1995-07-30 18:48:43 +00:00
Roland McGrath
4356cfd7ad * stdlib/strtol.c [_LIBC]: Define STDC_HEADERS.
* sysdeps/unix/sysv/ftime.S: New file.

	* locale/locfile-parse.c (categories_write): Cast "" to char *.

	* io/fcntl.h [__OPTIMIZE__] (creat): Macro removed.

	* time/strftime.c: Use year modulo 100 for %y.

	* time/sys/timeb.h: Add __BEGIN_DECLS and __END_DECLS.

	* sysdeps/unix/snarf-ioctls (snarfexclude): Use two sed's instead
 	of one, to work around bug in sunos4.1.2 sed.
1995-07-25 18:36:31 +00:00
Jim Meyering
e09675ddfb Portability changes from Uli Drepper. [!STDC_HEADERS && !defined(NULL)] Define NULL. 1995-07-17 13:34:12 +00:00
Roland McGrath
217d85b9c8 Mon Apr 10 14:53:15 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* stdlib/strtod.c (STRTOF): Use extra macro to make STRTOF's #defn
 	a weak symbol instead of literal "STRTOF".

	* locale/setlocale.c: Work around ld bug: don't weakify refs to
 	_nl_{current,C}_*.
1995-04-10 18:58:00 +00:00
Roland McGrath
ea7d993862 * Make-dist (README): Commit it to CVS if there is a CVS directory. 1995-03-29 16:58:35 +00:00
Roland McGrath
d365fd2cfa * misc/Makefile (headers): Add utmp.h.
* misc/utmp.h: New file, incorporated from 4.4-Lite.
1995-03-24 07:59:23 +00:00
Roland McGrath
3ef21326e9 All the mpn stuff moved here from stdio/Makefile. 1995-03-24 03:05:04 +00:00
Roland McGrath
49e522bfb8 Tue Mar 21 00:14:27 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* locale/loadlocale.c (_nl_load_locale): If LOCALE/LC_* is a
 	directory, open LOCALE/LC_*/SYS_LC_* instead.

	* stdio/fpioconst.c, stdio/fpioconst.h, stdio/gmp-impl.h,
	stdio/gmp.h, stdio/longlong.h, stdio/mp_clz_tab.c,
	stdio/gen-mpn-copy: Files moved to stdlib.
	* stdio/Makefile: All mpn stuff moved to stdlib/Makefile.
	* stdio/printf_fp.c: Use ../stdlib to find fpioconst.h and gmp
 	headers.
	* stdlib/strtod.c: Don't use ../stdio to find fpioconst.h and gmp
 	headers.
1995-03-21 07:58:50 +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
04282ed1dd Undo bogus change by drepper 1995-03-17 17:40:02 +00:00
Ulrich Drepper
b3fe135050 Fri Mar 17 13:28:04 1995 Ulrich Drepper <drepper@ipd.info.uni-karlsruhe.de>
* sysdeps/ieee754/ldbl2mpn.c (__mpn_extract_long_double):
	Handle 80-bit denormalized numbers correct.

	* stdlib/strtod.c,stdlib/strtof.c,stdlib/strtold.c:
	[IMPLICIT_ONE,*_MAX_10_EXP_LOG]: not needed anymore.
	* stdlib/strtod.c (RETURN): parenthesis around return value.
	(round_and_return): correct handling of denormalized numbers.
	(__strtod_internal): don't check for grouping when not requested
	while returning 0.0.

	* stdio/fpioconst.[ch]: [LDBL_MAX_10_EXP_LOG]: don't use it.
	LAST_POW10 defines the maximal available exponent.

	* stdlib/{atof,atoi,atol}.c: use __strtoX_internal.
1995-03-17 17:15:40 +00:00
Roland McGrath
c45e5aa9a4 * stdlib/strtold.c (STRTOF): Set to strtold, not __strtold.
(strtold): Remove weak alias.
	* stdlib/strtof.c (STRTOF): Set to strtof, not __strtof.
	(strtof): Remove weak alias.
1995-03-16 07:21:33 +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
4ca6860994 #if 0 out code for non-ASCII chars until the locale data format is implemented. 1995-03-13 03:41:42 +00:00
Roland McGrath
2863511535 Mon Mar 6 12:34:56 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* ctype/ctype.h (_ISbit): New macro, defined dependent on byte order.
	(_IS* enum): Use _ISbit to produce values.
1995-03-06 19:57:00 +00:00
Roland McGrath
933e73facc Sun Mar 5 19:40:13 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* locale/localeinfo.h: Rewritten for new locale system, using
	locale data files and with <langinfo.h> interface.
	* locale/setlocale.c: Rewritten to use locale data files.
	* langinfo.h: New file.
        * locale/langinfo.h: New file.
        * locale/nl_langinfo.c: New file.
        * locale/loadlocale.c: New file.
        * locale/lc-ctype.c: New file.
        * locale/lc-messages.c: New file.
        * locale/lc-monetary.c: New file.
        * locale/lc-numeric.c: New file.
        * locale/lc-time.c: New file.
        * locale/categories.def: New file.
	* locale/Makefile (headers): Remove localeinfo.h.
	(distribute): New variable; put localeinfo.h here, and categories.def.
	(routines): Add loadlocale.
	(categories): New variable.
	(aux): Use that to get C-category and lc-category.
	* ctype/ctype.h (_IS*): Use independent bits for all but _ISalnum.
	* locale/C-ctype.c, locale/C-messages.c: New files.
 	* locale/C-monetary.c, locale/C-numeric.c, locale/C-time.c:
	Default "C" locale data updated for new locale system.
	* locale/C-collate.c: File removed.
        * locale/C-ctype_ct.c: File removed.
        * locale/C-ctype_mb.c: File removed.
        * locale/C-response.c: File removed.
	* locale/localeconv.c: Use _NL_CURRENT macro to access locale data.
	* stdio/printf_fp.c, stdio/vfprintf.c, stdio/vfscanf.c,
	  stdlib/strtod.c, time/asctime.c, time/strftime.c:
	Include ../locale/localeinfo.h and use _NL_CURRENT macro to access
	locale data.
	* time/localtime.c: Don't include <localeinfo.h>.
	* time/tzset.c: Don't use locale items for default TZ value or
	"GMT" string (use "UTC").

	* stdio/vfprintf.c [USE_IN_LIBIO] (PAD): Only call the function if
 	WIDTH>0; update DONE.

	* malloc/malloc.c (morecore): Fix last change to calculate by
 	blocks instead of bytes.
1995-03-06 03:00:08 +00:00
Roland McGrath
4933a099c2 * stdlib/strtod.c: Fixes from drepper.
[IMPLICIT_ONE]: New macro, one for IEEE754 formats.
	* stdlib/strtold.c [IMPLICIT_ONE]: New macro, 0.
	* stdlib/strtof.c [IMPLICIT_ONE]: New macro, 1.

	* stdio/vfprintf.c: Correctly notice Z modifier.
1995-03-02 10:00:12 +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
37f91d336d Tue Feb 21 00:10:50 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* csu/Makefile (crtstuff): New variable consolidates crti, crtn;
 	add crti_s, crtn_s.
	(install-lib, extra-objs, generated-, omit-deps): Use that.
	(initfini): New canned sequence, broken out of crt[in].s rule.
	(crt[in].s rule): Use it.
	(crt[in]_s.s): New rule.
	* csu/initfini.c (GLOBAL): New macro; define it to empty if undefined.
	(_init, _fini): Use GLOBAL as storage class.
	Add self reference to avoid GCC optimizing out the functions.

	* Makefile (headers): Remove $(stddef.h).
	* Makeconfig (stddef.h): Variable removed; now require gcc version
 	>= 2.2.
	* stddef.h: File removed.

Mon Feb 20 19:42:31 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* sysdeps/unix/bsd/ultrix4/mips/start.S: Remove `__environ'
 	definition.
	* sysdeps/unix/bsd/osf1/alpha/start.S: Likewise.

	* stdlib/strtod.c: Allow the string to start with a decimal point
 	without a leading zero.
1995-02-21 06:02:58 +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
28f540f45b initial import 1995-02-18 01:27:10 +00:00