* misc/lsearch.c: New file. Implementation of lfind and
lsearch functions.
* misc/search.h: Add prototype for functions from tsearch
family with __ prefix.
Correct prototype for lsearch: BASE parameter must not be
const.
* misc/tsearch.c: prepend all global function names with __
and make normal names weak aliases.
Fri Jun 7 00:15:24 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* Make-dist (sysdep_dirs): Skip CVS dirs.
* mach/Machrules (include-%.defs): New canned sequence.
Change all uses of `#include <$*.defs>' in cmds to use it.
* mach/Makefile (mach_interface.defs): New variable, set to mach.defs.
* sysdeps/i386/dl-machine.h (elf_machine_rel): Handle RESOLVE being
null in all cases but R_386_COPY.
(elf_machine_rel):
* sysdeps/unix/bsd/ultrix4/mips/Dist: Updated.
* sysdeps/unix/bsd/ultrix4/Dist: Removed.
* sysdeps/unix/sysv/sysv4/Dist: Updated.
* sysdeps/unix/sysv/sco3.2.4/Dist: Removed.
* sysdeps/unix/sysv/irix4/Dist: Updated.
* sysdeps/unix/sysv/linux/i386/Dist: Removed.
* sysdeps/unix/sysv/Dist: Updated.
* sysdeps/unix/bsd/sun/sunos4/Dist: Removed.
* sysdeps/unix/bsd/sony/newsos4/Dist: Removed.
* sysdeps/gnu/Dist: New file.
* sysdeps/alpha/Dist: Updated.
* sysdeps/mach/hurd/Dist: Updated.
* Make-dist [subdir-dirs]: Set a vpath for %.c.
* Make-dist (README): Fix typo in cvs cmd.
* sysdeps/mach/hurd/getlogin_r.c: New file.
Wed Jun 5 02:11:30 1996 Ulrich Drepper <drepper@cygnus.com>
* io/Makefile (routines): Add ttyname_r.
* resolv/res_debug.c, resolv/resolv.h: Update from bind-4.3.4-T4A.
* sysdeps/libm-i387/e_asinl.S, sysdeps/libm-i387/e_atan2l.S,
sysdeps/libm-i387/e_expl.S, sysdeps/libm-i387/e_fmodl.S,
sysdeps/libm-i387/e_log10l.S, sysdeps/libm-i387/e_logl.S,
sysdeps/libm-i387/e_remainderl.S, sysdeps/libm-i387/e_scalbl.S,
sysdeps/libm-i387/e_sqrtl.S, sysdeps/libm-i387/s_atanl.S,
sysdeps/libm-i387/s_cosl.S, sysdeps/libm-i387/s_ilogbl.S,
sysdeps/libm-i387/s_log1pl.S, sysdeps/libm-i387/s_logbl.S,
sysdeps/libm-i387/s_scalbnl.S, sysdeps/libm-i387/s_sinl.S,
sysdeps/libm-i387/s_tanl.S: New files. i387 assembler versions
of `long double' math functions.
* sysdeps/libm-ieee754/k_standard.c: Add handling for errors
in long double functions.
* sysdeps/libm-ieee754/s_ilogbl.c, sysdeps/libm-ieee754/s_logbl.c,
sysdeps/libm-ieee754/s_modfl.c: New files. Generic versions
of `long double' math functions.
* sysdeps/libm-ieee754/s_isinf.c [NO_LONG_DOUBLE]: Add string
alias for __isinfl.
* sysdeps/libm-ieee754/w_acoshl.c, sysdeps/libm-ieee754/w_acosl.c,
sysdeps/libm-ieee754/w_asinl.c, sysdeps/libm-ieee754/w_atan2l.c,
sysdeps/libm-ieee754/w_atanhl.c, sysdeps/libm-ieee754/w_cabsl.c,
sysdeps/libm-ieee754/w_coshl.c, sysdeps/libm-ieee754/w_dreml.c,
sysdeps/libm-ieee754/w_expl.c, sysdeps/libm-ieee754/w_fmodl.c,
sysdeps/libm-ieee754/w_gammal.c, sysdeps/libm-ieee754/w_gammal_r.c,
sysdeps/libm-ieee754/w_hypotl.c, sysdeps/libm-ieee754/w_j0l.c,
sysdeps/libm-ieee754/w_j1l.c, sysdeps/libm-ieee754/w_jnl.c,
sysdeps/libm-ieee754/w_lgammal.c, sysdeps/libm-ieee754/w_lgammal_r.c,
sysdeps/libm-ieee754/w_log10l.c, sysdeps/libm-ieee754/w_logl.c,
sysdeps/libm-ieee754/w_powl.c, sysdeps/libm-ieee754/w_remainderl.c,
sysdeps/libm-ieee754/w_scalbl.c, sysdeps/libm-ieee754/w_sinhl.c,
sysdeps/libm-ieee754/w_sqrtl.c: New files. Wrapper functions
around long double function implementations.
* sysdeps/posix/ttyname_r.c (ttyname_r): Use _D_EXACT_NAMLEN
to determine length of directory entry name.
* posix/Makefile (routines): Add getlogin_r.
* posix/unistd.h: Add prototype for getlogin_r.
* sysdeps/stub/getlogin_r.c: New file. Reentrant version of
getlogin function, specified in P1003.1c/D6. Stub version.
* sysdeps/unix/getlogin.c (getlogin): Use ttyname_r instead of
ttyname. This avoids saving and restoring the old content.
Also use setutent_r, getutline_r and endutent_r instead of
accing UTMP file directly.
* sysdeps/unix/getlogin_r.c: New file. Reentrant version of
getlogin function, specified in P1003.1c/D6.
Tue Jun 4 20:10:09 1996 J.T. Conklin <jtc@cygnus.com>
* sysdeps/libm-i387/s_finitef.S: Fix mask for exponent.
* elf/dl-lookup.c (_dl_lookup_symbol): Grok magical undefined symbols
_GNU_libc_dl_{open,close,symbol} and resolve them to dl functions.
* elf/rtld.c (rtld_map): Renamed to _dl_rtld_map, made global.
* elf/link.h: Declare _dl_rtld_map.
* elf/dl-lookup.c (_dl_symbol_value): New function.
* elf/link.h: Declare it.
stdio-common/vfscanf.c: Prepare for reentrant libio.
Used in reentrant libio.
* login/pututline_r.c: Fix typo in sizeof for DATA_TMP alloca.
* sysdeps/generic/gnu/types.h (__clock_t): New type.
* sysdeps/unix/sysv/linux/gnu/types.h (__clock_t, __fsid_t): Define
using kernel types.
* time/time.h (clock_t): Include <gnu/types.h> and define using
__clock_t.
* 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.
* Makerules (sed-remove-objpfx): Avoid extra space in regexp due to
continuation line.
* sysdeps/unix/sysv/linux/i386/socket.S: Fix off-by-one error in
setting %ecx to 2nd syscall arg: we have pushed nothing, so function
args are found at 4(%esp), not 8(%esp).
Append termio.h.
* Makefile ($(includedir)/stubs.h): Print a msg if we do nothing.
* misc/sgtty.h: Add forward decl of struct sgttyb in case it is never
defined.
* sysdeps/unix/sysv/linux/termio.h: New file.
* sysdeps/unix/sysv/linux/Dist: Add it.
* sysdeps/unix/sysv/linux/ioctl-types.h: New file, wrapper around
kernel header <asm/termios.h>.
* misc/Makefile (headers): Add ioctl-types.h.
* sysdeps/generic/ioctl-types.h: New file.
* misc/sys/ioctl.h: Include <ioctl-types.h>.
(struct tchars, struct ltchars, struct sgttyb, struct winsize,
struct ttysize): Types moved there.
* 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.
* 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,
* sysdeps/unix/sysv/linux/alpha/speed.c (speeds): Add entry for
460800 baud.
* sysdeps/unix/sysv/linux/alpha/statbuf.h: New file.
* sysdeps/unix/sysv/linux/Makefile (headers): Add
alpha/ptrace.h.
* sysdeps/unix/sysv/linux/alpha/alpha/ptrace.h: New file.
* sysdeps/libm-ieee754/s_scalbnf.c: Call __scalbnf instead of
scalbnf.
* sysdeps/generic/sigset.h (__sigismember, __sigaddset,
__sigdelset): Add declaration to keep ANSI compilers quiet.
* sysdeps/alpha/__math.h (cabs): Remove underscores from struct
__cabs_complex member names in call to __hypot().
* sysdeps/alpha/copysign.S, sysdeps/alpha/fabs.S: New files.
* sysdeps/alpha/divrem.h: Renamed from sysdeps/alpha/divrem.S to avoid
name collision with math library.
* sysdeps/alpha/divl.S, sysdeps/alpha/divlu.S, sysdeps/alpha/divq.S,
sysdeps/alpha/divqu.S, sysdeps/alpha/reml.S, sysdeps/alpha/remlu.S,
sysdeps/alpha/remq.S, sysdeps/alpha/remqu.S: Include divrem.h instead
of divrem.S.
* sysdeps/unix/alpha/sysdep.h: Include regdef.h. Define LEAF macro
to simplify declaration of leaf functions.
* sysdeps/alpha/_mcount.S, sysdeps/alpha/bb_init_func.S,
sysdeps/alpha/bsd-setjmp.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/alpha/udiv_qrnnd.S, sysdeps/unix/sysv/linux/alpha/brk.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/pipe.S,
sysdeps/unix/sysv/linux/sigsuspend.S,
sysdeps/unix/sysv/linux/alpha/syscall.S,
sysdeps/unix/sysv/linux/alpha/sysdep.S: Remove include of regdef.h.
sysdep.h includes it now. Replace ENTRY by LEAF with appropriate
framesize declaration. Replace "lda pv,sym/jsr pv" by "jsr sym".
* sysdeps/unix/sysv/linux/alpha/sysdep.h (NO_UNDERSCORES): Don't
define.
* sysdeps/unix/sysv/linux/alpha/syscalls.list: Added getsockopt,
ptrace, and sysctl.
* sysdeps/unix/sysv/linux/alpha/profil-counter.h: File removed.
* sysdeps/unix/sysv/linux/alpha/ioperm.c: Modify to support
dynamic recognition of platform type.
(_bus_base): New function.
* sysdeps/unix/sysv/linux/alpha/llseek.S: New file.
* sunrpc/rpc/rpc.h, sunrpc/rpc/svc.h: Avoid nested comments since
they produce ugly warnings by gcc.
* posix/sys/types.h [__USE_MISC]: Add typedef for ulong.
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.
* 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 ~.
* 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>.
* 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.
(extra-objs): Remove it from here.
Include the z.* files directly instead of including zonenames; use
`-include' to not complain befre they exist.
* sysdeps/unix/Makefile: Find sysd-syscalls and s-proto.d with
$(common-objpfx) instead of $(objpfx).
* Makeconfig (sysdep-configures): New variable.
(config.status): Depend on $(sysdep-configures).
Fri May 10 20:07:52 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/profil.c: New file.
Fri May 10 19:59:50 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/Makefile (CFLAGS-setjmp.c): New variable.
Fri May 10 19:55:42 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* shlib-versions: Use libm=6 and libc=6 for m68k-linux.
* string/envz.c: Fix uses of unsigned to size_t.
* intl/Makefile (CPPFLAGS): Change $(nlsdir) to $(i18ndir) in
LOCALE_ALIAS_PATH.
Fri May 3 03:14:02 1996 Ulrich Drepper <drepper@cygnus.com>
* intl/Makefile (routines): Add l10nflist and explodename.
(distribute): Add loadinfo.h and locale.alias.
(install-others): New variable to install locale.alias.
* intl/dcgettext.c, intl/finddomain.c, intl/gettextP.h,
intl/loadmsgcat.c: Adapt for upcoming gettext-0.10.13. Some code
is now shared with the locale implementation.
* intl/explodename.c, intl/l10nflist.c, intl/loadinfo.h: New file.
Extracted from finddomain.c. This is also used in the locale
implementation.
* intl/locale.alias: New file. Locale alias database compatible
with X Window System's locale alias file. Can now be used in
locale and gettext code.
* libio/stdio.h: Add prototypes for asprint and vasprintf.
* locale/C-collate.c, locale/C-ctype.c, locale/C-messages.c,
locale/C-monetary.c, locale/C-numeric.c, locale/C-time.c: Add new
field in structure with name of locale ("C" in this case).
* locale/Makefile (routines): Add findlocale.
* locale/findlocale.c: New file. Instead of trying to load the
directly described file we now try to be much smarter when this
fails. Use the same code as gettext does.
* locale/loadlocale.c, locale/setlocale.c: Rewrite to know about
new loading scheme.
* locale/localeinfo.h: Adapt prototypes and declarations for new
setlocale implementation. Remove definition of u32_t type. We
now use u_int32_t from <sys/types.h>.
* locale/programs/charset.h (ILLEGAL_CHAR_VALUE): Provide type
with constant.
* locale/programs/config.h, locale/lc-collate.c,
locale/localeinfo.h, locale/programs/ld-collate.c,
locale/programs/ld-ctype.c, locale/programs/ld-messages.c,
locale/programs/ld-monetary.c, locale/programs/ld-numeric.c,
locale/programs/ld-time.c, locale/weight.h, string/strcoll.c:
Change to use u_int32_t and u_int16_t.
* locale/programs/localedef.c (construct_output_path): Change name
of output locale to contain normalized form of the character set
portion.
* string/Makefile (routines): Add agrz-ctsep and argz-next.
(tests): Add tst-strlen.
* string/argz-ctsep.c: New file. Implement reverse operation
from argz-stringify.
* string/argz-next.c: Non-inline version of function from argz.h.
* string/argz.h, string/envz.h: Make usable as global header file.
* string/envz.c: Fix declarations to use size_t where prototypes
say so.
* string/tst-strlen.c: New file. Another test for critical
situation in strlen implementations.
* sysdeps/i386/i586/strlen.S: Fix bug with highest byte in word
being zero.
* wctype/test_wctype.c: Fix controlling comparison after change to
32 bit character class array.
Fri May 3 12:53:12 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* sysdeps/unix/sysv/linux/sys/socket.h: Remove spurious doubled line.
Thu May 2 22:50:52 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/getpriority.c: New file.
* sysdeps/unix/sysv/linux/syscalls.list: Add s_getpriority.
Thu May 2 22:41:31 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/m68k/fpu_control.h (_FPU_DEFAULT):
Disable all exceptions.
Thu May 2 22:33:14 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/e_acos.c, sysdeps/m68k/fpu/e_acosf.c,
sysdeps/m68k/fpu/e_fmod.c, sysdeps/m68k/fpu/e_fmodf.c,
sysdeps/m68k/fpu/isinfl.c, sysdeps/m68k/fpu/isnanl.c,
sysdeps/m68k/fpu/s_atan.c, sysdeps/m68k/fpu/s_atanf.c,
sysdeps/m68k/fpu/s_frexp.c, sysdeps/m68k/fpu/s_frexpf.c,
sysdeps/m68k/fpu/s_ilogb.c, sysdeps/m68k/fpu/s_ilogbf.c,
sysdeps/m68k/fpu/s_isinf.c, sysdeps/m68k/fpu/s_isinff.c,
sysdeps/m68k/fpu/s_ldexp.c, sysdeps/m68k/fpu/s_ldexpf.c,
sysdeps/m68k/fpu/s_modf.c, sysdeps/m68k/fpu/s_modff.c: Don't
define __NO_MATH_INLINES, which is already defined on command
line.
Thu May 2 22:18:28 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/libm-ieee754/e_j0f.c (__ieee754_j0f, __ieee754_y0f):
Replace 0x80000000 by 0x48000000.
* sysdeps/libm-ieee754/e_j1f.c (__ieee754_j1f): Likewise.
Thu May 2 21:30:33 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sunrpc/svc_simple.c: Make global variable pl local to
registerrpc.
Thu May 2 00:24:04 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* time/Makefile (tz-cflags): New variable.
(CFLAGS-tzfile.c): New variable.
(CFLAGS-zic.c): Add $(tz-cflags).
(tz-cc): Remove variable.
($(objpfx)tzfile.o, $(objpfx)zic.o): Remove targets.
* sysdeps/mach/hurd/getcwd.c: Jump out of both loops when we find a
name, instead of checking for reaching end of buffer, which happens
when the match is the last entry in the buffer.
* 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.
wrapped with #ifndef, to avoid config.h defining it.
Tue Mar 26 15:40:14 1996 Brendan Kehoe <brendan@zen.org>
* sysdeps/unix/sysv/sysv4/solaris2/sparc/sysdep.h (NO_UNDERSCORES): Use
wrapped with #ifndef, to avoid config.h defining it.
* elf/dl-load.c (_dl_map_object_from_fd): Always set L->l_type; if not
lt_executable, then lt_library.
* elf/rtld.c (dl_main): Don't set NEW->l_type after _dl_map_object.
Wed Mar 20 00:08:23 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/syscalls.list: Remove gtty and stty.
Tue Mar 19 16:31:06 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/termbits.h (CRTSCTS, CBAUDEX, VEOL,
VEOL2, VMIN, VTIME): Corrected.
(PAGEOUT, WRAP, VDSUSP): Deleted.
* sysdeps/unix/readdir.c: Test [! _DIRENT_HAVE_D_RECLEN] instead of
(sizeof (DP->d_name) > 1) to detect fixed-size dir entries.
* 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).
* elf/Makefile (rtld-link): New canned sequence.
(ld.so, ld-linux.so.1): Use it. Pass -soname option.
* sysdeps/i386/setjmp.S (__setjmp): Define compatibility entry point.
Sun Mar 17 23:15:32 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/tcgetpgrp.c,
sysdeps/unix/sysv/linux/tcsetpgrp.c: New files.
* 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.
* sysdeps/sparc/jmp_buf.h: Rewritten; use array of ints, not struct.
* sysdeps/sparc/setjmp.S: Rewritten; store %fp value as well.
* sysdeps/sparc/__longjmp.S: Rewritten; unwind frames one by one with
`restore' until the target frame is hit.
Sun Mar 10 20:29:40 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/sigsuspend.c: New file.
* sysdeps/unix/sysv/linux/syscalls.list: Remove sigsuspend, add
s_sigsuspend.
Thu Mar 7 21:30:58 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules (+make-deps, sed-remove-objpfx): Quote periods on the
left side of sed substitutions.
Sun Mar 10 16:58:10 1996 Ulrich Drepper <drepper@gnu.ai.mit.edu>
* stdio-common/printf_fp.c (hack_digit): __mpn_normal_size
is not available anymore. Do it ourselves.
* sysdeps/unix/sysv/linux/i386/fpu_control.h (_FPU_SETCW):
Correct GCC `asm' syntax.
* stdio-common/Makefile (tests): Add tst-ungetc.
* stdio-common/tst-ungetc.c: New test from drepper.
* stdio-common/tstscanf.c (main): New %[ test case from drepper.
* sysdeps/libm-ieee754/s_scalbn.c (scalbn): Rename to __scalbn;
somehow this was missed, though the weak alias is already there.