From: Roland McGrath Date: Sat, 18 Feb 1995 01:27:10 +0000 (+0000) Subject: initial import X-Git-Tag: upstream/2.20~23182 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=28f540f45bbacd939bfd07f213bcad2bf730b1bf;p=platform%2Fupstream%2Flinaro-glibc.git initial import --- 28f540f45bbacd939bfd07f213bcad2bf730b1bf diff --git a/.cvsignore b/.cvsignore new file mode 100644 index 0000000..f0db6e6 --- /dev/null +++ b/.cvsignore @@ -0,0 +1,10 @@ +*.gz *.Z *.tar *.tgz +=* +TODO COPYING* AUTHORS copyr-* copying.* +glibc-* + +configparms + +sun4 i386 i386-gnuelf hp300-netbsd hp300 + +ieeetest hppa-sysdeps regex diff --git a/=__ify b/=__ify new file mode 100755 index 0000000..017d909 --- /dev/null +++ b/=__ify @@ -0,0 +1,12 @@ +for func in $*; do + for file in `find sysdeps -name "${func}.c"`; + do + script=/tmp/foo$$; + ( echo "%s/${func}/__&/g"; + echo x )>$script ; + ex $file <$script ; + newfile=`echo $file | sed "s/${func}/__&/"`; + mv $file $newfile; + echo $newfile; + done +done diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 0000000..f43f045 --- /dev/null +++ b/ChangeLog @@ -0,0 +1,11886 @@ +Fri Feb 17 12:16:27 1995 Roland McGrath + + * sysdeps/mach/hurd/Makefile (errlist.c, errnos.h): Do cvs commit + if there is a CVS directory. + * sysdeps/sparc/Makefile (divrem output): Likewise. + * sysdeps/alpha/Makefile (divrem output): Likewise. + + * Makerules (rule to install lib%.a from $(install-lib)): Fix + patsubst to elide ranlib for $(non-lib.a). + + * stdio/tst-printf.c: Enable FP tests. Add some new tests from rfg. + +Thu Feb 16 04:06:06 1995 Roland McGrath + + * sysdeps/mach/hurd/mig-reply.c: Add weak aliases to non-__ names. + * mach/mig-dealloc.c: Add weak alias mig_deallocate. + +Wed Feb 15 13:34:01 1995 Roland McGrath + + * hurd/hurd/signal.h (HURD_MSGPORT_RPC): Take new arg + DEALLOC_REFPORT; deallocate the refport after use only if it + evaluates to nonzero. + * sysdeps/mach/hurd/kill.c: Pass DEALLOC_REFPORT arg of one. + * hurd/hurdkill.c: Pass DEALLOC_REFPORT arg of zero. + + * hurd/hurdsig.c (abort_rpcs): Take new arg int *STATE_CHANGE; set + *STATE_CHANGE to indicate whether or not we changed *STATE and it + should be committed to the thread. + (abort_all_rpcs): Take new arg LIVE; if nonzero and abort_rpcs changes + state for a thread, do thread_set_state on that thread. Don't use + SS->intr_port for collecting reply ports, it is not safe to + clobber that when suspending; instead, alloca a temporary array. + (_hurd_internal_post_signal): Pass LIVE flag to abort_all_rpcs: + zero when dying, one when suspending. Pass new arg to abort_rpcs. + + * sysdeps/mach/hurd/stdio_init.c: Don't lock the file descriptor; + HURD_FD_PORT_USE will. Don't use critical sections around + HURD_FD_PORT_USE invocations. + + * sysdeps/mach/hurd/stdio_init.c: Don't make pipes/FIFOs unbuffered. + * sysdeps/posix/stdio_init.c: Likewise. + +Tue Feb 14 03:01:12 1995 Roland McGrath + + * hurd/hurd/fd.h (_hurd_fd_get): Don't do critical section + locking; don't leave the descriptor locked on return. + (HURD_FD_PORT_USE): Don't expect _hurd_fd_get to return the fd locked. + Use a critical section around locking the descriptor. + Check for an empty descriptor and return EBADF. + * sysdeps/mach/hurd/dup2.c: Likewise. + * sysdeps/mach/hurd/fcntl.c: Likewise. + Use HURD_FD_PORT_USE macro for RPCs. + * sysdeps/mach/hurd/sysd-stdio.c: Don't lock the descriptor before + using HURD_FD_PORT_USE. + * sysdeps/mach/hurd/defs.c (init_stdio): Don't expect _hurd_fd_get + to lock the descriptor. + * sysdeps/mach/hurd/stdio_init.c: Use critical sections while + locking the descriptor. + * sysdeps/mach/hurd/fdopen.c: Likewise. + * hurd/fd-close.c: Likewise. + Don't expect the descriptor to be locked on entry. + Check for empty descriptor and return EBADF. + + Factor ctty RPC code for SIGTTIN/SIGTTOU generation out into + new functions _hurd_ctty_input and _hurd_ctty_output, each + called with (io_t port, io_t ctty, error_t (*rpc) (io_t)). + * hurd/ctty-input.c: New file. + * hurd/ctty-output.c: New file. + * hurd/Makefile (dtable): Add ctty-input and ctty-output. + * hurd/fd-read.c: Use _hurd_ctty_input. + * hurd/fd-write.c: Use _hurd_ctty_output. + * sysdeps/mach/hurd/ioctl.c: Likewise. + * hurd/hurd/fd.h (_hurd_ctty_input, _hurd_ctty_output): Declare them. + +Mon Feb 13 11:36:12 1995 Roland McGrath + + * stdio/vfscanf.c (%e, %f, %g): Use strtod, __strtold, or __strtof + as appropriate to the type. + + * sysdeps/ieee754/huge_val.h (__huge_val_t): New macro to avoid + repeating the union. + (HUGE_VAL, __huge_val): Use it. + [__USE_GNU] (HUGE_VALf, HUGE_VALl): New macros, along with + analogous macros to HUGE_VAL's: __huge_val[fl]_t, __HUGE_VAL[fl]_bytes. + * stdlib/strtold.c (FLOAT_HUGE_VAL): Define this to HUGE_VALl. + (STRTOF): Set to __strtold; define strtold as weak alias. + * stdlib/strtof.c (FLOAT_HUGE_VAL): Define this to HUGE_VALf. + (STRTOF): Set to __strtof; define strtof as weak alias. + + * sysdeps/ieee754/ieee754.h (union ieee754_float): New type. + (IEEE754_FLOAT_BIAS): New macro. + + * sysdeps/ieee754/mpn2ldbl.c: Fix typos. + + * stdlib/testmb.c: Add tests from rfg for using normal chars as + multibyte chars. + + * hurd/hurdmalloc.c (malloc_init): Add self reference to avoid not + only the `defined but not used' warning, but also to avoid GCC + optimizing out the entire function (!). + + * stdlib/wctomb.c: Include ctype.h. + + * Makerules (install-lib-non.a): Don't include $(non-lib.a). + + * hurd/hurdmalloc.c: Include string.h; #define bcopy using memcpy. + +Sat Feb 11 04:05:29 1995 Roland McGrath + + * stdio/printf_fp.c: Include "fpioconst.h". + (_tens_p): Table moved to fpioconst.c, renamed to _fpioconst_pow10. + (__printf_fp): All references changed. + Don't bother computing THOUSANDS_SEP if GROUPING is empty. + (group_number): Use memmove instead of memcpy, since operands overlap. + * stdio/fpioconst.c: New file, tables broken out of stdio/printf_fp.c. + * stdio/fpioconst.h: New file, header declaring the table data. + * stdio/Makefile (aux): Add fpioconst. + (distribute): Add fpioconst.h. + * stdlib/strtod.c: Complete rewrite from drepper. + * stdlib/strtof.c: New file. + * stdlib/strtold.c: New file. + * stdlib/Makefile (routines): Add strtof, strtold. + * stdio/Makefile (routines): Add mpn2flt, mpn2dbl, mpn2ldbl. + * sysdeps/stub/mpn2flt.c: New file. + * sysdeps/stub/mpn2dbl.c: New file. + * sysdeps/stub/mpn2ldbl.c: New file. + * sysdeps/ieee754/mpn2flt.c: New file. + * sysdeps/ieee754/mpn2dbl.c: New file. + * sysdeps/ieee754/mpn2ldbl.c: New file. + + * Makerules (install-lib.a): Don't filter out $(non-lib.a). + ($(install-lib.a) in $(libdir) rule): Elide ranlib command when $@ + appears in $(non-lib.a). + +Fri Feb 10 17:20:14 1995 Roland McGrath + + * stdlib/wctomb.c: A normal ASCII character translates to itself. + * stdlib/mbtowc.c: Likewise. + +Thu Feb 9 03:55:55 1995 Roland McGrath + + * setjmp/setjmp.h (longjmp, _longjmp, __longjmp, siglongjmp): + Remove `const' from prototypes. + * sysdeps/m68k/__longjmp.c: Likewise. + * setjmp/longjmp.c: Likewise. + * sysdeps/i386/__longjmp.c: Likewise. + + * sysdeps/posix/tempname.c: Increment *IDX at beginning of loop, + so when we return a name, it is incremented past the value that + produces that same name. + + * stdio/fgets.c (fgets): Change `size_t' to `int' in prototype. Sigh. + * stdio/stdio.h (fgets): Likewise. + + * stdio/vfprintf.c (printf_unknown): Print ' for INFO->group flag. + + * hurd/fd-write.c: Don't clobber ERR with the msg_sig_post call + when it's EBACKGROUND; we need to notice that it is EBACKGROUND + and retry the RPC. + * hurd/fd-read.c: Likewise. + +Wed Feb 8 05:01:11 1995 Roland McGrath + + * sysdeps/mach/sysdep.h (FATAL_PREPARE_INCLUDE): New macro, set to + . + * assert/assert-perr.c [FATAL_PREPARE_INCLUDE]: Include it. + * assert/assert.c: Likewise. + * sysdeps/posix/libc_fatal.c: Likewise. + +Tue Feb 7 12:17:58 1995 Roland McGrath + + * stdio/stdio.h [__STRICT_ANSI__] (stdin, stdout, stderr): Define + as macros, to satisfy ANSI pedants. + + * stdio/internals.c (flushbuf): When there is no new data after + priming the stream, return without writing out the buffer. + * stdio/Makefile (tests): Add bug7. + * stdio/bug7.c: New file. + + * io/sys/stat.h (S_IFIFO, S_IFLNK, S_IFSOCK, S_ISFIFO, S_ISLNK, + S_ISSOCK): Define only if the corresponding underlying __S_IF* macro + is defined. + + * stdio/getdelim.c: Decrement COPY after getting a char from __fillbf. + + * stdio/Makefile (tests): Add errnobug. + * stdio/errnobug.c: New file. + + * mach/mig_strncpy.c: Include string.h. + + * sysdeps/mach/sysdep.h: Don't #include . Its + inlines cause trouble for files defining global register + variables. + + * stdio/vfprintf.c: Use _strerror_internal for %m. + + * sysdeps/ieee754/dbl2mpn.c: Fixes from drepper for 64-bit limbs. + + * stdio/printf.h (struct printf_info): New member `group', for %' flag. + * stdio/printf-prs.c (parse_printf_format): Grok %' flag and set flag. + * stdio/vfprintf.c (group_number): New function. + (vfprintf): Support %' flag for integer formats, by calling + group_number after formatting the number in WORK. + * stdio/printf_fp.c (guess_grouping, group_number): New functions. + (__printf_fp): Implement `group' flag using them. + + * Makefile (include sysd-dirs): Protect with ifndef avoid-generated. + (parent-clean): Remove sysd-rules, not sysdirs. + (distclean): Pass avoid-generated=yes to submake. + (distclean-1): Remove $(sysdep-$(distclean-1)). + + * Makerules (objects, objs): Depend on $(extra-objs) too. + (include sysd-Makefile): Protect with ifndef avoid-generated. + + * Makeconfig (+defines, +gnu-stabs, gnu-as): Variables removed. + (CPPFLAGS): Use $(defines) in place of $(+defines). + Replace -D_LIBC with -include $(..)libc-symbols.h. + + * stdio/freopen.c: Set seen bit before calling fclose. + +Mon Feb 6 18:34:40 1995 Roland McGrath + + * sysdeps/mach/hurd/setpriority.c: Keep track of numbers of + successes and each kind of failure. Return EPERM or EACCES only + if every task failed that way. + + * sysdeps/mach/hurd/getpriority.c: Handle out of band buffers + correctly. + + * sysdeps/mach/hurd/ptrace.c (PTRACE_ATTACH, PTRACE_DETACH): Stop + or resume the process after frobbing. + + * hurd/hurdsig.c: Use spin lock operations on sigstate locks + throughout. + (_hurd_thread_sigstate): Don't lock the sigstate lock. + (_hurd_internal_post_signal): New subfunction `mark_pending'; replace + repeated sequences with calls to it. Don't expect the sigstate + lock to be held on entry; lock it just before examining sigaction. + In handler case, check SS->critical_section after calling + abort_rpcs; if set, mark the signal pending and resume the thread. + * hurd/hurd/signal.h (_hurd_self_sigstate_unlocked): Function removed. + (_hurd_self_sigstate): Don't lock the sigstate lock. + (HURD_EINTR_RPC): Call _hurd_self_sigstate instead of + _hurd_self_sigstate_unlocked. + * hurd/msgportdemux.c: Don't expect _hurd_self_sigstate to lock + the sigstate lock. + * hurd/hurdexec.c: Use spin lock operations on sigstate lock. + Don't expect _hurd_self_sigstate to lock it. Fix critical section + locking. + * hurd/hurd-raise.c: Likewise. + * sysdeps/mach/hurd/sigsuspend.c: Likewise. + * sysdeps/mach/hurd/sigpending.c: Likewise. + * sysdeps/mach/hurd/sigaltstack.c: Likewise. + * sysdeps/mach/hurd/sigaction.c: Likewise. + * sysdeps/mach/hurd/sigprocmask.c: Likewise. + * hurd/fd-write.c: Likewise. + * hurd/fd-read.c: Likewise. + * sysdeps/mach/hurd/ioctl.c: Likewise. + * sysdeps/mach/hurd/fork.c: Likewise. + * sysdeps/mach/hurd/i386/sigreturn.c: Likewise. + * sysdeps/mach/hurd/mips/sigreturn.c: Likewise. + * sysdeps/mach/hurd/alpha/sigreturn.c: Likewise. + * hurd/hurdmsg.c (get_int): Likewise. + + * stdio/vfprintf.c: Include stddef.h. Fix typos in libio code. + + * stdio/vfprintf.c (__pad): Function renamed to __printf_pad, made + global. + (PAD): Caller changed. + * stdio/printf_fp.c (__pad): Function removed. + (PAD): Use __printf_pad instead. + +Sun Feb 5 17:59:53 1995 Roland McGrath + + Merged new FP printer by Ulrich Drepper. + * stdio/printf_fp.c: Rewrite by drepper. + * stdio/Makefile (routines): Add ldbl2mpn. + * sysdeps/ieee754/ieee754.h (union ieee754_double): Add `ieee_nan' + member. + (union ieee854_long_double): New type, from drepper. + (IEEE754_DOUBLE_BIAS, IEEE854_LONG_DOUBLE_BIAS): New macros. + * sysdeps/ieee754/ldbl2mpn.c: New file, by drepper. + * sysdeps/stub/ldbl2mpn.c: New file. + * math/Makefile (routines): Add isinfl and isnanl. + * sysdeps/ieee754/isinfl.c: New file. + * sysdeps/stub/isinfl.c: New file. + * sysdeps/ieee754/isnanl.c: New file. + * sysdeps/stub/isnanl.c: New file. + + * malloc/malloc.c (__malloc_extra_blocks): New variable. + (malloc): When getting more core, get __malloc_extra_blocks extra; + put the new block at the end of the free list and let the next loop + iteration use the initial portion of it. + * malloc/free.c (_free_internal): Account for twice + __malloc_extra_blocks in deciding if we have so much extra memory + we should return it to the system. + * malloc/malloc.h (__malloc_extra_blocks): Declare it. + * posix/glob.c (prefix_array, glob_pattern_p): Remove gratuitous + const in parameter decl. + + * sysdeps/unix/mips/sysdep.h (ENTRY): Add `.ent' directive. + +Fri Feb 3 18:15:52 1995 Roland McGrath + + * munch.awk (EXTERNS): Print decls using __P instead of EXFUN. + + * sysdeps/mips/setjmp_aux.c: Use ENV[0].__jmpbuf[0]. + * sysdeps/mips/bsd-_setjmp.S: Use `li' insn instead of `move'. + * sysdeps/mips/bsd-setjmp.S: Likewise. + * sysdeps/mips/__longjmp.c: Remove obsolete __NORETURN keyword. + * sysdeps/mach/hurd/mips/trampoline.c (_hurd_setup_sighandler): + Use `long int' for sigcode. Use explicit register numbers instead + of names. + (_hurdsig_rcv_interrupted_p): Use _hurdsig_catch_fault. + * sysdeps/mach/hurd/mips/exc2signal.c: Use `long int' for sigcode. + +Thu Feb 2 20:06:45 1995 Roland McGrath + + * hurd/hurdmalloc.c: Remove bogus bcopy decl. + + * mach/mig_strncpy.c: Add missing `const' in prototype. Rewritten + using __stpncpy. + + * io/ftw.c (ftw, ftw_dir): Treat ENOENT from stat like EACCES. + + * stdio/vfprintf.c: Set PREC to zero for %. without following + digit. + +Tue Jan 31 13:49:57 1995 Roland McGrath + + * mach/mig_strncpy.c: Include mach.h instead of string.h. Use + vm_size_t instead of size_t for arg and return types. + + * mach/mach_init.c: Don't declare __mig_init; mach/mig_support.h + already does. + +Mon Jan 30 00:33:35 1995 Roland McGrath + + * set-hooks.h (RUN_HOOK): Dereference PTR properly. + + * configure.in (friendly stddef.h check): Write override defn for + `stddef.h' Make variable. + (AC_LINK_FILES): Use `echo ...` to avoid " " appearing nonempty. + + * configure.in (host_os=sysv4*|solaris2*): Set elf=yes. + + * Rules ($(objpfx)dummy.o): Write an empty function, not just an + empty file. + + * sysdeps/sparc/Makefile (sysdep-realclean): New variable. + +Sat Jan 28 03:38:56 1995 Roland McGrath + + * Makefile (distribute): Remove gnu-stabs.h; add libc-symbols.h. + + * sysdeps/mach/sysdep.h [ASSEMBLER]: Protect include of + mach/machine/syscall_sw.h with this. + +Fri Jan 27 18:33:20 1995 Roland McGrath + + * hurd/hurd/signal.h: Include , and + instead of . + (struct hurd_sigstate): Member `lock' changed to a `spin_lock_t'. + (_hurd_critical_section_lock): Use spin lock operators. + Don't hold the sigstate lock, unlock it after setting the flag. + (_hurd_critical_section_unlock): Take the sigstate lock + to clear the flag; while holding it, check pending signals. After + unlocking, sig_post ourselves if there were pending signals. + + * hurd/catch-exc.c (_S_catch_exception_raise): Don't take the + sigstate lock. If it is locked, clear SS->critical_section and + SS->context, and unlock it. + + * sysdeps/mach/sysdep.h (EXT, LEXT): New macros. + + * set-init.c (__libc_init) [HAVE_ELF]: Run _init and atexit (_fini). + * munch-tmpl.c: Likewise. + + * mach/Makefile (routines): Don't filter out syscall_% from + $(mach-syscalls). + +Fri Jan 27 17:53:49 1995 Jim Meyering (meyering@comco.com) + + * posix/fnmatch.c: Declare errno if it's not defined. + That's simpler than testing #if !defined(__GNU_LIBRARY__) + && !defined(STDC_HEADERS). + +Fri Jan 27 15:40:29 1995 Roland McGrath + + * csu/Makefile: New file. + * csu/initfini.c: New file. + * Makefile (+other_dirs): Add csu. + (+init): Variable renamed to libc-init. All references changed. + (aux): Remove start. + (install-lib): Variable removed. + (crt0.o, Mcrt1.o crt1.o): Targets removed. + + * mach/Machrules (static deps of RPC_*.o): Add $(..)libc-symbols.h + and $(objpfx)config.h. + (static deps of RPC alias *.o): Removed. + + * sysdeps/unix/sysv/sysv4/solaris2/sparc/sysdep.h [ASSEMBLER]: + Protect macros with this. + * sysdeps/unix/bsd/osf1/alpha/sysdep.h: Likewise. + * sysdeps/unix/bsd/sequent/i386/sysdep.h: Likewise. + * sysdeps/unix/bsd/vax/sysdep.h: Likewise. + * sysdeps/unix/bsd/sun/m68k/sysdep.h: Likewise. + * sysdeps/unix/bsd/sony/newsos/m68k/sysdep.h: Likewise. + * sysdeps/unix/mips/sysdep.h: Likewise. + +Thu Jan 26 00:02:01 1995 Roland McGrath + + * Makerules (compile.[Sc]): Match gcc in $(CC) better. + (BUILD_CFLAGS): Instead of $(config-defines), use -include config.h. + + * hurd/intr-rpc.awk: Emit weak alias. + + * sysdeps/unix/bsd/sun/sunos4/wait4.c: Call getpgrp instead of + __getpgrp. + + * sysdeps/unix/bsd/hp/m68k/sysdep.h [ASSEMBLER]: Protect macros with + this. + * sysdeps/unix/i386/sysdep.h: Likewise. + * sysdeps/unix/sparc/sysdep.h: Likewise. + + * io/ftw.c: Avoid `ret' as variable name. + * posix/glob.c: Likewise. + + * ctype/ctype.h (_ISalpha): Define as its own bit. + * locale/C-ctype_ct.c (__ctype_b_C): Set _ISalpha bit in all letters. + + * stdlib/exit.c [HAVE_GNU_LD]: Protect #include "set-hooks.h" and + DEFINE_HOOK with this. + +Wed Jan 25 00:45:56 1995 Roland McGrath + + * hurd/hurdinit.c: Use DECLARE_HOOK instead of `extern DEFINE_HOOK'. + * mach/spin-solid.c (spin_lock_solid): Define as weak alias to __name. + * mach/shortcut.awk: Emit weak alias. + * mach/spin-lock.c: Add weak aliases for all spin-lock.h functions. + * mach/mach_init.c (mach_init, vm_page_size): Defin weak aliases for + __ names. + * mach/Makefile (lock): Remove spin-syms. + (routines): Remove __ names, vm_page_size, msgserver_t. + ($(mach-syscalls) rule): Generate files without __, add weak alias. + Remove symbol alias file rule. + ($(mach-shortcuts) rule): Likewise. + [!mach-shortcuts] (user-interfaces): Filter out mach/mach4 too. + * mach/Machrules (if-calls.c): Variable and rule removed. + (interface-headers): Don't add $($(if)-calls). + (transform-user-stub): Define to add weak alias. + * set-hooks.h: Use new libc-symbols.h set access macros. + * time/Makefile (routines): Remove __ names. + (aux): Variable removed. + * hurd/Makefile: Likewise. + * sysdeps/unix/start.c (environ): Define as weak alias for __environ. + (data_start): Define as weak alias for __data_start. + * sysdeps/mach/hurd/start.c: Likewise. + * sysdeps/unix/sparc/start.c: Likewise. + * sysdeps/unix/make_errlist.c: Emit weak aliases for sys_nerr and + sys_errlist. + * sysdeps/mach/hurd/errlist.awk: Likewise. + * sysdeps/unix/bsd/osf1/alpha/start.S (environ): Define as weak + alias for __environ. + * sysdeps/unix/bsd/ultrix4/mips/start.S: Likewise. + * sysdeps/stub/setdomain.c: Use new stub_warning macro. + * sysdeps/stub/getdomain.c: Likewise. + * sysdeps/stub/vhangup.c: Likewise. + * sysdeps/stub/swapon.c: Likewise. + * sysdeps/stub/sendmsg.c: Likewise. + * sysdeps/stub/recvmsg.c: Likewise. + * sysdeps/stub/acct.c: Likewise. + * sysdeps/stub/isinf.c: Likewise. Add weak alias isinf for __isinf. + * sysdeps/mach/hurd/_exit.c: Remove obsolete __NORETURN keyword. + * sysdeps/posix/libc_fatal.c: Likewise. + * sysdeps/i386/abort.c: Likewise. + * sysdeps/i386/__longjmp.c: Likewise. + * sysdeps/generic/make_siglist.c: Emit defn always for + _sys_siglist. Emit weak alias to sys_siglist. + * sysdeps/generic/atan.c: Remove obsolete __CONSTVALUE keyword. + * sysdeps/ieee754/log10.c: Likewise. + * time/difftime.c: Likewise. + * stdlib/random.c (srand): Define as weak alias for __srandom. + * stdlib/exit.c: Remove obsolete __NORETURN keyword. Use set-hooks + macros for __libc_atexit. + * stdlib/Makefile (routines): Remove __random, srand. + * stdio/gets.c: Use new link_warning macro instead of old + warn_references. + * stdio/Makefile (routines): Remove __ names. + (aux): Remove syms-stdio. + * socket/Makefile (routines): Added e on getpeernam and getsocknam. + * setjmp/longjmp.c: Remove obsolete __NORETURN keyword. + * setjmp/Makefile (routines): Remove _longjmp, siglongjmp. + * setjmp/setjmp.h: Replace __NORETURN keyword with __attribute__ uses. + * stdio/stdio.h: Likewise. + * misc/Makefile (routines): Remove __ names. + (aux): Remove data_start. + * sysdeps/mach/hurd/defs.c: Don't include gnu-stabs.h. + * sysdeps/mach/hurd/brk.c: Likewise. + * hurd/hurdid.c: Likewise. + * hurd/hurdpid.c: Likewise. + * hurd/openport.c: Likewise. + * hurd/hurdsock.c: Likewise. + * hurd/hurdsig.c: Likewise. + * hurd/hurdrlimit.c: Likewise. + * hurd/hurdmalloc.c: Likewise. + * hurd/dtable.c: Likewise. + * hurd/setauth.c: Likewise. + * misc/progname.c: Likewise. + * misc/init-misc.c: Likewise. + * sysdeps/generic/vfork.c: Likewise. + * sysdeps/unix/bsd/init-posix.c: Likewise. + * math/math.h: Replace __CONSTVALUE keyword with __attribute__ uses. + * time/time.h: Likewise. + * math/Makefile (routines): Remove __ names. + * io/Makefile: Likewise. + * termios/Makefile: Likewise. + * resource/Makefile: Likewise. + * signal/Makefile: Likewise. + * dirent/Makefile: Likewise. + * assert/assert.h: Replace __NORETURN keyword with __attribute__ + uses. Functions return void and macros deal with this. + * assert/assert-perr.c: Remove obsolete __NORETURN keyword. + Return void. Don't include gnu-stabs.h. + * assert/assert.c: Likewise. + * posix/Makefile (routines): Remove __ names, setpgrp. Add + getpgid. + (aux): Remove environ. + * stdlib/stdlib.h (abort, exit): Replace __NORETURN keyword with + __attribute__ use. + * posix/unistd.h (_exit): Likewise. + (__getpgrp, __setpgrp): Declarations removed. + (__getpgid, getpid): Declare these. + + * configure.in (host_os=gnuelf|linuxelf): Set elf=yes. Do AC_SUBST + for gnu_ld, gnu_as, elf, and weak. Call AC_LINK_FILEES on + $libc_link_{sources,dests}. + * sysdeps/unix/configure.in: Remove __ from file names. Don't + create files, just add to libc_link_{dests,sources}. + + * config.make.in (gnu-as, gnu-ld, elf, weak-symbols): New variables. + + * config.h.in: Add #undefs used by sysdeps configures. + + * sysdeps/unix/sysv/sysv4/Makefile (sysdep_routines): Removed + __setpgid, __getpgid. + * sysdeps/unix/sysv/sco3.2.4/setpgid.c: Included file was renamed + from setpgrp.c. + * sysdeps/unix/sysv/sco3.2.4/getpgid.c: Included file was renamed + from __getpgrp.c. + * sysdeps/unix/bsd/getpgrp.c: File removed. + * sysdeps/generic/getpgrp.c: Moved from sysdeps/stub/getpgrp.c. + Call __getpgid with zero. + * sysdeps/stub/setpgid.c: Renamed __setpgrp to __setpgid, added + weak aliases setpgid and setpgrp. + * sysdeps/unix/sysv/irix4/setpgid.S: Likewise. + * sysdeps/unix/common/setpgid.S: Likewise. + * sysdeps/mach/hurd/setpgid.c: Likewise. + * sysdeps/unix/sysv/sysv4/setpgid.c: Likewise. + Use subcall 5 to __pgrpsys. + * sysdeps/stub/getpgid.c: Renamed __getpgrp to __getpgid, added + weak alias getpgid. + * sysdeps/mach/hurd/getpgid.c: Likewise. + * sysdeps/unix/sysv/irix4/getpgid.S: Likewise. + * sysdeps/unix/common/getpgid.S: Likewise. + * sysdeps/unix/sysv/sysv4/getpgid.c: Likewise. + Use subcall 4 to __pgrpsys. + * sysdeps/stub/__getpgrp.c: Renamed to getpgid.c. + * sysdeps/unix/sysv/sysv4/__getpgrp.c: Renamed to getpgid.c. + * sysdeps/unix/sysv/sco3.2.4/__getpgrp.c: Renamed to getpgid.c. + * sysdeps/unix/sysv/irix4/__getpgrp.S: Renamed to getpgid.S. + * sysdeps/unix/common/__getpgrp.S: Renamed to getpgid.S. + * sysdeps/mach/hurd/__getpgrp.c: Renamed to getpgid.c. + * sysdeps/stub/setpgrp.c: Renamed to setpgid.c. + * sysdeps/unix/sysv/sysv4/setpgrp.c: Renamed to setpgid.c. + * sysdeps/unix/sysv/sco3.2.4/setpgrp.c: Renamed to setpgid.c. + * sysdeps/unix/sysv/irix4/setpgrp.S: Renamed to setpgid.S. + * sysdeps/unix/common/setpgrp.S: Renamed to setpgid.S. + * sysdeps/mach/hurd/setpgrp.c: Renamed to setpgid.c. + + * sysdeps/unix/bsd/hp/m68k/getdents.S: Included file was renamed + from __getdents.S. + + * sysdeps/posix/defs.c: Don't include gnu-stabs.h. + * sysdeps/stub/sigpending.c: Use new libc-symbols.h macro for stub + warning. + * sysdeps/stub/fexecve.c: Likewise. + * sysdeps/stub/fchdir.c: Likewise. + * sysdeps/stub/fchflags.c: Likewise. + * sysdeps/stub/chflags.c: Likewise. + + * sysdeps/m68k/__longjmp.c: Remove __NORETURN; it's obsolete. + * sysdeps/generic/abort.c: Likewise. + * sysdeps/ieee754/ldexp.c: Remove __CONSTVALUE; it's obsolete. + + * hurd/hurdioctl.c: Include hurd/ioctl.h. + (_hurd_ioctl_handler_lists): Define this set. + (_hurd_lookup_ioctl_handler): New function. + * hurd/hurd/fd.h: ioctl handler stuff moved to hurd/ioctl.h. + * hurd/hurd/ioctl.h: New file, broken out of hurd/fd.h. + (_hurd_lookup_ioctl_handler): Declare it. + (ioctl_handler_t): New typedef. Use it throughout. + * sysdeps/mach/hurd/ioctl.c: Include hurd/ioctl.h. + (_hurd_ioctl_handler_lists): Don't define. + (__ioctl): Call _hurd_lookup_ioctl_handler. + + * stdlib/strtol.c (maxquad): Make this const. + [__GNUC__ == 2 && __GNUC_MINOR__ < 7]: Only use maxquad in this case. + + * posix/glob/configure.in: Put AC_AIX and AC_MINIX early, before + any compile tests. + + * sysdeps/mach/hurd/setitimer.c (timer_thread): Call + __msg_sig_post_request, not __sig_post_request. + + * misc/getusersh.c: Renamed to getusershell.c. + * sysdeps/stub/sethostnam.c: Renamed to sethostname.c. + * sysdeps/unix/inet/sethostnam.S: Renamed to sethostname.S. + * sysdeps/unix/sysv/sysv4/sethostnam.c: Renamed to sethostname.c. + * sysdeps/mach/hurd/sethostnam.c: Renamed to sethostname.c. + +Tue Jan 24 00:14:30 1995 Roland McGrath + + * sysdeps/stub/settod.c: Renamed to settimeofday.c. + * sysdeps/unix/bsd/settod.S: Renamed to settimeofday.c. + * sysdeps/unix/sysv/settod.c: Renamed to settimeofday.c. + * sysdeps/mach/hurd/settod.c: Renamed to settimeofday.c. + * sysdeps/stub/setitmr.c: Renamed to setitimer.c. + * sysdeps/unix/common/setitmr.S: Renamed to setitimer.S. + * sysdeps/mach/hurd/setitmr.c: Renamed to setitimer.c. + * sysdeps/posix/fpathcon.c: Renamed to fpathconf.c. + * sysdeps/stub/fpathcon.c: Renamed to fpathconf.c. + * sysdeps/unix/sysv/irix4/fpathcon.c: Renamed to fpathconf.c. + * sysdeps/stub/getprio.c: Renamed to getpriority.c. + * sysdeps/unix/sysv/irix4/getprio.c: Renamed to getpriority.c. + * sysdeps/unix/common/getprio.S: Renamed to getpriority.S. + * sysdeps/mach/hurd/getprio.c: Renamed to getpriority.c. + * sysdeps/stub/setprio.c: Renamed to setpriority.c. + * sysdeps/unix/sysv/irix4/setprio.c: Renamed to setpriority.c. + * sysdeps/unix/common/setprio.S: Renamed to setpriority.S. + * sysdeps/mach/hurd/setprio.c: Renamed to setpriority.c. + * sysdeps/stub/getpeernam.c: Renamed to getpeername.c. + * sysdeps/unix/inet/getpeernam.S: Renamed to getpeername.S. + * sysdeps/unix/sysv/linux/getpeernam.S: Renamed to getpeername.S. + * sysdeps/mach/hurd/getpeernam.c: Renamed to getpeername.c. + * sysdeps/stub/getsocknam.c: Renamed to getsockname.c. + * sysdeps/unix/inet/getsocknam.S: Renamed to getsockname.S. + * sysdeps/unix/sysv/linux/getsocknam.S: Renamed to getsockname.S. + * sysdeps/mach/hurd/getsocknam.c: Renamed to getsockname.c. + * sysdeps/stub/sigaltstk.c: Renamed to sigaltstack.c. + * sysdeps/unix/bsd/bsd4.4/sigaltstk.S: Renamed to sigaltstack.S. + * sysdeps/unix/sysv/sysv4/sigaltstk.S: Renamed to sigaltstack.S. + * sysdeps/mach/hurd/sigaltstk.c: Renamed to sigaltstack.c. + + * sysdeps/mach/hurd/i386/sigreturn.c: Call __msg_sig_post instead + of __sig_post. + * sysdeps/mach/hurd/sigsuspend.c: Likewise. + * sysdeps/mach/hurd/kill.c: Likewise. + * sysdeps/mach/hurd/sigprocmask.c: Likewise. + + * misc/sys/cdefs.h (__NORETURN, __CONSTVALUE): Macros removed. + [!__GNUC__ || __GNUC__<2] (__attribute__): Define to empty. + + * sysdeps/stub/remove.c: New file. + * sysdeps/posix/remove.c: New file. + +Mon Jan 23 03:26:09 1995 Roland McGrath + + * time/mktime.c [weak_alias] (timelocal): Define as weak alias for + mktime. + * mach/mig_strncpy.c (mig_strncpy): Define as weak alias for + __mig_strncpy. + * mach/msg-destroy.c: Renamed from __msg_dest.c. + (mach_msg_destroy): Define as weak alias for __mach_msg_destroy. + * mach/setup-thread.c (mach_setup_thread): Define as weak alias. + * time/tzset.c (tzname, daylight, timezone): Define as weak + aliases for __ names. + * hurd/hurdkill.c (hurd_sig_post): Define as weak alias. + * hurd/hurdlookup.c: Add weak aliases for non-__ names. + * Makefile (+init): Test $(gnu-ld)=yes, not for $(+gnu-stabs) + being defined. + +Sun Jan 22 15:19:51 1995 Roland McGrath + + * string/Makefile (routines): Remove __ names, index, rindex, and + bcmp. + * sysdeps/alpha/strchr.c [weak_alias] (index): Define as weak + alias for strchr. + * sysdeps/generic/strchr.c: Likewise. + * sysdeps/generic/strrchr.c [weak_alias] (rindex): Define as weak + alias for strrchr. + * sysdeps/generic/memcmp.c [weak_alias] (bcmp): Define as weak + alias for memcmp. + + * malloc/free.c (cfree): Define this function, with weak_alias if + available, otherwise a C function. + * malloc/Makefile (gmalloc-routines): Remove cfree. + +Sat Jan 21 08:08:58 1995 Roland McGrath + + * stdio/fseek.c: Do move bufp by O when that puts it exactly at + get_limit. This has the effect of no-op'ing properly for zero. + + * configure.in: Add AC_CONFIG_HEADER(config.h). + (--with-elf, --with-weak-symbols): Grok these and define HAVE_*. + * config.h.in: New file. + + * setjmp/longjmp.c: Add weak aliases _longjmp, siglongjmp. + All code converted to use weak symbols, defined in the files which + define the real code (with the __ names, the non-__ names are weak). + All old symbol alias files removed. + Many files renamed to remove __ prefix since there is now just + the one file for both the __ and non-__ name for each function. + * libc-symbols.h: New file. + * set-hooks.h: Use libc-symbols.h macros for accessing symbol + sets. + * gnu-stabs.h: Prepend #error this file is obsolete. + * sysdeps/ieee754/ldexp.c: Add weak aliases scalb and __scalb. + * sysdeps/stub/__access.c: Renamed to access.c; added weak alias + access. + * sysdeps/unix/common/__access.S: Likewise. + * sysdeps/mach/hurd/__access.c: Likewise. + * sysdeps/stub/__adjtime.c: Renamed to adjtime.c; added weak alias + adjtime. + * sysdeps/unix/common/__adjtime.S: Likewise. + * sysdeps/mach/__adjtime.c: Likewise. + * sysdeps/mach/hurd/__adjtime.c: Likewise. + * sysdeps/stub/__brk.c: Renamed to brk.c; added weak alias brk. + * sysdeps/unix/bsd/sun/m68k/__brk.S: Likewise. + * sysdeps/unix/bsd/vax/__brk.S: Likewise. + * sysdeps/unix/bsd/hp/m68k/__brk.S: Likewise. + * sysdeps/unix/bsd/osf1/alpha/__brk.S: Likewise. + * sysdeps/unix/i386/__brk.S: Likewise. + * sysdeps/unix/sparc/__brk.S: Likewise. + * sysdeps/unix/mips/__brk.S: Likewise. + * sysdeps/mach/hurd/__brk.c: Likewise. + * sysdeps/standalone/__brk.c: Likewise. + * sysdeps/stub/__chdir.c: Renamed to chdir.c; added weak alias chdir. + * sysdeps/unix/__chdir.S: Likewise. + * sysdeps/mach/hurd/__chdir.c: Likewise. + * sysdeps/stub/__chmod.c: Renamed to chmod.c; added weak alias chmod. + * sysdeps/unix/__chmod.S: Likewise. + * sysdeps/mach/hurd/__chmod.c: Likewise. + * sysdeps/stub/__chown.c: Renamed to chown.c; added weak alias chown. + * sysdeps/unix/__chown.S: Likewise. + * sysdeps/mach/hurd/__chown.c: Likewise. + * sysdeps/stub/__close.c: Renamed to close.c; added weak alias close. + * sysdeps/unix/__close.S: Likewise. + * sysdeps/mach/hurd/__close.c: Likewise. + * sysdeps/standalone/__close.c: Likewise. + * sysdeps/generic/__copysign.c: Renamed to copysign.c; added weak + alias copysign. + * sysdeps/ieee754/__copysign.c: Likewise. + * sysdeps/alpha/__copysign.c: Likewise. + * sysdeps/ieee754/__drem.c: Renamed to drem.c; added weak alias drem. + * sysdeps/m68k/fpu/__drem.c: Likewise. + * sysdeps/stub/__drem.c: Likewise. + * sysdeps/posix/__dup.c: Renamed to dup.c; added weak alias dup. + * sysdeps/stub/__dup.c: Likewise. + * sysdeps/unix/__dup.S: Likewise. + * sysdeps/posix/__dup2.c: Renamed to dup2.c; added weak alias dup2. + * sysdeps/stub/__dup2.c: Likewise. + * sysdeps/unix/sysv/sysv4/__dup2.c: Likewise. + * sysdeps/unix/sysv/irix4/__dup2.c: Likewise. + * sysdeps/unix/common/__dup2.S: Likewise. + * sysdeps/mach/hurd/__dup2.c: Likewise. + * sysdeps/stub/__execve.c: Renamed to execve.c; added weak alias + execve. + * sysdeps/unix/__execve.S: Likewise. + * sysdeps/mach/hurd/__execve.c: Likewise. + * sysdeps/generic/__expm1.c: Renamed to expm1.c; added weak alias + expm1. + * sysdeps/m68k/fpu/__expm1.c: Likewise. + * sysdeps/stub/__fchmod.c: Renamed to fchmod.c; added weak alias + fchmod. + * sysdeps/unix/common/__fchmod.S: Likewise. + * sysdeps/mach/hurd/__fchmod.c: Likewise. + * sysdeps/stub/__fchown.c: Renamed to fchown.c; added weak alias + fchown. + * sysdeps/unix/common/__fchown.S: Likewise. + * sysdeps/mach/hurd/__fchown.c: Likewise. + * sysdeps/stub/__fcntl.c: Renamed to fcntl.c; added weak alias fcntl. + * sysdeps/unix/__fcntl.S: Likewise. + * sysdeps/mach/hurd/__fcntl.c: Likewise. + * math/__finite.c: Renamed to finite.c; added weak alias finite. + * sysdeps/posix/__flock.c: Renamed to flock.c; added weak alias flock. + * sysdeps/stub/__flock.c: Likewise. + * sysdeps/unix/bsd/__flock.S: Likewise. + * sysdeps/mach/hurd/__flock.c: Likewise. + * hurd/__fopenport.c: Renamed to fopenport.c; added weak alias + fopenport. + * sysdeps/stub/__fork.c: Renamed to fork.c; added weak alias fork. + * sysdeps/unix/__fork.S: Likewise. + * sysdeps/unix/bsd/osf1/alpha/__fork.S: Likewise. + * sysdeps/unix/i386/__fork.S: Likewise. + * sysdeps/unix/sparc/__fork.S: Likewise. + * sysdeps/unix/mips/__fork.S: Likewise. + * sysdeps/mach/hurd/__fork.c: Likewise. + * sysdeps/posix/__fpathcon.c: Renamed to fpathcon.c; added weak + alias fpathconf. + * sysdeps/stub/__fpathcon.c: Likewise. + * sysdeps/unix/sysv/irix4/__fpathcon.c: Likewise. + * sysdeps/stub/__fstat.c: Renamed to fstat.c; added weak alias fstat. + * sysdeps/unix/__fstat.S: Likewise. + * sysdeps/unix/sysv/sysv4/i386/__fstat.S: Likewise. + * sysdeps/mach/hurd/__fstat.c: Likewise. + * stdio/__getdelim.c: Renamed to getdelim.c; added weak alias + getdelim. + * sysdeps/stub/__getdents.c: Renamed to getdents.c; added weak + alias getdents. + * sysdeps/unix/__getdents.c: Likewise. + * sysdeps/unix/bsd/sun/__getdents.S: Likewise. + * sysdeps/unix/bsd/hp/m68k/__getdents.S: Likewise. + * sysdeps/unix/bsd/ultrix4/__getdents.S: Likewise. + * sysdeps/unix/bsd/bsd4.4/__getdents.S: Likewise. + * sysdeps/unix/bsd/osf1/alpha/__getdents.S: Likewise. + * sysdeps/unix/sysv/__getdents.c: Likewise. + * sysdeps/mach/hurd/__getdents.c: Likewise. + * hurd/__getdport.c: Renamed to getdport.c; added weak alias getdport. + * sysdeps/posix/__getdtsz.c: Renamed to getdtsz.c; added weak + alias getdtablesize. + * sysdeps/stub/__getdtsz.c: Likewise. + * sysdeps/unix/bsd/__getdtsz.S: Likewise. + * sysdeps/unix/sysv/sysv4/__getdtsz.c: Likewise. + * sysdeps/mach/hurd/__getdtsz.c: Likewise. + * sysdeps/stub/__getegid.c: Renamed to getegid.c; added weak alias + getegid. + * sysdeps/unix/__getegid.S: Likewise. + * sysdeps/mach/hurd/__getegid.c: Likewise. + * sysdeps/stub/__geteuid.c: Renamed to geteuid.c; added weak alias + geteuid. + * sysdeps/unix/__geteuid.S: Likewise. + * sysdeps/mach/hurd/__geteuid.c: Likewise. + * sysdeps/stub/__getgid.c: Renamed to getgid.c; added weak alias + getgid. + * sysdeps/unix/__getgid.S: Likewise. + * sysdeps/mach/hurd/__getgid.c: Likewise. + * sysdeps/stub/__getgrps.c: Renamed to getgroups.c; added weak + alias getgroups. + * sysdeps/unix/bsd/sequent/i386/__getgrps.S: Likewise. + * sysdeps/unix/sysv/sco3.2.4/__getgrps.c: Likewise. + * sysdeps/unix/sysv/irix4/__getgrps.c: Likewise. + * sysdeps/unix/common/__getgrps.S: Likewise. + * sysdeps/mach/hurd/__getgrps.c: Likewise. + * sysdeps/stub/__gethstnm.c: Renamed to gethostname.c; added weak + alias gethostname. + * sysdeps/unix/inet/__gethstnm.S: Likewise. + * sysdeps/unix/sysv/__gethstnm.c: Likewise. + * sysdeps/unix/sysv/sysv4/__gethstnm.c: Likewise. + * sysdeps/mach/hurd/__gethstnm.c: Likewise. + * sysdeps/stub/__getitmr.c: Renamed to getitimer.c; added weak + alias getitimer. + * sysdeps/unix/common/__getitmr.S: Likewise. + * sysdeps/mach/hurd/__getitmr.c: Likewise. + * stdio/__getline.c: Renamed to getline.c; added weak alias getline. + * sysdeps/posix/__getpgsz.c: Renamed to getpagesize.c; added weak + alias getpagesize. + * sysdeps/stub/__getpgsz.c: Likewise. + * sysdeps/unix/__getpgsz.c: Likewise. + * sysdeps/unix/bsd/__getpgsz.S: Likewise. + * sysdeps/unix/sysv/sysv4/__getpgsz.c: Likewise. + * sysdeps/mach/__getpgsz.c: Likewise. + * sysdeps/stub/__getpid.c: Renamed to getpid.c; added weak alias + getpid. + * sysdeps/unix/__getpid.S: Likewise. + * sysdeps/mach/hurd/__getpid.c: Likewise. + * sysdeps/stub/__getppid.c: Renamed to getppid.c; added weak alias + getppid. + * sysdeps/unix/__getppid.S: Likewise. + * sysdeps/mach/hurd/__getppid.c: Likewise. + * sysdeps/posix/__gettod.c: Renamed to gettimeofday.c; added weak + alias gettimeofday. + * sysdeps/stub/__gettod.c: Likewise. + * sysdeps/unix/sysv/irix4/__gettod.c: Likewise. + * sysdeps/unix/common/__gettod.S: Likewise. + * sysdeps/mach/__gettod.c: Likewise. + * sysdeps/stub/__getuid.c: Renamed to getuid.c; added weak alias + getuid. + * sysdeps/unix/__getuid.S: Likewise. + * sysdeps/mach/hurd/__getuid.c: Likewise. + * sysdeps/generic/__infnan.c: Renamed to infnan.c; added weak + alias infnan. + * sysdeps/ieee754/__infnan.c: Likewise. + * sysdeps/vax/__infnan.c: Likewise. + * sysdeps/stub/__ioctl.c: Renamed to ioctl.c; added weak alias ioctl. + * sysdeps/unix/__ioctl.S: Likewise. + * sysdeps/mach/hurd/__ioctl.c: Likewise. + * sysdeps/posix/__isatty.c: Renamed to isatty.c; added weak alias + isatty. + * sysdeps/stub/__isatty.c: Likewise. + * sysdeps/unix/bsd/__isatty.c: Likewise. + * sysdeps/mach/hurd/__isatty.c: Likewise. + * sysdeps/ieee754/__isinf.c: Renamed to isinf.c; added weak alias + isinf. + * sysdeps/m68k/fpu/__isinf.c: Likewise. + * sysdeps/stub/__isinf.c: Likewise. + * sysdeps/generic/__isnan.c: Renamed to isnan.c; added weak alias + isnan. + * sysdeps/ieee754/__isnan.c: Likewise. + * sysdeps/m68k/fpu/__isnan.c: Likewise. + * sysdeps/stub/__kill.c: Renamed to kill.c; added weak alias kill. + * sysdeps/unix/__kill.S: Likewise. + * sysdeps/mach/hurd/__kill.c: Likewise. + * sysdeps/stub/__link.c: Renamed to link.c; added weak alias link. + * sysdeps/unix/__link.S: Likewise. + * sysdeps/mach/hurd/__link.c: Likewise. + * sysdeps/ieee754/__logb.c: Renamed to logb.c; added weak alias logb. + * sysdeps/m68k/fpu/__logb.c: Likewise. + * sysdeps/stub/__logb.c: Likewise. + * sysdeps/stub/__lseek.c: Renamed to lseek.c; added weak alias lseek. + * sysdeps/unix/__lseek.S: Likewise. + * sysdeps/mach/hurd/__lseek.c: Likewise. + * sysdeps/generic/__lstat.c: Renamed to lstat.c; added weak alias + lstat. + * sysdeps/stub/__lstat.c: Likewise. + * sysdeps/unix/sysv/sysv4/i386/__lstat.S: Likewise. + * sysdeps/unix/common/__lstat.S: Likewise. + * sysdeps/mach/hurd/__lstat.c: Likewise. + * sysdeps/generic/__memccpy.c: Renamed to memccpy.c; added weak + alias memccpy. + * sysdeps/vax/__memccpy.c: Likewise. + * sysdeps/stub/__mkdir.c: Renamed to mkdir.c; added weak alias mkdir. + * sysdeps/unix/sysv/__mkdir.c: Likewise. + * sysdeps/unix/common/__mkdir.S: Likewise. + * sysdeps/mach/hurd/__mkdir.c: Likewise. + * sysdeps/stub/__mknod.c: Renamed to mknod.c; added weak alias mknod. + * sysdeps/unix/__mknod.S: Likewise. + * sysdeps/unix/sysv/sysv4/i386/__mknod.S: Likewise. + * sysdeps/mach/hurd/__mknod.c: Likewise. + * mach/__msg.c: Renamed to msg.c; added weak alias mach_msg. + * mach/__msgserver.c: Renamed to msgserver.c; added weak alias + mach_msg_server. + * sysdeps/stub/__open.c: Renamed to open.c; added weak alias open. + * sysdeps/unix/__open.S: Likewise. + * sysdeps/mach/hurd/__open.c: Likewise. + * sysdeps/standalone/__open.c: Likewise. + * sysdeps/stub/__pathconf.c: Renamed to pathconf.c; added weak + alias pathconf. + * sysdeps/unix/sysv/sco3.2.4/__pathconf.S: Likewise. + * sysdeps/unix/sysv/irix4/__pathconf.c: Likewise. + * hurd/__pid2task.c: Renamed to pid2task.c; added weak alias pid2task. + * sysdeps/stub/__pipe.c: Renamed to pipe.c; added weak alias pipe. + * sysdeps/unix/bsd/vax/__pipe.S: Likewise. + * sysdeps/unix/bsd/m68k/__pipe.S: Likewise. + * sysdeps/unix/bsd/osf1/alpha/__pipe.S: Likewise. + * sysdeps/unix/i386/__pipe.S: Likewise. + * sysdeps/unix/sparc/__pipe.S: Likewise. + * sysdeps/unix/mips/__pipe.S: Likewise. + * sysdeps/mach/hurd/__pipe.c: Likewise. + * stdlib/__random.c: Renamed to random.c; added weak alias random. + * sysdeps/stub/__read.c: Renamed to read.c; added weak alias read. + * sysdeps/unix/__read.S: Likewise. + * sysdeps/mach/hurd/__read.c: Likewise. + * sysdeps/standalone/__read.c: Likewise. + * sysdeps/stub/__readlink.c: Renamed to readlink.c; added weak + alias readlink. + * sysdeps/unix/common/__readlink.S: Likewise. + * sysdeps/mach/hurd/__readlink.c: Likewise. + * sysdeps/generic/__rint.c: Renamed to rint.c; added weak alias rint. + * sysdeps/m68k/fpu/__rint.c: Likewise. + * sysdeps/stub/__rmdir.c: Renamed to rmdir.c; added weak alias rmdir. + * sysdeps/unix/sysv/__rmdir.c: Likewise. + * sysdeps/unix/common/__rmdir.S: Likewise. + * sysdeps/mach/hurd/__rmdir.c: Likewise. + * sysdeps/generic/__sbrk.c: Renamed to sbrk.c; added weak alias sbrk. + * sysdeps/stub/__sbrk.c: Likewise. + * sysdeps/mach/hurd/__sbrk.c: Likewise. + * math/__scalb.c: Renamed to scalb.c; added weak alias scalb. + * sysdeps/stub/__select.c: Renamed to select.c; added weak alias + select. + * sysdeps/unix/common/__select.S: Likewise. + * sysdeps/mach/hurd/__select.c: Likewise. + * hurd/__setauth.c: Renamed to setauth.c; added weak alias setauth. + * sysdeps/stub/__setgid.c: Renamed to setgid.c; added weak alias + setgid. + * sysdeps/unix/__setgid.S: Likewise. + * sysdeps/unix/bsd/__setgid.c: Likewise. + * sysdeps/mach/hurd/__setgid.c: Likewise. + * sysdeps/stub/__setitmr.c: Renamed to setitmr.c; added weak alias + setitmr + * sysdeps/unix/common/__setitmr.S: Likewise. + * sysdeps/mach/hurd/__setitmr.c: Likewise. + * sysdeps/stub/__setpgrp.c: Renamed to setpgrp.c; added weak alias + setpgrp + * sysdeps/unix/sysv/sysv4/__setpgrp.c: Likewise. + * sysdeps/unix/sysv/sco3.2.4/__setpgrp.c: Likewise. + * sysdeps/unix/sysv/irix4/__setpgrp.S: Likewise. + * sysdeps/unix/common/__setpgrp.S: Likewise. + * sysdeps/mach/hurd/__setpgrp.c: Likewise. + * sysdeps/stub/__setregid.c: Renamed to setregid.c; added weak + alias setregid. + * sysdeps/unix/common/__setregid.S: Likewise. + * sysdeps/mach/hurd/__setregid.c: Likewise. + * sysdeps/stub/__setreuid.c: Renamed to setreuid.c; added weak + alias setreuid. + * sysdeps/unix/common/__setreuid.S: Likewise. + * sysdeps/mach/hurd/__setreuid.c: Likewise. + * sysdeps/stub/__setsid.c: Renamed to setsid.c; added weak alias + setsid. + * sysdeps/unix/bsd/__setsid.c: Likewise. + * sysdeps/unix/bsd/sun/sunos4/__setsid.S: Likewise. + * sysdeps/unix/bsd/ultrix4/__setsid.S: Likewise. + * sysdeps/unix/bsd/bsd4.4/__setsid.S: Likewise. + * sysdeps/unix/sysv/linux/__setsid.S: Likewise. + * sysdeps/unix/sysv/sysv4/__setsid.c: Likewise. + * sysdeps/unix/sysv/sco3.2.4/__setsid.c: Likewise. + * sysdeps/mach/hurd/__setsid.c: Likewise. + * sysdeps/stub/__settod.c: Renamed to settod.c; added weak alias + settimeofday. + * sysdeps/unix/bsd/__settod.S: Likewise. + * sysdeps/unix/sysv/__settod.c: Likewise. + * sysdeps/mach/hurd/__settod.c: Likewise. + * sysdeps/stub/__setuid.c: Renamed to setuid.c; added weak alias + setuid. + * sysdeps/unix/__setuid.S: Likewise. + * sysdeps/unix/bsd/__setuid.c: Likewise. + * sysdeps/mach/hurd/__setuid.c: Likewise. + * sysdeps/posix/__sigblock.c: Renamed to sigblock.c; added weak + alias sigblock. + * sysdeps/stub/__sigblock.c: Likewise. + * sysdeps/unix/bsd/__sigblock.S: Likewise. + * sysdeps/unix/bsd/bsd4.4/__sigblock.c: Likewise. + * sysdeps/unix/bsd/osf1/alpha/__sigblock.S: Likewise. + * sysdeps/posix/__sigpause.c: Renamed to sigpause.c; added weak + alias sigpause. + * sysdeps/stub/__sigpause.c: Likewise. + * sysdeps/unix/bsd/__sigpause.S: Likewise. + * sysdeps/unix/bsd/osf1/alpha/__sigpause.S: Likewise. + * sysdeps/stub/__sigproc.c: Renamed to sigprocmask.c; added weak + alias sigprocmask. + * sysdeps/unix/bsd/__sigproc.c: Likewise. + * sysdeps/unix/sysv/sysv4/__sigproc.S: Likewise. + * sysdeps/unix/sysv/sco3.2.4/__sigproc.S: Likewise. + * sysdeps/mach/hurd/__sigproc.c: Likewise. + * sysdeps/stub/__sigret.c: Renamed to sigreturn.c; added weak + alias sigreturn. + * sysdeps/unix/bsd/sun/__sigret.S: Likewise. + * sysdeps/unix/sysv/i386/__sigret.S: Likewise. + * sysdeps/unix/sysv/irix4/__sigret.S: Likewise. + * sysdeps/unix/i386/__sigret.S: Likewise. + * sysdeps/unix/mips/__sigret.S: Likewise. + * sysdeps/mach/hurd/i386/__sigret.c: Likewise. + * sysdeps/mach/hurd/alpha/__sigret.c: Likewise. + * sysdeps/mach/hurd/mips/__sigret.c: Likewise. + * sysdeps/posix/__sigvec.c: Renamed to sigvec.c; added weak alias + sigvec. + * sysdeps/stub/__sigvec.c: Likewise. + * sysdeps/unix/bsd/__sigvec.S: Likewise. + * sysdeps/unix/bsd/sun/__sigvec.S: Likewise. + * sysdeps/unix/bsd/sequent/i386/__sigvec.S: Likewise. + * sysdeps/unix/bsd/ultrix4/mips/__sigvec.S: Likewise. + * sysdeps/unix/bsd/bsd4.4/__sigvec.c: Likewise. + * sysdeps/unix/bsd/osf1/alpha/__sigvec.S: Likewise. + * sysdeps/stub/__stat.c: Renamed to stat.c; added weak alias stat. + * sysdeps/unix/__stat.S: Likewise. + * sysdeps/unix/sysv/sysv4/i386/__stat.S: Likewise. + * sysdeps/mach/hurd/__stat.c: Likewise. + * sysdeps/generic/__stpncpy.c: Renamed to stpncpy.c; added weak + alias stpncpy. + * sysdeps/stub/__symlink.c: Renamed to symlink.c; added weak alias + symlink. + * sysdeps/unix/common/__symlink.S: Likewise. + * sysdeps/mach/hurd/__symlink.c: Likewise. + * sysdeps/posix/__sysconf.c: Renamed to sysconf.c; added weak + alias sysconf. + * sysdeps/stub/__sysconf.c: Likewise. + * sysdeps/unix/bsd/ultrix4/__sysconf.c: Likewise. + * sysdeps/unix/sysv/sysv4/__sysconf.c: Likewise. + * sysdeps/unix/sysv/sco3.2.4/__sysconf.S: Likewise. + * sysdeps/unix/sysv/irix4/__sysconf.c: Likewise. + * hurd/__task2pid.c: Renamed to task2pid.c; added weak alias task2pid. + * sysdeps/stub/__times.c: Renamed to times.c; added weak alias times. + * sysdeps/unix/bsd/__times.c: Likewise. + * sysdeps/unix/sysv/__times.S: Likewise. + * time/__tzset.c: Renamed to tzset.c; added weak alias tzset. + * sysdeps/stub/__umask.c: Renamed to umask.c; added weak alias umask. + * sysdeps/unix/__umask.S: Likewise. + * sysdeps/mach/hurd/__umask.c: Likewise. + * sysdeps/stub/__unlink.c: Renamed to unlink.c; added weak alias + unlink. + * sysdeps/unix/__unlink.S: Likewise. + * sysdeps/mach/hurd/__unlink.c: Likewise. + * sysdeps/stub/__utimes.c: Renamed to utimes.c; added weak alias + utimes. + * sysdeps/unix/bsd/__utimes.S: Likewise. + * sysdeps/unix/sysv/sysv4/solaris2/__utimes.S: Likewise. + * sysdeps/mach/hurd/__utimes.c: Likewise. + * sysdeps/generic/__vfork.c: Renamed to vfork.c; added weak alias + vfork. + * sysdeps/unix/bsd/sun/m68k/__vfork.S: Likewise. + * sysdeps/unix/bsd/vax/__vfork.S: Likewise. + * sysdeps/unix/bsd/i386/__vfork.S: Likewise. + * sysdeps/unix/bsd/hp/m68k/__vfork.S: Likewise. + * sysdeps/unix/bsd/ultrix4/mips/__vfork.S: Likewise. + * sysdeps/unix/sysv/sysv4/i386/__vfork.S: Likewise. + * sysdeps/unix/sparc/__vfork.S: Likewise. + * stdio/__vfscanf.c: Renamed to vfscanf.c; added weak alias vfscanf. + * stdio/__vsscanf.c: Renamed to vsscanf.c; added weak alias vsscanf. + * sysdeps/posix/__wait.c: Renamed to wait.c; added weak alias wait. + * sysdeps/stub/__wait.c: Likewise. + * sysdeps/unix/bsd/sony/newsos4/__wait.c: Likewise. + * sysdeps/unix/bsd/sun/sunos4/__wait.c: Likewise. + * sysdeps/unix/bsd/sun/sunos3/m68k/__wait.S: Likewise. + * sysdeps/unix/bsd/vax/__wait.S: Likewise. + * sysdeps/unix/bsd/m68k/__wait.S: Likewise. + * sysdeps/unix/bsd/bsd4.4/__wait.c: Likewise. + * sysdeps/unix/sysv/i386/linux/__wait.S: Likewise. + * sysdeps/unix/sysv/irix4/__wait.S: Likewise. + * sysdeps/unix/i386/__wait.S: Likewise. + * sysdeps/unix/mips/__wait.S: Likewise. + * sysdeps/posix/__wait3.c: Renamed to wait3.c; added weak alias wait3. + * sysdeps/stub/__wait3.c: Likewise. + * sysdeps/unix/bsd/sony/newsos4/__wait3.c: Likewise. + * sysdeps/unix/bsd/sun/sunos4/__wait3.c: Likewise. + * sysdeps/unix/bsd/vax/__wait3.S: Likewise. + * sysdeps/unix/bsd/i386/__wait3.S: Likewise. + * sysdeps/unix/bsd/hp/m68k/__wait3.S: Likewise. + * sysdeps/unix/bsd/ultrix4/__wait3.S: Likewise. + * sysdeps/unix/bsd/bsd4.4/__wait3.c: Likewise. + * sysdeps/unix/sysv/irix4/__wait3.S: Likewise. + * sysdeps/stub/__wait4.c: Renamed to wait4.c; added weak alias wait4. + * sysdeps/unix/bsd/sony/newsos4/__wait4.c: Likewise. + * sysdeps/unix/bsd/sun/sunos4/__wait4.c: Likewise. + * sysdeps/unix/bsd/bsd4.4/__wait4.S: Likewise. + * sysdeps/unix/bsd/osf1/alpha/__wait4.S: Likewise. + * sysdeps/unix/sysv/linux/__wait4.S: Likewise. + * sysdeps/mach/hurd/__wait4.c: Likewise. + * sysdeps/stub/__waitpid.c: Renamed to waitpid.c; added weak alias + waitpid. + * sysdeps/unix/bsd/sun/sunos4/__waitpid.c: Likewise. + * sysdeps/unix/bsd/ultrix4/__waitpid.S: Likewise. + * sysdeps/unix/bsd/bsd4.4/__waitpid.c: Likewise. + * sysdeps/unix/bsd/osf1/alpha/__waitpid.c: Likewise. + * sysdeps/unix/sysv/linux/__waitpid.S: Likewise. + * sysdeps/unix/sysv/sysv4/__waitpid.c: Likewise. + * sysdeps/unix/sysv/sco3.2.4/__waitpid.S: Likewise. + * sysdeps/unix/sysv/irix4/__waitpid.c: Likewise. + * sysdeps/stub/__write.c: Renamed to write.c; added weak alias write. + * sysdeps/unix/__write.S: Likewise. + * sysdeps/mach/hurd/__write.c: Likewise. + * sysdeps/standalone/__write.c: Likewise. + * sysdeps/stub/__tcgetatr.c: Renamed to tcgetattr.c; added weak + alias tcgetattr. + * sysdeps/unix/bsd/__tcgetatr.c: Likewise. + * sysdeps/unix/bsd/sun/sunos4/__tcgetatr.c: Likewise. + * sysdeps/unix/bsd/bsd4.4/__tcgetatr.c: Likewise. + * sysdeps/unix/sysv/__tcgetatr.c: Likewise. + * sysdeps/stub/__sigact.c: Renamed to sigaction.c; added weak + alias sigaction. + * sysdeps/unix/bsd/__sigact.c: Likewise. + * sysdeps/unix/sysv/__sigact.c: Likewise. + * sysdeps/unix/sysv/sysv4/__sigact.c: Likewise. + * sysdeps/unix/sysv/sco3.2.4/__sigact.S: Likewise. + * sysdeps/mach/hurd/__sigact.c: Likewise. + * sysdeps/posix/__sigstmsk.c: Renamed to sigsetmask.c; added weak + alias sigsetmask. + * sysdeps/stub/__sigstmsk.c: Likewise. + * sysdeps/unix/bsd/__sigstmsk.S: Likewise. + * sysdeps/unix/bsd/bsd4.4/__sigstmsk.c: Likewise. + * sysdeps/unix/bsd/osf1/alpha/__sigstmsk.S: Likewise. + * sysdeps/stub/__getrusag.c: Renamed to getrusage.c; added weak + alias getrusage. + * sysdeps/unix/sysv/irix4/__getrusag.c: Likewise. + * sysdeps/unix/common/__getrusag.S: Likewise. + * hurd/task2pid.c: File removed. + * hurd/setauth.c: File removed. + * hurd/pid2task.c: File removed. + * hurd/hurdsyms.c: File removed. + * hurd/getdport.c: File removed. + * hurd/fopenport.c: File removed. + * mach/thread-sym.c: File removed. + * mach/spin-syms.c: File removed. + * mach/msgserver_t.c: File removed. + * mach/msgserver.c: File removed. + * mach/msg.c: File removed. + * mach/mig_syms.c: File removed. + * malloc/mcheck-init.c: File removed. + * malloc/cfree.c: File removed. + * io/flock.c: File removed. + * io/write.c: File removed. + * io/unlink.c: File removed. + * io/umask.c: File removed. + * io/symlink.c: File removed. + * io/rmdir.c: File removed. + * io/readlink.c: File removed. + * io/read.c: File removed. + * io/pipe.c: File removed. + * io/open.c: File removed. + * io/mkdir.c: File removed. + * io/lstat.c: File removed. + * io/lseek.c: File removed. + * io/link.c: File removed. + * io/isatty.c: File removed. + * io/stat.c: File removed. + * io/fstat.c: File removed. + * io/fchown.c: File removed. + * io/fchmod.c: File removed. + * io/dup2.c: File removed. + * io/dup.c: File removed. + * io/close.c: File removed. + * io/fcntl.c: File removed. + * io/chmod.c: File removed. + * io/chdir.c: File removed. + * io/access.c: File removed. + * io/chown.c: File removed. + * time/tzset.c: File removed. + * time/timelocal.c: File removed. + * time/syms-time.c: File removed. + * time/settod.c: File removed. + * time/setitmr.c: File removed. + * time/gettod.c: File removed. + * time/getitmr.c: File removed. + * time/adjtime.c: File removed. + * termios/tcgetattr.c: File removed. + * string/stpncpy.c: File removed. + * string/rindex.c: File removed. + * string/memccpy.c: File removed. + * string/index.c: File removed. + * string/bcmp.c: File removed. + * stdlib/srand.c: File removed. + * stdlib/random.c: File removed. + * stdio/vsscanf.c: File removed. + * stdio/vfscanf.c: File removed. + * stdio/syms-stdio.c: File removed. + * stdio/remove.c: File removed. + * stdio/getline.c: File removed. + * stdio/getdelim.c: File removed. + * signal/ssignal.c: File removed. + * signal/sigvec.c: File removed. + * signal/sigsetmask.c: File removed. + * signal/sigret.c: File removed. + * signal/sigproc.c: File removed. + * signal/sigpause.c: File removed. + * signal/sigblock.c: File removed. + * signal/sigaction.c: File removed. + * signal/kill.c: File removed. + * signal/gsignal.c: File removed. + * setjmp/siglongjmp.c: File removed. + * setjmp/_longjmp.c: File removed. + * resource/getrusage.c: File removed. + * posix/waitpid.c: File removed. + * posix/wait4.c: File removed. + * posix/wait3.c: File removed. + * posix/wait.c: File removed. + * posix/times.c: File removed. + * posix/sysconf.c: File removed. + * posix/setuid.c: File removed. + * posix/setsid.c: File removed. + * posix/setpgrp.c: File removed. + * posix/setpgid.c: File removed. + * posix/setgid.c: File removed. + * posix/pathconf.c: File removed. + * posix/getuid.c: File removed. + * posix/getppid.c: File removed. + * posix/getpid.c: File removed. + * posix/getgrps.c: File removed. + * posix/getgid.c: File removed. + * posix/geteuid.c: File removed. + * posix/getegid.c: File removed. + * posix/fpathcon.c: File removed. + * posix/fork.c: File removed. + * posix/execve.c: File removed. + * posix/environ.c: File removed. + * misc/utimes.c: File removed. + * misc/setreuid.c: File removed. + * misc/setregid.c: File removed. + * misc/select.c: File removed. + * misc/sbrk.c: File removed. + * misc/mknod.c: File removed. + * misc/ioctl.c: File removed. + * misc/getpgsz.c: File removed. + * misc/gethstnm.c: File removed. + * misc/getdtsz.c: File removed. + * misc/data_start.c: File removed. + * misc/brk.c: File removed. + * math/scalb.c: File removed. + * math/rint.c: File removed. + * math/logb.c: File removed. + * math/isnan.c: File removed. + * math/isinf.c: File removed. + * math/infnan.c: File removed. + * math/finite.c: File removed. + * math/expm1.c: File removed. + * math/drem.c: File removed. + * math/copysign.c: File removed. + * math/__scalb.c: File removed. + * dirent/getdents.c: File removed. + +Fri Jan 20 16:11:06 1995 Roland McGrath + + * sysdeps/generic/morecore.c (__default_morecore): Use + __malloc_ptrdiff_t; don't cast arg to int. + + * resolv/getnetnamadr.c: Include "conf/portability.h". + +Thu Jan 19 02:20:04 1995 Roland McGrath + + * stdlib/strtol.c: Include errno.h. + [QUAD] (ULONG_MAX): Define to a static variable initialized to + ULONG_LONG_MAX. This is to work around a GCC bug in using the + constant in arithmetic. + + * posix/unistd.h (daemon): Declare it. + + * malloc/mcheck-init.c: Remove GNU ld hacks. + (__malloc_initialize_hook): Initialize this hook to turn_on_mcheck. + * malloc/malloc.c (__malloc_initialize_hook): New hook variable. + (initialize): Call the hook if set. + * malloc/malloc.h: Use __malloc_{size,ptrdiff}_t in prototypes. + (__malloc_initialize_hook): Declare new hook variable. + +Wed Jan 18 01:43:39 1995 Roland McGrath + + * hurd/hurdsig.c: Prepend `msg_' to server RPC names. + * hurd/hurdpid.c: Likewise. + * hurd/hurdauth.c: Likewise. + +Tue Jan 17 03:16:47 1995 Roland McGrath + + * sysdeps/mach/hurd/__select.c: If some replies are EINTR, succeed + if any are successful. + + * hurd/hurdmsg.c: Prepend `msg_' to all RPC names. + (_S_msg_get_exec_flags, _S_msg_set_exec_flags, + _S_msg_set_some_exec_flags, _S_msg_clear_some_exec_flags): New + functions. + (_S_io_select_done, _S_dir_changed, _S_file_changed): Stubs removed. + + * hurd/hurdkill.c: __sig_post renamed to __msg_sig_post. + * hurd/hurd-raise.c: Likewise. + * hurd/hurdsig.c (post_reply): Prepend `msg_' to RPC names. + + * sysdeps/mach/hurd/ptrace.c: New file. + + * sysdeps/mach/hurd/__select.c: Revamped to use new io_select + interface, which has normal EINTR semantics. Instead of waiting + for io_select_done notification messages, send io_select messages + with short reply timeout and then wait for io_select_reply + messages. + + * hurd/hurdexec.c (_hurd_exec): Pass (_hurd_exec_flags & + EXEC_INHERITED) to file_exec. + + * hurd/hurdsig.c (post_reply): Take new arg UNTRACED; if nonzero, + use sig_post_untraced_reply. All callers changed. + (abort_thread, abort_rpcs): Take same new arg and pass it through. + All callers changed. + (_hurd_internal_post_signal): Take new arg UNTRACED. + If zero and process is traced, stop with SIGNO as stop signal. If + nonzero, resume process before delivering signal (unless + ACT==stop). Expand local fn sigwakeup into block at end taken iff + SIGNO!=0. + (signal_allowed): New function, broken out of _S_sig_post. + (_S_sig_post): Call it. Pass UNTRACED arg of false to + _hurd_internal_post_signal. + (_S_sig_post_untraced): New function. Just like _S_sig_post, but + pass true for UNTRACED. + * hurd/hurd/signal.h (_hurd_internal_post_signal): Take new arg + UNTRACED. + * hurd/catch-exc.c (_S_catch_exception_raise): Pass UNTRACED arg + to _hurd_internal_post_signal (value zero). + +Mon Jan 16 16:40:01 1995 Roland McGrath + + * hurd/hurdinit.c (_hurd_exec_flags): New variable. + (_hurd_init): Initialize it from FLAGS arg. + (_hurd_proc_init): If EXEC_TRACED is set in _hurd_exec_flags, + raise a SIGTRAP signal (with a sigcode of zero). + * hurd/hurd.h (_hurd_exec_flags): Declare it. + + * Version 1.09.5. + +Mon Jan 16 16:16:55 1995 Richard Stallman + + * malloc/malloc.c (malloc): Fix 1-off in previous change. + +Mon Jan 16 15:49:07 1995 Roland McGrath + + * posix/glob/Makefile.in: Remove config.h and config.log. + +Sun Jan 15 06:56:47 1995 Roland McGrath + + * posix/glob/configure.in: Add AC_CONST check. + + * conf/portability.h: #undef sun. + * resolv/res_query.c: Updated from BIND-4.9.3-BETA17. + * resolv/getnetnamadr.c: Likewise. + + * socket/Makefile (headers): Add sockaddrcom.h. + * inet/netinet/in.h: Include . + (struct sockaddr_in): Use the __SOCKADDR_COMMON macro. + * socket/sys/un.h (struct sockaddr_in): Likewise. + * socket/sys/socket.h (struct sockaddr): Likewise. + * sysdeps/unix/bsd/bsd4.4/sockaddrcom.h: New file. + * sysdeps/generic/sockaddrcom.h: New file. + + * sysdeps/unix/sysv/sysv4/ftruncate.c: New file. + * sysdeps/unix/common/fcntlbits.h [__USE_SVID] (F_ALLOCSP, + F_FREESP): New macros. + * sysdeps/posix/truncate.c: New file. + + * malloc/malloc.c (malloc): Fix typos in RMS's change. + + * malloc/Makefile (dist-routines): Add malloc-find. + * malloc/malloc.h (malloc_find_object_address): Declare it. + * malloc/malloc-find.c: New file. + + * malloc/malloc.h (__malloc_ptrdiff_t): New macro, defined a la + __malloc_size_t. + (malloc_info): Use that type for member `busy.info.size'. + + * stdlib/strtol.c: Change uses of `long' keyword throughout to use + `LONG' macro. + [! QUAD] (LONG): Define as long. + [QUAD] (LONG): Define as long long. + [QUAD] (LONG_MIN, LONG_MAX, ULONG_MAX): Redefine to long long + versions. + [QUAD] (strtoul, strtol): Define to strtouq, strtoq. + * stdlib/Makefile (routines): Add strtoq and strtouq. + * stdlib/strtoq.c, stdlib/strtouq.c: New files. + * stdlib/stdlib.h [__GNUC__ && __USE_BSD] (strtoq, strtouq): + Declare them. + + * stdio/vfprintf.c: If there was a precision specified, ignore the + 0 flag and always pad with spaces. + + * stdio/vfprintf.c: Don't use strchr to skip text until next %. + Use a loop and also stop on first !isascii char. + +Wed Jan 11 00:07:10 1995 Richard Stallman + + * malloc/malloc.h (malloc_info): Change usage of .busy.info.size. + + * malloc/malloc.c (malloc): For a multi-block object, store a + negative number into the busy.info.size of all but the first block. + +Tue Jan 10 13:45:20 1995 Brendan Kehoe + + * sysdeps/unix/bsd/ultrix4/mips/start.S: Use s0, s1, and s2 + instead of t0, t1, and t2. + +Tue Jan 10 05:53:50 1995 Roland McGrath + + * malloc/memalign.c (__memalign_hook): New variable. + (memalign): Call it if set. + * malloc/malloc.h (__memalign_hook): Declare new variable. + +Wed Dec 28 03:27:21 1994 Roland McGrath + + * conf/portability.h: Include string.h and stdlib.h. + * inet/netdb.h (NETDB_INTERNAL, NETDB_SUCCESS): New macros. + * resolv/resolv.h, resolv/arpa/nameser.h, resolv/gethnamaddr.c, + resolv/getnetbyname.c, resolv/getnetent.c, resolv/herror.c, + resolv/res_mkquery.c, resolv/res_send.c, resolv/res_comp.c, + resolv/res_debug.c, resolv/res_init.c: Updated from BIND 4.9.3-BETA14. + + * sysdeps/m68k/fpu/__math.h (__m81_inline): New macro. Replace + all uses of `extern __inline' with `__m81_inline'. + + * sysdeps/unix/bsd/hp/m68k/__vfork.S: Use subl, not decl. + * sysdeps/unix/__fork.S: Swap args in subl. + + * posix/sys/types.h [__USE_MISC] (ushort, uint): New typedefs, for + compatibility. + +Tue Dec 20 13:33:20 1994 Michael I Bushnell + + * sysdeps/mach/hurd/__setpgrp.c (__setpgrp): Use __swtch_pri instead + of swtch. + * sysdeps/mach/hurd/__setsid.c (__setsid): Likewise. + * mach/spin-solid.c (__spin_lock_solid): Likewise. + +Thu Dec 15 12:01:07 1994 Roland McGrath + + * inet/rcmd.c (iruserok): Use alloca instead of fixed-size buffer + for PBUF. + (__ivaliduser): Use getline instead of fgets with fixed-size buffer. + + * sysdeps/mach/hurd/Makefile (subdirs): Don't elide inet. + +Wed Dec 14 18:20:56 1994 Roland McGrath + + * sysdeps/alpha/bsd-setjmp.S: Reverse register and immediate args + in `bis' insn; immediate must be second. + + * sysdeps/unix/__fork.S: Use subl instead of decl. + * sysdeps/unix/i386/__fork.S: New file. + + * sysdeps/mach/hurd/alpha/trampoline.c (_hurd_setup_sighandler): + Remove A macro; just use `asm volatile' with proper quotes in each + line. + * sysdeps/mach/alpha/sysdep.h (CALL_WITH_SP): Put parens around + jmp target register. + + * time/africa, time/asia, time/australasia, time/emkdir.c, + time/europe, time/ialloc.c, time/northamerica, time/private.h, + time/scheck.c, time/yearistype, time/zdump.c, time/zic.c: New code + and data from ADO 94h distribution. + + * sysdeps/sparc/setjmp.S: Use sethi and or to put address of + __sigjmp_save in %g1 and jmp there. jmp cannot contain a complete + absolute pointer. Put second store in jmp delay slot. + +Tue Dec 13 15:47:52 1994 Roland McGrath + + * sysdeps/sparc/bsd-_setjmp.S: Use sethi and or to put address of + __sigsetjmp in %g1 and jmp there. jmp cannot contain a complete + absolute pointer. + * sysdeps/sparc/bsd-setjmp.S: Likewise. + + * configure.in: Use ; before } in { ... } exprs. + +Mon Dec 12 01:41:07 1994 Roland McGrath + + * Version 1.09.3. + + * sysdeps/mach/hurd/alpha/trampoline.c: Use `long int' for sigcode + values. Use _hurdsig_catch_fault. Pass address of __sigreturn in + $27, SCP value in $25. In trampoline code, use those regs. + + * sysdeps/mach/hurd/alpha/__sigret.c: Use asms instead of global + register vars to restore FP regs. Fix typo in REI invocation. + +Sun Dec 11 14:10:11 1994 Roland McGrath + + * hurd/hurd/fd.h (hurd_register_ioctl_handler, + _HURD_HANDLE_IOCTLS): Third arg to handler is a void *, not a + __gnuc_va_list. + + * stdio/memstream.c (enlarge_buffer): Always add one char into + NEED for the char we are writing or the NUL terminator. + + * stdio/memstream.c (enlarge_buffer): If realloc fails, just set + error flag and preserve old buffer state. + + * stdio/fwrite.c: In fill_buffer case, check for zero buffer space + after fflush and write one char normally. + +Sat Dec 10 00:02:21 1994 Roland McGrath + + * sysdeps/mach/hurd/__fork.c: Use natural_t in place of int. + + * sysdeps/alpha/macros.m4: Use C comments instead of ! comments. + + * sysdeps/mach/hurd/mmap.c: Cast -1 to long int before casting to + caddr_t. + + * sysdeps/mach/alpha/syscall.S: Include + to define op_chmk. + + * sysdeps/mach/hurd/__mknod.c: Include . + * sysdeps/mach/hurd/setegid.c: Likewise. + * sysdeps/mach/hurd/seteuid.c: Likewise. + * sysdeps/mach/hurd/__setregid.c: Likewise. + * sysdeps/mach/hurd/__setreuid.c: Likewise. + * sysdeps/mach/hurd/__ioctl.c: Likewise. + + * sysdeps/mach/hurd/recvfrom.c: Include . Use + mach_msg_type_number_t in place of unsigned int. + * sysdeps/mach/hurd/recv.c: Likewise. + * sysdeps/mach/hurd/getsockopt.c: Likewise. + * sysdeps/mach/hurd/getsocknam.c: Likewise. + * sysdeps/mach/hurd/getpeernam.c: Likewise. + * sysdeps/mach/hurd/accept.c: Likewise. + * sysdeps/mach/hurd/__gethstnm.c: Likewise. + +Fri Dec 9 00:01:21 1994 Roland McGrath + + * sysdeps/mach/hurd/__readlink.c: Use mach_msg_type_number_t in + place of unsigned int. + * sysdeps/mach/hurd/__fork.c: Likewise. + + * sysdeps/mach/hurd/__setgid.c: Include . + * sysdeps/mach/hurd/__setuid.c: Likewise. + * sysdeps/mach/hurd/__getgrps.c: Likewise. + * hurd/getuids.c: Likewise. + * sysdeps/mach/hurd/__getdents.c: Likewise. + + * sysdeps/mach/hurd/dirstream.h (DIR): Use unsigned long int for + `__allocation' and `__size' members. + + * sysdeps/mach/hurd/alpha/exc2signal.c: Use `long int' for sigcode + values. + * sysdeps/mach/hurd/i386/exc2signal.c: Likewise. + + * mach/devstream.c (input): Use mach_msg_type_number_t for NREAD. + + * sysdeps/mach/hurd/__setitmr.c (preempt_sigalrm): Use `long int' + for SIGCODE; take SIGERROR arg. + + * sysdeps/alpha/divrem.m4: Include instead of + . Use C comments instead of ! comments. + + * sysdeps/alpha/memchr.c: Remove extra shift and OR of CHARMASK. + * sysdeps/alpha/strchr.c: Likewise. + + * sysdeps/mach/hurd/sysd-stdio.c: Use mach_msg_type_number_t in + place of unsigned int. + + * sysdeps/posix/tempname.c (__stdio_gen_tempname): Cast FD to long + int before casting to pointer. + + * stdio/printf_fp.c: Include . + + * sysdeps/alpha/setjmp_aux.c: Use ENV[0].__jmpbuf[0]. + + * sysdeps/mach/alpha/sysdep.h (ENTRY): New macro. + + * hurd/hurdioctl.c (fioctl): Pass a mach_msg_type_number_t* to + __io_readable. + + * hurd/hurd-raise.c: Use `long int' for sigcode values. + + * hurd/hurdfault.c: Use `long int' for sigcode values. + * hurd/hurdfault.h: Likewise. + + * hurd/hurd/signal.h (struct hurd_signal_preempt): Handler takes + new SIGERROR arg. + * hurd/preempt-sig.c: Likewise. + * hurd/hurdsig.c (_hurd_internal_post_signal): Pass SIGERROR to + PREEMPT. + + * hurd/hurdlookup.c: Use mach_msg_type_number_t and natural_t in + place of unsigned int and int. + + * hurd/hurd/id.h: Use mach_msg_type_number_t in place of unsigned int. + + * hurd/catch-exc.c: Use `long int' for sigcode values. + * sysdeps/mach/hurd/i386/trampoline.c: Likewise. + * hurd/preempt-sig.c: Likewise. + + * configure.in (machine): Don't recognize r[34]00. + Convert mips64* to mips/mips64/& and mips* to mips/&. + * sysdeps/mips/mipsel/bytesex.h: New file. + * sysdeps/mips/r4000: Directory renamed to sysdeps/mips/mips64. + + * sysdeps/mach/alpha/sysdep.h (START_MACHDEP): Add missing + backslashes. + (CALL_WITH_SP): Cast FN to long int. + + * sysdeps/mach/alpha/thread_state.h (struct machine_thread_all_state): + New member `exc'. + + * hurd/fd-read.c: Include . Use mach_msg_type_number_t + in place of mach_msg_type_size_t. + + * hurd/hurdfault.c: Use natural_t instead of int. + + * hurd/hurd/signal.h: Use `long int' for sigcode values. + * hurd/hurdsig.c: Use mach_msg_type_number_t and natural_t in + place of unsigned int and int. Use `long int' for sigcode values. + + * hurd/vpprintf.c (pwrite): Cast &N to mach_msg_type_number_t *. + + * hurd/__fopenport.c: Include . Use + mach_msg_type_number_t in place of unsigned int. + + * hurd/hurdauth.c: Include . + * hurd/hurdsock.c: Likewise. + + * sysdeps/mach/alpha/machine-lock.h: Remove ".set noreorder" et + al; GCC already emits them. Fix register constraints in asms. + Set RTN in C, not asm. + + * hurd/hurdprio.c: Use mach_msg_type_number_t in place of unsigned + int. + +Thu Dec 8 04:00:11 1994 Roland McGrath + + * sysdeps/mach/hurd/alpha/__sigret.c: Remove ".set noreorder" et + al; GCC already emits them. + * sysdeps/mach/hurd/alpha/trampoline.c: Likewise. + + * sysdeps/mach/thread_state.h: Use mach_msg_type_number_t and + natural_t in place of unsigned int and int. + + * sysdeps/mach/sysdep.h (ENTRY): Don't #error if undefined. + + * sysdeps/mach/syscall.h: New file. + + * sysdeps/mach/Makefile: Remove debugging printout. + + * sysdeps/mach/hurd/configure.in: Converted to an autoconf script + from sysdeps/mach/hurd/configure, to work better with autoconf + version 2. + * sysdeps/mach/configure.in: Likewise, from sysdeps/mach/configure. + + * hurd/hurdmsg.c: Use mach_msg_type_number_t in place of unsigned + int. + + * sysdeps/mach/alpha/sysdep.h: Rename variable `sp' to avoid + conflict with #define in . + + * sysdeps/mach/hurd/alpha/__sigret.c: Remove unused variable. + + * sysdeps/mach/hurd/__ioctl.c: Pass arg to + __mig_dealloc_reply_port. + + * configure.in: Converted to Autoconf version 2. + * sysdeps/generic/configure.in: Likewise. + * sysdeps/unix/common/configure.in: Likewise. + * sysdeps/unix/configure.in: New file, converted to a + part-autoconf script from sysdeps/unix/configure, to work better + with autoconf version 2. + * aclocal.m4: Converted to Autoconf version 2. + (AC_CHECK_SYMBOL): New macro. + * config.make.in: New file. + * config-name.in: New file. + * Makefile (distribute): Rename install.sh to install-sh. + Add config.make.in, config-name.in, Makefile.in. + (distclean-1): Remove config-name.h and config.cache. + * Makefile.in: New file. + * Makeconfig (+gnu-stabs, gnu-as): Match -DHAVE_GNU_{AS,LD}=1 too. + +Wed Dec 7 14:05:12 1994 Roland McGrath + + * sysdeps/mach/mips/cacheflush.c: New file. + * sysdeps/mach/mips/Makefile: New file. + * sysdeps/mach/mips/Dist: New file. + + * hurd/hurdmalloc.c (vm_allocate, vm_page_size): #define these to + __ names at top. + + * posix/glob/Makefile.in (realclean): Remove config.status. + + * posix/glob/Makefile.in (DEFS): New variable, set from @DEFS@. + (CPPFLAGS): Remove @DEFS@ from here. + (.c.o): Use $(DEFS). + + * setjmp/siglongjmp.c: First arg is const. + +Tue Dec 6 19:04:50 1994 Roland McGrath + + * posix/glob/Makefile.in (CPPFLAGS): Include @DEFS@. + +Mon Dec 5 12:05:10 1994 Roland McGrath + + * posix/glob/configure.in: Add AC_PROG_CC. + + * sysdeps/mach/hurd/alpha/longjmp-ts.c: Use ENV[0].__jmpbuf[0]. + * sysdeps/mach/hurd/mips/longjmp-ts.c: Likewise. + * sysdeps/mach/hurd/i386/longjmp-ts.c: Likewise. + + * Version 1.09.2. + + * sysdeps/mach/hurd/__select.c: Don't make TO const. + +Sun Dec 4 12:06:36 1994 Roland McGrath + + * sysdeps/unix/configure (config_vars): Add missing backslash + before a $. + + Revamp the `setjmp' interface to be cleaner: only one type + `jmp_buf'/`sigjmp_buf', and only one `longjmp' function (with + aliases `_longjmp', `siglongjmp'). Internal setjmp interface is + now __sigsetjmp, which takes SAVEMASK flag and optionally saves + the signal mask. Add extern entry points `setjmp' and `_setjmp' + for BSD compatiblity; they tail-call __sigsetjmp. + * setjmp/setjmp.h: Include for __sigset_t, not + + (jmp_buf): Define unconditionally with old `sigjmp_buf' defn. + (__sigjmp_save): Declare to return int. + (__setjmp): Remove declaration; this function no longer exists. + (__sigsetjmp): Declare it; this is the new internal function. + (setjmp): Define to call __sigsetjmp, second arg depending on + __FAVOR_BSD. + [__OPTIMIZE__] (longjmp): Remove #define. + [__USE_BSD] (_longjmp): Declare it, another name for `longjmp'. + [__USE_BSD] (_setjmp): Define macro to do __sigsetjmp (ENV, 0). + [__FAVOR_BSD]: Remove all these defns. + [__USE_POSIX] (sigjmp_buf): Define as another name for `jmp_buf'. + [__USE_POSIX] (sigsetjmp): Define to call __sigsetjmp. + * setjmp/sigjmp.c (__sigjmp_save): Return an int, always zero, not + void. + * setjmp/Makefile (routines): Remove _setjmp, add bsd-setjmp and + bsd-_setjmp. + * setjmp/longjmp.c: Define as a real funciton, which restores + signal mask and calls __longjmp. + * setjmp/siglongjmp.c: Make this an alias to longjmp. + * setjmp/_longjmp.c: Alias to longjmp, not siglongjmp. + * sysdeps/stub/setjmp.c: Implement __sigsetjmp instead of + __setjmp; call __sigjmp_save. + * sysdeps/sparc/setjmp.S: Likewise. + * sysdeps/m68k/setjmp.c: Likewise. + * sysdeps/i386/setjmp.c: Likewise. + * sysdeps/vax/setjmp.c: Likewise. + * sysdeps/mips/setjmp.S: Implement __sigsetjmp instead of + __setjmp; call __sigsetjmp_aux instead of __setjmp_aux. Pass SP + and FP as 3rd and 4th args, not 2nd and 3rd. + * sysdeps/alpha/setjmp.S: Likewise. + * sysdeps/mips/setjmp_aux.c: Implement __sigsetjmp_aux instead of + __setjmp_aux; call __sigjmp_save. + * sysdeps/alpha/setjmp_aux.c: Likewise. + * sysdeps/mips/bsd-setjmp.S, sysdeps/mips/bsd-_setjmp.S: New files. + * sysdeps/alpha/bsd-setjmp.S, sysdeps/alpha/bsd-_setjmp.S: New files. + * sysdeps/vax/bsd-setjmp.S, sysdeps/vax/bsd-_setjmp.S: New files. + * sysdeps/sparc/bsd-setjmp.S, sysdeps/sparc/bsd-_setjmp.S: New files. + * sysdeps/i386/bsd-setjmp.S, sysdeps/i386/bsd-_setjmp.S: New files. + * sysdeps/m68k/bsd-setjmp.S, sysdeps/m68k/bsd-_setjmp.S: New files. + * sysdeps/stub/bsd-setjmp.c, sysdeps/stub/bsd-_setjmp.c: New files. + * setjmp/_setjmp.c: File removed. + * sysdeps/alpha/__longjmp.c: Take arg of type __jmp_buf, not + jmp_buf. + * sysdeps/vax/__longjmp.c: Likewise. + * sysdeps/stub/__longjmp.c: Likewise. + * sysdeps/i386/__longjmp.c: Likewise. + * sysdeps/m68k/__longjmp.c: Likewise. + +Sat Dec 3 09:00:17 1994 Roland McGrath + + * sysdeps/mach/hurd/alpha/__sigret.c: Set up frame for `rei' to + restore on user stack, aligned to an 8-word boundary and with a PS + value that restores user's stack alignment. + +Fri Dec 2 19:31:24 1994 Roland McGrath + + * sysdeps/unix/readdir.c: Search one char more than D_NAMLEN(DP) + for the null terminator. Always set D->d_namlen, using + D_NAMLEN(DP) if no null is found. + + * sysdeps/unix/sysv/sco3.2.4/__sigact.S: Fix typo `.global' to + `.globl'. Silly me, I used a vowel in a Unix program. + +Mon Nov 28 16:11:39 1994 Roland McGrath + + * io/fts.c (ALIGN, ALIGNBYTES): New macros, defined if not already + defined. + +Tue Nov 22 06:39:49 1994 Roland McGrath + + * sysdeps/unix/bsd/osf1/dirstream.h: File removed. + + * sysdeps/stub/sigcontext.h (struct sigcontext): Use `__sigset_t' + instead of `sigset_t' for `sc_mask'. + * sysdeps/mach/hurd/i386/sigcontext.h: Likewise. + * sysdeps/mach/hurd/alpha/sigcontext.h: Likewise. + * sysdeps/mach/hurd/mips/sigcontext.h: Likewise. + * sysdeps/unix/bsd/ultrix4/mips/sigcontext.h: Likewise. + * sysdeps/unix/bsd/sun/m68k/sigcontext.h: Likewise. + * sysdeps/unix/bsd/sun/sparc/sigcontext.h: Likewise. + + * hurd/hurdsig.c (_hurd_internal_post_signal: case handle): Call + abort_thread always, first thing after thread_suspend. + +Mon Nov 21 13:18:07 1994 Roland McGrath + + * sysdeps/mach/hurd/__fcntl.c: Don't make this whole function a + critical section. + + * sysdeps/generic/strpbrk.c: Don't call strchr; do it by hand for + efficiency. + +Wed Nov 16 12:47:22 1994 Roland McGrath + + * sysdeps/unix/bsd/m68k/sysdep.S [__motorola__]: Swap operands in + cmp.l. + + * hurd/msgportdemux.c (_hurd_msgport_receive): Call + _hurd_self_sigstate to get sigstate cached before running any + signal thread code. + + * sysdeps/mach/hurd/__fork.c: Pass _hurd_msgport_thread to + __thread_get_state, not _hurd_sigthread. Don't do + __thread_get_state on THREAD_SELF--the kernel does not allow it. + + * hurd/hurdsig.c (_hurd_internal_post_signal): In stopping orphan + test, take sigmask of SIGNO, don't & its value with a mask. In + blocked signal test, be careful not to pass SIGNO=0 to __sigismember. + +Tue Nov 15 01:39:36 1994 Roland McGrath + + * Makerules (stub-$(subdir)): Save absolute name of + $(..)sysdeps/stub before cd'ing, transform gleaned file names to + refer to saved name. + + * sysdeps/mach/hurd/socketpair.c: Include . + + * time/test_time.args: Add CST as a test case. + + * sysdeps/mach/hurd/socketpair.c: Rewritten (copying __pipe.c). + + * sysdeps/unix/bsd/dirstream.h [__USE_BSD] (dirfd): New macro. + + * posix/unistd.h: Declare fchdir. + + * io/fts.c (MAXPATHLEN): Define if not defined. + + * io/fts.c, io/fts.h: New files, from 4.4 BSD code by Keith Bostic. + * io/Makefile (routines): Add fts. + (headers): Add fts.h. + + Mostly ported the Hurd to the DEC Alpha. + * sysdeps/mach/alpha/machine-sp.h: New file. + * sysdeps/mach/alpha/thread_state.h: New file. + * sysdeps/mach/alpha/sysdep.h: New file. + * sysdeps/mach/alpha/machine-lock.h: New file. + * sysdeps/mach/hurd/alpha/sigcontext.h: New file. + * sysdeps/mach/hurd/alpha/longjmp-ts.c: New file. + * sysdeps/mach/hurd/alpha/trampoline.c: New file. + * sysdeps/mach/hurd/alpha/exc2signal.c: New file. + * sysdeps/mach/hurd/alpha/__sigret.c: New file. + + * sysdeps/mach/hurd/Makefile (errlist.c, errnos.h): Make the + output unwritable. + * sysdeps/alpha/Makefile (divrem rule): Make the output + unwritable, use mv -f. + * sysdeps/sparc/Makefile (divrem rule): Likewise. + + * configure.in (sysnames): Put another loop on $mach inside $base + loop but outside $vendor loop. This should catch .../cpu/vendor. + +Mon Nov 14 22:52:03 1994 Roland McGrath + + * sysdeps/mach/hurd/start.c: Add missing #endif. + +Sun Nov 13 05:04:18 1994 Roland McGrath + + * sysdeps/mach/hurd/__select.c: At end of receiving loop, clear TO + instead of TIMEOUT. + + * malloc/mcheck-init.c (turn_on_mcheck): Add gratuitous self + reference to silence compiler warning. + (_hurd_preinit_hook): Add the function to this set too. + + * time/__tzset.c (__tzset): Give tz_rules coherent default when TZ + value is short or malformed. + + * mach/devstream.c: Echo input after reading it. + + * Make-dist (generated): Mutate to add .S and .s variations for .c + files. + +Fri Nov 11 11:43:26 1994 Michael I Bushnell + + * sysdeps/mach/hurd/i386/__sigret.c (__sigreturn): Don't actually + abort here; at least let the user continue with bogus FP; that's + better than a random crash until it's fixed. + +Thu Nov 10 04:56:28 1994 Roland McGrath + + * sysdeps/unix/bsd/sun/sunos4/sys/mman.h (msync): Use __caddr_t + instead of caddr_t in decl. + + * sysdeps/mach/start.c (START_ARGS): Define to void if undefined. + [START_MACHDEP]: Reference this if defined. + [START_MACHDEP] (_start): #define to _start0. + (_start): Take args START_ARGS. + * sysdeps/mach/hurd/start.c: Likewise. + +Wed Nov 9 08:02:59 1994 Roland McGrath + + * hurd/Makefile (sig): Remove longjmp-ctx (it is never called). + + * sysdeps/mach/hurd/__fork.c: Do thread_get_state on parent's + threads to modify and thread_set_state new child threads. + +Mon Nov 7 00:38:45 1994 Roland McGrath + + * posix/glob/configure.in: Converted to Autoconf v2. + * posix/glob.c: Test HAVE_DIRENT_H, HAVE_SYS_DIR_H, HAVE_NDIR_H + instead of DIRENT, SYSDIR, NDIR. + * posix/glob/Makefile.in (CC): New variable, set from @CC@. + (CPPFLAGS): Set from @CPPFLAGS@, not @DEFS@. + + * sysdeps/unix/__fork.S: Use decrement and AND instead of test and + branch. + * sysdeps/unix/sparc/__fork.S: Likewise. + * sysdeps/unix/sparc/__vfork.S: Likewise. + * sysdeps/unix/bsd/sun/m68k/__vfork.S: Likewise. + * sysdeps/unix/bsd/hp/m68k/__vfork.S: Likewise. + * sysdeps/unix/i386/__fork.S: File removed. + +Sun Nov 6 19:26:28 1994 Roland McGrath + + * Version 1.09. + +Fri Nov 4 16:52:05 1994 Roland McGrath + + * Version 1.08.14. + + * manual/Makefile (stamp-summary): Depend on $(chapters-incl) too. + +Thu Nov 3 18:33:50 1994 Roland McGrath + + * sysdeps/generic/sigset.h (__sigemptyset): Cast to __sigset_t. + (__sigfillset): Likewise. Use ~(__sigset_t)0 in place of -1. + (__SIGSETFN): Don't try to be clever. Test bounds of SIG with < + and >. + + * sysdeps/mach/hurd/__fork.c: Unlock signal state earlier, just + after unlocking _hurd_ports locks. + + * sysdeps/unix/bsd/osf1/direct.h: File removed. + * sysdeps/unix/bsd/direct.h (struct direct): Use `unsigned int' + instead of `unsigned long int' for `d_fileno' member. + + * Makerules (common-mostlyclean): Remove $(tests:=.out) too. + + * assert/assert-perr.c (__assert_perror_fail): Add missing comma. + + * sysdeps/unix/ioctls-tmpl.c [__osf__ && __alpha__] (FIOPIPESTAT, + SIOCSRREQR, SIOCSRREQW, SRVC_REQUEST): #undef these. + +Wed Nov 2 23:00:19 1994 Roland McGrath + + * sysdeps/mach/hurd/setegid.c: Pass poly and count args for + other_handles in correct order in call to auth_makeauth. + * sysdeps/mach/hurd/__setregid.c: Likewise. + * sysdeps/mach/hurd/__setreuid.c: Likewise. + + * Makerules (compile.S): Add -DASSEMBLER. + * sysdeps/mach/sysdep.h [ASSEMBLER]: Don't include + if this is defined. + +Wed Nov 2 22:39:55 1994 Michael I Bushnell + + * sysdeps/mach/hurd/seteuid.c: Pass poly and count args for + other_handles in correct order in call to auth_makeauth. + +Wed Nov 2 15:03:51 1994 Roland McGrath + + * stdio/internals.c (fillbuf): Make sure returned char doesn't get + sign extended. + +Tue Nov 1 01:25:28 1994 Roland McGrath + + * sysdeps/unix/common/Implies: File removed. + * sysdeps/unix/bsd/Implies: Add unix/inet. + + * assert/assert-perror.c: Renamed to assert-perr.c. + * assert/Makefile (routines): Rename assert-perror to assert-perr. + + * Version 1.08.13. + + * mach/Makefile (generated): Add __%.c for $(mach-shortcuts) too. + + * dirent/Makefile (tests): Add tst-seekdir. + * dirent/tst-seekdir.c (main): New file. + * sysdeps/unix/bsd/seekdir.c: New file. + * sysdeps/unix/bsd/telldir.c: New file. + * sysdeps/unix/bsd/dirstream.h (DIR): New member `__pos'. + * sysdeps/unix/bsd/readdir.c: Update DIRP->__pos in getdirentries + call. + * sysdeps/unix/opendir.c: Use calloc in place of malloc, to zero + fill new DIRs. + + * sysdeps/standalone/i386/force_cpu386/force_cpu386.ld: Renamed to + target.ld. + * sysdeps/standalone/i386/force_cpu386/Makefile: Install it from + that name (still into $(libdir)/force_cpu386.ld). + + * mach/Makefile (headers, user-interfaces, server-interfaces): + Don't add default_pager stuff. + +Mon Oct 31 07:00:40 1994 Roland McGrath + + * sysdeps/unix/bsd/sun/sunos4/termbits.h (TCSASOFT): Macro + removed. + + * malloc/malloc.h: Change #ifdef __STDC__ to #if defined + (__STDC__) && __STDC__. + +Fri Oct 28 00:09:24 1994 Roland McGrath + + * sysdeps/mach/sysdep.h: Include for decls. + (FATAL_PREPARE): Pass arg to __mig_dealloc_reply_port. + + * assert/Makefile (routines): Add assert-perror. + + * Makerules (stubs): cd into $(objdir) and use local file names, + making the cmd shorter. + + * sysdeps/mach/hurd/getprio.c (getonepriority): Call + proc_getprocinfo with proc port. + + * sysdeps/mach/hurd/errnos.awk: Grok "@comment errno %d" in + errno.texi, instead of assigning sequentially. + * sysdeps/mach/hurd/errlist.awk: Likewise. + + * stdio/fwrite.c: Reset BUFFER_SPACE after fflush in fill_buffer + case. + + * sysdeps/generic/sigset.h (__SIGSETFN): When losing, punt to + `raise (-1)'. Old method looped. + + * hurd/hurd/resource.h: Include . + +Thu Oct 27 15:00:50 1994 Roland McGrath + + * sysdeps/standalone/standalone.h: Fixed typo. + +Wed Oct 26 00:21:16 1994 Roland McGrath + + * sysdeps/unix/i386/vfork.S: New file. + + * sysdeps/generic/strchr.c: Increment CP properly in check for 5th + char of quadword hit. + + * sysdeps/mach/hurd/getprio.c (getonepriority): Always set ONERR. + +Tue Oct 25 03:53:26 1994 Roland McGrath + + * hurd/hurd/resource.h: Include . + + * stdio/ftell.c: If STREAM->__pushed_back, calculate from + pushback_bufp instead of bufp. + + * Makefile (format-me): New canned sequence; runs makeinfo + --no-headers. + (INSTALL): Use it. + (NOTES): New file rule. + + * manual/intro.texi (Feature Test Macros): Node moved off to + creature.texi. + * manual/creature.texi: New file, broken out of intro.texi. + + * manual/Makefile (indices): New variable; include ky. + (realclean): Use $(indices) to remove all index and sorted index + files. + + * sysdeps/mach/hurd/fcntlbits.h (O_ASYNC, O_FSYNC, O_SYNC): + Protect with [__USE_BSD]. + +Mon Oct 24 00:16:59 1994 Roland McGrath + + * sysdeps/unix/bsd/utime.c: Initialize tv_usec fields. + Use __gettimeofday instead of time. + + * sunrpc/pmap_rmt.c: Include before . + Undef _POSIX_SOURCE before that. + * sunrpc/pm_getport.c: Likewise. + * sunrpc/pm_getmaps.c: Likewise. + * sunrpc/get_myaddr.c: Likewise. + + * misc/sys/cdefs.h: Undef __P first. + + * Version 1.08.12. + + * sysdeps/mach/hurd/getprio.c: Rewritten. + * sysdeps/mach/hurd/setprio.c: New file. + * hurd/hurdprio.c: New file. + * hurd/Makefile (routines): Add hurdprio. + * hurd/hurd/resource.h (_hurd_priority_which_map): Declare it. + (NICE_TO_MACH_PRIORITY, MACH_PRIORITY_TO_NICE): New macros. + +Sun Oct 23 19:39:18 1994 Roland McGrath + + * Makerules (sources): Fix typo in last change. + +Fri Oct 21 13:15:39 1994 Roland McGrath + + * sysdeps/generic/termbits.h (ECHOKE): Remove gratuitous leading + space before #define. + + * Makerules (sources): Filter out $(elided-routines). + + * sysdeps/sparc/divrem.m4 (entry point): For OP=rem, set SIGN from + dividend only, ignoring divisor. + (Lgot_result): Test SIGN here for OP=rem too (as originally). + +Wed Oct 19 02:40:02 1994 Roland McGrath + + * hurd/hurdsig.c: Use assert_perror. + + * assert/assert-perror.c (__assert_perror_fail): New file. + * assert/assert.h (assert_perror): New macro. + + * Version 1.08.11. + + * hurd/hurdsig.c (abort_rpcs): Actually return a port instead of + boolean, as the type says. + + * hurd/hurdsig.c (abort_all_rpcs): If waiting for reply from + interrupted RPC returns error, print debugging msg with error + test, don't assert. + +Mon Oct 17 00:06:03 1994 Roland McGrath + + * stdlib/strtol.c: Deansideclized. + * sysdeps/generic/strcspn.c: Deansideclized. + * sysdeps/generic/putenv.c: Deansideclized, added portability + cruft. + +Fri Oct 14 14:00:11 1994 Roland McGrath + + * sysdeps/unix/sysv/sysv4/solaris2/utsnamelen.h: + Moved to sysdeps/unix/sysv/sysv4. + +Thu Oct 13 22:06:50 1994 Roland McGrath + + * sysdeps/unix/common/glue-ctype.c [HAVE__LOCP]: Move this defn to + first. Include sys/types.h. + + * sysdeps/unix/bsd/readdir.c: Include direct.h. + + * socket/sys/socket.h (__SOCKADDR_ARG): Always use non-GCC defn, + for now. + * posix/sys/wait.h (__WAIT_STATUS): Likewise. + +Tue Oct 11 00:42:50 1994 Roland McGrath + + * Version 1.08.10. + +Mon Oct 10 00:33:47 1994 Roland McGrath + + * malloc/malloc.h [_MALLOC_INTERNAL] (CHAR_BIT): Don't define if + already defined. + + * stdio/__vfscanf.c: Grok %q modifier like %ll. + + * mach/__msgserver.c: Increase default MAX_SIZE to two pages. + + * misc/init-misc.c: Cast string constant to non-const type. + + * sysdeps/i386/ffs.c: Use %1 again instead of listing TMP as an + input with constraint "1". This avoids a warning that TMP may be + used before set. + +Sun Oct 9 22:41:20 1994 Roland McGrath + + * hurd/hurdsig.c (abort_all_rpcs): Declare SS. + +Sun Oct 09 01:19:38 1994 Jim Meyering (meyering@comco.com) + + * posix/fnmatch.c: Remove CONFIG_BROKETS conditional. + +Fri Oct 7 15:28:07 1994 Roland McGrath + + * stdio/__vfscanf.c: Properly grok %a modifier. + + * hurd/hurdsig.c (abort_rpcs): Return the reply port or null, + instead of boolean. + (abort_all_rpcs): Record the returns from abort_rpcs and wait for + a message on each reply port. Don't bother locking _hurd_siglock. + +Thu Oct 6 18:57:44 1994 Roland McGrath + + * hurd/hurd.h (_hurd_socket_server): Take new arg DEAD; explain + its use in comment. + * hurd/hurdsock.c (_hurd_socket_server): Take new arg DEAD; if + nonzero, clear any old cached port and always do a fresh lookup. + * sysdeps/mach/hurd/socket.c: Pass new arg to _hurd_socket_server, + cope with dead server on socket_create. + * sysdeps/mach/hurd/__pipe.c: Likewise. + +Mon Oct 3 02:09:43 1994 Roland McGrath + + * sysdeps/generic/utsnamelen.h (_UTSNAME_LENGTH): Increase to + 1024. + +Sun Oct 2 18:35:16 1994 Roland McGrath + + * posix/glob.h (__P): Change arg name to `protos', for congruence + with 4.4 BSD. + * posix/fnmatch.h (__P): Likewise. + +Sat Oct 1 04:25:35 1994 Roland McGrath + + * misc/Makefile (routines): Add daemon. + +Fri Sep 30 16:49:09 1994 Roland McGrath + + * misc/daemon.c: New file, incorporated from BSD 4.4-Lite. + + * sysdeps/mach/hurd/__setsid.c: Call _hurd_setcttyid with + MACH_PORT_NULL after proc_setsid. + + * hurd/hurdioctl.c (_hurd_setcttyid): Don't do mod_refs if port is + null. + + Always use fds' `port' cell for the generic port. + For ctty fds, use the `ctty' cell for the ctty-special port. + * hurd/dtable.c (get_dtable_port): Use port, never ctty. + (fork_child_dtable): Reset D->ctty instead of D->port. + (ctty_new_pgrp): Likewise. + * sysdeps/mach/hurd/__ioctl.c: Use ctty port for RPC if set and + !NOCTTY. + * hurd/port2fd.c (_hurd_port2fd): Install normal port in D->port + cell, and ctty-special port in the D->ctty cell, not the reverse. + * hurd/hurdioctl.c (tiocsctty): Don't assume MACH_PORT_NULL is + zero. + * hurd/hurdexec.c (_hurd_exec): Always pass fds' normal port, + never its ctty port. + * hurd/fd-write.c (_hurd_fd_write): Use ctty port for RPC if set + and !NOCTTY. + * hurd/fd-read.c (_hurd_fd_read): Use ctty port for RPC if set. + +Thu Sep 29 18:28:01 1994 Roland McGrath + + * mach/mig_syms.c (mig_put_reply_port): Add symbol alias to __ + name. + +Thu Sep 29 12:23:07 1994 Brendan Kehoe (brendan@zen.org) + + * sysdeps/unix/sysv/sysv4/solaris2/sparc/sysdep.h (ENTRY): Use + poundfnc instead of \#function, to satisfy gcc-2.6.0 and higher. + (cat, poundfnc): Define macros to pull it off. + + * sysdeps/unix/sysv/sysd-stdio.c: Include + sysdeps/generic/sysd-stdio.h, + not looking in sysdeps/posix. + +Thu Sep 29 05:38:14 1994 Roland McGrath + + * sysdeps/unix/common/configure.in (ctype check): In test prog, + just reference $ctype; we don't care what type it is. + + * sysdeps/unix/bsd/bsd4.4/direct.h: New file. + (HAVE_D_TYPE): Define this macro. + * dirent/dirent.h (struct dirent): New member `d_type'; shorten + `d_namlen' to a byte. + * sysdeps/unix/bsd/readdir.c [! HAVE_D_TYPE]: Shuffle d_namlen and + clear d_type. + +Wed Sep 28 17:23:26 1994 Roland McGrath + + * posix/sys/utsname.h [__USE_SVID] (SYS_NMLN): New macro. + + * dirent/scandir.c: Free storage on error from readdir. + +Mon Sep 26 00:55:34 1994 Roland McGrath + + * Version 1.08.9. + + * MakeTAGS (all-dist): Prepend the appropriate sysdep dir names. + + * hurd/hurdsig.c (_hurd_internal_post_signal: sigwakeup): Create a + send right. + +Sat Sep 24 13:44:51 1994 Jim Meyering (meyering@comco.com) + + * sysdeps/generic/memcmp.c [CMP_LT_OR_GT]: New macro. + (memcmp): Use it in place of each of ten 5-line #ifdef blocks. + +Fri Sep 23 16:55:54 1994 Roland McGrath + + * sysdeps/mach/hurd/sigsuspend.c: Include . + + * sysdeps/mach/hurd/sigsuspend.c: Add missing & in __mach_msg + call. + +Thu Sep 15 14:22:56 1994 Roland McGrath + + * sysdeps/standalone/i386/force_cpu386/Dist: New file. + * sysdeps/standalone/m68k/m68020/mvme136/Dist: New file. + * sysdeps/standalone/i960/Dist: New file. + * sysdeps/standalone/m68k/m68020/Dist: New file. + * sysdeps/standalone/i386/force_cpu386/force_cpu386.ld: New file. + * sysdeps/standalone/m68k/m68020/mvme136/mvme136.ld: New file. + * sysdeps/standalone/i960/i960ca.h: New file. + * sysdeps/standalone/m68k/m68020/m68020.h: New file. + + * sysdeps/unix/common/configure.in: Use AC_COMPILE_CHECK instead + of AC_HAVE_FUNCS. + + * sysdeps/generic/make_siglist.c (sys_siglist): Define as macro to + my_siglist. + + * sysdeps/mach/i386/thread_state.h: Include from mach/machine, not + mach/i386. + * sysdeps/mach/hurd/i386/sigcontext.h: Likewise. + + * mach/mach/mig_support.h (__mig_put_reply_port): Declare. + (__mig_dealloc_reply_port): Take arg. + * sysdeps/mach/hurd/mig-reply.c (__mig_put_reply_port): New + function. + (__mig_dealloc_reply_port): Take arg, ignore it. + +Wed Sep 14 18:16:07 1994 Roland McGrath + + * sysdeps/mach/hurd/Makefile (libc-name): Set to crt. + [!subdir]: Install libc-ldscript as libc.a. + * sysdeps/mach/hurd/Dist: Add libc-ldscript. + +Tue Sep 13 19:57:09 1994 Roland McGrath + + * sysdeps/mach/hurd/sync.c: Don't be synchronous: pass WAIT=0 to + file_syncfs. + + * Makerules (libc-name): New variable. + (install, libc installation rule): Use $(libc-name) in place of `c'. + +Sun Sep 11 23:28:20 1994 Roland McGrath + + * sysdeps/mach/hurd/__readlink.c: Only decrement LEN to remove the + null terminator when LEN is already large enough to include it. + + * hurd/hurdlookup.c (__hurd_file_name_lookup_retry): Add break + after FS_RETRY_MAGICAL case. + +Fri Sep 9 04:03:59 1994 Roland McGrath + + * stdio/vfprintf.c: Grok q modifier like ll. + + * Make-dist (sysdep-Subdir-files, subdirs): Set these early on, + before doing distinfo. + [parent] (+distinfo): Set inhibit_interface_rules=t in sub-make. + +Thu Sep 8 17:18:14 1994 Roland McGrath + + * sysdeps/generic/morecore.c (__default_morecore) [! __STDC__]: + Declare arg as `int' instead of `ptrdiff_t'. + +Tue Sep 6 19:06:00 1994 Roland McGrath + + * posix/glob.c (prefix_array, glob): Avoid const on initialized + variables. Some compiler generates bad code. + +Mon Sep 5 13:24:26 1994 Roland McGrath + + * malloc/Makefile (malloc/%: ../sysdeps/generic/%): New rule, to get + morecore.c. + + * malloc/malloc.h (size_t, ptrdiff_t): Never define these as macros. + (__malloc_size_t): Define this instead. + Change all uses of size_t to __malloc_size_t. + * malloc/valloc.c: Replace all uses of size_t with __malloc_size_t. + * malloc/memalign.c: Likewise. + * malloc/mcheck.c: Likewise. + * malloc/mtrace.c: Likewise. + * malloc/malloc.c: Likewise. + * malloc/free.c: Likewise. + * malloc/realloc.c: Likewise. + * malloc/calloc.c: Likewise. + + * MakeTAGS (TAGS): Define first so as to be default goal. + (sysdep_dirs): Set this by running find, if it is not already set. + (all-dirs): Include that value. + (all-dist): Filter output of cat, not args to it. + * Makerules (TAGS): Depend on distinfo, not distfile. + + * resolv/getnetnamadr.c (getnetbyname): Arg is always const, + regardless of [sun]. + +Sun Sep 4 00:04:55 1994 Roland McGrath + + * Version 1.08.8. + + * Makerules (distinfo-vars): Double $s in final emitted sources defn. + + * inet/Makefile (headers): Add netdb.h. + * resolv/Makefile (headers): Remove netdb.h. + * resolv/netdb.h: Moved to inet. + * inet/netdb.h: Incorporated from BSD 4.4-Lite. + Add back h_errno declaration. + + * hurd/Makefile (faultexc.c): Change this to a pattern rule to + build both faultexc.[ch]. + (hurdfault.o): Depend on faultexc.h and faultexc.c to get them built. + + * sysdeps/mach/hurd/i386/trampoline.c + (_hurdsig_rcv_interrupted_p): Make PC volatile. + (_hurd_setup_sighandler): Cast SS->context to int before comparing to + _hurdsig_fault_sigcode. + + * sysdeps/mach/thread_state.h (MACHINE_THREAD_STATE_SET_{SP,PC}): + Cast args to unsigned long int. + + * sysdeps/mach/hurd/i386/trampoline.c: Use _hurdsig_catch_fault. + + * Make-dist (subdirs): Use sed to remove comments from Subdirs files. + * MakeTAGS (subdirs): Likewise. + + * sysdeps/mach/i386/thread_state.h: Include + first thing. + + * hurd/Makefile (sig): Add faultexc. + ($(objpfx)faultexc.c): New target. + (generated): Append faultexc.c. + + * hurd/Makefile (sig): Add hurdfault; remove init-fault. + (distribute): Add hurdfault.h. + * hurd/hurdfault.h: New file. + * hurd/hurdfault.c: New file. + * hurd/hurdsig.c (interrupted_reply_port_location): Use + _hurdsig_catch_fault and _hurdsig_end_catch_fault. + (_hurdsig_getenv): Likewise. + * sysdeps/mach/hurd/i386/trampoline.c: Likewise. + + * hurd/catch-exc.c: Return EPERM if TASK is not right. + + * hurd/hurdsig.c (_hurd_sigthread_fault_env): Variable moved to + hurdfault.c. + (_hurdsig_fault_init): Function moved to hurdfault.c. + +Sat Sep 3 12:22:53 1994 Roland McGrath + + * sysdeps/mach/thread_state.h (MACHINE_THREAD_STATE_SET_PC, + MACHINE_THREAD_STATE_SET_SP): New macros. + * mach/setup-thread.c: Use MACHINE_THREAD_STATE_SET_PC. + * sysdeps/mach/hurd/__fork.c: Likewise. + + * string/test-ffs.c (main: try): Actually call ffs in the test. + +Fri Sep 2 21:20:17 1994 Roland McGrath + + * sysdeps/mach/hurd/mips/__sigret.c: Restore FPU state. Code from + kkojima. + + * sysdeps/mach/hurd/__mknod.c: Fixed copying of the translator + name into buffer with major and minor numbers, and setting of LEN. + + * sysdeps/unix/configure (unix_syscall): In sed cmd, do = first to + avoid clobbering produced assignments. + +Thu Sep 1 03:25:17 1994 Roland McGrath + + * Version 1.08.7. + + * sysdeps/mach/hurd/connect.c (connect): Fix accidental renaming + of sun_path to sun_file_name. + + * bare/Makefile (routines, elided-routines): Set these both to + $(bare-routines). + (distribute): Don't set this. + + * Makerules (distinfo-vars): Fix cmd to echo `sources' defn. + + * sysdeps/unix/configure: Handle dirs other than common. Check + for [gs]etdomainname. + * misc/Makefile (routines): Add getdomain, setdomain. + * sysdeps/unix/bsd/bsd4.4/setdomain.S: New file. + * sysdeps/unix/bsd/bsd4.4/getdomain.S: New file. + * sysdeps/stub/setdomain.c: New file. + * sysdeps/stub/getdomain.c: New file. + +Wed Aug 31 01:15:26 1994 Roland McGrath + + * hurd/hurdsig.c (_hurd_internal_post_signal: sigwakeup): Take no + args; use parent SS variable. Changed all calls. + + * hurd/hurd/signal.h (struct hurd_sigstate): Make `suspended' a + port; remove `arrived'. + * sysdeps/mach/hurd/sigsuspend.c (sigsuspend): Rewritten to set + SS->suspended port and wait for msg on it. Check for and deliver + pending signals properly. + * hurd/hurdsig.c (_hurd_internal_post_signal: sigwakeup): If + SS->suspended is set, send an empty message on it and clear it. + + * math/test-math.c (print_trig_stuff): New function, tests many + math functions. + (main): Call it at end. + + * string/Makefile (tests): Added test-ffs. + * string/test-ffs.c: New file. + +Tue Aug 30 20:33:49 1994 Roland McGrath + + * misc/fstab.c (error): Return void. + (fstabscan): Return int. + + * sysdeps/i386/ffs.c: Use & modifier in constraint for CNT. + + * misc/fstab.c (EFTYPE): If not defined by errno.h, define this to + EINVAL. + (fstabscan): Return void. + +Tue Aug 30 11:00:01 1994 Michael I Bushnell + + * sysdeps/mach/hurd/__access.c (__access): Use a send right, + not a send-once right, in the new auth protocol. + * hurd/__setauth.c (_hurd_setauth): Likewise. + * hurd/hurdsig.c (reauth_proc): Likewise. + * hurd/dtable.c (reauth_dtable): Likewise. + * hurd/hurdlookup.c (__hurd_file_name_lookup_retry): Likewise. + +Tue Aug 30 03:59:38 1994 Roland McGrath + + * socket/sys/socket.h (__SOCKADDR_ARG) [GCC>=2.6]: Use a typedef + with the transparent_union attribute. + + * sysdeps/mach/hurd/__access.c: Use new authentication protocol: + for each port, create a fresh receive right and pass send-once + rights in the auth calls, then destroy the port. + + * sysdeps/mach/mips/syscall.S: New file. + + * stdio/Makefile (mpn-headers, mpn-sysdep): Change asm.h to + asm-syntax.h. + + * misc/Makefile (headers): Added fstab.h. + (routines): Added fstab. + * misc/fstab.c: New file. + * misc/fstab.h: New file. + + * hurd/Makefile (routines): Changed hurdpath to hurdlookup. + * hurd/hurdpath.c: Renamed to hurd/hurdlookup.c. + * hurd/hurdlookup.c: Globally replace `pathtrans' with `lookup' and + `path' with `file_name'. + (__hurd_file_name_split): Don't bother skipping leading slashes. + * hurd/hurd.h: Rename likewise in decls. + * hurd/fchroot.c: Globally replace `pathtrans' with `lookup' and + `path' with `file_name'. + * hurd/hurdsig.c: Likewise. + * hurd/hurdsock.c: Likewise. + * hurd/hurdsyms.c: Likewise. + * hurd/invoke-trans.c: Likewise. + * sysdeps/mach/hurd/__access.c: Likewise. + * sysdeps/mach/hurd/__chmod.c: Likewise. + * sysdeps/mach/hurd/__chown.c: Likewise. + * sysdeps/mach/hurd/__execve.c: Likewise. + * sysdeps/mach/hurd/__link.c: Likewise. + * sysdeps/mach/hurd/__lstat.c: Likewise. + * sysdeps/mach/hurd/__mkdir.c: Likewise. + * sysdeps/mach/hurd/__mknod.c: Likewise. + * sysdeps/mach/hurd/__open.c: Likewise. + * sysdeps/mach/hurd/__rmdir.c: Likewise. + * sysdeps/mach/hurd/__readlink.c: Likewise. + * sysdeps/mach/hurd/__stat.c: Likewise. + * sysdeps/mach/hurd/__symlink.c: Likewise. + * sysdeps/mach/hurd/__unlink.c: Likewise. + * sysdeps/mach/hurd/__utimes.c: Likewise. + * sysdeps/mach/hurd/bind.c: Likewise. + * sysdeps/mach/hurd/chflags.c: Likewise. + * sysdeps/mach/hurd/connect.c: Likewise. + * sysdeps/mach/hurd/fchdir.c: Likewise. + * sysdeps/mach/hurd/opendir.c: Likewise. + * sysdeps/mach/hurd/sysd-stdio.c: Likewise. + * sysdeps/mach/hurd/truncate.c: Likewise. + * sysdeps/mach/hurd/rename.c: Likewise. + * sysdeps/mach/hurd/getcwd.c: Likewise. + * sysdeps/mach/hurd/chroot.c: Likewise. + * sysdeps/mach/hurd/__chdir.c: Likewise. + + * hurd/__setauth.c (_hurd_setauth): Use new authentication + protocol: for each port, create a fresh receive right and pass + send-once rights in the auth calls, then destroy the port. + * hurd/hurdsig.c (reauth_proc): Likewise. + * hurd/dtable.c (reauth_dtable): Likewise. + + * hurd/hurdpath.c (__hurd_path_lookup_retry): Don't handle + FS_RETRY_NONE (it's gone). Use new authentication protocol: + create a fresh receive right and pass send-once rights in the auth + calls, then destroy the port. + +Mon Aug 29 13:17:39 1994 Michael I Bushnell + + * sysdeps/mach/hurd/__symlink.c (__symlink): Use new + file_set_translator protocol. + * sysdeps/mach/hurd/bind.c (bind): Likewise. + * sysdeps/mach/hurd/__mknod.c (__mknod): Likewise. + + * sysdeps/mach/hurd/__pipe.c (__pipe): Use PF_LOCAL instead + of AF_FILE. + +Fri Aug 26 01:21:09 1994 Roland McGrath + + * Makefile ($(objpfx)sysd-dirs): Use sed to remove # comments from + Subdirs files. + + Support for miscellaneous standalone boards (no OS), contributed + by Joel Sherrill (jsherril@redstone-emh2.army.mil), On-Line + Applications Research Corporation. + * sysdeps/standalone: New directory. + * sysdeps/standalone/standalone.h: New file. + * sysdeps/standalone/stdio_lim.h: New file. + * sysdeps/stub/strtsupp.c: New file. + * sysdeps/standalone/filedesc.h: New file. + * sysdeps/posix/{setenv,putenv}.c: Moved to sysdeps/generic. + * sysdeps/unix/getenv.c: Moved to sysdeps/generic. + * sysdeps/unix/morecore.c: Moved to sysdeps/generic. + * sysdeps/posix/sysd-stdio.c: Moved to sysdeps/generic. + * sysdeps/stub/errnos.h: Add ENFILE and EMFILE. + * sysdeps/stub/errlist.c (_sys_errlist): Likewise. + * sysdeps/stub/console.c: New file. + * sysdeps/standalone/__open.c: New file. + * sysdeps/standalone/__read.c: New file. + * sysdeps/standalone/__write.c: New file. + * sysdeps/standalone/__close.c: New file. + * sysdeps/stub/brdinit.c: New file. + * sysdeps/unix/__sbrk.c: Moved to sysdeps/generic. + * sysdeps/standalone/__brk.c: New file. + * sysdeps/standalone/Subdirs: New file + * bare/Makefile: New file (and new directory). + * sysdeps/i960/ffs.c: New file. + * sysdeps/i960/Implies: New file. + * configure.in (os=none): base_os=standalone + +Thu Aug 25 23:56:32 1994 Roland McGrath + + * sysdeps/stub/__sigret.c: Arg is not const. + * signal/sigret.c: Likewise. + +Tue Aug 23 14:43:19 1994 Roland McGrath + + * socket/sys/socket.h (PF_FILE, AF_FILE): Removed (use LOCAL instead). + (PF_XTP, PF_COIP, PF_CNT, PF_RTIP, PF_IPX, PF_SIP, PF_PIP): New + macros. + (PF_MAX): Increased to 26. + (pseudo_AF_XTP, AF_COIP, AF_CNT, pseudo_AF_RTIP, AF_IPX, AF_SIP, + pseudo_AF_PIP): New macros. + (MSG_EOR, MSG_TRUNC, MSG_CTRUNC, MSG_WAITALL, MSG_DONTWAIT, + SO_REUSEPORT): New enum constants. + + * hurd/hurdsig.c (_hurd_internal_post_signal): If not preempted, + set ACT before checking for SIGCONT. When continuing and + ACT==handle, don't resume SS->thread; record that it is suspended + and in handler-setup code, don't suspend it again. + + * sysdeps/mach/hurd/sys/param.h: Include (BSD does). + + * sysdeps/mach/hurd/__fork.c: When unchaining old sigstates, check + for SS being head of chain. + +Mon Aug 22 00:29:02 1994 Roland McGrath + + * time/{asia,australasia,europe,northamerica}: New data from ADO. + + * hurd/hurdsig.c (abort_rpcs): After destroying MSGING_PORT, + change the return value register in STATE to EINTR. + * sysdeps/mach/mips/thread_state.h (SYSRETURN): New macro. + * sysdeps/mach/i386/thread_state.h (SYSRETURN): New macro. + + * hurd/hurdsig.c (default_sigaction): New function. + (_hurd_thread_sigstate): Use it to initialize SS->actions. + Initialize rest of new sigstate by hand, don't just bzero it. + + * hurd/hurdsig.c (_hurd_internal_post_signal): Initialize + THREAD_STATE.set to zero. + + * posix/execl.c: Use ARG instead of PATH in va_start. + + * sysdeps/mach/hurd/__fork.c: In child fork, unchain stale + structures from _hurd_sigstates first, and only free them after + other processing is complete. + + * hurd/hurdpath.c (__hurd_path_lookup_retry): For malformed number + in magic "fd/N", return ENOENT instead of treating it as bogus + magic. + + * sysdeps/mach/hurd/__chdir.c: After __path_lookup on arg, use + __hurd_path_lookup of empty file name on resultant port to check + that it's a directory. + * sysdeps/mach/hurd/chroot.c: Likewise. + * sysdeps/mach/hurd/fchdir.c: Use __hurd_path_lookup of empty file + name on FD port to check that it's a directory and acquire a + reference at the same time. + * hurd/fchroot.c: Likewise. + + * hurd/hurdpid.c (init_pids): Add gratuitous self reference to + silence compiler. + + * hurd/hurdpath.c: Include for cttyid opening rpc. + (__hurd_path_lookup_retry): Fixed typo. + + * sysdeps/mach/hurd/i386/__sigret.c: Push state onto the user's + stack, switch to it, pop and return. + + Major rewrite of Hurd signal delivery. + * hurd/hurd/signal.h (struct hurd_sigstate): New member `context'. + * sysdeps/mach/hurd/i386/trampoline.c: Include "thread_state.h" + instead of . + (struct mach_msg_trap_args): New type. + (trampoline): Function removed. + (_hurd_setup_sighandler): Take struct hurd_sigstate * arg instead + of FLAGS and SIGALTSTACK args; take new flag arg RPC_WAIT; use + struct machine_thread_all_state * for STATE arg. New declared + labels `trampoline', `rpc_wait_trampoline' mark asm code at end of + function (after return). Add another struct sigcontext * to + STACKFRAME after the first one, for the arg to __sigreturn. If + SS->context is set, fill registers in SCP from that instead of + STATE, and reset SS->INTR_PORT from it. Use memcpy to copy from + STATE into SCP; the structures are congruent. If RPC_WAIT is set, + set up to use rpc_wait_trampoline and frob args to mach_msg_trap + syscall in progress so that it will retry the receive operation + (but not resend!). + {rpc_wait_trampoline, trampoline}: New trampoline code. + (_hurd_rcv_interrupted_p): New function. + * sysdeps/mach/hurd/mips/trampoline.c: Likewise. + * hurd/hurdsig.c (write_corefile): Take new arg SIGERROR. Use + _hurdsig_getenv instead of getenv. Use dir_mkfile to create an + unlinked node for the core file; then use dir_link to name it, + only if core_dump_task succeeded. + (post_reply): New function. + (abort_thread): New function. + (interrupted_reply_port_location): New function. + (interrupted_reply_port): Function removed (replaced by above). + (abort_all_rpcs): Take struct machine_thread_all_state * for STATE. + (abort_rpcs): Likewise. + Return int, nonzero iff interrupt_operation RPC was done. Take + args for reply port and its port type; call abort_thread instead + of doing thread_abort and thread_get_state. Call + _hurdsig_rcv_interrupted_p instead of _hurd_thread_state_msging_p. + Use __interrupt_operation mig stub instead of manual packing. If + we destroy the msging port, and it is the thread's mig reply port, + clear its reply port slot. Fix inverted SA_RESTART test. + (_hurd_internal_post_signal): Take new arg SIGERROR. + Remove `cont' from ACT enum; SIGCONT processing is independent of + handling. Removed local function `check_pending'; add `reply'. + Use mask macro STOPSIGS instead of alternation to check for stop + signals. Process SIGCONT and do continuation before examining the + handler. Use SS->pending_data instead of SS->sigcodes. When + dying, don't lock _hurd_siglock around __proc_dostop call. When + dying, reply immediately after stopping user threads. When + handling, notice return from abort_rpcs and pass it to + _hurd_setup_sighandler; also pass SS instead of its components. + Set SCP->sc_error from SIGERROR; clear SS->intr_port after saving + it in SCP->sc_intr_port. For pending checks, use macro PENDING + and goto pending if returns true. + (_S_sig_post): Eliminate unnecessary variable WIN; pass SIGERROR + value of zero to _hurd_internal_post_signal. + (_hurdsig_getenv): New function. + * sysdeps/mach/hurd/i386/__sigret.c (sp): New global register + variable. + (__sigreturn): Arg is not const. + After restoring SCP->sc_mask, check for pending signals (newly + unblocked); if any, set SS->context to SCP, clear SS->intr_port, + and send sig_post to the signal thread to deliver the pending + signals. Point SP directly at &SCP->sc_gs and used popa;iret to + restore. (This does not actually work; iret is unhelpful.) + * sysdeps/mach/hurd/mips/__sigret.c (__sigreturn): Arg is not + const. After restoring SCP->sc_mask, check for pending signals + (newly unblocked); if any, set SS->context to SCP, clear + SS->intr_port, and send sig_post to the signal thread to deliver + the pending signals. Don't write $1 value into the user stack. + Instead, write it into the word just past SCP->sc_pc; then point + $1 at SCP->sc_pc and use `op_sigreturn' pseudo-instruction to + restore the PC and $1 from that. + +Fri Aug 19 15:39:54 1994 Roland McGrath + + * configure.in (machine): Grok i586 -> i386/i586. + * sysdeps/i386/pentium: Directory renamed to sysdeps/i386/i586. + + * hurd/hurd.h (_hurd_pids_changed_stamp, _hurd_pids_changed_sync): + New variables. + * hurd/hurdpid.c (_S_proc_newids): Last thing, increment + _hurd_pids_changed_stamp and broadcast on _hurd_pids_changed_sync. + * sysdeps/mach/hurd/__setpgrp.c: After proc_setpgrp succeeds and + PID is ourself, wait on _hurd_pids_changed_sync until + _hurd_pids_changed_stamp increases from the value before the RPC. + * sysdeps/mach/hurd/__setsid.c: After proc_setsid succeeds, wait + on _hurd_pids_changed_sync until _hurd_pids_changed_stamp + increases from the value before the RPC. + + * posix/sys/wait.h [GCC>=2.6] (__WAIT_STATUS): Define this with + typedef as a union with the new (GCC 2.6.1) `transparent_union' + attribute. + + * stdio/printf_fp.c (MPNSIZE): New macro, computed from DBL_MAX_EXP. + (MPN_VAR): Use that for size of bignums. + + * sysdeps/mach/hurd/__kill.c: For pgrp, ignore ESRCH error from + kill_pid of individual pids, unless from all of them. + * hurd/hurdkill.c (_hurd_sig_post): Likewise. + +Fri Aug 19 00:54:50 1994 Roland McGrath + + * configure.in (INSTALL): Quote this shell goop from m4. + + * sysdeps/stub/start.c (errno, __environ): Define these variables. + + * sysdeps/stub/errnos.h (ENOMEM, EACCES): New macros. + * sysdeps/stub/errlist.c (_sys_errlist): Add strings for all + macros defined in stub/errnos.h. + (_sys_nerr): Use value computed from sizeof (_sys_errlist). + +Wed Aug 17 15:32:39 1994 Roland McGrath + + * hurd/hurdmsg.c (_S_io_select_done): Take poly arg for notify + port arg. + + * mach/mach_init.h (vm_page_size): Remove macro defn. + + * hurd/Makefile (distribute): Added STATUS. + + * sysdeps/mach/thread_state.h: Include and + . + + * sysdeps/mach/hurd/__select.c: Pass port-type arg to io_select. + + * sysdeps/mach/hurd/__fork.c: Include "hurdmalloc.h", so we use + the right `free'. + + * sysdeps/mach/hurd/__select.c (SELECT_DONE_MSGID): Correct value + to 23020. + (__select): Don't set PORT until just before sending io_select calls. + Pass proper send-size for io_select_done reply message. Clear the + reply port slot in io_select_done reply message header. + + * sysdeps/mach/hurd/__kill.c: Rename parameter to ARG_SIG, make + SIG a local variable initialized to that (this to work around a + GCC bug). + Initialize PIDS and NPIDS properly for proc_getpgrppids call. + + * signal/signal.h (__sigreturn, sigreturn): Arg is not const. + + * hurd/hurdpath.c (__hurd_path_lookup_retry): For REAUTH or NORMAL + with empty retryname, treat like NONE (which is now obsolete) + after reauthentication. For magic "tty", use new + termctty_open_terminal RPC on cttyid port. + +Tue Aug 16 01:58:21 1994 Roland McGrath + + * sysdeps/mach/hurd/__kill.c (kill_pid): Make non-inline. Treat + null msgport like EPERM return from sig_post. + * hurd/hurdkill.c (_hurd_sig_post): Treat null msgport like EPERM. + + * sysdeps/mach/thread_state.h (machine_get_state, + machine_get_basic_state): Initialize count arg before calling + thread_get_state. + + * hurd/hurdpath.c (__hurd_path_lookup_retry): Initialize ERR to zero. + + * hurd/hurdpath.c (__hurd_path_lookup_retry): Grok magic "tty". + + * hurd/hurd/signal.h (struct hurd_sigstate): Replace `sigcodes' with + `pending_data'. + (_hurd_raise_signal, _hurd_setup_sighandler): Update prototypes. + (_hurd_thread_state_msging_p): Don't declare. + (_hurdsig_rcv_interrupted_p): Declare this instead. + (HURD_EINTR_RPC): Invert sense of restart test. + + * hurd/hurdrlimit.c (_hurd_rlimits): Add braces to initializer. + + * hurd/catch-exc.c: Unlock _hurd_siglock when done with it. Use + __spin_lock_locked on `held' member instead of __mutex_lock_locked. + + * sysdeps/mach/thread_state.h: New file. + * sysdeps/mach/i386/thread_state.h: Don't #include + . Add #include_next at end. + * sysdeps/mach/mips/thread_state.h: Likewise. + + * sysdeps/mach/hurd/i386/sigcontext.h (struct sigcontext): Lay out + corresponding to i386_thread_state and i386_float_state. + * sysdeps/mach/hurd/mips/sigcontext.h (sc_mips_thread_state, + sc_mips_exc_state, sc_mips_float_state): New macros, marking + members that correspond to thread_state.h structs. + +Mon Aug 15 17:21:20 1994 Roland McGrath + + * Rules [cross-compiling=yes] (tests): Depend on the binaries, not + the output files. + + * Makerules: Replace uses of HOST_CC with BUILD_CC and + native-CFLAGS with BUILD_CFLAGS. + + * sysdeps/unix/Makefile (mk-local_lim, make-ioctls): Replace uses + of CC with BUILD_CC and native-CFLAGS with BUILD_CFLAGS. + * sysdeps/unix/sysv/sysv4/solaris2/Makefile: Replace uses of + HOST_CC with BUILD_CC and native-CFLAGS with BUILD_CFLAGS. + * sysdeps/posix/Makefile: Likewise. + + * Makeconfig (+cc_version): Variable and associated code removed. + (HOST_CC): Use BUILD_CC instead; all uses changed. + (cross-compiling): Set to no if not the case. + + * sysdeps/m68k/fpu/__math.h: Replace all uses of __const with + __CONSTVALUE. + + * Makerules (distinfo-vars): Remove $@.new first thing. Write + elided-routines instead of sysdep_routines. After writing + variables, append to sources from $(elided-routines). + * sysdeps/vax/Makefile (elided-routines): New variable (append to + it). + (aux, routines): Don't set these. + (sysdep_routines): Append things here instead. + * sysdeps/generic/Makefile (elided-routines): New variable (append + to it). + (aux): Don't set this. + * sysdeps/generic/Makefile (routines): Don't set this. + (sysdep_routines): Append exp__E and log__L here instead. + + * time/test_time.c (main): Set TBUF.tm_isdst to -1 before calling + mktime. + + * stdlib/stdlib.h (atof, atoi, atol, random, srandom, setstate, + initstate, mblen): Never define as macros. + [__OPTIMZE__ && __GNUC__ >= 2]: Define those functions as extern + inlines. + + * hurd/hurdpath.c (__hurd_path_lookup_retry): For magic "fd/%u", + lose on random chars after number; for / after number, retry + remainder properly. + + * hurd/hurdpath.c (pathtrans_error): New function; filters errors + from dir_pathtrans: EOPNOTSUPP and MIG_BAD_ID become ENOTDIR. + (__hurd_path_lookup, __hurd_path_lookup_retry): Call it. + +Thu Aug 11 11:59:33 1994 Noel Cragg (noel@churchy.gnu.ai.mit.edu) + + * time/mktime.c (_mktime_internal): Add code to normalize value of + TM_ISDST to -1, 0, or 1 so code doesn't loop forever. + +Thu Aug 11 02:26:37 1994 Roland McGrath + + * resolv/Makefile (subdir): Set to resolv, not res. + + * sysdeps/mach/hurd/sysd-stdio.c (fd_fail): Pass ERR to + _hurd_raise_signal. + + * sysdeps/mach/i386/thread_state.h (struct machine_thread_all_state): + Add new member `fpu'. + +Wed Aug 10 23:39:49 1994 Karl Heuer + + * malloc/mcheck.c (mcheck): Remove obsolete extern declaration. + + * malloc/mcheck.c (flood): Add an arg. + (freehook, mallochook, reallochook): Use different flood bytes to + distinguish freed space from uninitialized allocated space. + + * malloc/mtrace.c (mtrace): Guard against being called twice. + (muntrace): New function, to turn off tracing. + * malloc/malloc.h: Declare it. + +Wed Aug 10 02:47:24 1994 Roland McGrath + + * sysdeps/mach/hurd/mips/sigcontext.h (struct sigcontext): Renamed + member `sc_err' to `sc_error'. + + * hurd/hurd-raise.c: Take new arg SIGERROR. Set + SS->pending_data[SIGNO] from SIGCODE and SIGERROR instead of + setting SS->sigcodes[SIGNO]. + + * Makeconfig (+includes): Use text manipulation to avoid + conditional for $(..). Append $(last-includes). + * sysdeps/mach/hurd/Makefile (last-includes): Append + -I.../libthreads to this. + (includes): Not to this. + + * hurd/hurd/fd.h (_hurd_fd_error): Pass ERR to _hurd_raise_signal. + + * stdlib/stdlib.h [__OPTIMIZE__] (cfree, rand, srand, random, + srandom, initstate, setstate): Macros removed. + + * malloc/mcheck.c (reallochook): Fixed typo. + (mabort) [! __GNU_LIBRARY__]: Use fprintf and abort instead of + __libc_fatal. + + * hurd/Makefile (sig): Remove msging-p; that function will go in + trampoline.c. + * sysdeps/stub/msging-p.c: File removed. + * sysdeps/mach/hurd/mips/msging-p.c: File removed. + * sysdeps/mach/hurd/i386/msging-p.c: File removed. + +Tue Aug 9 19:20:29 1994 Roland McGrath + + * hurd/catch-exc.c: Get error code from _hurd_exception2signal and + pass it to _hurd_internal_post_signal. Search for SS manually + rather than using _hurd_thread_sigstate, to avoid locks. + + * sysdeps/mach/hurd/mips/msging-p.c: Fetch port argument from + register $8 (t0) instead of stack. Change type of STATE arg to + `struct machine_thread_all_state *'. + + * inet/inet_netof.c: Incorporated from BSD 4.4-Lite. + * inet/inet_net.c: Incorporated from BSD 4.4-Lite. + +Tue Aug 9 18:28:40 1994 Karl Heuer + + * malloc/mtrace.c (tr_mallochook, tr_reallochook): Don't assume + %lx format matches size_t arg. + * malloc/mtrace.c: Enable file- and line-number tracing. + * malloc/mtrace.awk: Postprocess that trace information. + + * malloc/mcheck.c (flood): New function. + (freehook, mallochook, reallochook): Initialize new space and + freed space to non-zero garbage, to help find code that makes + unwarranted assumptions. + +Mon Aug 8 01:20:56 1994 Roland McGrath + + * sysdeps/mach/hurd/mips/exc2signal.c (_hurd_exception2signal): Take + new arg `int *error'; set it. + * sysdeps/mach/hurd/i386/exc2signal.c: Likewise. + * sysdeps/stub/exc2signal.c: Likewise. + * hurd/hurd/signal.h (_hurd_exception2signal): Take new arg + `int *error'. + (_hurd_internal_post_signal): Take new arg `int error'. + + * res: Directory renamed to resolv. + * sysdeps/unix/inet/Subdirs: Change res to resolv. + + * Version 1.08.6. + + * sysdeps/sparc/divrem.m4 (DEVELOP_QUOTIENT_BITS): Use ** instead of + ^ for exponentiation. Pinard says it is more portable. + + * sysdeps/mach/hurd/mips/sigcontext.h (struct sigcontext): Added + member `sc_err'. + * sysdeps/mach/hurd/i386/sigcontext.h (struct sigcontext): Move + sc_err to front machine-independent section; change its comment. + + * sysdeps/stub/thread_state.h (struct machine_thread_all_state): New + type. + * sysdeps/mach/i386/thread_state.h: Likewise. + * sysdeps/mach/mips/thread_state.h: Likewise. + + * sysdeps/mach/i386/Implies: File removed; it was superfluous. + + * sysdeps/sparc/divrem.m4 (Lgot_result): Add more quotes in ifelse. + + * configure.in (fpu_dirs): Fixed typo. + +Sun Aug 7 01:13:04 1994 Roland McGrath + + * inet/inet_lnaof.c: Incorporated from BSD 4.4-Lite. + * inet/inet_mkadr.c: Incorporated from BSD 4.4-Lite. + * inet/inet_addr.c: Incorporated from BSD 4.4-Lite. + * res/Makefile (headers): Use only arpa/nameser.h, not arpa/*.h. + * res/arpa/inet.h: Moved to inet/arpa/inet.h. + * inet/arpa/inet.h: Incorporated from BSD 4.4-Lite. + + * misc/init-misc.c: New file. + * misc/Makefile (aux): Added init-misc. + + * Makeconfig (localtime-file): Use $(sysconfdir) instead of + $(etcdir). + + * Makerules (install-bin-nosubdir): Use $(install-bin) instead of + $(install). + (install-sbin-nosubdir): New target. + (install-no-libc.a-nosubdir): Depend on that. + + * configure.in ($nfp check): Iterate through $mach and use all + fpu/ dirs that exist. + +Wed Aug 3 02:46:03 1994 Roland McGrath + + * sysdeps/mach/hurd/mips/sigcontext.h: Rearranged structure so + machine-dependent portion is laid out like `struct mips_thread_state; + struct mips_exc_state; struct mips_float_state;'. + + * Version 1.08.5. + + * sysdeps/mach/hurd/mips/__sigret.c: Compare *reply_port to + MACH_PORT_NULL, not implicit zero. + (restore_gpr): Use N-1 as subscript into sc_gpr (sc_gpr[0] => $1). + Before general regs, restore from sc_mdlo and sc_mdhi. Don't + treat sp, fp specially; use restore_gpr for them too. For final + return, store user $1 value beyond top of user stack ahead of + time; then use $1 to hold the user PC, and restore it from the + stack in the delay slot. + +Tue Aug 2 21:03:51 1994 Roland McGrath + + * sysdeps/mach/hurd/mips/trampoline.c (_hurd_setup_sighandler): + Copy TS to SCP all at once. + * sysdeps/mach/hurd/mips/sigcontext.h (struct sigcontext): sc_gpr + has 31 elts; sc_gpr, sc_pc, sc_mdlo, sc_mdhi are arranged in that + order to mimic struct mips_thread_state. + + * Make-dist (all-headers): Instead of removing rpcsvc/%, use + $(wildcard) to remove all headers that don't exist at top level, + but preserve top-level $(headers). + + * Make-dist (sysdep_dirs): Avoid directories called RCS. + (%/configure): Pass -f to mv. + + * sysdeps/mips/setjmp.S [__sgi__]: Use `fp' instead of `$fp'. + +Mon Aug 1 20:12:23 1994 Roland McGrath + + * sysdeps/mach/hurd/mips/sigcontext.h (struct sigcontext): Add + members sc_mdlo, sc_mdhi. + * sysdeps/mach/hurd/mips/trampoline.c (_hurd_setup_sighandler): + Save mdlo and mdhi. + +Sun Jul 31 14:21:16 1994 Roland McGrath + + * time/mktime.c: Remove errant comment end sequence. + + * termios/sys/ttydefaults.h: Incorporated from BSD 4.4-Lite. + * sysdeps/vax/DEFS.h: Incorporated from BSD 4.4-Lite. + * sysdeps/unix/bsd/sys/reboot.h: Incorporated from BSD 4.4-Lite. + * sysdeps/unix/bsd/bsd4.4/errnos.h: Updated from 4.4-Lite sys/errno.h. + [__USE_BSD] (EAUTH, ENEEDAUTH, ELAST): New macros. + * sysdeps/ieee754/support.c: Incorporated from BSD 4.4-Lite. + * sysdeps/ieee754/cbrt.c: Incorporated from BSD 4.4-Lite. + * sysdeps/generic/trig.h: Incorporated from BSD 4.4-Lite. + * sysdeps/generic/tanh.c: Incorporated from BSD 4.4-Lite. + * sysdeps/generic/tan.c: Incorporated from BSD 4.4-Lite. + * sysdeps/generic/sinh.c: Incorporated from BSD 4.4-Lite. + * sysdeps/generic/sincos.c: Incorporated from BSD 4.4-Lite. + * sysdeps/generic/pow.c: Incorporated from BSD 4.4-Lite. + * sysdeps/generic/mathimpl.h: Incorporated from BSD 4.4-Lite. + Add back __izing #define's, except for exp__E and log__L, which + have been renamed with __s in 4.4-Lite. + * sysdeps/generic/log__L.c: Incorporated from BSD 4.4-Lite. + * sysdeps/generic/log1p.c: Incorporated from BSD 4.4-Lite. + * sysdeps/generic/log.c: Incorporated from BSD 4.4-Lite. + * sysdeps/generic/fmod.c: Incorporated from BSD 4.4-Lite. + * sysdeps/generic/exp__E.c: Incorporated from BSD 4.4-Lite. + * sysdeps/generic/exp.c: Incorporated from BSD 4.4-Lite. + * sysdeps/generic/cosh.c: Incorporated from BSD 4.4-Lite. + * sysdeps/generic/atanh.c: Incorporated from BSD 4.4-Lite. + * sysdeps/generic/atan2.c: Incorporated from BSD 4.4-Lite. + * sysdeps/generic/asinh.c: Incorporated from BSD 4.4-Lite. + * sysdeps/generic/asincos.c: Incorporated from BSD 4.4-Lite. + * misc/getusersh.c: Incorporated from BSD 4.4-Lite. + (initshells): Reapply fix of 16 Nov 1992. + * sysdeps/generic/acosh.c: Incorporated from BSD 4.4-Lite. + * sysdeps/generic/__expm1.c: Incorporated from BSD 4.4-Lite. + * misc/ttyslot.c: Incorporated from BSD 4.4-Lite. + * misc/ttyent.h: Incorporated from BSD 4.4-Lite. + * misc/syslog.c: Incorporated from BSD 4.4-Lite. + * misc/paths.h: Incorporated from BSD 4.4-Lite. + * misc/getttyent.c: Incorporated from BSD 4.4-Lite. + * misc/sys/syslog.h: Incorporated from BSD 4.4-Lite. + Don't include ; define _BSD_VA_LIST_ to __gnuc_va_list. + * inet/rexec.c: Incorporated from BSD 4.4-Lite. + * inet/rcmd.c: Incorporated from BSD 4.4-Lite. + (rcmd): Reapply select max fd fix of 3 Jun 1994. + * inet/pathnames.h: File removed. + * inet/inet_ntoa.c: Incorporated from BSD 4.4-Lite. + * inet/getsrvbypt.c: Incorporated from BSD 4.4-Lite. + * inet/getsrvbynm.c: Incorporated from BSD 4.4-Lite. + * inet/getservent.c: Incorporated from BSD 4.4-Lite. + * inet/getprtname.c: Incorporated from BSD 4.4-Lite. + * inet/getprtent.c: Incorporated from BSD 4.4-Lite. + * inet/getproto.c: Incorporated from BSD 4.4-Lite. + * inet/protocols/timed.h: Incorporated from BSD 4.4-Lite. + * inet/protocols/talkd.h: Incorporated from BSD 4.4-Lite. + * inet/protocols/rwhod.h: Incorporated from BSD 4.4-Lite. + * inet/protocols/routed.h: Incorporated from BSD 4.4-Lite. + * inet/arpa/tftp.h: Incorporated from BSD 4.4-Lite. + * inet/arpa/telnet.h: Incorporated from BSD 4.4-Lite. + * inet/arpa/ftp.h: Incorporated from BSD 4.4-Lite. + +Fri Jul 29 01:50:37 1994 Roland McGrath + + * Version 1.08.4. + + * res/Makefile (routines): Add missing backslash. + + * sysdeps/mach/hurd/mips/__sigret.c: Rename variable AT (which is + the register's name) to SCPREG. Fix some SCP references in + register loads to use SCPREG instead. Load SCPREG->sc_pc into $24 + and jump to it, restoring $at in the delay slot. This still + leaves $24 clobbered. + + * sysdeps/mach/hurd/mips/sigcontext.h: Use `unsigned int' + consistently for port names. + + * sysdeps/mach/hurd/mips/trampoline.c: Don't set up args on the + stack; pass them in registers. + + * Makefile (%/configure, sysd-dirs, munch-init.c): Pass -f to mv. + + * misc/sys/cdefs.h (__NORETURN, __CONSTVALUE): Use the + __attribute__ defn for GCC>=2.7, not >=2.6. Use the keyword defn + only for GCC<2.5. Use __volatile__ and __const__ instead of + noreturn and const for namespace safety. + + * sysdeps/mach/hurd/__readlink.c: If BUF is null, return the size + of buffer required. + +Thu Jul 28 17:17:11 1994 Roland McGrath + + * res/netdb.h: Declare h_errno. + + * res: New directory, for all code incoporated from BIND. + * inet/arpa/inet.h, inet/arpa/resolv.h: Moved to res/arpa. + * inet/sys/bitypes.h: Moved to res/sys. + * inet/gethstnamad.c: Renamed to res/gethnamaddr.c. + * inet/getnetbyad.c: Renamed to res/getnetbyaddr.c. + * inet/getnetbynm.c: Renamed to res/getnetbyname.c. + * inet/res_mkqry.c: Renamed to res/res_mkquery.c. + * inet/Makefile (headers): Removed netdb.h, resolv.h, and + sys/bitypes.h. + (routines): Removed res_comp res_debug res_init res_mkqry res_query + res_send gethstnmad sethostent. + (aux, distribute): Variables removed. + * res/getnetnamadr.c, res/nsap_addr.c: New files. + * All .c and .h in res/ updated from BIND-4.9.3-BETA9. + * res/Makefile: New file. + * sysdeps/unix/inet/Subdirs: Added res. + + * Makerules: Replace all uses of `.dep' suffix with `.d' suffix. + (+make-deps): Replace `.dtm' suffix with `.T' suffix. + +Wed Jul 27 06:13:30 1994 Noel Cragg (noel@churchy.gnu.ai.mit.edu) + + * time/mktime.c: Add code to support tm_isdst flag in struct tm. + Fixed bug with handling of DST sections. + +Mon Jul 25 17:17:28 1994 Roland McGrath + + * sysdeps/sparc/divrem.m4 (Lgot_result) [S=true]: Only test SIGN + and negate for [OP=div]. + + * socket/sys/socket.h (__SOCKADDR_ARG): New macro; for GCC 2.6 and + later, a funky union similar to __WAIT_STATUS in . + (bind, getsockname, connect, getpeername, sendto, recvfrom, + accept): Use __SOCKADDR_ARG in place of `struct sockaddr *' in + declarations. + + * posix/glob/configure.bat: New file. + * posix/Makefile (glob.tar): Add glob/configure.bat. + + * sysdeps/unix/opendir.c: Fail with ENOENT when passed "". + Check STATBUF and fail with ENOTDIR if it's not a directory. + +Mon Jul 25 15:44:18 1994 Noel Cragg (noel@churchy.gnu.ai.mit.edu) + + * time/mktime.c: Fix range-checking bug in NORMALIZE macro. + +Fri Jul 22 02:42:44 1994 Roland McGrath + + * sysdeps/unix/readdir.c: Search for NUL character to limit + d_namlen. Some systems return very bogus values. + + * sysdeps/unix/sysv/sysv4/i386/sysdep.h (PSEUDO): Remove ret at end. + + * mach/Makefile (mach-shortcuts): Filter out device_writev_request. + + * limits.h (_LIBC_LIMITS_H_): Don't define if already defined. + [__GNUC__ < 2]: Only protect this section from multiple inclusion. + + * sysdeps/mach/hurd/i386/trampoline.c (_hurd_setup_sighandler): + Declare SIGSP volatile. + + * hurd/hurdinit.c (_hurd_setproc): Fixed arg in + _hurd_pgrp_changed_hook decl. + + * hurd/hurd/signal.h (_hurd_self_sigstate_unlocked): New function. + (HURD_EINTR_RPC): Use it instead of _hurd_self_sigstate followed by + __mutex_unlock; this thread might already hold the lock. + +Wed Jul 20 18:53:54 1994 Michael I Bushnell + + * hurd/fd-read.c (_hurd_fd_read): Test for EBACKGROUND in + do loop was reversed. + + * hurd/hurdpath.c (__hurd_path_lookup): Skip over initial slashes + before calling __dir_pathtrans. + +Tue Jul 19 15:28:39 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * mach/Makefile (user-interfaces): Add mach/mach4. + (mach-shortcuts): Match all syscall_% again; the missing ones are in + mach4.defs. + + * mach/Machrules (%.ir): Match SimpleRoutine as well as Routine + comments. + + * sysdeps/mach/hurd/Makefile ($(hurd)/errlist.c): Use -f flag to mv. + +Sat Jul 16 00:42:30 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Makerules [install]: Rewrite this rule to use install-bin. + [install-sbin]: New rule parallel to that one, installs in $(sbindir). + + * time/Makefile (install-sbin): Set this instead of install. + * sunrpc/Makefile (install-others): Use $(sysconfdir)/rpc instead + of $(etcdir)/rpc. + (install-bin): Set this instead of install; set it to just rpocgen. + (install-sbin): Put rpcinfo and portmap here instead. + ($(sysconfdir)/rpc): Rule renamed from $(etcdir)/rpc. + (defines): Rename it in _PATH_RPC defn here too. + + * posix/Makefile (install-bin): Set this instead of install. + + * Makeconfig (datadir): Default to $(prefix)/share, not $(prefix)/lib. + (sbindir): New variable. + (sysconfdir): Variable renamed from etcdir. + + * sysdeps/unix/bsd/sun/signum.h: New file; no SIGINFO, SIGLOST is 29. + + * sysdeps/unix/sysv/sco3.2.4/uname.S: New file from Scott Bartram. + + * sysdeps/unix/sysv/sco3.2.4/__getgrps.c: Include alloca.h. + + * configure.in (INSTALL): If it is $srcdir/install.sh after + AC_PROG_INSTALL, reset it to '$(..)./install.sh'. + + * sysdeps/mach/hurd/__ioctl.c (io2mach_type): Move macro defn before + first use. + (__ioctl): Fix swapped args to __sigismember; remove unused variable. + + * sysdeps/mach/hurd/send.c: Fix portsPoly arg to __socket_send. + * sysdeps/mach/hurd/sendto.c: Likewise. + + * sysdeps/mach/hurd/recv.c: Pass &BUFP, not BUFP. + * sysdeps/mach/hurd/recvfrom.c: Likewise. + + * sysdeps/mach/hurd/connect.c: Include . + + * sysdeps/mips/dec/bytesex.h: New file. + * sysdeps/mips/p40/bytesex.h: New file. + +Fri Jul 15 23:12:06 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * posix/sys/types.h (u_quad, quad): Renamed to &_t. + * posix/gnu/types.h [__GNUC__] (__u_quad_t, __quad_t, __qaddr_t): + New typedefs, using long long int and derivatives. + [! __GNUC__] (__u_quad, __quad): Renamed to &_t. + (__fsid_t): Make this always be __u_quad_t. + + * time/sys/time.h (struct timespec): New type. + (TIMEVAL_TO_TIMEPSEC, TIMESPEC_TO_TIMEVAL): New macros. + +Thu Jul 14 15:43:39 1994 Brendan Kehoe (brendan@zen.org) + + * sysdeps/unix/sysv/sysv4/sysinfo.S: New file. + * sysdeps/unix/sysv/sysv4/Dist: Add sysinfo.S. + * sysdeps/unix/sysv/sysv4/Makefile: Add sysinfo to sysdep_routines + if we're inside misc. + * sysdeps/unix/sysv/sysv4/sethostnam.c: New file. + * sysdeps/unix/sysv/sysv4/__gethstnm.c: New file. + + * sysdeps/unix/sysv/sysv4/solaris2/fsync.S: New file. + +Tue Jul 12 00:57:08 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * mach/Makefile (mach-shortcuts): Only match known Mach + subsystems: vm, task, mach_port, and thread. + +Mon Jul 11 20:18:29 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * hurd/intr-rpc.defs, hurd/intr-rpc.awk: New files. + * hurd/Makefile (user-MIGFLAGS): Add -imacros intr-rpc.defs. + (transform-user-stub): New canned sequence. + (transform-user-stub-output): New variable. + Make the .ustamp files depend on intr-rpc.awk. + + * mach/Machrules (%.ir): Cull the RPC names from the preceding + comment rather than the definition, so we don't see any userprefix. + (transform-user-stub-output): New variable. + (%.ustamp: %.defs): Invoke $(transform-user-stub) inside for loop. + Use $(transform-user-stub-output) in place of `tmp' in arg to + move-if-change. + + * mach/Makefile [! mach-shortcuts] (user-interfaces): Also filter + out device/device_request. + +Mon Jul 11 17:50:14 1994 Brendan Kehoe (brendan@mole.gnu.ai.mit.edu) + + * sysdeps/unix/sysv/sysv4/Makefile: Put the sys-sig.S stuff in + here, rather than in .../sysv4/solaris2/sparc/Makefile. + * sysdeps/unix/sysv/sysv4/solaris2/sparc/Makefile: Removed the + sys-sig.S part. + +Sun Jul 10 19:04:24 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/mach/hurd/bind.c: Call __hurd_invoke_translator. + + * hurd/hurd.h (__hurd_invoke_translator, hurd_invoke_translator): + Declare them. + * hurd/Makefile (routines): Add invoke-trans. + * hurd/invoke-trans.c (__hurd_invoke_translator): New file. + * hurd/hurdsyms.c (hurd_invoke_translator): New alias. + + * hurd/hurdpath.c (__hurd_path_lookup_retry): New function. + * hurd/hurdsyms.c (hurd_path_lookup_retry: New alias. + * hurd/hurd.h (__hurd_path_lookup_retry, hurd_path_lookup_retry): + Declare them. + + * hurd/hurd/fd.h (_hurd_fd_error_signal): Return SIGLOST for + MIG_SERVER_DIED. + + * time/strftime.c: Make %j value 1-origin instead of 0-origin. + +Sat Jul 9 02:31:23 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * gnu-stabs.h (__SYMBOL_PREFIX): New macro, based on NO_UNDERSCORES. + Use it in all macros instead of explicit leading underscores. + Removed all [! __STDC__] definitions. + + * sysdeps/mach/hurd/mips/trampoline.c: New file. + * sysdeps/mach/hurd/mips/sigcontext.h: New file. + * sysdeps/mach/hurd/mips/longjmp-ts.c: New file. + * sysdeps/mach/hurd/mips/msging-p.c: New file. + * sysdeps/mach/hurd/mips/longjmp-ctx.c: New file. + * sysdeps/mach/hurd/mips/init-fault.c: New file. + * hurd/mach/hurd/mips/__sigret.c: New file. + * sysdeps/mach/hurd/mips/exc2signal.c: New file. + * sysdeps/mach/mips/thread_state.h: New file. + * sysdeps/mach/mips/machine-sp.h: New file. + * sysdeps/mach/mips/machine-lock.h: New file. + * sysdeps/mach/mips/sysdep.h: New file. + + * mach/Makefile (mach-syscalls.mk): Snarf 3rd arg from kernel_trap. + ($(mach-syscalls:%=__%.S): Emit kernel_trap instead of SYSCALL_TRAP. + * mach/syscalls.awk: Print nargs-$1 = $3 for each line. + * sysdeps/mach/sysdep.h: Include . + * sysdeps/mach/i386/sysdep.h (ENTRY, SYSCALL_TRAP): Macros removed. + + * sysdeps/mach/i386/machine-lock.h: Use __volatile in place of + volatile to work with -traditional. + +Fri Jul 8 21:06:43 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * hurd/hurdsig.c (_hurd_internal_post_signal): For stop signals, + clear pending SIGCONT no matter what action we choose. + Add new value `cont' to ACT enum; use it for default SIGCONT action. + (_hurd_internal_post_signal: sigwakeup): New local inline. + +Fri Jul 8 20:26:49 1994 Brendan Kehoe (brendan@zen.org) + + * sysdeps/unix/sysv/sysv4/solaris2/sparc/Makefile (sysdep-CFLAGS): Set + this to include the -mhard-quad-float option. + + * sysdeps/unix/sysv/sysv4/solaris2/sparc/sys-sig.S: New file. + * sysdeps/unix/sysv/sysv4/solaris2/sparc/Makefile: New file. + * sysdeps/unix/sysv/sysv4/solaris2/sparc/Dist: New file. + +Fri Jul 8 13:54:54 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * hurd/hurdpath.c (__hurd_path_lookup): Don't treat leading / + specially for FS_RETRY_NORMAL. Handle FS_RETRY_MAGICAL; leading / + here means use crdir. In that case, deallocate *RESULT if nonnull. + + * sysdeps/unix/sysv/sysv4/i386/sysdep.h: Don't define _ERRNO_H if + already defined. + + * posix/gnu/types.h (__ino_t): Make this unsigned int instead of + unsigned long int (matters for Alpha). + + * Makeconfig (+gccopt): Variable removed. + (+cflags): Don't use it. + (CPPFLAGS): Append $(sysdep-CPPFLAGS). + (CFLAGS): Append $(sysdep-CFLAGS). + + * sysdeps/mach/hurd/__ioctl.c: In MSGID calculation, skip blocks + of 100 for request commands >= 100, to allow for the reply msgids. + +Thu Jul 7 19:07:00 1994 Brendan Kehoe (brendan@zen.org) + + * sysdeps/unix/bsd/osf1/dirstream.h (DIR): Make __allocation + member be int, not size_t (which is a long). + +Thu Jul 7 15:21:15 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * hurd/__fopenport.c (readio, writeio, seekio, closeio): New + functions. + (funcsio): New const variable. + (__fopenport): Make the new stream use that for its io functions, and + the default room functions, and set its seen flag. + +Tue Jul 5 11:32:38 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * hurd/hurd/signal.h (struct hurd_sigstate): Removed `intr_restart'. + (HURD_EINTR_RPC): Uncommented. Declare label + `__do_call' so it has block instead of function scope. Don't use + SS->intr_restart; instead SS->intr_port being reset to + MACH_PORT_NULL tells us to restart the call. + + * sysdeps/mach/hurd/__ioctl.c: Enable use of HURD_EINTR_RPC. + Do ctty magic and check for EBACKGROUND to generate SIGTTOU. + + * mach/devstream.c (dealloc_ref): New function. + (mach_open_devstream): Add a user reference to DEV, and set + STREAM's close fn to dealloc_ref, which will release the reference. + + * hurd/fd-read.c (_hurd_fd_read): Enabled and rewrote SIGTTIN code. + * hurd/fd-write.c (_hurd_fd_write): Enabled and rewrote SIGTTOU code. + + * hurd/hurdsyms.c: Add an alias hurd_sig_post -> _hurd_sig_post. + * hurd/hurdkill.c (_hurd_sig_post): Renamed back from hurd_sig_post. + * hurd/hurd.h: Declare _hurd_sig_post. + + * hurd/hurdsig.c (_S_sig_post): Add SIGTTIN and SIGTTOU cases, + handled like SIGINT et al. + + * mach/devstream.c: Turn back on NL->CRNL translation. + + * stdio/xbug.c (main): Return instead of running off the end. + +Mon Jul 4 16:57:13 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 1.08.3. + +Sat Jul 2 00:15:37 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/mach/hurd/__ioctl.c: Account for three type fields in + message buffer size. + + * sysdeps/mach/hurd/i386/trampoline.c (_hurd_setup_sighandler): + Catch faults accessing user stack and return NULL. + * hurd/hurdsig.c (_hurd_internal_post_signal): When it does, die + with SIGILL and dump core. + + * hurd/hurdsig.c (_hurd_internal_post_signal): Use + _hurd_msgport_thread instead of __mach_thread_self () to avoid the + system call. (Signals will now lose if _hurd_msgport_thread gets + clobbered.) + (abort_rpcs): Always do thread_abort and thread_get_state. + + * misc/getpass.c: Fix typo resulting in newline not being removed. + + * termios/sys/ttydefaults.h [TTYDEFCHARS] (ttydefchars): Cast + _POSIX_VDISABLE to cc_t to avoid gcc warning. + +Fri Jul 1 14:07:40 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * hurd/Makefile (user-interfaces): Add hurd/ifsock. + + * socket/sys/socket.h (AF_LOCAL): New macro. + + * sysdeps/mach/hurd/__kill.c: Fix SIGKILL loop condition. + +Fri Jul 1 13:36:27 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu) + + * hurd/hurdkill.c (hurd_sig_post): New var PIDSBUF; initialize + PIDS and NPIDS correctly; only free PIDS if the MiG stub + changed it. + +Thu Jun 30 18:47:48 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu) + + * hurd/hurdsock.c (_hurd_socket_server): Zero up to and *including* + new[DOMAIN]. + +Thu Jun 30 08:12:28 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * hurd/hurdsig.c (abort_all_rpcs): Just iterate over _hurd_sigstates. + + * hurd/dtable.c (fork_child_dtable): Skip empty descriptor slots. + + * sysdeps/mach/hurd/__ioctl.c: Fix MSG.data size calculation. + +Wed Jun 29 19:06:54 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/mach/hurd/bind.c: For AF_LOCAL, create a new node in the + filesystem, put the ifsock translator on it, and fetch the + address port. + * sysdeps/mach/hurd/connect.c: For AF_LOCAL, look up the socket + file and fetch the address port using the ifsock protocol. + +Tue Jun 28 16:03:15 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * hurd/Makefile (routines): Add ports-get, ports-set, and hurdmsg. + (aux): Remove msgstub. + * hurd/hurdports.c (get): Just call _hurd_ports_get. + (set): Just call _hurd_ports_set. + (getcttyid, setcttyid): New functions. + * hurd/ports-get.c (_hurd_ports_get): New file, new function. + * hurd/ports-set.c (_hurd_ports_set): New file, new function. + * hurd/hurd.h: Declare _hurd_ports_get and _hurd_ports_set. + Declare getcttyid and setcttyid. + * hurd/__setauth.c (__setauth): Just call _hurd_setauth. + (_hurd_setauth): New function, code moved from __setauth. + * hurd/hurdinit.c (_hurd_setproc): New function. + * hurd/hurdioctl.c (_hurd_setcttyid): New function. + + * locale/C-ctype_ct.c (__ctype_tolower_C, __ctype_toupper_C): Use + integer constants instead of character constants for octal values + so they will not be sign extended. + + * sysdeps/mach/hurd/__setitmr.c (fork_itimer): New function, on + _hurd_fork_child_hook. + + * sysdeps/stub/sysd-stdio.c (__stdio_reopen): Fix typo in arg type. + * sysdeps/stub/__ioctl.c: Fix type of REQUEST arg. + * sysdeps/stub/syscall.c: Include ansidecl.h. + * sysdeps/stub/_exit.c: Add __NORETURN to defn. + + * sysdeps/unix/sysv/sysv4/sigset.h (_EXTERN_INLINE): Define to + `extern __inline', not empty. + + * sysdeps/mach/hurd/ttyname.c: Don't bother searching /dev. + +Sat Jun 25 15:41:29 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/mach/hurd/__fork.c: Moved proc_task2pid call to just + before proc_child. It is a waste to do it earlier. + +Sat Jun 25 13:17:39 1994 Michael I Bushnell (mib@geech.gnu.ai.mit.edu) + + * sysdeps/mach/hurd/__fork.c: Move proc_task2pid call to after + _hurd_ports are unlocked. Call proc_child nearly last thing. + Ignore errors from thread_resume. + +Fri Jun 24 20:21:11 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/posix/getcwd.c: Remove empty `#define'. + +Fri Jun 24 17:57:36 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu) + + * sysdeps/mach/hurd/__fork.c: Call proc_task2pid immediately after + task_create. Add comment explaining why thread_resume must be the + last thing we do to the child. + +Fri Jun 24 01:41:41 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * hurd/hurdinit.c (_hurd_proc_init): Call __proc_set_arg_locations + in place of __proc_setprocargs (it was renamed). + + * hurd/hurd.h: Rename _hurd_sig_post to hurd_sig_post. + * hurd/hurdkill.c: Likewise. + + * hurd/port2fd.c (_hurd_port2fd): Call __term_open_ctty instead of + __term_become_ctty, and don't pass the message port. + * hurd/hurdioctl.c (rectty_dtable): Likewise. + * hurd/dtable.c (fork_child_dtable, ctty_new_pgrp): Likewise. + + * sysdeps/mach/hurd/__fork.c: Use __proc_{get,set}_arg_locations + to propagate argv and envp locations to the child. + + * stdio/freopen.c (freopen): If STREAM->__seen is clear, pass + __stdio_close to __stdio_reopen. + + * misc/Makefile (install-lib): Add libg.a. + ($(objpfx)libg.a): New rule; use make-dummy-lib. + (lib): Depend on $(objpfx)libg.a + +Thu Jun 23 01:14:36 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * termios/termios.h (CCEQ): New macro. + + * sysdeps/unix/sysv/irix4/__getgrps.c: Add missing __ to fn name. + + Don't compile in absolute file names for localtime and posixrules + files if they were specified relative to $(zonedir). + * time/Makefile (installed-localtime-file, + installed-posixrules-file): Set these instead of + {localtime,posixrules}-file to the absolute file names. + ($(localtime-file), $(posixrules-file)): Change targets to + $(installed-localtime-file) and $(installed-posixrules-file). + +Wed Jun 22 15:52:26 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * hurd/Makefile (sig): Add hurdkill. + +Sat Jun 18 12:57:54 1994 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * stdio/_itoa.h (_itoa): Change type of VALUE to unsigned long long. + * stdio/_itoa.c (_itoa): Likewise. + +Thu Jun 16 01:10:41 1994 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * sysdeps/mach/hurd/dirstream.h (DIR): Replace `__filepos' member + with `__entry_ptr' and `__entry_data'. Remove `__block_size' member. + Replace `__offset' member with `__ptr', a char *; no need to include + . + * sysdeps/mach/hurd/readdir.c: Use those, new dir_readdir protocol. + * sysdeps/mach/hurd/opendir.c: Initialize new members. + Don't do io_stat to set __blocksize. + * sysdeps/mach/hurd/telldir.c: Rewritten; return DIRP->__entry_ptr. + * sysdeps/mach/hurd/seekdir.c: Rewritten; just set DIRP->__entry_ptr + from arg, and zero DIRP->__size so a new block will be read. + + * sysdeps/mach/hurd/getcwd.c: Use new dir_readdir protocol. + + * hurd/msgstub.c: Add stubs for dir_changed, file_changed. + + * hurd/hurdsock.c (_hurd_socket_server): Removed unused label. + + * sysdeps/mach/hurd/__getdents.c: Use new dir_readdir protocol. + + * sysdeps/mach/hurd/__access.c: Open the file with 0 flags and + then use file_check_access to discover what we are allowed. + +Tue Jun 14 14:10:03 1994 Brendan Kehoe (brendan@zen.org) + + * sysdeps/mips/setjmp.S: Refer to `$fp', not `fp'. + +Tue Jun 14 00:50:54 1994 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * sysdeps/mach/hurd/__pipe.c: Set FDS[1], not FDS[2]. + +Mon Jun 13 06:48:48 1994 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * sysdeps/unix/bsd/sun/sparc/sigtramp.c (trampoline): Use a + comment instead of a pointless insn to reference %0 in final asm. + + * hurd/hurdsock.c (_hurd_socket_server): If realloc fails, don't + fail; just don't cache the port. + Look up the server node only if it is not in the cache. + Translate errno only if path_lookup fails. + (init): New function, on _hurd_preinit_hook. + + * sysdeps/mach/hurd/__symlink.c: Complement _hurd_umask before ANDing. + +Sat Jun 11 12:52:28 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/mach/hurd/__fork.c: Can't insert dead name rights into + child. + +Sat Jun 11 05:19:47 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/mach/hurd/i386/longjmp-ts.c: Set TS->uesp instead of + TS->esp. Set TS->eip. + + * gnu-stabs.h (bss_set_element): New macro. + * hurd/dtable.c: Use bss_set_element instead of data_set_element + to put _hurd_dtable_lock in the _hurd_fork_locks set. + +Fri Jun 10 02:04:51 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/mach/hurd/__fork.c: Don't apply MACH_PORT_TYPE to result + from __mach_port_names. Unlock SS->lock before return. + Check for KERN_NAME_EXISTS from mach_port_allocate_name when + creating a receive right and possibly ignore it. + + * sysdeps/unix/sysv/sco3.2.4/Dist: Add sco_getgrp.S. + + * crypt/speeds.c: Include signal.h and stdio.h first thing. + [! SIGVTALRM]: Define NO_ITIMER. + + * sysdeps/unix/sysv/isc3/direct.h: New file. + + * hurd/hurdinline.c: Include lock-intern.h before #define + _EXTERN_INLINE. + + * sysdeps/mach/hurd/__fork.c (_hurd_fork_locks): Don't be const. + (__fork): Set SS from _hurd_self_sigstate so it is never null. + New local flag PORTS_LOCKED records when we have spin_locked all + the _hurd_ports cells; unlock them if necessary on error. + + * hurd/hurdsig.c (_hurd_siglock): Don't initialize it. + (_hurdsig_init): Initialize _hurd_siglock at runtime. + +Wed Jun 8 12:22:27 1994 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * hurd/hurdid.c (_hurd_check_ids): Zero P->nuids and P->ngids after + deallocating P->uids and P->ngids. + + * hurd/hurdioctl.c (_hurd_ioctl_handler_lists): Make defn initialized. + + * sysdeps/mach/hurd/__ioctl.c: Only try to unpack if IOC_OUT is set. + + * hurd/Makefile (routines): Replace $(inlines) with hurdinline. + (inlines): Variable and rule removed. + (generate-inlines): Variable removed. + * hurd/hurdinline.c: New file. + +Tue Jun 7 01:58:20 1994 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * Makerules: Add -f to all mv commands missing it. + + * hurd/Makefile (generate-inline): New canned sequence. + (inline-%.c): Use it. + + * time/asia, time/europe, time/northamerica: New versions from ADO. + +Mon Jun 6 21:36:04 1994 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * hurd/hurdid.c (init_id): New function. + + * Makerules (+make-deps): Put first s cmd before $(sed-remove-objpfx). + (sed-remove-objpfx): Replace occurrences at beginning of line too. + +Sun Jun 5 14:34:12 1994 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * Version 1.08.1. + + * sysdeps/mach/hurd/ioctls.h (_IOR, _IOW): Swap IOC_IN and IOC_OUT. + + * sysdeps/mach/hurd/__ioctl.c: Only pack input for ioctls that + take input. Compute expected reply size for ioctls that take + output and check it properly. + +Sat Jun 4 00:35:42 1994 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * sysdeps/mach/hurd/ioctls.h (union __ioctl): Type removed. + (enum __ioctl_datum): Name this enum. + (_IOC_INOUT, _IOC_GROUP, _IOC_COMMAND, _IOC_TYPE): New macros. + (_IOT_TYPE[012], _IOT_COUNT[012]): New macros. + * sysdeps/mach/hurd/__ioctl.c: Use those macros instead of the union. + + * sysdeps/mach/hurd/__fork.c: Major rewrite. Copy all ports + present in the task, not just library-maintained ones. Handle + sigstate and signal thread setup explicitly here. + * hurd/hurdsig.c (hurdsig_fork, hurdsig_fork_child): Functions + removed. + + * hurd/hurdpid.c (init_pids): Don't put this on _hurd_fork_child_hook. + + * sysdeps/mach/hurd/__isatty.c: New file. + + * hurd/hurdsock.c (_hurd_socket_server): Pass NP to __path_lookup, + not NAME (most of which is uninitialized). + + * hurd/hurdsig.c (_hurdsig_init): Don't check for _hurd_msgport + being non-null; always initialize it. + +Fri Jun 3 21:57:14 1994 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * hurd/hurdrlimit.c (init_rlimit): Restore __mutex_init call. + (_hurd_rlimit_lock): Set initializer to random value; run-time + initialization is always required. + + * inet/rcmd.c (rcmd): Compute max fd + 1 for select instead of + hardcoding 32. + +Wed Jun 1 10:52:41 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu) + + * hurd/hurdrlimit.c (_hurd_rlimits, _hurd_rlimit_lock): Provide + initializers so that the file is included in the link properly. + (init_rlimit): Omit call to __mutex_init. + +Tue May 31 18:15:33 1994 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * hurd/hurdmalloc.c (more_memory): Do spin_lock_init on H->lock. + (malloc_init): New function; put it on _hurd_preinit_hook. + + * sysdeps/mach/hurd/defs.c (init_stdio): If stream already + allocated, don't allocate a new one. Don't crash if _hurd_alloc_fd + returns null if __newstream does. + + * sysdeps/mach/hurd/__brk.c (init_brk): If _hurd_brk is nonzero, + leave it as it is. Set PAGEND from _hurd_brk instead of &_end. + +Mon May 30 18:37:47 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * hurd/hurdrlimit.c (init_rlimit): Put this on _hurd_preinit_hook + instead of _hurd_subinit. + + * sysdeps/mach/hurd/mig-reply.c (mig_fork_child): Function removed. + * hurd/dtable.c (fork_parent_dtable): Function removed. + + * sysdeps/generic/resourcebits.h: Rename RLIM_NLIMITS to + RLIMIT_NLIMITS, add alias for old name. + + * sysdeps/mach/hurd/Makefile (hurd-objpfx): New variable. + (before-compile): Use that instead of $(common-objpfx). + + * sysdeps/mach/Makefile [! objpfx] (mach-objpfx): Add trailing slash. + +Fri May 27 01:34:56 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * hurd/hurdsig.c (_hurdsig_init): Always initialize _hurd_sigthread. + + * hurd/dtable.c: Use data_set_element instead of text_set_element + for _hurd_fork_locks. + * hurd/hurdsig.c: Likewise. + + * hurd/hurd.h (_hurd_set_data_limit): Declaration removed. + + * hurd/dtable.c (_hurd_dtable_rlimit): Variable removed. + (init_dtable): Don't set it. + + * hurd/Makefile (headers): Add hurd/resource.h. + (routines): Add hurdrlimit. + * hurd/hurd/resource.h: New file. + * hurd/hurdrlimit.c: New file. + * sysdeps/mach/hurd/getrlimit.c: Rewritten to just fetch + _hurd_rlimits. + * sysdeps/mach/hurd/setrlimit.c: Rewritten to just set _hurd_rlimits. + * sysdeps/mach/hurd/__brk.c (_hurd_data_limit): Variable removed. + (_hurd_set_brk): Use _hurd_rlimits[RLIMIT_DATA]. + (_hurd_set_data_limit): Function removed. + * hurd/alloc-fd.c (_hurd_dtable_rlimit): Variable removed. + (_hurd_alloc_fd): Use _hurd_rlimits[RLIMIT_OFILE] instead. + + * sysdeps/generic/resourcebits.h: Add RLIMIT_NOFILE as an alias + for RLIMIT_OFILE. + + * sysdeps/mach/hurd/mig-reply.c (__mig_init): Argument is stack + on which to set the per-thread reply port variable. + + * sysdeps/mach/hurd/__brk.c (init_brk): Set _hurd_data_end to + DATA_SIZE bytes past the beginning of data space, rather than to + DATA_SIZE absolutely. If vm_map fails, set it to PAGEND. + + * sysdeps/mach/hurd/start.c (_start): Run _hurd_preinit_hook right + after __mach_init. + + * stdio/freopen.c (freopen): Rewritten using __stdio_reopen to + preserve the old cookie value when possible. + * sysdeps/posix/sysd-stdio.c (__stdio_reopen): New function. + * sysdeps/stub/sysd-stdio.c (__stdio_reopen): New function. + * sysdeps/mach/hurd/sysd-stdio.c (__stdio_reopen): New function. + + * stdio/freopen.c (freopen): Close the stream if MODE is invalid. + + * hurd/hurdsig.c (_hurd_core_limit): Define variable. + + * socket/sys/socket.h (PF_LOCAL): Define in preference to PF_FILE. + +Thu May 26 12:09:51 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu) + + * hurd/alloc-fd.c (_hurd_alloc_fd): Don't return EINVAL when + FIRST_FD is greater than _hurd_dtablesize and less than + _hurd_dtable_rlimit. If we want to grow _hurd_dtable, but + _hurd_dtablesize is as big as _hurd_dtable_rlimit, then return + EMFILE. When growing _hurd_dtable, actually do something if + _hurd_dtablesize is zero. + + * hurd/hurdmalloc.c (malloc_fork_prepare, malloc_fork_parent, + malloc_fork_child): Declare as static so they don't conflict with + the user's version of this file. + +Wed May 25 20:55:16 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/mach/hurd/__brk.c: Include instead of + . + + * hurd/hurdmalloc.c, hurd/hurdmalloc.h: New files (temporary hack). + * hurd/Makefile (routines): Append hurdmalloc. + (distribute): Append hurdmalloc.h. + * hurd/alloc-fd.c: Include "hurdmalloc.h" (temporary hack). + * hurd/dtable.c: Likewise. + * hurd/hurdinit.c: Likewise. + * hurd/hurdsig.c: Likewise. + * hurd/hurdsock.c: Likewise. + * hurd/new-fd.c: Likewise. + * sysdeps/mach/hurd/start.c: Likewise. + + * sysdeps/mach/hurd/start.c (start1): Use malloc and a for loop + instead of calloc. + * hurd/hurdsig.c (_hurd_thread_sigstate): Use malloc and memset + instead of calloc. + + * sysdeps/mach/hurd/__brk.c (init_brk): Reference self to avoid + compiler warning. Add init_brk to _hurd_preinit_hook instead of + __libc_subinit. + + * sysdeps/mach/hurd/start.c (_hurd_preinit_hook): New variable. + (start1): Run _hurd_preinit_hook before threadvar setup. + +Tue May 24 17:42:34 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * hurd/dtable.c (init_dtable): Initialize _hurd_dtablesize to + _hurd_init_dtablesize. Initialize _hurd_dtable_rlimit as + _hurd_dtablesize used to be set, but don't let it be zero. + (_hurd_dtable_rlimit): New variable. + +Tue May 24 12:57:19 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu) + + * sysdeps/mach/sleep.c (sleep): Timeout arg to mach_msg is + in milliseconds, not microseconds; compute it accordingly. + + * sysdeps/mach/hurd/__select.c (__select): Deleted variables + DTABLE and DTABLE_ULINK. Use new vars _hurd_dtablesize and + _hurd_dtable instead of old _hurd_dtable structure. Use new + locking protocol on _hurd_dtable. + +Tue May 24 01:55:24 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/mach/hurd/__setitmr.c: Don't include mutex.h. + + * sysdeps/mach/hurd/defs.c (init_stdio): Reference self. + + * sysdeps/unix/sysv/sysv4/i386/sysdep.h: Include + sysdeps/unix/sysv/i386/sysdep.h, not sysdeps/unix/i386/sysdep.h + +Mon May 23 19:05:44 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/mach/hurd/Makefile (mib_hacks, defines): Variables removed. + + * mach/devstream.c (mach_open_devstream): Set STREAM's seek and + fileno io functions to null. + + * hurd/hurdexec.c (_hurd_exec): Fixed adding of dtable ports to + PLEASE_DEALLOC array. + + * sysdeps/mach/hurd/defs.c (init_stdio): Unlock the descriptors + after fetching them. If a standard descriptor is not allocated, + allocate the structure and store its pointer in the stream anyway. + + * stdio/gets.c: Only return null on P==S if feof (STREAM). + + * stdio/vfprintf.c: Make %Z a type modifier, not a format spec. + + * sysdeps/mach/hurd/fdopen.c: Return NULL rather than -1 for error. + +Mon May 23 14:24:50 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu) + + * sysdeps/mach/hurd/__close.c (__close): Use new _hurd_fd_get + protocol. + * sysdeps/mach/hurd/__dup2.c (__dup2): Likewise. Use + _hurd_dtablesize and _hurd_dtable instead of old _hurd_dtable + structure. + + * sysdeps/mach/hurd/sysd-stdio.c (__stdio_seek): Use + HURD_FD_PORT_USE, not HURD_FD_USE. + * sysdeps/mach/hurd/stdio_init.c (__stdio_init_stream): Variable + is D, not FD. + + * hurd/alloc-fd.c (_hurd_alloc_fd): Arg FIRST_FD is not actually + const. + * hurd/hurdsig.c (_hurd_internal_post_signal [case SIGINFO]): If + we are not the process group leader, ignore the signal. + (_S_sig_post [case SIGURG]): Declaration of D was out of place. + + * sysdeps/mach/hurd/fdopen.c: Include for + io_get_openmodes prototype. + +Sat May 21 16:03:23 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * assert/assert.c (__assert_fail): Put program name first in msg. + + * hurd/Makefile (dtable): Removed setdtsz. + + * hurd/hurdexec.c: Use _hurd_dtable and _hurd_dtablesize instead of + old _hurd_dtable structure. + * hurd/hurdsig.c: Likewise. + * hurd/alloc-fd.c: Likewise. + * hurd/hurdioctl.c (rectty_dtable): Likewise. + + * Version 1.08 released. + + * mach/mach_error_string.c: Renamed to errstring.c. + * mach/Makefile (routines): Renamed mach_error_string to errstring. + * mach/err_mach_ipc.sub: Renamed to err_mach.sub. + * mach/err_bootstrap.sub: Renamed to err_boot.sub. + + * sysdeps/generic/sigset.h (__SIGSETFN): Take new arg CONST; use it + for CONST qualifier on SET arg to generated function. + Changed uses to pass it; sigismember passes __const, others empty. + + * sysdeps/mach/hurd/sysd-stdio.c: Rewritten to use `struct hurd_fd *'s + for cookies. + * sysdeps/mach/hurd/fdopen.c: Rewritten accordinly. + * sysdeps/mach/hurd/defs.c (init_stdio): Rewritten accordingly. + Add it to the _hurd_fd_subinit hook instead of the __libc_subinit + hook. + * sysdeps/mach/hurd/stdio_init.c: New file. + * hurd/dtable.c (_hurd_fd_subinit): New hook variable. + (init_dtable): Run the _hurd_fd_subinit hook. + + * hurd/hurd/fd.h (struct hurd_dtable): Type removed. + (_hurd_dtable_users, _hurd_dtable_rlimit): Variables removed. + (_hurd_dtable): Make this a struct hurd_fd **. + (_hurd_dtablesize): New variable. + (struct hurd_fd_user): Type removed. + (_hurd_dtable_get, _hurd_dtable_free, _hurd_dtable_fd): Functions + removed. + (_hurd_fd_get): Rewritten. Take just one arg, and look it up in + _hurd_dtable; return a struct hurd_fd *. + (HURD_FD_USE): Rewritten to use new _hurd_fd_get interface. + * hurd/dtable.c (_hurd_dtable_users, _hurd_dtable_rlimit): + Variables removed. + (_hurd_dtable): Make this a struct hurd_fd **. + (_hurd_dtablesize): New variable. + (init_dtable, fork_parent_dtable, fork_child_dtable, + ctty_new_pgrp, reauth_dtable): Use new simpler _hurd_dtable format. + * sysdeps/mach/hurd/__getdtsz.c: Use _hurd_dtablesize. + * sysdeps/mach/hurd/__fcntl.c: Use new _hurd_fd_get protocol. + + * hurd/dtable.c (get_dtable_port): Return the ctty port if set. + + * hurd/hurd/fd.h (_hurd_fd_error_signal): New function, broken out + of _hurd_fd_error. + (_hurd_fd_error): Call it. + + * hurd/Makefile (dtable): Add fd-close. + * hurd/fd-close.c: New file. + * hurd/hurd/fd.h: Declare _hurd_fd_close. + + * sysdeps/mach/hurd/__close.c: Call _hurd_fd_close. + + * signal/Makefile (routines): Add sigsetops. + * signal/sigsetops.c: New file. + + * sysdeps/unix/sysv/sysv4/sigset.h (_EXTERN_INLINE): New macro. + Use it for all the inline functions. + + * signal/signal.h: Move #include inside #ifdef _SIGNAL_H. + + * sysdeps/generic/sigset.h: Protect types with #ifndef + _SIGSET_H_types. Protect rest with #if !defined (_SIGSET_H_fns) + && defined (_SIGNAL_H). + (__SIGSETFN): Add extern declaration of NAME inside function. + + * sysdeps/unix/ioctls-tmpl.c: Add missing #endif. + * sysdeps/unix/Makefile (make-ioctls-CFLAGS): Remember -D. + +Fri May 20 20:42:33 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/unix/Makefile (sys/termios.h): Variable removed. + (ioctl-includes): New variable. + (make-ioctls-CFLAGS): Compute value generally from $(ioctl-includes). + ($(common-objpfx)ioctls): Depend on $(ioctl-includes), instead of + $(sys/termios.h). + + * sysdeps/unix/sysv/sco3.2.4/sco_getgrp.S: New file. + * sysdeps/unix/sysv/sco3.2.4/Makefile (sysdep_routines): Add + sco_getgrp. + * sysdeps/unix/sysv/sco3.2.4/__getgrps.c: New file. + + * sysdeps/generic/sigset.h (__sigismember, __sigaddset, __sigdelset): + Rewritten as extern inline functions; check for bogus signal number. + + * configure.in (names): Put $implied before $* in new $sysnames + list remaining to be processed; this ensures unix/common precedes + unix/sysv4 for sysv4. + +Thu May 19 18:35:02 1994 Michael I Bushnell (mib@geech.gnu.ai.mit.edu) + + * sysdeps/mach/hurd/defs.c (init_stdio): Make stdin and stdout + line buffered and stderr unbuffered. + +Thu May 19 16:14:36 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/mach/hurd/getcwd.c: Remember to call io_stat on cwdir. + + * sysdeps/generic/configure.in: Use changequote around if expr + to avoid [] elision. + +Thu May 19 13:53:59 1994 Michael I Bushnell (mib@geech.gnu.ai.mit.edu) + + * hurd/hurdsock.c (_hurd_socket_server): Return EPFNOSUPPORT + rather than EPROTONOSUPPORT because it's the entire protocol + family that isn't present, not just one protocol. + + * sysdeps/mach/hurd/__access.c (__access): Don't deallocate + CRDIR or CWDIR; that's taken care of by the _hurd_port_get + and _hurd_port_free system. + +Thu May 19 04:14:57 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/posix/libc_fatal.c: Include . + + * sysdeps/unix/sysv/sysv4/__sigact.c: Include for NULL. + + * sysdeps/mach/hurd/__access.c: Fix swapped poly and count args in + __auth_makeauth call. + + * sysdeps/mach/hurd/ioctls.h (_IOC, _IOT): Rewritten using bitwise + operations, so the result is always technically a constant (the + old method of using a union constructor expression was not good + enough for initializers). + + * hurd/hurdsock.c (_hurd_socket_server): If path_lookup returns + ENOENT, we return EPROTONOSUPPORT. + + * hurd/Makefile (dtable): Add hurdioctl. + * hurd/dtable.c (rectty_dtable, tiocsctty, tiocnotty): Functions + moved: + * hurd/hurdioctl.c: New file. + (fioctl, fioclex): New functions. + * sysdeps/mach/hurd/__ioctl.c (_hurd_ioctl_handler_lists): Don't + define it, just declare it. + + * sysdeps/mach/hurd/getcwd.c: Use MACH_PORT_RIGHT_SEND, not + MACH_PORT_TYPE_SEND, in mach_port_mod_refs call. + + * sysdeps/mach/hurd/__getpgrp.c: Don't lock _hurd_pid_lock. + + * sysdeps/unix/common/glue-ctype.c: Don't include . + Instead, add explicit extern declaration of TABLE in main. + +Wed May 18 17:54:00 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/m68k/Makefile (asm-CPPFLAGS): Append $(m68k-syntax-flag). + + * Version 1.07.6. + + * sunrpc/Makefile (+gccwarn): Set to -w. + + * sysdeps/unix/Makefile (ifeq testing sys/param.h): Use patsubst + instead of dir to remove directory name from .../sys/param.h but + preserve "sys/". + + * inet/sys/bitypes.h: Replaced with just #include . + + * posix/sys/utsname.h (_UTSNAME_NODENAME_LENGTH): If undefined, + define to _UTSNAME_LENGTH. + (struct utsname): Use _UTSNAME_NODENAME_LENGTH for `nodename' member. + * sysdeps/unix/bsd/sun/sunos4/utsnamelen.h (_UTSNAME_NODENAME_LENGTH): + Define it. + + * resource/sys/resource.h (enum __rlimit_resource): Removed. + Just include instead. + * resource/Makefile (headers): Add resourcebits.h. + * sysdeps/generic/resourcebits.h: New file. + * sysdeps/unix/bsd/sun/sunos4/resourcebits.h: New file. + + * stdio/test-popen.c (main): Use popen to read the file back, too. + + * sysdeps/unix/sysv/sysv4/i386/sysdep.h: New file. + + * sysdeps/unix/sysv/sysv4/i386/sys-sig.S: Fixed typo: movel->movl. + +Tue May 17 12:46:31 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu) + + * mach/mach/mach_traps.h (__mach_reply_port, __mach_thread_self, + __mach_task_self, __mach_host_self): New declarations of __ + versions of syscall traps. + (swtch, __swtch, swtch_pri, __swtch_pri, thread_switch, + __thread_switch, evc_wait, __evc_wait): New prototypes. + * mach/Makefile (headers): Added mach/mach_traps.h so that the + GNU version is installed instead of the Mach version. + +Mon May 16 15:34:12 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/stub/sys/param.h: New file. + + * mach/lock-intern.h (__mutex_lock, __mutex_unlock): Real definitions. + (__mutex_lock_solid, __mutex_unlock_solid, __mutex_init): Declare + them. + * mach/mutex-solid.c: New file. + * mach/Makefile (lock): Add mutex-solid. + (lock-headers): Remove mutex.h. + * mach/mutex.h: File removed. + * hurd/hurd/id.h: Include instead of . + * hurd/hurd/signal.h: Likewise. + * hurd/hurdsig.c: Likewise. + * hurd/hurdsock.c: Likewise. + * hurd/dtable.c: Likewise. + * hurd/__setauth.c: Likewise. + * sysdeps/mach/hurd/Makefile (includes): Also append + -I$(hurd-srcdir)/libthreads. + + * sysdeps/posix/system.c [WAITPID_CANNOT_BLOCK_SIGCHLD]: Don't + block SIGCHLD. + * sysdeps/unix/sysv/sco3.2.4/system.c + (WAITPID_CANNOT_BLOCK_SIGCHLD): Define this macro. + + * sysdeps/posix/sigintr.c (siginterrupt) [! SA_RESTART]: Always + fail with ENOSYS. + + * sysdeps/posix/__sigvec.c [! SA_ONSTACK]: Fail with ENOSYS if + SV_ONSTACK is set in VEC->sv_flags. + [SA_RESTART]: Protect SV_INTERRUPT check with this. + + * sysdeps/mach/sysdep.h (FATAL_PREPARE): New macro. + * sysdeps/posix/libc_fatal.c: Include . + [FATAL_PREPARE]: Invoke the macro. + * assert/assert.c: Likewise. + + * sysdeps/generic/memmem.c: Start BEGIN at HAYSTACK, not partway + into it. Loop until BEGIN passes the location in HAYSTACK with + NEEDLE_LEN bytes remaining to the end. + Compare first byte manually before calling memcmp. + + * sysdeps/unix/sysv/sco3.2.4/__sigact.S: Fix typo. + + * posix/sys/types.h [__USE_BSD] (int32_t, int16_t, int8_t, + u_int32_t, u_int16_t, u_int8_t): New typedefs. + + * assert/assert.c (__assert_program_name): New variable. + (__assert_fail): Print that in the msg too. + [HAVE_GNU_LD] (set_progname): New function to set it up at startup. + +Thu May 12 01:10:52 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * hurd/__setauth.c: Do critical section locking. + * hurd/hurdexec.c: Likewise. + * hurd/hurdauth.c (_S_del_auth): Likewise. + * hurd/getuids.c: Likewise. + * hurd/dtable.c: Likewise. + * hurd/alloc-fd.c: Likewise. + * hurd/hurd/port.h: Likewise. + * hurd/hurd/fd.h: Likewise. + * hurd/setuids.c: Likewise. + * hurd/intern-fd.c: Likewise. + * hurd/hurdsock.c (_hurd_socket_server): Likewise. + * sysdeps/mach/hurd/setrlimit.c: Likewise. + * sysdeps/mach/hurd/setgroups.c: Likewise. + * sysdeps/mach/hurd/seteuid.c: Likewise. + * sysdeps/mach/hurd/setegid.c: Likewise. + * sysdeps/mach/hurd/getrlimit.c: Likewise. + * sysdeps/mach/hurd/__setuid.c: Likewise. + * sysdeps/mach/hurd/__setreuid.c: Likewise. + * sysdeps/mach/hurd/__setregid.c: Likewise. + * sysdeps/mach/hurd/__setitmr.c: Likewise. + * sysdeps/mach/hurd/__setgid.c: Likewise. + * sysdeps/mach/hurd/__select.c: Likewise. + * sysdeps/mach/hurd/__sbrk.c: Likewise. + * sysdeps/mach/hurd/__getuid.c: Likewise. + * sysdeps/mach/hurd/__getpgrp.c: Likewise. + * sysdeps/mach/hurd/__getitmr.c: Likewise. + * sysdeps/mach/hurd/__getgrps.c: Likewise. + * sysdeps/mach/hurd/__getgid.c: Likewise. + * sysdeps/mach/hurd/__geteuid.c: Likewise. + * sysdeps/mach/hurd/__getegid.c: Likewise. + * sysdeps/mach/hurd/__getdtsz.c: Likewise. + * sysdeps/mach/hurd/__fork.c: Likewise. + * sysdeps/mach/hurd/__fcntl.c: Likewise. + * sysdeps/mach/hurd/__dup2.c: Likewise. + * sysdeps/mach/hurd/__close.c: Likewise. + * sysdeps/mach/hurd/__brk.c: Likewise. + * sysdeps/mach/hurd/__access.c: Likewise. + + * sysdeps/mach/hurd/reboot.c (reboot): Use the host priv port to + prove authority. + + * sysdeps/mach/hurd/__readlink.c: Don't request O_READ access. + + * sysdeps/mach/hurd/__ioctl.c: Don't expect result data unless + return code is zero. Translate MIG_BAD_ID or EOPNOTSUPP to ENOTTY. + + * mach/devstream.c (output): Use device_write instead of + device_write_inband. + +Wed May 11 18:49:31 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * hurd/hurdinit.c (_hurd_init): Finsih loop of _hurd_port_init on + _hurd_ports elts before doing _hurd_proc_init or + __task_set_special_port. + + * hurd/hurd/signal.h (struct hurd_sigstate): Add new + `critical_section' member. Remove #if 0'd out vfork crap. + (_hurd_critical_section_lock, _hurd_critical_section_unlock): New + functions. + (HURD_CRITICAL_BEGIN, HURD_CRITICAL_END): New macros. + + * io/Makefile (headers): Add poll.h and sys/poll.h. + (routines): Add poll. + * sysdeps/unix/bsd/sun/sunos4/poll.S: New file. + * sysdeps/unix/sysv/poll.S: New file. + * sysdeps/unix/bsd/poll.c: New file. + * sysdeps/stub/poll.c: New file. + * io/poll.h, io/sys/poll.h: New files. + + * misc/bsd-compat.c (setjmp): New function. + + * sysdeps/unix/Makefile (sysdep_headers): Remove sys/param.h. + * misc/Makefile (headers): Add it here instead. + + * io/test-utime.c (main): New file. + * io/Makefile (tests): New variable. + +Wed May 11 13:44:33 1994 Michael I Bushnell (mib@geech.gnu.ai.mit.edu) + + * hurd/hurd/threadvar.h (__hurd_errno_location): Remove + __volatile keyword. `volatile int errno' is not the same + as `int errno'; user programs often mention the latter. + * errno.h: Remove __volatile keyword; same reason. + +Tue May 10 17:21:41 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * time/zdump.c: New code from ADO. + + * time/difftime.c (difftime): Use hairy rounding algorithm from + eggert@twinsun.com when sizeof (time_t) >= sizeof (double). + + * Makerules (native-CFLAGS): Remove -I$(sysincludedir). RMS says + people with bogons in /usr/local/include deserve to lose. + + * stdio/printf_fp.c (__printf_fp): If IS_NEG gets set, negate + FPNUM before testing it for %g format choice. + + * sysdeps/unix/sysv/irix4/fcntlbits.h: New file. + * sysdeps/unix/sysv/irix4/Dist: New file. + * sysdeps/unix/sysv/irix4/readv.c: New file. + * sysdeps/unix/sysv/irix4/writev.c: New file. + * sysdeps/unix/sysv/irix4/__dup2.c: New file. + + * sunrpc/xdr_float.c (xdr_float): Change [mc68000 || sparc] to [! + vax]. + + * sysdeps/mips/setjmp.S: Remove spurious $. + + * sysdeps/generic/ftime.c: Include . + + * sysdeps/unix/mips/sysdep.S: Add .set noreorder. + +Tue May 10 16:27:13 1994 Michael I Bushnell (mib@geech.gnu.ai.mit.edu) + + * sysdeps/generic/termbits.h (NCCS): Doc fix. + +Mon May 9 18:07:44 1994 Michael I Bushnell (mib@geech.gnu.ai.mit.edu) + + * sysdeps/mach/hurd/uname.c (uname): System uname information + has moved from init to proc. + + * sysdeps/mach/usleep.c (usleep): Return correct value. Destroy + RECV when we're done with it. + +Thu May 5 17:03:56 1994 Michael I Bushnell (mib@geech.gnu.ai.mit.edu) + + * sysdeps/mach/hurd/__lstat.c: Use O_NOLINK instead of O_NOTRANS. + +Thu May 5 04:20:54 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * mach/spin-lock.h (spin_lock_init): Define. + + * sysdeps/mach/hurd/sigsuspend.c: New local variable NEWMASK, set + it to *SET if SET is not null, before taking SS->lock; don't + dereference SET while holding the lock. Restore SS->blocked to + OLDMASK before unlocking and returning. + + * hurd/hurdsig.c (hurdsig_fork_child): Return zero. + + * sysdeps/mach/hurd/__fork.c (_hurd_fork_parent_hook, + _hurd_fork_prepare_hook)): Define variables (symbol sets). + (__fork): Run _hurd_fork_prepare_hook and _hurd_fork_parent_hook. + + * sysdeps/mach/hurd/sigsuspend.c: Don't test SS->pending; instead + wait until SS->suspended is cleared. + * hurd/hurdsig.c (_hurd_internal_post_signal): Clear SS->suspended + before signalling on SS->arrived. + + * mach/Makefile (headers): Added mach/default_pager_helper.defs. + + * sysdeps/sparc/Dist: Added alloca.S. + +Wed May 4 14:02:29 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu) + + * hurd/hurdexec.c (_hurd_exec): Unlock _hurd_dtable_lock when + all through. + + * sysdeps/mach/hurd/__setitmr.c: Changed _hurd_itimer_lock + to be a spin_lock; changed mutex_lock and mutex_unlock + accordingly throughout. + * sysdeps/mach/hurd/__getitmr.c: Corresponding changes from + mutex calls to spin lock calls here too. + + * sysdeps/mach/hurd/__setitmr.c (setitimer_locked): Fixed syntax + of declaration of PREEMPT. + (setitimer_locked): Declare variables ERR and ELAPSED. + (setitimer_locked): Fix some references to REMAINING that + were using it as an itimerval instead of a timeval. + (setitimer_locked): Deleted unused label STILLBORN. + +Wed May 4 00:17:32 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/stub/__getitmr.c: Fix arg name __WHICH to WHICH. + + * sysdeps/unix/bsd/alarm.c: Round tv_usec with arithmetic rather + than a test. + + * hurd/Makefile (user-interfaces): Add hurd/msg_request. + + * sysdeps/stub/__setitmr.c: Fix arg name __WHICH to WHICH. + + * Makeconfig (cross-compiling): Define if $(HOST_CC) and $(CC) differ. + * time/Makefile (install-others): Omit defn ifdef cross-compiling. + +Tue May 3 23:12:48 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * mach/Makefile (lock-headers): Add spin-lock.h. + + * misc/Makefile (routines): Add madvise. + + * malloc/Makefile (non-lib.a): Define. + * misc/Makefile (non-lib.a): Define. + * Makerules (install-lib.a): Filter out $(non-lib.a). + (install-lib-non.a): Append $(non-lib.a). + + * mach/Makefile (mach-headers): Rename sys/version.h to + mach/version.h. + + * hurd/Makefile (headers): Added hurd/threadvar.h. + + * Version 1.07.5. + + * hurd/port2fd.c (_hurd_port2fd): Use logic copied from + _hurd_port_locked_set to install PORT in D->port, but leave it locked. + + * sunrpc/Makefile (generated): Don't add $(objpfx). + + * sysdeps/stub/machine-lock.h: New file. + * sysdeps/stub/machine-sp.h: New file. + +Tue May 3 22:31:15 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu) + + * sysdeps/mach/usleep.c (usleep): Specify MACH_RCV_MSG so that + mach_msg actually waits. + +Tue May 3 19:24:48 1994 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) + + * malloc/malloc.h (enum mcheck_status): Delete trailing + comma in enum list; some compilers don't like it. + +Tue May 3 15:18:15 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu) + + * sysdeps/mach/hurd/__symlink.c (__symlink): Pass port type arg to + __file_set_translator. + +Mon May 2 17:56:47 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * hurd/Makefile (generated): Add $(inlines) .c files. + + * sysdeps/mach/hurd/__mknod.c: Pass port type arg to + __file_set_translator. + +Sun May 1 16:03:13 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * mach/mig_syms.c: Add de-__ing aliases for mig_init, + mig_get_reply_port, and mig_dealloc_reply_port. + + * sysdeps/mach/hurd/errnos.awk: Handle copying errors from + mach/mig_errors.h and device/device_types.h. Omit E*_SUCCESS. + Omit MACH_MSG_MASK and other special bit macros. + + * sysdeps/mach/hurd/i386/sigcontext.h (struct sigcontext): Added + sc_reply_port member. + * hurd/hurdsig.c (fetch_reply_port): New function. + (_hurd_internal_post_signal): When setting up to run handler, set + SCP->sc_reply_port to the receiving thread's value for + _HURD_THREADVAR_MIG_REPLY. + * sysdeps/mach/hurd/i386/__sigret.c: Destroy the MiG reply port + used by the signal handler, and restore from SCP->sc_reply_port. + * hurd/hurd/threadvar.h (__hurd_threadvar_location_from_sp): New + function; guts from __hurd_threadvar_location. + (__hurd_threadvar_location): Call that. + + * hurd/hurdsig.c (check_pending): New function, broken out of: + (_hurd_internal_post_signal): Call that for pending signal check. + If SIGNO is zero, call check_pending on each thread's sigstate. + + * sysdeps/mach/hurd/start.c (start1): Use calloc to get + zero-filled space for __hurd_threadvar_stack_offset when + __hurd_threadvar_stack_mask is zero. + +Thu Apr 28 21:29:47 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Merged gmp-1.99.3+ mpn code from tege for printf_fp. + * stdio/printf_fp.c: Include "longlong.h"; gmp-impl.h no longer does. + + * Makerules (+depfiles): Filter $(extra-objs) to get only .o files. + +Wed Apr 27 00:20:41 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Makerules (depend-$(subdir)): Put output in tmp file and use mv -f. + Always use $(+depfiles), since sources is no longer exported. + +Tue Apr 26 20:05:55 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/unix/bsd/bsd4.4/tcdrain.c: Don't include to + avoid conflicts. + * sysdeps/unix/bsd/bsd4.4/tcsetattr.c: Undefine ECHO, MDMBUF, + TOSTOP, FLUSHO, PENDIN, and NOFLSH after including and + before including . + * sysdeps/unix/bsd/bsd4.4/__tcgetatr.c: Likewise. + +Tue Apr 26 14:42:43 1994 Michael I Bushnell (mib@geech.gnu.ai.mit.edu) + + * sysdeps/mach/sleep.c (sleep): Specify MACH_RCV_MSG or else + mach_msg won't do anything but return immediately. + (sleep): Compute return value correctly. + +Tue Apr 26 04:49:56 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/i386/setjmp.c: Put global register decls first thing. + * sysdeps/i386/__longjmp.c: Likewise. + +Fri Apr 22 18:10:36 1994 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * sysdeps/unix/sysv/irix4/__wait3.S: New file. + * sysdeps/unix/sysv/irix4/time.S: New file. + * sysdeps/unix/sysv/irix4/__waitpid.c: New file. + +Thu Apr 21 16:54:11 1994 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * malloc/malloc.c (initialize, morecore): When allocating the + _heapinfo block itself, account for it in the statistics. + +Tue Apr 19 20:17:06 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/unix/sysv/sco3.2.4/pipestream.c: New file. + + * malloc/malloc.c (morecore): Only zero the new part of NEWINFO, + not the part we will copy _heapinfo into. + + * sysdeps/unix/bsd/signum.h (SIGLOST): Define. + (_NSIG): Increase to 33. + +Mon Apr 18 16:56:11 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * configure.in (config.status): Use $configure_args instead of + $ac_configure_args. + (after AC_PREPARE): Call AC_LANG_C. + + * time/Makefile (routines): Add sys/timeb.h. + (routines): Add ftime. + * time/sys/timeb.h: New file. + * sysdeps/unix/bsd/ftime.c: New file. + * sysdeps/generic/ftime.c: New file. + + * sysdeps/posix/getenv.c (getenv): Return NULL if __environ is null. + + * malloc/malloc.h [_MALLOC_INTERNAL] [HAVE_UNISTD_H]: Include + unistd.h. + + * malloc/Makefile (gmalloc-routines): Put valloc first. + +Wed Apr 13 14:03:02 1994 Michael I Bushnell (mib@geech.gnu.ai.mit.edu) + + * sysdeps/mach/hurd/__symlink.c (__symlink): Set the target of the + link to FROM, not TO. + + * sysdeps/mach/hurd/__readlink.c (__readlink): Copy just the + target into the user's buffer, not the entire translator spec. + +Tue Apr 12 00:13:19 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu) + + * hurd/fd-write.c (_hurd_fd_write): Set noctty for now rather + than depending on what happens to be on the stack. + + * sysdeps/mach/hurd/readdir.c (readdir): Notice when hitting + end-of-file and return NULL. + +Mon Apr 11 17:36:59 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu) + + * sysdeps/mach/hurd/start.c (start1): Bother to set __environ. + + * sysdeps/mach/hurd/__ioctl.c (__ioctl): Comment out use of + HURD_EINTR_RPC until signals work. + +Mon Apr 11 14:16:40 1994 Michael I Bushnell (mib@geech.gnu.ai.mit.edu) + + * sysdeps/mach/hurd/__ioctl.c (__ioctl): Call __mig_get_reply_port + rather than __mig_reply_port (which doesn't exist). + + * sysdeps/mach/hurd/__mknod.c: Added temporary declarations + of major and minor. + + * (This change occurred on April 4, 1994) mach/setup-thread.c + (__mach_setup_thread): The March 31 change had an error; the stack + needs to be allocated with ANYWHERE cleared. + + * (This change occurred on April 8, 1994) hurd/hurdexec.c + (_hurd_exec): The arguments to exec_exec had the length and + type parameters transposed. In addition, fetch the correct + procserver port for the new task. + + * (This change occurred on April 8, 1994) + sysdeps/mach/hurd/__wait.c (__wait4): Deal properly with a null + USAGE argument. + + * (This change occurred on April 8, 1994) + sysdeps/mach/hurd/_exit.c (_exit): Changed commented-out call to + __proc_exit into a correct call to __proc_mark_exit. + +Fri Apr 8 14:58:24 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu) + + * string/strsignal.c (strsignal): Store of NUL into unknown_signal + was off by one. + +Tue Apr 5 21:26:25 1994 Brendan Kehoe (brendan@zen.org) + + * sysdeps/unix/sysv/sysv4/__sigact.c (__sigaction): Declare member + `oact' in lower case, to match its use in the rest of the function. + +Tue Apr 5 03:07:04 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Makerules (install-lib.a rule): Run ranlib on the target. + + * Makerules (library member rule): Tighten up pattern rule to + match only libc.a, not other libraries. + +Mon Apr 4 21:49:57 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * set-hooks.h: New file. + * Makefile (distribute): Add it. + * set-init.c: Include it and use its macro DEFINE_HOOK_RUNNER. + + * Makerules (sysd-Makefile): Put `sysd-Makefile-done=t' in output. + (sysd-rules): Don't include it unless sysd-Makefile-done is defined. + +Mon Apr 4 18:33:54 1994 Michael I Bushnell (mib@geech.gnu.ai.mit.edu) + + * mach/setup-thread.c (__mach_setup_thread): Oops; the vm_allocate + call should have ANYWHERE cleared so that the change of the 31st + has any effect at all. + +Thu Mar 31 13:46:13 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu) + + * mach/setup-thread.c (__mach_setup_thread): Create a red zone + beneath the stack; also, work around a bug in cthreads by + forcing the stack into high memory. FIXME--this routine + depends on the direction of stack growth; that should be fixed. + +Mon Mar 28 12:55:51 1994 Roland McGrath (roland@mole.gnu.ai.mit.edu) + + * Rules (make-dummy-lib): Use `$(AR)' instead of literal `ar'. + + * configure.in (arg parsing): Don't take --os-release or --os-version. + (switches): Variable removed; don't write it into config.status. + (config.status): Write release and version values directly. + + * sysdeps/unix/common/configure.in: Use changequote around if expr + to avoid [] elision. + +Sat Mar 26 18:36:27 1994 Roland McGrath (roland@mole.gnu.ai.mit.edu) + + * malloc/mcheck.c [! _MALLOC_INTERNAL]: #include + +Fri Mar 25 02:17:55 1994 Roland McGrath (roland@mole.gnu.ai.mit.edu) + + * malloc/mcheck.c (mprobe): New function. + (abortfunc): Take enum mcheck_status arg. + (checkhdr): Return an enum mcheck_status, and pass it to abortfunc. + (mabort): New function. + (mcheck): Use mabort as default abortfunc. + * malloc/malloc.h (enum mcheck_status): New type. + (mprobe): Declare new function. + (mcheck): ABORTFUNC takes an `enum mcheck_status' arg. + + * posix/unistd.h [__USE_GNU] (TEMP_FAILURE_RETRY): New macro. + + * stdio/stdio.h [__USE_GNU && !_LIBC] (cookie_io_functions_t): + Define instead of __io_functions (and make that a typedef for + this); omit __ from member names. + +Thu Mar 24 14:59:23 1994 Roland McGrath (roland@mole.gnu.ai.mit.edu) + + * sysdeps/unix/sysv/sco3.2.4/sigaction.h: New file. + + * sysdeps/unix/sysv/sco3.2.4/__sigact.S: Put address of + __sigreturn in %ecx before doing syscall trap. + + * sysdeps/stub/setegid.c: Fix arg type to __gid_t (was int). + +Wed Mar 23 17:33:09 1994 Roland McGrath (roland@mole.gnu.ai.mit.edu) + + * Makefile (headers): Remove $(stdarg.h). + * Makeconfig (stdarg.h): Variable removed. + * configure.in: Remove check for __gnuc_va_list in stdarg.h. + It is not safe to replace the compiler's stdarg.h with our own. + +Tue Mar 22 12:46:08 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Rules (dist): Rule removed. + * Makefile (dist): Likewise. + * Makerules (dist, distinfo): New rules. + (TAGS): Depend on distfile, pass -f distfile to submake. + + * math/Makefile: Remove if-ed out old bsdmath copying rules. + + * Makerules (sources, headers, sysdep_routines): Don't export these. + * Rules (others, tests): Likewise. + + * io/lockf.c: Include fcntl.h and errno.h. + +Mon Mar 21 20:27:32 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/unix/bsd/sony/newsos4/fchdir.S: New file. + * sysdeps/unix/bsd/sony/newsos4/{__wait4.c,__wait3.c,__wait.c, + sys_wait4.S,Makefile,Dist}: New files. + + * sysdeps/unix/Makefile (syscall.h): De-SYS_ify `kerncall_basenum'. + + * sysdeps/unix/bsd/m68k/sysdep.S [! __motorola__]: Rename label 0 + to `store'; a user reports gas 1.38 bombs on numbered labels. + + * sysdeps/posix/Makefile (mk-stdiolim): Use $(HOST_CC). + + * Rules (distribute, dont_distribute, generated): Don't export them. + (dist): Pass those vars down to sub-make on cmd line. + * Makefile (distribute, generated): Don't export them. + (dist): Pass distribute and generated values to sub-make on cmd line. + + * Makerules (install-lib-nosubdir): Insert $(libprefix) appropriately. + +Fri Mar 18 01:02:52 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/unix/bsd/sony/newsos/m68k/sysdep.h (DO_CALL): Use a6 in + place of fp. A user reports gas 1.38 doesn't grok fp. + +Tue Mar 8 18:35:02 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Makerules (common-clean): Prepend $(objpfx) to $(generated). + * Makefile (parent-clean): Prepend $(common-objpfx) to + $(common-generated). + * Makefile (generated): Don't prepend $(objpfx). + * Rules (generated): Likewise. + * sysdeps/unix/common/Makefile (generated): Likewise. + * sysdeps/unix/sysv/Makefile (generated): Likewise. + * sysdeps/unix/Makefile (common-generated): Don't prepend + $(common-objpfx). + * sysdeps/posix/Makefile (common-generated): Likewise. + * sysdeps/generic/Makefile (common-generated): Likewise. + (generated): Don't prepend $(objpfx). + + * sysdeps/generic/Makefile (common-generated): Set this instead of + generated for bytesex.h and det_endian. + + * sysdeps/stub/fexecve.c: New file. + * posix/Makefile (routines): Add fexecve. + * posix/unistd.h [__USE_GNU]: Declare fexecve. + + * sysdeps/unix/common/configure.in: Protect siglist and ctype + checks with if [ ! "$inhibit_glue" ]. + * sysdeps/generic/configure.in: Likewise for psignal check. + * sysdeps/unix/common/Makefile: Protect body with ifndef inhibit-glue. + +Mon Mar 7 17:46:46 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/unix/bsd/osf1/alpha/__sigblock.S: New file from brendan. + +Fri Mar 4 01:56:26 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Makerules (native-compile, common-objdir-compile): Use + $(HOST_CC) in place of $(CC). + + * malloc/cfree.c: Move #undef cfree inside #ifdef _LIBC. + + * misc/sys/ioctl.h (struct ttysize): If TIOCGSIZE != TIOCGWINSZ, + use two int elts instead of four shorts. + +Thu Mar 3 17:35:54 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * malloc/realloc.c (realloc): When shrinking a block by splitting + and then freeing one, bump the _chunks_used counter. + + * sysdeps/unix/sysv/sysv4/i386/__mknod.S: New file. + +Tue Mar 1 11:42:41 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/unix/sysv/sco3.2.4/__waitpid.S: Get first argument from + stack at 8(%esp), not 4(%esp). + + * sysdeps/unix/sysv/isc2.2/rename.S: Get unix/common, not unix/bsd. + +Thu Feb 24 14:40:43 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * io/lockf.c: New file. + * io/Makefile (routines): Add lockf. + * io/fcntl.h [__USE_MISC] (F_ULOCK, F_LOCK, F_TLOCK, F_TEST): New + macros. + [__USE_MISC] (lockf): Declare it. + * posix/unistd.h: Copy those new macros and declaration. + + * time/backward, time/etcetera, time/zic.c: New code and data from ADO. + * Makeconfig (posixrules): Default to America/New_York. + + * sysdeps/unix/mips/sysdep.S: Store -1 in v0 in the delay slot after + the return, rather than before (leaving the delay slot unfilled and + without a nop!). + + * sysdeps/unix/sysv/irix4: New directory; mips-sgi-irix4 port + courtesy Tom Quinn. + + * sysdeps/unix/sysv/sysv4/direct.h: Moved to unix/common; it is right + for irix4 as well as sysv4. + * sysdeps/unix/bsd/ultrix4/__wait.S: Moved to unix/mips. + (noerror): Store register v1 in location pointed to by first arg (if + not NULL). + * sysdeps/unix/bsd/ultrix4/__sigret.S: Moved to unix/mips. + + * sysdeps/unix/bsd/bsd4.4/{mmap,munmap,mprotect,msync,madvise}.S: + Moved to sysdeps/unix/mman (new directory). + * sysdeps/unix/bsd/bsd4.4/Implies: New file; imply unix/mman. + * sysdeps/unix/bsd/sunos4/Implies: Likewise. + * sysdeps/unix/bsd/ultrix4/Implies: Likewise. + * sysdeps/unix/bsd/osf1/Implies: Likewise. + * sysdeps/unix/bsd/sun/sunos4/munmap.S, + sysdeps/unix/bsd/sun/sunos4/mprotect.S, + sysdeps/unix/bsd/sun/sunos4/madvise.S, + sysdeps/unix/bsd/ultrix4/mmap.S, + sysdeps/unix/bsd/ultrix4/munmap.S, + sysdeps/unix/bsd/ultrix4/mprotect.S, + sysdeps/unix/bsd/osf1/mmap.S, + sysdeps/unix/bsd/osf1/munmap.S, + sysdeps/unix/bsd/osf1/mprotect.S: Files removed. + + * sysdeps/unix/sysv/sysv4/fcntlbits.h: Moved to sysdeps/unix/common. + + * stdio/printf_fp.c: Add many assertions to make sure no mpn size + variable is ever zero. + + * Makerules (native-CFLAGS): Add -I$(sysincludedir). + + * Makerules (depend-$(subdir)) [omit-deps]: Use $(+depfiles) value + instead of shell hackery. + +Wed Feb 23 00:09:08 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/sparc/alloca.S [! NO_UNDERSCORES]: Call it ___builtin_alloca. + +Tue Feb 22 18:47:10 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/unix/bsd/sun/sunos4/sys/mman.h: Use __off_t in mmap + prototype. + + * time/setitmr.c: Swap args OLD and NEW. + * time/sys/time.h (setitimer): Likewise. + * sysdeps/stub/__setitmr.c: Likewise. + +Mon Feb 21 20:47:55 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/sparc/Makefile [gnulib] (routines): Add alloca. + * sysdeps/sparc/alloca.S: New file; support for SunOS libc's + `__builtin_alloca' function (never needed with GCC). + + * sysdeps/unix/sysv/sysv4/__sigact.c (trampoline): Cast handler to + three-arg type. + +Sun Feb 20 00:46:15 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/unix/bsd/sun/sunos4/mmap.c: Add missing semicolon. + + * sysdeps/unix/sparc/start.c [! NO_SHLIB]: Include + before . + + * sysdeps/unix/bsd/ultrix4/mips/{sysdep.h,sysdep.S,__pipe.S, + __fork.S,__brk.S}: Moved to sysdeps/unix/mips (new directory). + + * sysdeps/unix/bsd/ultrix4/mips/__sigret.S: Use SYS_sigreturn + instead of literal 103; #define to 103 if not already defined. + +Sat Feb 19 17:39:13 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/unix/sysv/sysv4/i386/Dist: New file; list sys-sig.S. + +Fri Feb 18 18:07:34 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/generic/configure.in: New file; check for psignal. + + * sysdeps/unix/common/glue-ctype.c: Check for table named _ctype, + before checking for _ctype_. + * sysdeps/unix/common/configure.in: Check for _ctype. + + * sysdeps/unix/Makefile (syscall.h): Look for sys.s before syscall.h. + * sysdeps/unix/configure (unix_syscall_h): Likewise. + + * configure.in (os = irix4*): Set base_os=unix/sysv. + + * sunrpc/rpc/auth.h (u_int32): Always define, no #ifdefs. + * sunrpc/xdr_float.c: Change [mc68000 || sparc] to [! vax]. + +Thu Feb 17 18:42:29 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 1.07.4. + + * sysdeps/unix/bsd/sun/sunos4/Dist: Add sys_mmap.S. + + * Makerules (sysdep_dir): Remove defn. + * Makeconfig (sysdep_dir): Define it here instead. + +Wed Feb 16 16:54:00 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/unix/sysv/sysv4/__sigact.c: New file. + * sysdeps/unix/sysv/sysv4/i386/Makefile: New file. + * sysdeps/unix/sysv/sysv4/i386/sys-sig.S: New file. + + * time/sys/time.h (timerisset, timercmp, timerclear): New macros. + + * misc/Makefile (headers): Add sys/mman.h. + (routines): Add mmap, munmap, mprotect, msync. + * sysdeps/unix/bsd/sun/sunos4/sys_mmap.S: New file. + * sysdeps/unix/bsd/sun/sunos4/mmap.c: New file. + * sysdeps/unix/bsd/sun/sunos4/Makefile [$(subdir) == misc] + (sysdep_routines): Add sys_mmap. + * sysdeps/unix/bsd/bsd4.4/mprotect.S: New file. + * sysdeps/unix/bsd/bsd4.4/munmap.S: New file. + * sysdeps/unix/bsd/bsd4.4/msync.S: New file. + * sysdeps/unix/bsd/bsd4.4/mmap.S: New file. + * sysdeps/unix/bsd/bsd4.4/madvise.S: New file. + * sysdeps/unix/bsd/sun/sunos4/mprotect.S: New file. + * sysdeps/unix/bsd/sun/sunos4/munmap.S: New file. + * sysdeps/unix/bsd/sun/sunos4/msync.S: New file. + * sysdeps/unix/bsd/sun/sunos4/madvise.S: New file. + * sysdeps/unix/bsd/ultrix4/sys/mman.h: New file. + * sysdeps/unix/bsd/ultrix4/mmap.S: New file. + * sysdeps/unix/bsd/ultrix4/munmap.S: New file. + * sysdeps/unix/bsd/ultrix4/mprotect.S: New file. + * sysdeps/stub/mprotect.c: New file. + * sysdeps/stub/munmap.c: New file. + * sysdeps/stub/msync.c: New file. + * sysdeps/stub/mmap.c: New file. + * sysdeps/stub/madvise.c: New file. + * sysdeps/generic/sys/mman.h: New file. + * sysdeps/unix/bsd/sun/sunos4/sys/mman.h: New file. + * sysdeps/unix/bsd/osf1/msync.S: New file. + * sysdeps/unix/bsd/osf1/mmap.S: New file. + * sysdeps/unix/bsd/osf1/munmap.S: New file. + * sysdeps/unix/bsd/osf1/mprotect.S: New file. + * sysdeps/unix/bsd/osf1/sys/mman.h: New file. + +Tue Feb 15 16:47:45 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * posix/unistd.h: Declare truncate, ftruncate. + + * misc/Makefile (headers): Add syslog.h. + * misc/syslog.h: New file; just includes . + + * posix/unistd.h: Change duplicate seteuid decl to setegid. + + * io/Makefile (headers): Add sys/fcntl.h. + * io/sys/fcntl.h: New file; just includes . + +Mon Feb 14 10:36:57 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Makerules (library pattern rule): Depend on + $(objpfx)stamp-$(subdir) and have empty commands. + ($(objpfx)stamp-$(subdir)): Move dep on $(objects) and ar cmds here. + (common-mostlyclean): Remove $(objpfx)stamp-$(subdir). + + * Makerules (+depfiles): Filter out deps for modules in $(omit-deps). + + * sunrpc/Makefile (omit-deps): Define new variable. + + * Makerules ($(libc.a)(__.SYMDEF)): Depend on $(+libobjs), not + lib-noranlib. + * Makefile ($(libc.a)(__.SYMDEF)): Depend on subdir_lib. + + * Makerules (+depfiles): Include deps for $(extra-objs). + + * sunrpc/rpcsvc/klm_prot.x: Move program definition to end. + + * sunrpc/Makefile (lib): Depend on $(objpfx)librpcsvc.a. + + * time/zic.c: Set CP to NAME before dereferencing. + + * sunrpc/Makefile ($(objpfx)x%.c): Target fixed from $(objpfx)x%.c. + ($(objpfx)rpcsvc/%.h): Target renamed from $(includedir)rpcsvc/%.h. + Make each x%.o file depend on the corresponding rpcsvc/%.h file. + (headers): Add rpcsvc/%.h. + (install-others): Remove generated rpcsvc headers. + (generated): Define to include generated rpcsvc headers and sources. + + * sysdeps/m68k/fpu/acos.c: Add __CONSTVALUE to defn. + * sysdeps/m68k/fpu/ldexp.c: Likewise. + * sysdeps/m68k/fpu/pow.c: Likewise. + * sysdeps/m68k/fpu/fmod.c: Likewise. + * sysdeps/m68k/fpu/atan2.c: Likewise. + * sysdeps/m68k/fpu/__drem.c: Likewise. + * sysdeps/m68k/fpu/__isinf.c: Likewise. + * sysdeps/generic/hypot.c: Likewise. + * sysdeps/m68k/fpu/__logb.c: Likewise. + + * sysdeps/unix/bsd/m68k/sysdep.S: Swap operands in cmpl. + +Sun Feb 13 19:49:24 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/m68k/Makefile (compile-command.S): Remove definition + that did kludgey # hackery. + * sysdeps/unix/bsd/hp/m68k/sysdep.h (PSEUDO): Add missing close paren. + (POUND): Define (no arg) to just `#' (a single pound sign). + (PSEUDO, DO_CALL): Use `POUND foo' in place of `POUND(foo)'. + * sysdeps/unix/bsd/sony/newsos/m68k/sysdep.h: Likewise. + * sysdeps/unix/bsd/sun/m68k/sysdep.h: Likewise. + * sysdeps/unix/bsd/sun/m68k/__brk.S: Use #0, not POUND(0). + * sysdeps/unix/bsd/hp/m68k/__brk.S: Use #__end instead of POUND(__end). + +Fri Feb 11 00:29:45 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * configure.in (Makefile): Set objdir instead of ARCH in submake cmd. + + * time/mktime.c: Define __P if undefined. + + * assert/assert.h (__ASSERT_FUNCTION): Check __GNUC_MINOR__<6 if + defined(__cplusplus). + +Thu Feb 10 00:52:31 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/unix/sysv/__sigact.c: Use __sigismember and + __sigemptyset on sa_mask instead of assuming it's an int. + + * sysdeps/unix/sysv/sysv4/sigset.h (__sigismember): Declare arg + SET to be a pointer to const. + + * sysdeps/posix/__sigpause.c: Convert MASK to a sigset_t with a loop. + + * sysdeps/posix/__sigblock.c: When sigset_t==mask, take address of + SET or OSET, cast to int *, and dereference. + * sysdeps/posix/__sigstmsk.c: Likewise. + * sysdeps/posix/__sigvec.c: Likewise. + + Add the -lrpcsvc library of XDR routines for standard SunRPC protocols. + * sunrpc/Makefile (install-lib): Define to include librpcsvc.a. + (rpcsvc-objs): New variable. + (extra-objs): Add $(rpcsvc-objs). + ($(objpfxlibrpcsvc.a): New target. + ($(objpfx)x%.o): New rule to rpcgen XDR routines. + +Wed Feb 9 11:59:33 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * time/zic.c (mkdirs): Reapply fix to avoid writing into passed ptr. + + * sunrpc/Makefile (distribute): Add etc.rpc. + ($(includedir)/bootparam_prot.h): Change target to + $(includedir)/rpcsvc/bootparam_prot.h and dep to + $(includedir)/rpcsvc/bootparam.h. + (install-others): Change reference. + + * sunrpc/rpc_util.h: Comment out bogus decl of sprintf. + + * Makerules ($(libc.a)(__.SYMDEF)): Depend on lib-noranlib instead + of $(+libobjs); this way makes the parent do subdir_lib. + + * sysdeps/unix/sysv/sysv4/sigset.h: Protect types with #ifndef + _SIGSET_H_types. Protect rest with #if !defined (_SIGSET_H_fns) + && defined (_SIGNAL_H). + +Tue Feb 8 19:00:42 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 1.07.3. + + * sysdeps/unix/sysv/sysv4/sigset.h: Fix typos (omitted __s). + +Mon Feb 7 14:31:00 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Makerules ($(libc.a)): Depend on $(libc.a)(__.SYMDEF); no commands. + ($(+libobjs)): Remove static pattern rule. + (ar-it): Target removed. + Replace with pattern rule to catch %(*.o) for all $(objects). + ($(libc.a)(__.SYMDEF)): New target. + (lib-noranlib, $(libdir)/lib$(libprefix)c.a): Don't depend on ar-it. + + * sysdeps/unix/sparc/sysdep.h (PSEUDO): Add nop after jmp; the + next insn is most likely a retl, which causes interesting behavior. + + * stdio/vfprintf.c: Pass WORKEND+1 to _itoa, not WORKEND. + Subtract one from result of _itoa when setting W. + + * time/{africa,asia,australasia,backward,europe,leapseconds, + northamerica,southamerica,zic.c}: New code and data from ADO. + +Sun Feb 6 13:55:27 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sunrpc: New directory; code from Sun's RPCSRC-4.0. + * sysdeps/unix/inet/Subdirs: Add sunrpc. + * inet/netdb.h: #include at end. + + * Make-dist ($(tardir).tar): Use -v when extracting from dist.tar + and pipe output to doschk. + + * Makeconfig (etcdir): New variable. + (localtime-file): Use that in default value. + + * Makerules (depend-$(subdir)): Include dep files for all .o files + listed in $(extra-objs). + + * posix/sys/types.h (NFDBITS): #define to __NFDBITS. + + * inet/netinet/in.h (INADDR_LOOPBACK): Don't define if already + defined; avoids changing source which defines it before including this. + (struct sockaddr_in): Rename `__pad' member to `sin_zero'; some + code wants to bzero the area just for paranoia. + + Make cleaning targets only remove common (not specific to one + subdir) generated files if run from the parent directory. + * Makefile (parent-clean): Remove $(common-generated) also. + * sysdeps/unix/Makefile (local_lim.h, sys/param.h, errnos.h, + ioctls.h, syscall.h): Append to $(common-generated), not $(generated). + * sysdeps/posix/Makefile (stdio_lim.h): Likewise. + + * signal/signal.h: Declare psignal here. + * stdio/stdio.h: Not here. + + * stdio/stdio.h [__OPTIMIZE__] (vprintf, vfscanf, vscanf, + vsscanf): Define as extern inline functions instead of macros. + + * configure.in (names): Check existence of implied dirs and warn + for absentees. + +Sat Feb 5 13:38:26 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 1.07.2. + + * resource/sys/resource.h (RUSAGE_SELF, RUSAGE_CHILDREN): #define + to self for things that test #ifdef. + + * sysdeps/unix/common/Dist: Remove bsd_getgrp.S. + + * sysdeps/unix/Makefile: Don't include param.h.dep ifdef no_deps. + + * Makerules (vpath %.h): Use $(common-objpfx) in place of $(objpfx). + + * sysdeps/unix/bsd/i386/__vfork.S: Decrement R1 and AND it with R0 + to avoid the test and branch. + + * sysdeps/unix/bsd/getprio.S, sysdeps/unix/bsd/setprio.S, + sysdeps/unix/bsd/__setreuid.S, sysdeps/unix/bsd/__setregid.S: Moved to + sysdeps/unix/common. + + * sysdeps/unix/reboot.S: New file. + + * sysdeps/unix/sysv/sysv4/solaris2/signum.h: New file. + * sysdeps/unix/sysv/sysv4/signum.h: New file. + * sysdeps/unix/sysv/sysv4/sigset.h: New file. + * sysdeps/unix/sysv/sysv4/sigaction.h (struct sigaction): Swap + positions of sa_flags and sa_mask members (sa_flags is first now). + (SA_NOCLDWAIT): Renamed from SA_NOSCLDWAIT. + + * sysdeps/unix/bsd/init-posix.c (_posix_start_time): Initialize it. + + * Makerules (open-check-inhibit-asm): Use : for empty commands in case. + + * time/leapseconds: New version from ADO, adds 1994 leap second. + +Thu Feb 3 02:15:30 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/unix/bsd/ulimit.c: Define ulimit instead of __ulimit. + +Wed Feb 2 16:56:29 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/unix/sysv/sco3.2.4/sigsuspend.S: Moved to unix/sysv/sysv4. + Replaced with #include of that file. + + * sysdeps/unix/sysv/sysv4/solaris2/sigaltstack.S: Moved to + sysdeps/unix/sysv/sysv4/sigaltstk.S. + + * sysdeps/unix/sysv/sysv4/i386/__lstat.S: Syscall lxstat, not xlstat. + * sysdeps/unix/sysv/sysv4/i386/__fstat.S: Syscall fxstat, not xfstat. + +Tue Feb 1 18:22:21 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * stdio/_itoa.c, stdio/_itoa.h: New files. + * stdio/Makefile (routines): Add _itoa. + (distribute): Add _itoa.h. + * stdio/vfprintf.c: Use _itoa instead of doing it by hand. + + * sysdeps/unix/sparc/vfork.S: Add nop after jmp. Bad delay slot, + no pipeline. + * sysdeps/unix/bsd/ultrix4/mips/vfork.S: Likewise. + +Mon Jan 31 19:33:04 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * assert/assert.c (__assert_fail): Take 4th arg FUNCTION; if it is + not null, print it in the message. Also declare __NORETURN. + * assert/assert.h (__assert_fail): Update decl; also add __NORETURN. + (__ASSERT_FUNCTION): #define to be __PRETTY_FUNCTION__ for GCC>=2.4. + (assert): Pass __ASSERT_FUNCTION to __assert_fail. + + * sysdeps/unix/bsd/sun/sparc/vfork.S: Moved to sysdeps/unix/sparc. + Use C_SYMBOL_NAME on __vfork instead of prepending an underscore. + + * sysdeps/unix/sysv/sysv4/solaris2/{start.c,sysdep.S,sysdep.h}: Moved + to sysdeps/unix/sysv/sysv4/solaris2/sparc. + + * sysdeps/unix/{i386,sysv/sysv4/solaris2,sysv/i386/linux,bsd/m68k, + bsd/ultrix4/mips,bsd/vax}/sysdep.S: Don't do EWOULDBLOCK_sys->EAGAIN + mapping #if EWOULDBLOCK_sys == EAGAIN. + + * sysdeps/unix/sparc/sysdep.h [NO_UNDERSCORES]: #define syscall_error + to C_SYMBOL_NAME(__syscall_error). + (PSEUDO): On error, jump to syscall_error instead of setting errno. + * sysdeps/unix/sparc/sysdep.S: New file. + + * sysdeps/unix/sysv/sysv4/i386/__vfork.S: New file, just #include + unix/bsd/i386 version. + + * sysdeps/unix/bsd/i386/__vfork.S: Use `scratch' in place of %edx. + +Thu Jan 27 16:46:03 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * configure.in (asm-CPPFLAGS): Add new check to see if assembling + a .S file loses without -P. If so, set asm-CPPFLAGS=-P in config.make. + + * configure.in (stddef.h): Print msg under --verbose. + + * manual/Makefile (subdir): Define outside of `export' directive, + for old make. + + * time/mktime.c (search): Take new arg PRODUCER, fn to call + instead of `localtime'. + (_mktime_internal): New function; all code from old `mktime', but + take 2nd arg PRODUCER and pass along to `search'. + (mktime): Rewrite to call _mktime_internal with localtime. + * time/Makefile (routines): Add dysize, timegm, timelocal. + * time/time.h (_mktime_internal): Declare it. + [__USE_MISC]: Declare timegm, timelocal, dysize. + * time/dysize.c: New file. + * time/timegm.c: New file. + * time/timelocal.c: New file. + +Wed Jan 26 20:06:23 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + Remove the hackery on getgroups for most systems. It is no longer + necessary because gid_t is now the same size as int. + * sysdeps/unix/common/Makefile (sysdep_routines): Don't add bsd_getgrp. + * sysdeps/unix/common/bsd_getgrp.S: File removed. + * sysdeps/unix/common/__getgrps.S: New file. + * sysdeps/unix/bsd/sequent/i386/__getgrps.S: New file. + + Clean up the rules for cleaning up. + * Makerules (common-mostlyclean): New target; remove object files. + (common-clean): New target; depend on common-mostlyclean, and + remove dep files and generated files. + (clean): Depend on common-clean. + (mostlyclean): Depend on common-mostlyclean. + * Rules (mostlyclean): Target removed. + (clean): Target removed. + (distclean): New target; depend on clean. + (realclean): New target; depend on distclean. + (subdir_distclean): New target; depend on distclean. + (subdir_realclean): New target; depend on realclean. + (subdir_mostlyclean): New target; depend on mostlyclean. + * Makefile (+subdir_targets): Add subdir_distclean, + subdir_realclean; change mostlyclean to subdir_mostlyclean. + (parent-mostlyclean): New target; depend on common-mostlyclean and + remove libc.a and $(install-lib). + (parent-clean): New target; depend on parent-mostlyclean and + common-clean, and remove sysdirs sysd-dirs sysd-Makefile. + (clean): Depend on parent-clean and just do submake for subdirs. + (mostlyclean): Depend on parent-clean and just do submake for subdirs. + (distclean, realclean): Depend on parent-clean and do submake + distclean-1 passing it variable assignment distclean-1=$@. + (distclean-1): Depend on subdir_$(distclean-1) and remove + $(config-generated), config.status, config.make, Makefile (if not + in srcdir). + * manual/Makefile (subdir_clean): Target removed. + (subdir_%): New rule to handle all such targets. + (distclean): Depend on clean, not mostlyclean. + (realclean): Depend on distclean, not clean. + + * sysdeps/unix/configure (unix_generated_dirpfx): New variable. + Use it to put created .S files in sysdeps/unix if configured in + srcdir, else in current directory. + (unix_generated): Prepend $unix_generated_dirpfx. + Have generated config.make fragment prepend $(objpfx). + * sysdeps/unix/Makefile (generated): Don't set it. + (config-generated): Set this instead; don't prepend any directory + prefix to $(unix-generated). + + Fixes for SVR4 wait from jmc@ksu.ksu.edu (James Michael Chacon): + * sysdeps/unix/sysv/sysv4/siginfo.h (__siginfo_t): Add `__code' + and `__pid' fields. + (EXITED, KILLED, CORED, TRAPPED, STOPPED, CONTINUED): New macros. + * sysdeps/unix/sysv/sysv4/__waitpid.c: Switch on INFOP.__code and + construct *STAT_LOC from INFOP.__status accordingly. + + * stdlib/testsort.c (main): Use puts to add newlines to printed lines. + +Tue Jan 25 14:32:01 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 1.07.1. + + * manual/Makefile (%.z): Change target pattern to %.gz. + (dist): Comment out dep. Don't really need the separate doc dist. + + * stdio/stdio.h [__OPTIMIZE__] (getchar, putchar, getdelim, + getline, __getline): Use extern inlines instead of macros. + + * sysdeps/unix/sysv/sco3.2.4/__waitpid.S: Fix typo ($eax for %eax). + + * sysdeps/unix/siglist.c [! HAVE_GNU_LD] (_sys_siglist): #define + to sys_siglist. + * sysdeps/posix/__gettod.c [! HAVE_GNU_LD] (__daylight, + __timezone, __tzname): #define to non-__ names. + + * math/math.h [__USE_BSD] (M_E, M_LOG2E, M_LOG10E, M_LN2, M-LN10, + M_PI, M_PI_2, M_PI_4, M_1_PI, M_2_PI, M_2_SQRTPI, M_SQRT2, + M_SQRT1_2): New macros. + +Tue Jan 25 14:01:28 1994 Michael I. Bushnell (mib at ernst.gnu.ai.mit.edu) + + * sysdeps/mach/hurd/start.c (start1): Decide separately whether to + split argv and whether to split envp. + + * sysdeps/mach/hurd/i386/sysdep.h: File deleted. + sysdeps/mach/i386/sysdep.h: Delete SET_SP macro. + sysdeps/mach/hurd/start.c (_start): Don't call GET_SP; set globals + instead of locals from exec_startup message. + + * misc/progname.c: Don't try to set + program_invocation_name or program_invocation_short_name if argv + or argv[0] is invalid. + +Mon Jan 24 16:51:43 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/unix/sysv/sysv4/__waitpid.c: Return INFOP.__pid instead of + the PID we were called with. + + * sysdeps/unix/sysv/__mkdir.c (__mkdir): Restore errno before + returning, not after (lot of good that did). + + * sysdeps/unix/bsd/ultrix4/system.c, sysdeps/unix/bsd/bsd4.4/system.c, + sysdeps/unix/bsd/osf1/system.c, sysdeps/unix/sysv/sco3.2.4/system.c, + sysdeps/unix/bsd/sun/sunos4/system.c, sysdeps/unix/sysv/sysv4/system.c: + New files. Avoid sysdeps/unix/system.c, which defines NO_WAITPID. + + * set-init.c (__libc_init): Use `n' count field instead of + checking for null terminator. The latter loses when there are no + set elts at all, and only one word is allocated for __libc_subinit. + + * sysdeps/generic/waitstatus.h (__WCOREFLAG): New macro. + * posix/sys/wait.h [__USE_BSD] (WCOREFLAG): New; define to __WCOREFLAG. + + * stdio/fileno.c (fileno): Call __stdio_check_funcs. + + * stdio/tst-fileno.c: New file. + +Fri Jan 21 16:56:50 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Rules (dep-dummy-lib, make-dummy-lib): New variables. + ($(objpfx)dummy.o): New file rule. + * posix/Makefile ($(objpfx)libposix.a): Depend on + $(dep-dummy-lib), and use $(make-dummy-lib) for commands. + * math/Makefile ($(objpfx)libm.a): Likewise. + + * sysdeps/unix/sysv/sysv4/i386/__stat.S: New file. + * sysdeps/unix/sysv/sysv4/i386/__lstat.S: Likewise. + * sysdeps/unix/sysv/sysv4/i386/__fstat.S: Likewise. + + * sysdeps/sparc/bytesex.h: New file. + +Thu Jan 20 12:45:35 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/stub/syscall.c (syscall): Declare arg type as int. + +Wed Jan 19 18:18:15 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Makerules ($(before-compile) rule): Protect w/`ifdef before-compile'. + + * manual/Makefile: Change all `mv' uses to `mv -f'. + (subdir_install): Depend on stubs. + + * Makerules ($(objpfx)%.dep: %.s): Depend also on $(objpfx)dummy.dep. + +Tue Jan 18 19:12:57 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * stdlib/testsort.c (main): Swap dimensions of BUFS array. + +Mon Jan 17 17:31:28 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 1.07 released. + + * Makerules (install-lib rules): Fix typos: missing / after $(libdir). + + * posix/Makefile (lib): Depend on $(objpfx)libposix.a + * malloc/Makefile (lib): Depend on $(objpfx)libmcheck.a. + * math/Makefile (lib): Depend on $(objpfx)libm.a. + * misc/Makefile (lib): Depend on $(objpfx)libbsd-compat.a. + + * sysdeps/unix/sysv/sco3.2.4/__setpgid.c: New file. + + * stdio/internals.c (flushbuf): Don't try aligned-block writing + calculation when FP->__buffer is nil. + +Mon Jan 17 17:27:56 1994 Jim Meyering (meyering@comco.com) + + * sysdeps/generic/memcmp.c [!_LIBC]: Include for + definition of size_t. + +Mon Jan 17 17:13:11 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/unix/sysv/sco3.2.4/syscall.h: Add SYS_[gs]etitimer and + SYS_pgrpsys (from scottb). + + * sysdeps/unix/configure: Check for getitimer and setitimer syscalls. + + * sysdeps/unix/bsd/sequent/i386/syscall.S: New file from jason. + +Sun Jan 16 00:41:03 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * string/strerror.c (strerror): Declare BUF to be array of char. + + * Version 1.06.13. + +Sat Jan 15 17:27:26 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * stdlib/testsort.c (main): Rewrite not to read any input; instead + generate some random alphabetic strings. + + * stdlib/Makefile (testsort.input): Rules removed. + + * sysdeps/unix/sysv/i386/__sigret.S: New file. + + * stdio/Makefile (distribute): Add mpn-copy.mk. + Remove 68k rules; include mpn-copy.mk for dir names needing + translation, and rewrite no-68k rules to be generic for the rest. + (mpn-copy-sysdep): New variable. + (mpn-stuff): Include $(mpn-copy-sysdep). + (clean-mpn): Use rm -f. + + * configure.in (machine): Match m68... and m88..., not mc[68]8.... + + * stdio/printf_fp.c: For length arg to __mpn_extract_double, pass + actual number of limbs allocated for F, not LDBL_MANT_DIG. + +Fri Jan 14 19:09:29 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/unix/i386/sysdep.S: Fixed typo: `movl', not `move'. + + * sysdeps/unix/sysv/sco3.2.4/__sysconf.S: Swap args in cmpl insn. + +Thu Jan 13 17:09:19 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 1.06.12. + + * sysdeps/mips/sqrt.c: File removed. Ian says only the r[46]00 + have `sqrt.d' and GCC open codes it anyway. Perhaps someday + Brendan will be able to explain his rationale for writing this. :( + +Tue Jan 11 18:10:17 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * posix/sys/wait.h (__WAIT_STATUS, __WAIT_STATUS_DEFN): Use snazzy + version only for GCC >= 2.6 (was 2.4); 2.5.7 produces bad code on + sparc when the union arg type is used. + + * Makeconfig (libprefix): New variable. + * Makerules ($(libdir)/libc.a, install): Insert $(libprefix) + between `lib' and `c' in the file name. + [install-lib] (install-lib.a, install-lib-non.a): New variables + separate out $(install-lib) elts which do or don't match lib%.a. + ($(libdir)/...): Split into two rules for above two cases. Put + $(libprefix) on installed files; for lib%.a insert it before % + rather than at beginning of file name. + + * Version 1.06.11. + + * Makerules (compilation rules): Move directoryless rules (for + finding sources in .) before include sysd-rules. Omit rules to + compile from sources in $(objpfx) if not using $(objdir). + + * sysdeps/stub/errlist.c [! HAVE_GNU_LD]: #define _sys_errlist to + sys_errlist and _sys_nerr to sys_nerr. + +Mon Jan 10 15:01:32 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * time/Makefile (z.%): In generated rules, depend on yearistype. + (tzcompile): Pass -y flag with file name of yearistype. + +Sun Jan 9 17:51:43 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * misc/bsd-compat.c (longjmp): Use __NORETURN in type. + + * sysdeps/ieee754/dbl2mpn.c [N == 2]: For denormal, when + RES_PTR[1] is zero, return 1 instead of 2. + +Sun Jan 9 13:10:25 1994 Torbjorn Granlund (tege@adder.cygnus.com) + + * stdio/printf_fp.c: Solve 10+ problems. + * ieee754/dbl2mpn.c: Correctly detect denorms. Get the denom + exponent right. + +Sun Jan 9 00:40:48 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/ieee754/dbl2mpn.c: Test BITS_PER_MP_LIMB and handle + either 32 or 64; #error if not one of those. + + * sysdeps/stub/udiv_qrnnd.c: Renamed from udiv_qrnnd.S. + +Sat Jan 8 00:25:15 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 1.06.10. + + * Makerules ($(libdir)/libc.a): Depend on subdir_install. + +Thu Jan 6 02:17:07 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Makerules ($(bindir)/$(install)): Use $(INSTALL_PROGRAM), not + $(INSTALL). + ($(libdir)/libc.a): Don't depend on lib-noranlib; on libobjs and + ar-it instead. Run ranlib on target after installing. + (installdirs): Target removed; deps on it removed. + (install-{bin,lib,data,headers,others,no-libc.a}): Renamed to + `install-*-nosubdir'. + (install-%): New pattern rule. + (install): Depend only on install-no-libc.a-nosubdir. + * Rules (subdir_install): Depend on lib-noranlib and stubs. + * Makefile (headers): Remove stubs.h. + (install-others): Define to include $(includedir)/stubs.h. + ($(includedir)/stubs.h): New target for $(objpfx)stubs.h rule. + Depend only on subdir_install, and install directly. + + * Makerules (sed-remove-objpfx): Require SPC before $(objpfx) to match. + + * time/zic.c (mkdirs): Duplicate passed string in allocated memory + and free it when done. + + * dirent/dirent.h [__USE_BSD || __USE_MISC]: Get size_t from stddef.h. + + * sysdeps/ieee754/dbl2mpn.c: For zero value, return 1 limb not 0. + + * Makerules (make-dummy-dep): Use filter-out to invert sense of + wildcard match, so we produce a command if $@ does *not* exist.c + + * stdio/Makefile (routines): Add dbl2mpn. + +Wed Jan 5 17:52:43 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/unix/i386/sysdep.S (syscall_error): Reverse args in + `cmpl' insn; non-GNU assembler is feeble-minded. + +Mon Jan 3 18:53:45 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * configure.in (sysnames): Remove / before $mach; it is prepended + already by the loop constructing $mach from $machine. + +Tue Dec 28 07:38:23 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * stdio/Makefile [gmp-srcdir] (clean-mpn): New target. + + * configure.in (machine): Turn i[34]86 into i386/&, sparc* into + sparc/&, m68k into m68k/mc68020, mc680?0 into m68k/&, mips or + r2000 into mips/r3000, r[34]000 into mips/&. + (mach): New variable; processed from $machine as $base from $base_os. + Use that in place of $machine in loop finding sysdep directories. + + * stdio/Makefile (aux): Add mp_clz_tab. + (mpn-copy): Add mp_clz_tab.c. + (mpn-routines): Add udiv_qrnnd. + (mpn-sysdep): Look for .s files too. + * sysdeps/stub/udiv_qrnnd.S: New file. + +Sat Dec 25 00:20:07 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 1.06.9. + + * Makefile (distribute): Add install.sh. + * install.sh: New file. + + * sysdeps/i386/Makefile: New file. + (asm-CPPFLAGS): Add -DGAS_SYNTAX. + + * stdio/printf_fp.c: Major rewrite of sysdeps/generic/printf_fp.c, + working with the fractional parts as multiprecision integers + instead of doubles, using mpn functions from GNU MP. Done with + much help from tege@cygnus.com. + * sysdeps/generic/printf_fp.c, sysdeps/ieee754/printf_fp.c, + sysdeps/m68k/fpu/printf_fp.c: Files removed. + +Fri Dec 24 23:09:44 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/stub/dbl2mpn.c, sysdeps/iee754/dbl2mpn.c: New files. + * sysdeps/stub/asm.h: New file. + * sysdeps/m68k/add_n.S, sysdeps/m68k/addmul_1.S, + sysdeps/m68k/mul_1.S, sysdeps/m68k/sub_n.S, + sysdeps/m68k/submul_1.S, sysdeps/m68k/asm.h, + sysdeps/generic/add_1.c, sysdeps/generic/add_n.c, + sysdeps/generic/addmul_1.c, sysdeps/generic/cmp.c, + sysdeps/generic/divmod.c, sysdeps/generic/divmod_1.c, + sysdeps/generic/lshift.c, sysdeps/generic/rshift.c, + sysdeps/generic/mod_1.c, sysdeps/generic/mul.c, + sysdeps/generic/mul_1.c, sysdeps/generic/mul_n.c, + sysdeps/generic/sub_n.c, sysdeps/generic/submul_1.c, + sysdeps/generic/get_str.c, sysdeps/i386/addmul_1.S, + sysdeps/i386/mul_1.S, sysdeps/i386/submul_1.S, + sysdeps/alpha/gmp-mparam.h, sysdeps/generic/gmp-mparam.h, + sysdeps/i386/asm.h, stdio/longlong.h, stdio/gmp.h, + stdio/gmp-impl.h: New files, taken from GNU MP. + * stdio/Makefile (mpn-headers, mpn-routines): New variables. + (routines): Include $(mpn-routines). + (distribute): Include $(mpn-headers). + [gmp-srcdir]: Much code to copy mpn source from $(gmp-srcdir). + * configure.in: Check for a --with-gmp argument and set gmp-srcdir + in config.make to its value (error if no arg given). Move + config_vars initialization before this (right after arg parsing). + +Thu Dec 23 01:44:12 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/m68k/Makefile (m68k-syntax-flag): New variable. + (compile-command.S): Include $(m68k-syntax-flag) in cpp flags. + + * manual/Makefile (install-data): New target. + (install-%): New pattern rule. + + * Makerules ($(bindir)/...): Do $(make-target-directory) first. + +Thu Dec 23 01:03:19 1993 Brendan Kehoe (brendan@zen.org) + + Port to the DEC Alpha running OSF/1. (75% done) + * sysdeps/unix/bsd/osf1/alpha/start.S: New file. + * sysdeps/unix/bsd/osf1/alpha/sysdep.h: New file. + * sysdeps/unix/bsd/osf1/alpha/sysdep.S: New file. + * sysdeps/unix/bsd/osf1/alpha/__brk.S: New file (incomplete). + * sysdeps/unix/bsd/osf1/alpha/__fork.S: New file. + * sysdeps/unix/bsd/osf1/alpha/__pipe.S: New file. + * sysdeps/unix/bsd/osf1/alpha/__getdents.S: New file. + * sysdeps/unix/bsd/osf1/alpha/__waitpid.c: New file. + * sysdeps/unix/bsd/osf1/alpha/__wait4.S: New file. + * sysdeps/unix/bsd/osf1/dirstream.h: New file. + * sysdeps/unix/bsd/osf1/alpha/statbuf.h: New file. + * sysdeps/unix/bsd/osf1/direct.h: New file. + * sysdeps/unix/bsd/osf1/dirstream.h: New file. + * sysdeps/unix/bsd/osf1/Makefile: New file, defining LDFLAGS. + + * sysdeps/unix/ioctls-tmpl.c [__osf1__ && __alpha__]: Clean up the + ioctls that we get for an Alpha running OSF/1. + + * sysdeps/unix/common/glue-ctype.c: Add code for HAVE__LOCP. + (main): If new macro TABLE_NAME is defined, use that for the name + of the array we're writing out, rather than what's defined in TABLE. + * sysdeps/unix/common/configure.in (AC_HAVE_FUNCS): Add `_locp'. + + * sysdeps/unix/bsd/osf1/sigaction.h: Add SA_ONSTACK, SA_RESTART, + and SA_DISABLE. + * sysdeps/alpha/setjmp.S: Add .end directive. + + * time/sys/time.h (struct timeval): Make members TV_SEC and + TV_USEC be `int', not `long', since it won't hurt other hosts, but + kills the Alpha. + * resource/sys/resource.h (struct rusage): Make all non-timeval + members be `long', not `int'. + + * sysdeps/alpha/strlen.c (strlen): Go from 0 to 7, not 3, since + there are 8 bytes in a long on the Alpha. Check for '\0' after + checking for C in initial byte-by-byte loop. + * sysdeps/alpha/strchr.c (strchr): Likewise. Shift out to 64 when + setting CHARMASK. + * sysdeps/alpha/memchr.c (memchr): Likewise. Return NULL if we + didn't find it in N characters, or N == 0. Declare CP to be an + unsigned char*. + + * sysdeps/alpha/Makefile: Add divrem stuff. + * sysdeps/alpha/DEFS.h: New file. + * sysdeps/alpha/divrem.m4: New file. + * sysdeps/alpha/macros.m4: New file. + * sysdeps/alpha/Dist: Add .S files, divrem.m4, macros.m4, and DEFS.h. + + * sysdeps/unix/bsd/osf1/alpha/vhangup.S: New file. (Only a + temporary workaround, until we figure out how to deal with the + SYS_ult syscalls better.) + * sysdeps/unix/bsd/osf1/alpha/killpg.S: Likewise. + * sysdeps/unix/bsd/osf1/alpha/__sigvec.S: Likewise. + * sysdeps/unix/bsd/osf1/alpha/__sigpause.S: Likewise. + * sysdeps/unix/bsd/osf1/alpha/__sigstmsk.S: Likewise. + * sysdeps/unix/bsd/osf1/alpha/recv.S: Likewise. + * sysdeps/unix/bsd/osf1/alpha/send.S: Likewise. + + * sysdeps/alpha/__math.h (__copysign): Add __CONSTVALUE. + * sysdeps/alpha/__copysign.c: Define __NO_MATH_INLINES. + * sysdeps/alpha/fabs.c: Likewise. + +Wed Dec 22 17:55:49 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * crypt/*: New version from glad. + + * sysdeps/unix/sysv/sysv4/Dist: Add __getpgid.c and __setpgid.c. + + * dirent/Makefile (headers): Define; include dirent.h & dirstream.h. + +Tue Dec 21 14:24:38 1993 Brendan Kehoe (brendan@zen.org) + + * sysdeps/unix/sysv/sysv4/i386/statbuf.h (struct stat): Add + missing member ST_FSTYPE. Fixup types on various members to make + this properly reflect what the system has. + + * misc/ioctl.c (ioctl): Declare 2nd arg to be unsigned long int to + match the change in ioctl.h. + +Tue Dec 21 00:01:01 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 1.06.8. + + * dirent/dirent.h (struct dirent): Add `d_reclen'; make `d_namlen' + an `unsigned short int' instead of `size_t'. + (DIR): Move typedef to sysdep file dirstream.h. + * sysdeps/unix/dirstream.h: New file, broken out of dirent.h. + * sysdeps/stub/dirstream.h: New file. + * sysdeps/unix/bsd/dirstream.h: New file. + * sysdeps/unix/bsd/readdir.c: New file. + +Mon Dec 20 23:29:07 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/unix/start.c: Include . + * sysdeps/unix/sysv/sysv4/i386/start.c: File removed. + +Sat Dec 18 01:37:25 1993 Brendan Kehoe (brendan@zen.org) + + * sysdeps/unix/sysv/sysv4/i386/start.c: New file. Same as + sysdeps/unix/i386/start.c, but defines NO_UNDERSCORES. + + * sysdeps/unix/sysv/sysv4/waitflags.h: New file, with non-standard + WEXITED and WTRAPPED macros defined. + * sysdeps/unix/sysv/sysv4/__waitpid.c: New file. + * sysdeps/unix/sysv/sysv4/siginfo.h: New file. + * sysdeps/unix/sysv/sysv4/__waitid.S: New file. + * sysdeps/unix/sysv/sysv4/Makefile (sysdep_routines): Mention __waitid. + * sysdeps/unix/sysv/sysv4/pipestream.c: New file, to avoid having + NO_WAITPID set. + * sysdeps/unix/sysv/sysv4/Dist: Added __waitid.S and siginfo.h. + + * sysdeps/unix/sysv/sysv4/__getpgid.c: New file. + * sysdeps/unix/sysv/sysv4/__setpgid.c: New file. + * sysdeps/unix/sysv/sysv4/Makefile (sysdep_routines): Add them. + + * sysdeps/unix/sysv/sysv4/__getpgrp.c (__getpgrp): It's the 0th + subcall for getpgrp, not 4th. + * sysdeps/unix/sysv/sysv4/__setpgrp.c (__setpgrp): Likewise, it's + the 1st, not the 5th. + +Fri Dec 17 15:05:58 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * misc/sys/ioctl.h (__ioctl, ioctl): Make second arg `unsigned + long int' instead of `int' (4.4 uses unsigned long). + + * string/string.h (strcat): Parameters names were swapped. + +Fri Dec 17 01:18:27 1993 Michael I Bushnell (mib@geech.gnu.ai.mit.edu) + + * Made the Hurd error system 0x10 again; this undid many + of the changes of Nov 23. Affected all the err_ files in + mach; recreated sysdeps/hurd/err_hurd.sub; changed back + err_kern.sub to have the Unix error codes. + +Thu Dec 16 15:40:25 1993 Brendan Kehoe (brendan@zen.org) + + * stdio/temptest.c (main): Remove the files we created once we're + done. Make return type int, and exit with 0 status. + + * sysdeps/posix/tempname.c (__stdio_gen_tempname): Fix typo of + extra comma in sprintf call. + +Tue Dec 14 13:08:35 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/posix/tempname.c (__stdio_gen_tempname): Rewrote main + logic. Removed INFOS structure array and replaced it with + INDICES, an array of size_t. Removed INFO ptr and replaced it + with IDX, which points to either elt of INDICES. Rewrite main + loop to increment *IDX until it hits 62*62*62. Construct file + name by dividing out two powers of 62 from *IDX and using the + modulus as an index into `letters'. + + * sysdeps/unix/common/Makefile (sysdep_routines): Only add + bsd_getgrp here if the sysdep __getgrps.? chosen is unix/common's. + + * posix/fnmatch.h: #undef FNM_PATHNAME, FNM_NOESCAPE, and + FNM_PERIOD before defining them. + + * time/__tzset.c (compute_change): In M case when tallying time in + months before specified month, count to RULE->m - 1, not ...+1. + + * manual/Makefile (realclean): Remove index, aux, and toc files + created by TeX. + +Mon Dec 13 19:33:33 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/posix/__wait3.c: Use __WAIT_STATUS_DEFN in place of + __WAIT_STATUS in arg type. + +Wed Dec 8 15:59:45 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * malloc/memalign.c: Set L->next and _aligned_blocks only when L + is newly allocated, not when we reuse an old one. + +Tue Dec 7 16:04:22 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * io/fcntl.c: Replace function_alias use with: + [HAVE_GNU_LD]: Use symbol_alias. + [! HAVE_GNU_LD]: Define fcntl to use stdarg and call __fcntl. + +Mon Dec 6 17:50:05 1993 Brendan Kehoe (brendan@zen.org) + + * sysdeps/unix/i386/sysdep.S (syscall_error): Fix labels so + they'll compile. + + Make the Solaris port work dammit. + * sysdeps/unix/sysv/sysv4/solaris2/statbuf.h (struct stat): Make + ST_DEV member be unsigned long, not short. + + * sysdeps/unix/sysv/sysv4/solaris2/direct.h: New file, same as + sysv4/direct.h but uses strlen instead of the offset-based + computation of the name length, since that doesn't reliably work + for Solaris. + + * sysdeps/unix/sysv/sysv4/solaris2/sysdep.h (PSEUDO): Don't move + %g0 into %o0, since that will clobber the real return value. Take + out the retl at the end, why in the world did I put it in there? + +Mon Dec 6 17:27:26 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Makefile ($(objpfx)crt1.o): Add target to $(objpfx)Mcrt1.o + rule; generalize commands. + (install-lib): Add crt1.o. + + * sysdeps/unix/Makefile ($(common-objpfx)ioctls): Use -x flag to + fgrep to match only entire lines. + +Sun Dec 5 01:53:43 1993 Brendan Kehoe (brendan@zen.org) + + * sysdeps/unix/bsd/ultrix4/mips/start.S: New file. + * sysdeps/unix/bsd/ultrix4/mips/start.c: Deleted. + +Thu Dec 2 18:29:01 1993 Brendan Kehoe (brendan@zen.org) + + * sysdeps/unix/bsd/ultrix4/mips/sysdep.S: Don't use dollar signs + with the errnos. + + * sysdeps/stub/{__wait, __wait3, __wait4}.c, + sysdeps/unix/bsd/bsd4.4/{__wait, __wait3}.c, + sysdeps/unix/bsd/sun/sunos4/__wait4.c, + sysdeps/posix/{__wait, __wait3}.c, posix/{wait, wait3, wait4}.c: Use + __WAIT_STATUS_DEFN, not __WAIT_STATUS. + + * sysdeps/posix/killpg.c (killpg): Make arg PGRP __pid_t, not pid_t. + * sysdeps/stub/killpg.c (killpg): Likewise. + + * setjmp/longjmp.c (longjmp): Only use __NORETURN if !HAVE_GNU_LD. + * setjmp/_longjmp.c (_longjmp): Likewise. + +Thu Dec 2 17:31:19 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * posix/sys/wait.h (__WAIT_STATUS_DEFN): Define new macro. + + * Makerules (+install): Variable removed. + (install-bin, install-lib, install-data, install-headers, + install-others): New targets. + (install-no-libc.a): Depend on them instead of $(+install). + + * Makefile (+subdir_targets): Add + install-{no-libc.a,bin,lib,data,headers,others}. + (install-no-libc.a): Don't depend on subdir_install. + +Thu Dec 2 17:14:39 1993 Brendan Kehoe (brendan@zen.org) + + * sysdeps/ieee754/__isnan.c (__isnan): Return __CONSTVALUE, to + match declaration in math/math.h. + +Thu Dec 2 15:48:19 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * time/africa, time/antarctica, time/asia, time/australasia, + time/emkdir.c, time/europe, time/ialloc.c, time/northamerica, + time/pacificnew, time/private.h, time/solar87, time/solar88, + time/southamerica time/systemv, time/tzfile.h, time/zdump.c, + time/zic.c: New data and code from ADO. + * time/Makefile (tzfiles): Added backward. + * time/backward: New file from ADO. + + * locale/C-ctype_ct.c: Remove _ISspace bit from BS (8). + +Wed Dec 1 00:01:30 1993 Michael I Bushnell (mib@geech.gnu.ai.mit.edu) + + * mach/err_kern.sub: Frob around lack of GNU ld. + + * mach/errsystems.awk: The declaration of __mach_error_systems + should not be static, but it should be const. + + * sysdeps/mach/hurd/errlist.awk (BEGIN): Deal with the case + where you don't have GNU ld. + + * sysdeps/mach/hurd/Makefile: Define mib_hacks to make. + +Tue Nov 30 23:24:07 1993 Michael I Bushnell (mib@geech.gnu.ai.mit.edu) + + * Makefile: install-no-libc.a needs to depend on subdir_install. + +Mon Nov 29 16:21:38 1993 Michael I Bushnell (mib@geech.gnu.ai.mit.edu) + + * sysdeps/mach/_strerror.c: Include . + + * hurd/setuids.c: Put entire file inside #ifndef MIB_HACKS; + it uses the old auth_makeauth call. + + * hurd/__setauth.c: Put entire file inside #ifndef MIB_HACKS; + it depends on cthreads to compile, which is not yet integrated. + + * hurd/hurdpath.c (__hurd_path_lookup): cast to avoid GCC warning. + +Wed Nov 24 00:59:15 1993 Michael I Bushnell (mib@geech.gnu.ai.mit.edu) + + * hurd/Makefile: Commented out hurdauth; recent changes to + auth.defs prevent it from working now. + + * mach/mach_error_string.c (do_compat): Change name to + __mach_error_map_compat; make it no longer static. + (mach_error_type, mach_error_string_int): Use + __mach_error_map_compat instead of do_compat. + * sysdeps/mach/_strerror.c: Use __mach_error_map_compat. + + * mach/devstream (output/write_some): Cast fourth argument to + device_write_inband to char * to avoid warning. + (output): Call to write_some mentioned variable `start' from + a previous version of the function; changed this to f->__buffer. + +Tue Nov 23 23:16:13 1993 Michael I Bushnell (mib@geech.gnu.ai.mit.edu) + + [ The net effect of the following change is to eliminate error + systems which are specific to single-server Mach systems, and + to put the Hurd errors where the Unix errors were. ] + * mach/{err_bootstrap.sub,err_ipc.sub,err_server.sub,err_us.sub}: + None of these are used for the Hurd; we shouldn't pretend that + they are meaningful in our environment. The files have been + renamed to equivalent names with an equal sign prepended; this + will inhibit distribution and prevent the Makefile from looking at + them. + * mach/err_kern.sub: Deleted the definitios of err_codes_unix; + get the strings from _sys_errlist. Rename `unix' to `hurd'. + Rename err_os_sub to be err_kern_sub to match what errsystems.awk + expects. + * sysdeps/mach/hurd/err_hurd.sub: Deleted this file. + * sysdeps/mach/hurd/errnos.awk: Changed definition of _HURD_ERRNO + to be correct. + + * sysdeps/mach/hurd/Makefile: use gawk, not awk. + + * mach/errsystems.awk: Generally rewrote the printf. It's now + closer to Roland's original, but without the $i mistake at all, + in any form. + +Tue Nov 23 20:21:06 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/unix/{i386,sysv/sysv4/solaris2,sysv/i386/linux,bsd/m68k, + bsd/ultrix4/mips,bsd/vax}/sysdep.S: Define _ERRNO_H before + including ; otherwise does not define most + macros (importantly, EAGAIN!). + +Tue Nov 23 12:43:38 1993 Michael I. Bushnell (mib at ernst.gnu.ai.mit.edu) + + * mach/errsystems.awk: $i is not an index; make i a variable and + increment it properly. Don't call `err_get_system'; use the + system number as the index in the array directly. + + * mach/errorlib.h: Added `const' in all the right places. + * sysdeps/mach/hurd/err_hurd.sub: Cast _sys_errlist to + the right type. Better to declare it right in stdio/stdio.h, but + I don't dare change that file lest Roland call me a twit. + * mach/err_us.sub: Add more brackets to initializer to shut GCC up. + + * sysdeps/mach/hurd/err_hurd.sub: Delete keyword `const'; this + is taken care of by the `#define static static const' found in + errsystems.c as created by mach/errsystems.awk. + * mach/errsystems.awk: Ditto for declaration of __mach_error_systems. + + * sysdeps/mach/hurd/err_hurd.sub: Change to ; + errnos.h doesn't define most stuff unless it is included from errno.h. + + * mach/mach_error_string.c (mach_error_string_int): Delete unused + variable `err_str'. + + * mach/mach_error_string.c (do_compat): Declare to be void. + (mach_error_string,mach_error_type, mach_error_string_int): + Declare return type as const char *. + * mach/mach_error.h: Change declarations to match. + + * mach/errsystems.awk: The array that split creates is origin 1, + not origin 0; fixed loop to match. + + * sysdeps/mach/hurd/errnos.awk: Ernst's awk doesn't grok + backslash-newline inside strings. + +Sat Nov 20 19:02:25 1993 Brendan Kehoe (brendan@zen.org) + + * math/__finite.c (__finite): Return __CONSTVALUE, to match math.h. + * math/__scalb.c (__scalb): Likewise. + * math/copysign.c (copysign): Likewise. + * math/drem.c (drem): Likewise. + * math/expm1.c (expm1): Likewise. + * math/finite.c (finite): Likewise. + * math/infnan.c (infnan): Likewise. + * math/isinf.c (isinf): Likewise. + * math/isnan.c (isnan): Likewise. + * math/logb.c (logb): Likewise. + * math/rint.c (rint): Likewise. + * math/scalb.c (scalb): Likewise. + * sysdeps/generic/atan.c (atan): Likewise. + * sysdeps/ieee754/__copysign.c (__copysign): Likewise. + * sysdeps/ieee754/__drem.c (__drem): Likewise. + * sysdeps/ieee754/__isinf.c (__isinf): Likewise. + * sysdeps/ieee754/__logb.c (__logb): Likewise. + * sysdeps/ieee754/ldexp.c (ldexp): Likewise. + * sysdeps/ieee754/log10.c (log10): Likewise. + + * setjmp/_longjmp (_longjmp): Add __NORETURN. + * setjmp/longjmp (longjmp): Likewise. + +Thu Nov 18 04:16:34 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * string/strerror.c (strerror): Call _strerror_internal to do the + work, passing it a scratch buffer. + * stdio/perror.c: Likewise. + * string/Makefile (routines): Add _strerror. + * sysdeps/generic/_strerror.c (_strerror_internal): New file. + + * configure.in (config.status): Make it pass its args to configure. + +Thu Nov 18 03:52:32 1993 Michael I Bushnell (mib@geech.gnu.ai.mit.edu) + + * stdio/__vfscanf.c (__vfscanf): Put the floating point cases + (e,E,f,g,G) inside #ifndef MIB_HACKS; roland thikgs strtod crashes + the compiler. Wheee. + +Thu Nov 18 03:21:51 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * errno.h [__USE_GNU__]: Declare program_invocation_name and + program_invocation_short_name. + +Thu Nov 18 00:07:37 1993 Michael I. Bushnell (mib at ernst.gnu.ai.mit.edu) + + * sysdeps/mach/hurd/start.c (start1): Don't add one to + the return value of split_args; it counts them just fine by + itself. Do add one when sizing the arrays. + +Mon Nov 15 00:19:48 1993 Noel Cragg (noel@geech.gnu.ai.mit.edu) + + * time/mktime.c: add TIMES_THROUGH_SEARCH variable to make sure + that we don't get caught in an infinite loop (would be bad, + indeed, for a library routine). + +Sun Nov 14 18:48:28 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * misc/sys/cdefs.h (__NORETURN, __CONSTVALUE): Use + `__attribute__', not `__attributes__'. + Test __GNUC_MINOR__ < 6, not < 5. + +Wed Nov 10 05:39:15 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/unix/morecore.c: Only declare sbrk #ifdef __GNU_LIBRARY__. + Cast its return value. + + * sysdeps/unix/bsd/m68k/syscall.S: Use movel in place of moveal. + + * configure.in (signed size_t check): Don't use AC_DEFINE; do it + by hand and insert -U__SIZE_TYPE__ before -D. + + * posix/unistd.h: Declare syscall. + + * sysdeps/m68k/fpu/__math.h (__isnan, __isinf): Use __CONSTVALUE + in prototypes. + + * configure.in (Makefile): Write ARCH=`pwd`, rather than + substituting in the directory name at configure time. + + * sysdeps/mach/i386/syscall.S: New file. + +Tue Nov 9 06:29:15 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * configure.in (os = netbsd* | 386bsd*): base_os=unix/bsd/bsd4.4. + Set --with-gnu-{ld,as} implicitly when base_os is bsd4.4. + + * Version 1.06.7. + + * misc/Makefile (routines): Add syscall. + * sysdeps/unix/syscall.S, sysdeps/stub/syscall.c, + sysdeps/unix/bsd/sun/m68k/syscall.S, sysdeps/unix/bsd/m68k/syscall.S, + sysdeps/unix/i386/syscall.S: New files. + * sysdeps/unix/bsd/hp/m68k/sysdep.h (DO_CALL): First arg + is syscall number, not name. + (PSEUDO): Pass POUND (SYS_ify (syscall_name)) to DO_CALL. + * sysdeps/unix/bsd/sony/newsos/m68k/sysdep.h (DO_CALL, PSEUDO): + Likewise. Also, do movel into d0 before linkw, so the argument + could conceivably pop the stack. + * sysdeps/unix/bsd/hp/m68k/__brk.S: Pass complete number to DO_CALL. + + * sysdeps/unix/sysv/Dist: sys_getdents.S was renamed s_getdents.S. + +Thu Nov 4 01:23:59 1993 Michael I. Bushnell (mib at ernst.gnu.ai.mit.edu) + + * string/stpncpy: Fix typo; according to gnu-stabs.h the name + inside the DEFUN should be the *non* __ version. + * sysdeps/generic/__stpncpy.c: Missing declaration of s. + +Wed Nov 3 09:35:30 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/unix/Makefile ($(objpfx)errlist.c): Conditionalize these + rules to be used only when errlist.c is otherwise a stub. + +Fri Oct 29 17:29:20 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * string/stpncpy.c: New file. + * sysdeps/generic/__stpncpy.c: New file. + * string/Makefile (routines): Add stpncpy and __stpncpy. + * string/string.h [__USE_GNU__]: Declare them. + +Thu Oct 28 17:13:58 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/unix/errnos-tmpl.c (DO): If NAME is "EWOULDBLOCK", + write "#define EWOULDBLOCK EAGAIN" and change NAME to + "EWOULDBLOCK_sys". + * sysdeps/unix/{i386,sysv/sysv4/solaris2,sysv/i386/linux,bsd/m68k, + bsd/ultrix4/mips,bsd/vax}/sysdep.S [EWOULDBLOCK_sys]: Translate + EWOULDBLOCK_sys into EAGAIN. + * Makefile (distribute): Add move-if-change. + * move-if-change: New file. + +Tue Oct 26 18:19:34 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * misc/sys/cdefs.h: Define __NORETURN and __CONSTVALUE. + For GCC 2.5 and later, use __attributes__ (({volatile,const})). + * stdlib/stdlib.h: Don't define either here. + * math/math.h: Likewise. + * posix/unistd.h: Likewise. + * time/time.h: Likewise. + * stdio/stdio.h: Likewise. + * setjmp/setjmp.h: Likewise. + + * posix/sys/wait.h (__WAIT_STATUS): Use union hack defn for GCC + 2.4 and up (testing __GNUC__ and __GNUC_MINOR__). + + * sysdeps/unix/sysv/sco3.2.4/__sysconf.S: Don't include . + + * Makerules [inhibit-sysdep-asm] + (open-check-inhibit-asm, close-check-inhibit-asm): New variables. + ($(+sysdir_pfx)sysd-rules): Use them around .s and .S rules. + Depend on existing sysdep makefiles. + +Mon Oct 25 15:56:41 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/mach/hurd/killpg.c: Include for pid_t. + + * sysdeps/posix/tempname.c (__stdio_gen_tempname): Take new arg + STREAMPTR. When non-nil, use __open with O_EXCL to test for + existence, and set *STREAMPTR to new stream on returned fd. + * stdio/stdio.h: Update prototype. + * sysdeps/stub/tempname.c: Here too. + * stdio/tmpfile.c: Pass &F to __stdio_gen_tempname instead of + using fopen. + * stdio/tmpnam.c: Pass extra NULL arg. + * stdio/tempnam.c: Likewise. + + * configure.in (switches): Only put --os-{release,version} here. + (config.status): Write $configure_args in place of $config $switches. + + * signal/Makefile (routines): Renamed sigaltstack to sigaltstk. + * sysdeps/stub/sigaltstack.c: Renamed to sigaltstk.c. + * sysdeps/unix/bsd/bsd4.4/sigaltstack.S: Renamed to sigaltstk.S. + * sysdeps/unix/sysv/sys_getdents.S: Renamed to s_getdents.S. + * sysdeps/unix/sysv/Makefile (sysdep_routines): Changed reference. + +Fri Oct 22 03:47:43 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * malloc/realloc.c [MEMMOVE_MISSING]: Test this to use safe_bcopy. + [emacs]: Don't define safe_bcopy. + + * time/zdump.c, time/europe: New versions from ADO. + + * Rules (dont_distribute): Export this variable. + (subdir_echo-distinfo): Echo its value for +nodist+. + +Thu Oct 21 15:58:08 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/posix/__dup2.c: Include . + [OPEN_MAX]: Fail with EBADF if FD2>=OPEN_MAX. + + * sysdeps/unix/Makefile (sys/param.h): Conditionalize all this + code to happen only when there is no sysdep sys/param.h. + +Wed Oct 20 03:35:41 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Makerules (make-dummy-dep): Change to `ln $(objpfx)dummy.dep $@'. + ($(objpfx)dummy.dep): Create new file containing comment. + ($(objpfx)%.dep: $(objpfx)%.s): Depend on $(objpfx)dummy.dep. + ($(+sysdir_pfx)sysd-rules): Likewise in generated rule. + +Mon Oct 18 04:22:42 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * signal/signal.h (killpg): Make PGRP arg pid_t. + * sysdeps/posix/killpg.c (killpg): Likewise. + * sysdeps/stub/killpg.c (killpg): Here too. + + * posix/glob/configure.in: Use AC_HAVE_HEADERS instead of + AC_MEMORY_H and AC_UNISTD_H; omit AC_USG (not needed). + + * Rules (generated): New target. + + * Makefile (subdirs): Use filters to put mach and hurd first in + the list if they are in it at all. + * Makerules (before-compile): Reorder similarly, matching any + generated mach or hurd files. + +Fri Oct 15 17:57:58 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/posix/mk-stdiolim.c [! OPEN_MAX]: Use _POSIX_OPEN_MAX + for FOPEN_MAX value. + [! PATH_MAX]: Use 1024 (twice _POSIX_PATH_MAX) for FILENAME_MAX value. + + * Makerules (in-Makerules): Define this variable before including + sysd-Makefile. + +Sun Oct 10 14:31:35 1993 Jim Meyering (meyering@comco.com) + + * posix/fnmatch.c [CONFIG_BROKETS]: Include only under + this condition, else "config.h". + +Tue Oct 05 16:08:39 1993 Jim Meyering (meyering@comco.com) + + * time/mktime.c [CONFIG_BROKETS]: Include only under + this condition, else "config.h". + +Thu Sep 23 15:14:08 1993 Brendan Kehoe (brendan@zen.org) + + * sysdeps/unix/sysv/sysv4/__dup2.c: New file. + +Wed Sep 22 16:58:29 1993 Brendan Kehoe (brendan@zen.org) + + * sysdeps/unix/sysv/sysv4/solaris2/statbuf.h: New file. + * sysdeps/unix/sysv/sysv4/i386: New directory. + * sysdeps/unix/sysv/sysv4/i386/statbuf.h: New file. + +Fri Sep 17 04:03:26 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Makerules (+make-deps): Put output in temp file and use atomic mv. + + * Makerules ($(+sysdir_pfx)sysd-rules): New target, the rule part + of what was in sysd-Makefile. Include it. + ($(+sysdir_pfx)sysd-Makefile): Do just includes here. Move the + generated implicit rules to sysd-rules. Put the output into a + temp file and use atomic mv to final target. + (before-compile): Filter out existing files from value, after + sysd-Makefile but before sysd-rules. + +Thu Sep 9 22:28:13 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Makefile (%/configure): Copy rule from Make-dist. + +Mon Sep 6 19:57:43 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Makerules (sources, objects): Move override definitions to + before +depfiles calculation. + + * time/{asia,australasia,europe,zdump.c}: New versions from ADO (93e). + +Mon Aug 30 13:40:34 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * string/string.h (memmem): Reverse argument order, to be like strstr. + * sysdeps/generic/memmem.c: Here too. + + * dirent/scandir.c: For error return, save errno around closedir. + Call closedir (DP) before returning successfully. + +Thu Aug 26 19:26:06 1993 Brendan Kehoe (brendan@zen.org) + + * sysdeps/unix/sysv/sysv4/solaris2/sysdep.h: Rewritten to not use + the generic sparc sysdep.h. + (PSEUDO): Use trap 8, not 0. Also just put %g0 in %o0, without + subtracting 1. + (ENTRY): Align on 4, and add a `.type' directive. + * sysdeps/unix/sysv/sysv4/solaris2/sysdep.S: New file. + +Fri Aug 20 19:37:55 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/generic/abort.c: Remove unused variable ABORTING. + +Thu Aug 19 17:45:34 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Makeconfig [!objdir] [!..] (common-objdir): Set to `.'. + +Wed Aug 18 15:10:13 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * stdio/__vfscanf.c (__vfscanf: number): Reverse sense of + NUMBER_SIGNED conditional in assignment code. + +Mon Aug 16 15:49:13 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/unix/Makefile (syscall.h): Add sed + s/SYS_syscall_basenum/syscall_basenum/g. SYSCALL_BASENUM is a + macro both defined and used in ; we must undo our + prependation of `SYS_'. + + * Version 1.06.6. + +Fri Aug 13 16:53:02 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * stdio/__vfscanf.c: New local variable NUMBER_SIGNED. + (%x, %X, %o, %u): Set it to zero. + (%d, %i): Set it to one. + (number): If NUMBER_SIGNED is set, use strtol and store in ...int*. + If clear, use strtoul an store value in unsigned ...int*. + + * malloc/malloc.h: Undo last change (_AIX32). + (memory_warnings): Use const instead of __const in prototype. + +Fri Aug 13 00:22:01 1993 John Grabowski (johng@whiskey.media.mit.edu) + + * configure.in (os = osf1*): base_os=unix/bsd. + +Thu Aug 12 16:37:13 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * malloc/valloc.c [__GNU_LIBRARY__ || _LIBC]: Include + before trying to use size_t to declare __getpagesize. + Include before trying to use __P. + + * posix/{fnmatch,glob}.c, malloc/malloc.h [HAVE_CONFIG_H]: Include + instead of "config.h". This is so that a compilation + using -I. -I$srcdir will use ./config.h rather than + $srcdir/config.h (which it would do when glob.c was found in $srcdir). + + * malloc/malloc.h [_AIX32]: Use !__STDC__ defns of __P, const, __ptr_t. + +Mon Aug 9 16:56:31 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Makerules (-e check): Don't rely on $(findstring e,$(MAKEFLAGS)) + since that also trips for --no-print-directory. + Instead actually see if -e's functionality is taking place. + + * malloc/realloc.c: Call _free_internal instead of free in most places. + + * configure.in (arg parsing): No spaces around = in eval. + + * sysdeps/i386/abort.c: New file. + * stdlib/abort.c: Moved to sysdeps/generic/abort.c. + (abort): Don't try to do stdio cleanup, since we can't guarantee + it anyway. + +Fri Aug 6 17:59:56 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Makerules ($(+install)): Don't depend on installdirs. + (make-target-directory): New define. + (do-install): Do $(make-target-directory) beforehand. + +Tue Aug 3 02:22:41 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/stub/sys/reboot.h: New file. + * sysdeps/unix/bsd/sys/reboot.h: New file, snarfed from 4.4. + * misc/Makefile (headers): Add sys/reboot.h. + + * stdio/stdio.h (__io_{read,write,seek,close,fileno}): Renamed to + __io_*_fn, so as not to conflict with the Hurd mig stubs. + * internals.c: Changed uses. + + * sysdeps/unix/bsd/signum.h (SIGINFO): Define as 29. + + * Makerules (+includes): Don't set this here. + * Makeconfig (+includes): Put $(+sysdep-includes) in the value here. + + * posix/unistd.h [__USE_MISC]: Declare mktemp and mkstemp. + +Mon Aug 2 16:59:12 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * malloc/valloc.c: Move getpagesize goop to before malloc.h. + [_LIBC]: Test this as well as __GNU_LIBRARY__ (either one) to use + __getpagesize instead of "getpagesize.h". + +Sun Aug 1 16:55:18 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * configure.in (arg parsing): For `--with-foo=bar', do + "with_foo='bar'". For `--with-fnord', do "with_fnord=yes". + * sysdeps/mach/configure: New file, groks `--with-mach=DIR'. + +Fri Jul 30 00:01:00 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * configure.in (os = gnu*): Set $base_os, not $os, to mach/hurd. + +Thu Jul 29 17:46:02 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * ctype/ctype.h (__isctype): Don't test !=0, to avoid possible + extra test insn. + +Sun Jul 25 22:19:04 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * setjmp/setjmp.h [! __FAVOR_BSD] (_longjmp): Define as longjmp. + +Thu Jul 22 14:57:15 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/unix/bsd/osf1/sigaction.h: New file. + + * sysdeps/stub/signum.h: Deansideclized. + * sysdeps/stub/pipestream.c (pclose): Test STREAM->__ispipe + instead of __ispipe (STREAM). + * sysdeps/stub/__wait3.c: Fix arg types. + * sysdeps/stub/__ioctl.c: Add missing close paren. + * sysdeps/stub/__getpgsz.c: Include for size_t. + * sysdeps/stub/__get[gu]id.c: Include ; fix return type. + * sysdeps/stub/__set[gu]id.c: Include ; fix arg type. + * sysdeps/stub/__mknod.c: Include ; fix arg types. + + * sysdeps/generic/termbits.h (INLCR, ISTRIP): Fixed typo'd values. + + * stdio/stdio.h (vprintf): Fix last arg type to __gnuc_va_list. + * stdio/vprintf.c (vprintf): Here too. + + * malloc/malloc.c (malloc) [SUNOS_LOCALTIME_BUG]: Put this crap + after hook and initialization. + + * stdio/stdio.h (__validfp): Use a little anonymous struct to find + the real stream ptr from in glue stream. It used to rely on using + `((int *) STREAM)[1]'; but that assumes no struct padding, and + there will be some when int is 32 bits and pointers are 64. + + * malloc/mtrace.c: Use %lx instead of %x for `size_t' formats. + +Wed Jul 21 18:20:41 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * malloc/malloc.c (malloc): Handle SUNOS_LOCALTIME_BUG. + +Wed Jul 21 16:42:14 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * time/Makefile (extra-objs): Remove gratuitous - in `z.%'. + + * Makefile [+gnu-stabs] (generated): Add $(objpfx)munch-init.c. + (distclean): Also remove sysd-Makefile and sysd-dirs in $(objpfx). + (distclean) [objdir]: Also remove $(objpfx)Makefile. + + * sysdeps/posix/Makefile (generated): Add $(common-objpfx)mk-stdiolim. + (generated, before-compile): Take defns out of ifeq ($(subdir),posix). + + * sysdeps/unix/common/Makefile (generated): Include ctype-glue.c, + not glue-ctype.c. + + * sysdeps/unix/configure (unix_generated): New variable; collect + names of created files in it. + (config_vars): Write an assignment for `unix-generated' to that list. + * sysdeps/unix/Makefile (generated): Append $(unix-generated) + (with either $(objpfx) or $(sysdep_dir)/unix/ prepended to each file). + + * Makefile (clean): Pass no_deps=t to subdir_clean make. + +Sun Jul 18 21:42:05 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * malloc/malloc.c (malloc): After getting more core, recompute + BLOCK before adding to _heapinfo[BLOCK].free.size. + +Fri Jul 16 16:32:40 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * stdlib/Makefile (generated): Prepend $(objpfx). + * sysdeps/unix/sysv/Makefile (generated): Likewise. + + * sysdeps/posix/mktemp.c: Return when stat fails with ENOENT, not + when it succeeds. + +Wed Jul 14 14:51:43 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * locale/localeconv.c: Fix copying notice to LGPL. + +Mon Jul 12 21:58:27 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * malloc/mcheck.c (reallochook): Set HDR->magic to MAGICWORD. + +Mon Jul 5 15:55:08 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * malloc/realloc.c (memmove): Swap the args when calling safe_bcopy. + +Thu Jul 1 16:26:56 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * malloc/malloc.c [_LIBC] (_malloc, _free, _realloc): Define these + functions to just call malloc, free, and realloc, respectively. + +Wed Jun 30 16:42:10 1993 Torbjorn Granlund (tege@gnu.ai.mit.edu) + + * sysdeps/generic/memcmp.c (memcmp_bytes): New function for + little endian machines. + (memcmp_common_alignment, memcmp_not_common_alignment): Rework + code computing return values. + +Wed Jun 30 14:42:00 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/unix/Makefile (local_lim.h): Only generate local_lim.h + if the sysdep version would be stub. + + * sysdeps/unix/mk-local_lim.c: #include before all else. + + * configure.in (config_{machine,vendor,os}): Store config.sub's + output in these new variables. + (machine, vendor, os): Set these from those. + (config-name.h, config.make): Write $config_* (the original values + from config.sub). + + * sysdeps/unix/sysv/sysv4/pgrpsys.S: Add arg count (3). + +Tue Jun 29 02:47:46 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 1.06.4. + +Mon Jun 28 00:37:12 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * stdio/internals.c (__stdio_check_funcs): New function, broken out + of init_stream. + (init_stream): Call it. + * sysdeps/posix/pipestream.c (popen): Call __stdio_check_funcs + before frobnicating STREAM's functions. + + * sysdeps/posix/pipestream.c (pclose): Free C, our data structure, + not STREAM->__cookie after it's been restored. + + * sysdeps/generic/strchr.c: Check for '\0' as well as C, in initial + byte-by-byte loop. + + * conf/portability.h: #undef BSD. + +Sun Jun 27 23:46:05 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/unix/bsd/m68k/__wait.S [__motorola__]: Use Motorola syntax. + * sysdeps/unix/bsd/m68k/sysdep.S: Likewise. + * sysdeps/unix/bsd/m68k/__pipe.S: Likewise. + * sysdeps/m68k/__longjmp.c (__longjmp) [__motorola__]: Use + Motorola syntax in jmp insn. + +Fri Jun 25 16:17:07 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/{stub,posix,unix/sysv/sysv4}/__sysconf.c (__sysconf): + For _SC_TZNAME_MAX, just return __tzname_max (). + * sysdeps/unix/sysv/sco3.2.4/__sysconf.S: Define __sysconf, not + sysconf. For _SC_TZNAME_MAX, just jump to __tzname_max. + + Undo June 21 change that made __tzname_max a variable + and expected TZNAME_MAX to sometimes be defined. + POSIX.1 does not require that it be defined; sysconf is enough. + * time/time.h (__tzname_max): Declare as a function. + * posix/posix1_lim.h: Don't include . + * sysdeps/stub/tzname_max.h: File removed. + * time/Makefile (headers): Remove tzname_max.h. + (distribute): Remove make-tzlim.c. + (extra-objs): Remove make-tzlim.o and make-tzlim. + ($(common-objpfx)tzname_max.h): Target removed. + * time/make-tzlim.c: File removed. + * time/__tzset.c (__tzname_cur_max): Define this variable instead + of __tzname_max. + (__tz_compute): Set __tzname_cur_max, not __tzname_max. + (__tzname_max): New function. + * time/tzfile.c (compute_tzname_max): Set __tzname_cur_max, not + __tzname_max. + + * malloc/malloc.h [_MALLOC_INTERNAL] [! (_LIBC || STDC_HEADERS || USG)] + (memmove): Don't define. + * malloc/realloc.c [!_LIBC && !STDC_HEADERS && !USG] (safe_bcopy): + New static function. + (memmove): Define to safe_bcopy. + +Wed Jun 23 15:10:51 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/unix/sysv/sco3.2.4/pgrpsys.S: New file, #include sysv4 file. + * sysdeps/unix/sysv/sco3.2.4/Dist: New file, list pgrpsys.S. + +Tue Jun 22 02:44:16 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/unix/sysv/sco3.2.4/Makefile (sysdep_routines): Use + pgrpsys instead of sco_pgrp. + * sysdeps/unix/sysv/sco3.2.4/{Dist,sco_pgrp.S}: Files removed. + * sysdeps/unix/sysv/sco3.2.4/__{getpgrp,setpgrp,setsid}.c: Just + include the respective unix/sysv/sysv4 files. + + * sysdeps/unix/sysv/sysv4/pgrpsys.S: New file. + * sysdeps/unix/sysv/sysv4/__getpgrp.c: New file. + * sysdeps/unix/sysv/sysv4/__setpgrp.c: New file. + * sysdeps/unix/sysv/sysv4/__setsid.c: New file. + * sysdeps/unix/sysv/sysv4/Dist: Add pgrpsys.S. + * sysdeps/unix/sysv/sysv4/Makefile (sysdep_routines): Add pgrpsys. + + * sysdeps/unix/bsd/bsd4.4/__setsid.S: Moved from unix/sysv/sysv4. + * sysdeps/unix/{bsd/sun/sunos4,bsd/ultrix4,sysv/linux}/__setsid.S: + Include bsd4.4 instead of sysv4 file. + +Mon Jun 21 19:08:04 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * posix/posix1_lim.h: #include . + * sysdeps/stub/tzname_max.h: New file (no-op). + * time/make-tzlim.c: New file. + * time/Makefile (headers): Add tzname_max.h. + (distribute): Add make-tzlim.c. + (extra-objs): Add make-tzlim.o and make-tzlim. + ($(common-objpfx)tzname_max.h): New target. + + * sysdeps/unix/sysv/sco3.2.4/confname.h (_SC_TZNAME_MAX): Define. + * sysdeps/unix/sysv/sco3.2.4/__sysconf.S: Detect arg being + _SC_TZNAME_MAX, and return max of TZNAME_MAX and __tzname_max. + + * sysdeps/stub/__sysconf.c: Include and . + Handle _SC_TZNAME_MAX and return max of TZNAME_MAX and __tzname_max. + * sysdeps/posix/__sysconf.c: Change _SC_TZNAME_MAX code to that. + * sysdeps/unix/sysv/sysv4/__sysconf.c: Likewise. + + * time/time.h (__tzname_max): Declare as variable, not function. + * time/__tzset.c (__tzname_max): Function removed. + (__tz_compute): Set the __tzname_max variable. + * time/tzfile.c (compute_tzname_max): New function. + (__tzfile_{read,default}): Call it. + +Sun Jun 20 18:32:49 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * time/zic.c, time/asia: New versions from ADO. + +Wed Jun 16 17:24:28 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 1.06.3. + +Fri Jun 11 15:44:53 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/unix/bsd/m68k/__pipe.S: Use `movel' instead of `moveal', + which sun3 as does not appear to grok. + * sysdeps/unix/bsd/sun/m68k/__vfork.S: Likewise. + +Thu Jun 10 20:23:43 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/m68k/Makefile (as-pipe-ok): Define if -pipe is used in + compiler invocations, or if using GNU as. + (compile-command.S): Define using a pipe if `as-pipe-ok' is defined, + otherwise with a temporary file. + + * Makeconfig (gnu-as): Define if -DHAVE_GNU_AS appears in $(CPPFLAGS). + +Wed Jun 9 15:14:43 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * configure.in (os frobnication): Turn underscores as well as + lowercase Vs into dots in os name. + + * sysdeps/unix/start.c [__GNUC__] (_start): Use asm name "start" + only if [! NO_UNDERSCORES]. + +Tue Jun 8 14:51:00 1993 Brendan Kehoe (brendan@lisa.cygnus.com) + + * sysdeps/unix/bsd/ultrix4/mips/__handler.S: Don't save the stack + pointer. + +Mon Jun 7 21:01:24 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * time/Makefile (tzcompile): Remove -d switch, since zic-cmd has one. + + * time/{private.h,zic.c}: New versions from ADO. + + * sysdeps/unix/bsd/hp/m68k/__brk.S (error): Renamed label from `1', + (__brk): Use DO_CALL instead of movel and trap. + + * sysdeps/unix/bsd/sony/newsos4: Renamed sysdeps/unix/bsd/sony/newsos. + * sysdeps/unix/bsd/sony/m68k/{Implies,sysdep.h}: Moved there. + + * sysdeps/unix/bsd/hp/m68k/sysdep.h (DO_CALL): New macro, broken + out of PSEUDO. + (PSEUDO): Use it. + * sysdeps/unix/bsd/sony/newsos4/m68k/sysdep.h + (DO_CALL, PSEUDO): Likewise. + + * configure.in: Set --with-gnu-{ld,as} for os=bsd4.4. + +Fri Jun 4 14:11:00 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/i386/{strlen,memchr}.c: Use `repnz' instead of `repne'. + + * time/Makefile (zonenames): Rename zones-* to z.* so they all fit + in 14 chars. + (extra-objs): Here too. + + * sysdeps/unix/sysv/direct.h (D_RECLEN): New macro. + * sysdeps/unix/readdir.c (D_RECLEN): If not defined, define to use + `d_reclen' member. + (readdir): Use D_RECLEN (DP) in place of DP->d_reclen. + +Thu Jun 3 16:54:29 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/m68k/bytesex.h: New file. + + * sysdeps/unix/ioctls-tmpl.c [sony_news]: Define KANJI before + including . + +Wed Jun 2 17:45:38 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * malloc/Makefile (%.gz): Renamed target from %.z; use -v flag. + (malloc/ChangeLog): Use mv -f. + +Mon May 31 21:49:04 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 1.06.2 released. + + * manual/Makefile: Remove all uses of $(objpfx). Since the + generated files are distributed, they reside in the source + directory. + + * malloc/mtrace.c: #include ; malloc.h no longer does. + + * sysdeps/posix/sleep.c: Restore signal mask to OSET before + returning. Save errno on entry and restore it before returning. + + * Makeconfig (zonedir): New variable. + * time/Makefile (localtime-file, posixrules-file, install-others, + $(localtime-file), $(posixrules-file), tz-cc): Use $(zonedir) in + place of $(datadir)/zoneinfo. + (tzcompile): Omit -d switch. + (zic-cmd): Add `-d $(zonedir)'. + +Sun May 30 20:04:50 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/posix/stdio_init.c: (int)cookie is FD, not *(int*)cookie. + + * time/Makefile ($({localtime,posixrules}-file)): Don't pass -d + switch (no need, since directory is compiled into zic). Don't use + $(. + [_MALLOC_INTERNAL]: Move config.h, limits.h, and mem* to front of file. + (NULL): Move after stddef.h. + + * malloc/valloc.c: Don't include config.h; malloc.h already did. + + * malloc/malloc.c: Undo rms's change. + + * malloc/mcheck.c, malloc/malloc.h: Undo rms's change. + +Sat May 29 13:04:38 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * malloc/malloc.c (malloc) [emacs]: If size is 0, make it 1. + + * malloc/malloc.h (CONST): Define this always, + rather than `const' sometimes. + (memory_warnings): Use CONST, not __const, in decl. + * malloc/mcheck.c (checkhdr): Use CONST, not const. + +Fri May 28 18:29:26 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/unix/Makefile (ioctls): Use fgrep instead of egrep to + omit unwanted symbols. Filter the list of them through sort|uniq + to remove duplicates first. + + * sysdeps/unix/Makefile (errlist.c): Use dir and notdir + functions to guarantee qualified path name for make_errlist. + +Thu May 27 17:05:04 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Version 1.06.1. + + * sysdeps/sparc/Dist: Include sdiv.S, not div.S. + + * sysdeps/unix/common/Dist: Remove make_siglist.c. + + * stdio/internals.c: Declare __stdio_fileno before reference. + + * sysdeps/generic/{memchr,strchr,strlen}.c: Abort if words are + bigger than 64 bits. + +Wed May 26 14:44:19 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Makerules [objects] (install-others): Don't add libc.a to this. + (install): Depend on $(libdir)/libc.a. + (intall-no-libc.a): New target, depends on $(+install). + (install): Don't depend on $(+install), just on install-no-libc.a. + * Rules (subdir_install): Depend on install-no-libc.a, not install. + + * Makefile ($(libc.a)): Don't depend on subdir_lib. + (lib-noranlib): Depend on subdir_lib. + + Make `fileno' a per-FILE io operation. + * stdio/stdio.h (__io_fileno): New typedef. + (__io_functions): Add `__fileno' member. + (struct __stdio_file): Remove `__fileno' member. + [__USE_POSIX] [__OPTIMIZE__]: Remove fileno macro defn. + [__USE_POSIX] (fileno): Remove `const' from arg in prototype. + * stdio/fileno.c (fileno): Rewritten to call STREAM's __fileno fn. + * sysdeps/stub/sysd-stdio.c (__stdio_fileno): New function. + (__stdio_open): Return an int (zero for win, nonzero for lose), + and make third arg PTR * (filled in with cookie). + * stdio/stdio.h (__stdio_open): Changed prototype. + * sysdeps/posix/sysd-stdio.c (__stdio_open): Likewise. + (__stdio_{read,write,seek,close}): Use (int) COOKIE as the fd, rather + than *(int *) COOKIE. + (__stdio_fileno): New function; just returns (int) COOKIE. + * sysdeps/posix/fdopen.c: Set cookie to (PTR) FD; don't set fileno. + * stdio/vdprintf.c: Likewise. + * stdio/fmemopen.c: Set STREAM->__io_funcs.__fileno to NULL. + Set STREAM->__cookie to NULL and don't use STREAM->__fileno. + * stdio/internals.c (__default_io_functions): Add __stdio_fileno. + * sysdeps/posix/defs.c (stdstream): Initialize __cookie to (PTR) FD + Remove __fileno initializer. + Add NULL initializer for __io_funcs.__fileno. + * sysdeps/posix/pipestream.c (struct child): Remove `fd' member. + Add `cookie' and `funcs' members. + (FUNC): Macro to define child io_funcs. + (child_funcs): New variable, __io_functions struct of them. + (popen): Store STREAM's original cookie and io_funcs in CHILD, and + then set STREAM->__cookie to CHILD and stream->__io_funcs to + child_funcs. + (pclose): Restore STREAM's original cookie and io_funcs before + calling fclose. + + * configure.in (autoconf checks): Add new check for a + libc-friendly stddef.h. + + * sysdeps/unix/configure: Remove __getpgrp from list of syscalls. + + * sysdeps/generic/memchr.c: Handle 64-bit longwords. + * sysdeps/generic/strlen.c: Likewise. + * sysdeps/generic/strchr.c: Likewise. + + * sysdeps/unix/sysv/sco3.2.4/Makefile: Remove gratuitous `.c'. + + * Makerules [objects] (install-others): Add $(libdir)/libc.a to + this, instead of adding $(libc.a) to install-lib. + ($(libdir)/libc.a): New target to install from $(libc.a). + + * sysdeps/unix/sysv/sco3.2.4/__setsid.S: New file. + * sysdeps/unix/bsd/bsd4.4/__setsid.S: New file. + +Mon May 24 16:49:54 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/unix/sysv/linux/__setsid.S: Moved to unix/sysv/sysv4, + and replaced with #include of that. + * sysdeps/unix/bsd/sun/sunos4/__setsid.S: New file. + * sysdeps/unix/bsd/ultrix4/__setsid.S: New file. + + * posix/Makefile (install): Define to getconf. + + * crypt: New version from glad. + + * sysdeps/unix/sysv/sysv4/__sysconfig.S: Renamed to sysconfig.S. + * sysdeps/unix/sysv/sysv4/Makefile (sysdep_routines): Change reference. + * sysdeps/unix/sysv/sysv4/Dist: Add sysconfig.S. + + * sysdeps/generic/Makefile (siglist.c): Use dir and notdir + functions to guarantee qualified path name for make_siglist. + + * time/Makefile (tzcompile): Use $(@D) for target directory, not + reference to nonexistent 4th dep. + (localtime-file, posixrules-file): Turn these into absolute names. + (install-others): Simply refer to them. + ($(datadir)/zoneinfo/{localtime,posixrules}): Change targets of + these rules to $(localtime-file) and $(posixrules-file), respectively. + Use $( for BUFSIZ. + + * sysdeps/unix/i386/sysdep.h (PSEUDO): Put ; after DO_CALL use. + + * sysdeps/i386/ffs.c: Use `nonzero' for asm label, instead of `1f'. + +Sun May 16 17:59:58 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/unix/bsd/sequent/i386/__sigvec.S: Don't get fancy with + xchg; just push $trampoline and then push our args again, pop them + after the system call. + + * time/tzfile.c (__tzfile_default): Don't assume TYPES[0] is + standard and TYPES[1] is DST. Instead, loop through all types: + if a type's isdst flag is set, set its idx to STDLEN and its + offset to DSTOFF; if isdst is clear, set its idx to 0 and its + offset to STDOFF. + + * time/__tzset.c: When __tzfile_default returns having set + __use_tzfile, set __tzset_run before returning. + + * sysdeps/posix/sleep.c: Block SIGALRM with sigprocmask before + changing its handler. Use sigaction instead of signal to set the + handler. Use sigsuspend to restore the blocked signals and pause + atomically, instead of using pause. Be sure to disable the alarm + when a signal other than SIGALRM wakes sigsuspend. + + * time/Makefile (zic-cmd): Put the directory before the nondirectory. + + * Makerules (stubs): Remove surrounding `ifdef +depfiles'...`endif'. + + * time/Makefile: Include ../Makeconfig before trying to use $(objpfx). + + * time/tzfile.c (__tzfile_compute): When there are transitions and + TIMER is not before the first one, find the first transition after + TIMER, and then set I to the type of the transition before it. + Set INFO from types[I], not types[type_idxs[I]]. + + * posix/Makefile (glob/configure): cd to glob before running autoconf. + + * time/__tzset.c (compute_change): Don't add 1900 to YEAR. + (__tz_compute): Add 1900 to the year we pass to compute_change. + + * time/gmtime.c: After calling __offtime, zero tm_gmtoff and set + tm_zone to "GMT". + + * time/time.h [__OPTIMIZE__]: Remove gmtime macro version. + + * time/tzfile.c (__tzfile_default): Fail if NUM_TYPES < 2, not if + NUM_TYPES != 2. + + * time/tzfile.c (__tzfile_compute): Don't take arg TM. + Instead take new args long int *LEAP_CORRECT and int *LEAP_HIT. + Don't apply leap second correction to __timezone; instead set + *LEAP_CORRECT and *LEAP_HIT. + * time/__tzset.c (tzset_run): Renamed to __tzset_run, made global. + (__tzset): Change uses. + (__tz_compute): Change use here as well. + Make second arg be a `const struct tm *'. Don't call __tzfile_compute. + * time/localtime.c: Call __tzset if __tzset_run is clear. + New local vars LEAP_CORRECTION and LEAP_EXTRA_SECS. + If __use_tzfile is set, call __tzfile_compute and pass it their + addresses. Only need to call gmtime if __use_tzfile is clear. If + it is clear, pass result of gmtime to __tz_compute, instead of + dereferencing it first; and zero LEAP_CORRECTION and LEAP_EXTRA_SECS. + Subtract LEAP_CORRECTION from __timezone in __offtime call. + After __offtime, add LEAP_EXTRA_SECS to TP->tm_sec. + + * sysdeps/generic/strsep.c: Increment END when writing a null to + it, and set *STRINGP to END rather than END+1, so *STRINGP never + points past the null. + +Sat May 15 17:10:02 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * time/strftime.c: Alphabetize switch cases. + Add GNU extensions %h, %C, %k, %l. + + * time/asctime.c: Make RESULT big enough for each %d to be 2^64. + Protect against tm_wday and tm_mon being out of bounds; use "???" + if they are. + + * time/{emkdir,ialloc,scheck,zic,zdump}.c: New versions from ADO. + + * time/africa, time/antarctica, time/asia, time/australasia, + time/europe, time/northamerica, time/southamerica, + time/pacificnew, time/etcetera, time/factory, time/systemv, + time/solar87, time/solar88, time/solar89, time/leapseconds: + Updated from Arthur David Olsen's latest. + + * sysdeps/generic/__expm1.c, sysdeps/generic/asinh.c, + sysdeps/generic/exp__E.c, sysdeps/generic/log.c, + sysdeps/generic/log1p.c, sysdeps/generic/mathimpl.h, + sysdeps/generic/pow.c, sysdeps/mach/hurd/__ioctl.c, + sysdeps/mach/hurd/stdio_init.c, sysdeps/unix/bsd/clock.c: Put + `const' qualifier always after storage classes. + + * sysdeps/unix/bsd/sequent/i386/__sigvec.S (trampoline): Use + `call', not `jsr'. + (__sigvec): Exchange the scratch reg with 16(%esp) (fourth arg + slot), not 0(%esp) (return PC slot). Use ARGS_4 to point the + syscall at the args. + + * sysdeps/unix/common/__getgrps.c: When gid_t==int, and SIZE!=0, + return N from __bsd_getgroups. + + * posix/unistd.h (__need_NULL): Define before including . + 1003.1-1990 2.7.1 says it should be here. + +Sat May 15 14:54:25 1993 Noah Friedman (friedman@nutrimat.gnu.ai.mit.edu) + + * time/__tzset.c (compute_change): Add 1900 to YEAR, not 1970. + +Fri May 14 21:24:19 1993 Brendan Kehoe (brendan@lisa.cygnus.com) + + * sysdeps/unix/sysv/sysv4/solaris2/start.c: Define NO_EXPLICIT_START. + * sysdeps/unix/sparc/start.c [NO_EXPLICIT_START]: Don't asm + `_start' into `start' (e.g., for Solaris). + + * sysdeps/unix/sysv/sysv4/solaris2/sysdep.h: New file. + +Fri May 14 19:34:54 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * malloc/Makefile: Remove depend-malloc dependency on malloc/gmalloc.c. + + * posix/Makefile (headers): Add sys/unistd.h. + * posix/sys/unistd.h: New file, just includes . + + * sysdeps/unix/common/glue-ctype.c (main): Define generated array + as `unsigned char' rather than `char'. + + * sysdeps/unix/start.c [__GNUC__]: Use asm frob to make `start' + asm name of _start. + + * sysdeps/unix/opendir.c [! _STATBUF_ST_BLKSIZE]: Don't fstat and + use st_blksize; try BUFSIZ instead. + + * sysdeps/unix/Makefile (ioctls): Don't use sed to remove final | + from snarf-ioctls output; just append a dummy alternative instead. + + * sysdeps/posix/__wait3.c: Fix arg types. + + * Makerules ($(common-objpfx)stub-$(subdir)): Use @ for sed + separator char. Pass extra file /dev/null in case `...` gets empty. + + * sysdeps/unix/sysdep.h (C_LABEL): Define new macro. + * sysdeps/unix/i386/sysdep.h (ENTRY): Use it. + * sysdeps/unix/sparc/sysdep.h (ENTRY): Likewise. + * sysdeps/unix/sparc/__brk.S: Use C_LABEL and ENTRY instead of + C_SYMBOL_NAME. + * sysdeps/unix/i386/__brk.S: Use C_LABEL instead of C_SYMBOL_NAME. + +Fri May 14 17:41:42 1993 Brendan Kehoe (brendan@lisa.cygnus.com) + + * sysdeps/mips/sqrt.c [HAVE_GNU_AS]: Use the IEEE 754 version of + sqrt since gas can't handle the `sqrt.d' synthetic instruction. + +Fri May 14 16:33:47 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * stdio/Makefile (routines): Add tempname. + + * sysdeps/unix/common/make_siglist.c: #define const to empty + around #include of . + + * sysdeps/unix/errnos.awk: Surround generated `DO' macro calls + with #ifdef on the E* symbol. + + * sysdeps/unix/common/make_siglist.c [! HAVE_SYS_SIGLIST && + HAVE__SYS_SIGLIST]: Define sys_siglist to _sys_siglist. + + * termios/Makefile (headers): Add termbits.h. + + * posix/Makefile (headers): Add waitflags.h and waitstatus.h. + + * math/math.h (struct __complex): Rename to struct __cabs_complex. + __complex is now a reserved word in GCC. + * sysdeps/generic/cabs.c (cabs): Likewise. + * sysdeps/ieee754/cabs.c (cabs, z_abs): Likewise. + + * sysdeps/unix/common/glue-ctype.c: Test for _ctype__ before _ctype_. + + * posix/Makefile (headers): Add confname.h. + +Thu May 13 00:25:53 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * ctype/Makefile (tags_sources): Don't define. + * MakeTAGS [subdir==ctype] (tags_sources): Put headers before sources. + + * time/__tzset.c (compute_change): Add 1970 to YEAR before using it. + + * sysdeps/unix/readdir.c: Pass a BASEP arg to __getdirentries. + +Wed May 12 20:36:51 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * Makefile (distribute): Add aclocal.m4. + + * dirent/list.c (test): Clear errno before readdir loop. Complain + if errno is set thereafter. + + * sysdeps/unix/sysv/sysv4/solaris2/utsnamelen.h: New file. + * sysdeps/unix/sysv/sysv4/solaris2/__utimes.S: New file. + * sysdeps/unix/sysv/sysv4/solaris2/sigaltstack.S: New file. + * sysdeps/unix/sysv/sysv4/solaris2/Makefile: New file. + + * sysdeps/unix/bsd/sun/sparc/start.c: Moved to sysdeps/unix/sparc. + * sysdeps/unix/sparc/start.c: Moved from sysdeps/unix/bsd/sun/sparc. + Surround all shared library frobnication code with #ifndef NO_SHLIB. + * sysdeps/unix/sysv/sysv4/solaris2/start.c: New file. + + * configure.in (os = solaris[2-9]*): base_os=unix/sysv/sysv4. + + * sysdeps/sparc/setjmp.S: Include , not "DEFS.h". + Use ENTRY(__setjmp) instead of FUNC(___setjmp). + + * sysdeps/sparc/divrem.m4: [__svr4__]: Include + instead of . + + * sysdeps/sparc/__longjmp.S: Include , not "DEFS.h". + Use ENTRY(__longjmp) instead of FUNC(___longjmp). + [__svr4__]: Use instead of . + + * sysdeps/unix/i386/sysdep.h (C_SYMBOL_NAME, SYS_ify): Moved to + sysdeps/unix/sysdep.h. + * sysdeps/unix/sparc/sysdep.h: New file. + * sysdeps/unix/bsd/sun/sparc/sysdep.h: File removed. + + * sysdeps/unix/sparc/__brk.S: New file. + * sysdeps/unix/sparc/__brk.c: File removed. + +Wed May 12 19:43:37 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * malloc/cfree.c: Put malloc.h include in _MALLOC_INTERNAL conditional. + +Wed May 12 16:24:23 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * Makeconfig (+link): Put $(LDFLAGS) in the value. + * sysdeps/unix/bsd/sun/sparc/Makefile (LDFLAGS): Set it. + + * posix/glob.c: Move include before dir includes. + [HAVE_UNISTD_H] [! POSIX] [_POSIX_SOURCE]: Define POSIX. + + * grp/initgroups.c [! NGROUPS_MAX || NGROUPS_MAX == 0]: Just + return 0 and do nothing. + + * sysdeps/unix/sysv/sco3.2.4/__{sys,path}conf.S: New files. + * posix/unistd.h: Include ; remove _{SC,CS,PC}_* defns. + * sysdeps/generic/confname.h: New file. + * sysdeps/unix/sysv/sco3.2.4/confname.h: New file. + + * malloc/cfree.c: Include instead of . + [_LIBC]: Use function_alias only under this conditional. + [! _LIBC] (cfree): Define a function that just calls free. + + * posix/Makefile (glob.tar): Depend on glob/ChangeLog. + (glob/configure): Just run autoconf, don't do a sub-make. + (glob/ChangeLog): New target. + (%.Z, %.z): New rules. + +Mon May 10 16:56:09 1993 Jim Blandy (jimb@geech.gnu.ai.mit.edu) + + * malloc/cfree.c: Put the meat of the file inside a "#if + defined(__GNU_LIBRARY__)" clause, so that gmalloc.c, which + incorporates this file, can be used outside of the C library. + +Sun May 9 16:57:43 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * stdio/fseek.c: Don't call __flshfp unless STREAM is writable. + + * string/tester.c (main): Remove unused variable. + + * sysdeps/unix/bsd/set[er][gu]id.c: New files. + + * sysdeps/unix/mk-local_lim.c (NAME_MAX): Define to 255 if undefined. + + * malloc/Makefile (malloc-dist): Add ChangeLog and mem-limits.h. + (malloc/ChangeLog): New rule using Noah's changelog-extract. + (malloc.tar): Use o flag to tar to make compatible archives. + (gmalloc-routines): Add calloc, valloc, and cfree. + (dist-routines): Remove [cv]alloc from here. + (routines): Remove cfree from here. + +Fri May 7 16:45:54 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/posix/ttyname.c: Replace fixed-sized NAME array with + static char *NAME and static size_t NAMELEN. + Don't check S_ISCHR. + Don't hack NAME before the loop. + If need more than NAMELEN chars to hold the name, increase NAMELEN + to more than big enough and malloc NAME. + Save errno in local var SAVE before doing anything; restore it + when returning non-error. + + * Makefile (generated): Add $(objpfx)stubs.h. + (README): New rule to call Make-dist to do the work. + + * mach/Makefile: Don't include mach-syscalls.mk if no_deps=t. + + * crypt/GNUmakefile (%.z): New rule for gzipping. + (crypt.tar): Use o flag to tar to make compatible archives. + + * Makeconfig: Find config.make in $(common-objpfx), not $(objpfx). + + * io/Makefile (headers): Remove filebits.h. + + * sysdeps/unix/sysv/sysv4/Dist: File removed. + + * Makefile (README): Move from here. + * Make-dist (README): To here. + + * sysdeps/unix/Makefile (sys/param.h): Don't depend on sys/. It + was causing sys/param.h to be remade all the time. + + * aclocal.m4 (GLIBC_PROVIDES): Add shell comment about configure + being generated and not to be editted. + + * sysdeps/unix/swapon.S: Moved to sysdeps/unix/common. + * sysdeps/unix/configure: Add swapon to list of syscalls to check for. + + * sysdeps/unix/mk-local_lim.c: New file, modified from + sysdeps/unix/common/mk-local_lim.c. + * sysdeps/unix/common/Makefile: Move local_lim.h rules from here. + * sysdeps/unix/Makefile: Put them there. + (local_lim-CFLAGS): Define new variable. + (mk-local_lim): Replace $(native-compile) with its value plus + $(local_lim-CFLAGS). + * sysdeps/unix/common/Dist: Remove mk-local_lim.c. + * sysdeps/unix/Dist: Add it here. + + * Makerules (make-dummy-dep): New variable; canned command. + ($(objpfx)%.dep: {$(objpfx),}%.s): New rules using $(make-dummy-dep). + (sysd-Makefile): Write a $(objpfx)%.dep: $dir/%.s rule using it. + + * misc/ioctl.c: Replace function_alias with: + [HAVE_GNU_LD]: Use symbol_alias. + [! HAVE_GNU_LD]: Write out the function; it must fetch its third arg + with va_arg and then call __ioctl. + +Thu May 6 14:56:16 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * misc/sys/ioctl.h (__ioctl, ioctl): Changed prototype to take 2 + args and ... rather than a 3rd __ptr_t arg. + * sysdeps/stub/__ioctl.c: Changed defn. + + * sysdeps/unix/bsd/sun/sunos4/tcflow.c: Include . + + * sysdeps/unix/Makefile (make-ioctls-CFLAGS): Define as + -DHAVE_SYS_TERMIOS_H if $(sysincludedir)/sys/termios.h exists. + (make-ioctls): Replace command `$(common-objdir-compile)' with + that var's contents from Makerules, plus $(make-ioctls-CFLAGS). + * sysdeps/unix/ioctls-tmpl.c [HAVE_SYS_TERMIOS_H]: Get . + + * misc/sys/ioctl.h: Include after . + + * sysdeps/unix/bsd/sun/sunos4/speed.c (cfget[io]speed): Return the + raw speed, rather than using it as an index into `speeds'. + (cfset[io]speed): Treat SPEED being an index into `speeds' just as + if it were the value of that element. + + * termios/termios.h: Remove definitions of B[0-9]+ and EXT[AB]. + * sysdeps/generic/termbits.h: Put them here instead. + * sysdeps/unix/bsd/sun/sunos4/termbits.h: Add new defns for those. + + * sysdeps/unix/Makefile (termbits-edit): If termbits.h is not the + generic version, set this to an | egrep command which filters out + symbols appearing in termbits.h. + (ioctls): Depend on $(sysincludedir)sys/termios.h if it exists. + Pass all deps after first to snarf-ioctls. + Put $(termbits-edit) in cmd line; it may be empty or a pipe. + Pipe through sort|uniq before tr (just to cut down on duplicates). + + * sysdeps/generic/Makefile, sysdeps/unix/Makefile: When deciding + whether to generate files whose stub versions are chosen, also + include the generation rules when the chosen directory is + $(common-objpfx), so they continue to be defined after running once. + + * sysdeps/posix/Makefile: Use patsubst instead of substition + references when the substitution or replacement contains a $. + Make has a bug (which I just fixed) with such substitution references. + + * posix/wait3.c: Fixed arg types in fn alias. + * posix/wait4.c: Likewise. + + * sysdeps/posix/Makefile: Remove vpath %.h line. + * Makerules: Add vpath %.h directive. + + * sysdeps/posix/Makefile (generated, before-compile): Add + $(common-objpfx)stdio_lim.h, not just plain stdio_lim.h. + + * Makerules (depend-$(subdir)): Put $(objpfx) in the output, not + its expansion. + (+make-deps): Add sed clause to translate the expansion of + $(objpfx) back into the variable reference. + +Wed May 5 15:59:40 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/unix/sysv/sco3.2/local_lim.h: New file. + + * sysdeps/unix/sysv/sco3.2/Makefile: New file + * sysdeps/unix/sysv/sco3.2/Dist: New file. + * sysdeps/unix/sysv/sco3.2/__fltused.c: New file. + + * sysdeps/unix/configure: New file. + * sysdeps/unix/inet/__select.S: Moved to sysdeps/unix/common. + This is because select is a call sysdeps/unix/configure wants to + check for, and it simplifies life for all those to be in unix/common. + + * sysdeps/tahoe/Implies: Remove $(bsdmath)tahoe line. + + * sysdeps/unix/sysv/sco3.2.4/{__sigact,__sigproc, + sigpending,sigsuspend}.S: New files. + + * Makefile (INSTALL): Depend on manual/maint.texi, not + manual/maint.texinfo. Use -- instead of + for long options. + + * configure.in: After setting $sysnames initially and adding the + FPU directory, expand and uniquize the list with code that used to + be in find-sysdirs. Make $sysnames blank-separated rather than + newline-separated. Generalize loop iterating over $sysnames, so + it sets $uname and sources sysdep configure scripts. Move + sys_siglist and ctype checks to sysdeps/unix/common/configure.in. + Set Make variable `config-sysdirs' to $sysnames in config.make, + and don't frob Sysnames or sysdirs files at all. + * find-sysdirs: File removed. + * Makefile (distribute): Remove find-sysdirs. + (sysd-dirs): Depend on config.make instead of config.make. + Use $(sysdirs) in place of `cat $<`. + * aclocal.m4: New file. + * sysdeps/unix/common/configure.in: New file, contains checks for + sys_siglist and ctype glue moved from top-level configure.in. + * Makerules (sysdirs, Sysnames): Rules removed. + Don't include sysdirs. + (sysdirs): Define variable from $(config-sysdirs). + (sysd-Makefile): Depend on config.make instead of sysdirs. + Use $(sysdirs) instead of filtering the sysdirs file. + * Make-dist (+sysdep-tsrcs): Include configure and configure.in + from sysdep dirs. + (dist.tar): Use o flag to tar for compatible archives. + (dist): Depend on foo.z instead of foo.Z. + ($(tardir){-crypt,}.tar.z): Renamed from .Z. + (%.z: %): New rule. + (%/configure: %/configure.in): New rule. + +Mon May 3 17:45:06 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/unix/sysv/sco3.2.4/__waitpid.S: New file. + + * sysdeps/unix/sysv/sco3.2.4/direct.h: New file. + + * sysdeps/unix/readdir.c: Moved from unix/bsd, rewritten to always + use __getdirentries and D_NAMLEN macro, no #ifdefs. + * sysdeps/unix/sysv/readdir.c, sysdeps/unix/bsd/bsd4.4/readdir.c, + sysdeps/unix/bsd/ultrix4/readdir.c, + sysdeps/unix/bsd/hp/m68k/readdir.c, + sysdeps/unix/bsd/sun/readdir.c: Files removed. + * sysdeps/unix/common/{close,open,rewind,seek,tell}dir.c: Moved to + sysdeps/unix. + * sysdeps/unix/sysv/direct.h: New file. + * sysdeps/unix/bsd/direct.h (D_NAMLEN): Define to use d_namlen. + * sysdeps/unix/sysv/sysv4/direct.h (D_NAMLEN): Define to calculate + from d_reclen. + * sysdeps/unix/__getdents.c: New file. + * sysdeps/stub/direct.h: New file. + * sysdeps/unix/bsd/Dist: Remove bsddir.h. + * sysdeps/unix/sysv/sysv4/readdir.c: Moved to unix/sysv. + * sysdeps/unix/sysv/sysv4/bsddir.h: Renamed to direct.h. + * sysdeps/unix/bsd/bsddir.h: Likewise. + * sysdeps/unix/common/opendir.c: Include "direct.h", not "bsddir.h". + * sysdeps/unix/sysv/sysv4/readdir.c: Likewise. + * dirent/Makefile (distribute): Define to include direct.h. + + * sysdeps/unix/common/opendir.c: Be sure to close FD if fcntl fails. + + * sysdeps/generic/memcopy.h: #include and use __P + prototypes instead of EXFUN. + + * sysdeps/generic/memcmp.c (__ptr_t, const): Define as appropriate + conditional on [__cplusplus || __STDC__]. + +Thu Apr 29 21:48:37 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Makefile ($(libc.a)): Make this, not lib, depend on subdir_lib. + + * Makerules ($(objpfx)%.{o,dep} rules): Remove spurious / after + $(objpfx) in dependency patterns. + + * sysdeps/unix/bsd/sun/sparc/start.c (_start): Define with + `asm ("start")', so its asm name is `start' rather than `__start'. + Remove asm that did a `.set' pseudo-op, which Sun as seems not to grok. + +Wed Apr 28 12:59:46 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/stub/system.c: Return 0 if LINE is nil. + + * sysdeps/unix/__execve.S [!SYS_execve && SYS_exec]: Define + SYS_execve to be SYS_exec. + + * time/mktime.c: Include . + +Mon Apr 26 17:10:21 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * sysdeps/generic/memcmp.c: Deansideclized. + [HAVE_CONFIG_H]: Include "config.h". + [HAVE_STRING_H || _LIBC]: Put #include under this. + [_LIBC]: Put #include under this conditional. + [! _LIBC]: Define op_t, OPSIZ, byte, and MERGE. + + * time/mktime.c: Define __isleap if not defined. + +Fri Apr 23 18:08:33 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * sysdeps/unix/sysv/__getdents.c: New file. + * sysdeps/unix/sysv/sysv4/sys_getdents.S: Moved to unix/sysv. + * sysdeps/unix/sysv/Makefile [subdir==dirent]: Add sys_getdents to + sysdep_routines. + * sysdeps/unix/sysv/Dist: Add sys_getdents.S. + * sysdeps/unix/sysv/sysv4/Dist: Remove it from here. + * sysdeps/unix/sysv/sysv4/Makefile: File removed. + +Thu Apr 22 17:40:28 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/unix/bsd/sony/newsos4/m68k/sysdep.h: New file. + + * sysdeps/generic/strsep.c: Set *STRINGP to END+1, not END. + + * configure.in (arg parsing): Grok --verbose and set verbose=yes. + + * sysdeps/sparc/{umul,mul}.S: Remove ' from ! comment. + + * sysdeps/sparc/Makefile (*.S): Find divrem.m4 in this sysdeps dir. + + * sysdeps/unix/bsd/sun/sunos4/speed.c (cfset[io]speed): Typo fix. + + * sysdeps/unix/bsd/sun/sparc/vfork.S: Use a sethi insn and %g1 as + a temporary, rather than expecting the address to fit into a short + jump. + + * sysdeps/unix/bsd/__fork.S: Moved to sysdeps/unix/__fork.S; we + want unix/MACHINE/__fork.S to come first. + + * sysdeps/unix/bsd/bsd4.4/__wait3.c: Make STAT_LOC type + `__WAIT_STATUS' (defined in ). + * sysdeps/unix/bsd/sun/sunos4/__wait4.c: Likewise. + + * signal/sigvec.c: Change args from `struct __sigvec *' to + `struct sigvec *' in function alias. + + * signal/sigproc.c: Make arg SET `const sigset_t *' in fn alias. + + * signal/sigaction.c: Change args from `struct __sigaction *' to + `struct sigaction *' in function alias. + + * sysdeps/unix/common/glue-ctype.c (main) [! TABLE]: Write just a + comment saying we don't know the table name, rather than barfing + with `TABLE' an undefined variable. + + * sysdeps/generic/printf_fp.c: Fixed test to chose %e format. + Make loop condition --J > 0; break out of loop when FPNUM < F. + After loop, use %e format iff J <= 0. + + * posix/glob/Makefile.in (.c.o): Put $(CFLAGS) last. + (glob.o): Depend on glob.c. + (fnmatch.o): Depend on fnmatch.c. + +Wed Apr 21 12:40:03 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/posix/Makefile (before-compile): Add stdio_lim.h. + + * configure.in (signed size_t test): Remove 's from rhs of AC_DEFINE. + + * stdio/internals.c (seek_to_target): If __stdio_check_offset + fails with ESPIPE, do nothing. + + * sysdeps/generic/printf_fp.c: For %e type, add K-1 to CUTOFF, + rather than K. + When there are no post-decimal digits, never write a decimal point + for a %g spec unless it had a # modifier. + Move K==-1 test to write decimal point before K==CUTOFF test to + round and write last digit. + Merge code for first post-decimal digit with code for remaining digits. + Move code to write leading fractional zeros inside K<0 test which + determines if any will be needed. + In decimal fraction notation code, use R10 temporary instead of + repeating (R * 10) twice. + + * stdio/fwrite.c: Only fail when __stdio_check_offset fails if it + failed with ESPIPE. If offset==-1, don't change it or target. + + * sysdeps/posix/defs.c (stdstream): Rearrange initializers, as + FILE has been rearranged. Set offset and target to -1, not 0. + + * sysdeps/posix/stdio_init.c: If STREAM isatty, set its seek + function to NULL. Unix bites. + + * stdio/ungetc.c: Call __flshfp if linebuf_active or put_limit>buffer. + + * sysdeps/unix/bsd/sun/sparc/start.c [__GNUC__ < 2]: #error. + + * time/mktime.c: Deansideclized. + Don't include or ; we don't need them. + [DEBUG] (printtm): Made static. + [HAVE_CONFIG_H]: Include "config.h". + [__GNU_LIBRARY__ || HAVE_LIMITS_H]: Surround #include + with these conditionals. + + * time/offtime.c (__mon_lengths): Move defn to mktime.c; replace + with extern decl. + * time/mktime.c (__mon_lengths): Define here; remove extern decl. + +Mon Apr 19 18:42:59 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/stub/tempname.c: New file. + * sysdeps/stub/sysd-stdio.c (__stdio_gen_tempname): Moved there. + * sysdeps/posix/tempname.c: New file. + * sysdeps/posix/sysd-stdio.c (__stdio_gen_tempname): Moved there. + + * stdio/fopen.c: Don't set the offset to zero. That can falsely + give the impression that an unseekable object is seekable. + + * stdio/internals.c (__flshfp): Discard any pushed back character + first thing after sanity checks. + (__flshfp): Deconditionalize code to call the output-room + function; we always want to give it a chance to prime the stream. + Remove code that reset bufp if put_limit==buffer. We want to let + the output-room function do that--that is priming the stream. + +Fri Apr 16 12:24:21 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Makerules ($(libc.a)): Depend on lib-noranlib and have ranlib + command line. + (lib): Just depend on $(libc.a). + + * sysdeps/unix/bsd/sun/sparc/start.c (init_shlib): Use __environ, + not environ. + + * stdio/internals.c (__flshfp): Don't check that the buffer + actually contains anything when setting the put_limit to the end of + the buffer if linebuf_active. + (__flshfp): To write C into the buffer !FLUSH_ONLY, don't check + that bufp > buffer and get_limit == buffer. Check against + put_limit unless linebuf_active (in which case check against the + real put_limit, fp->__buffer + fp->__bufsize). + (__flshfp): Bother to call the output-room function if !FLUSH_ONLY + or bufp > buffer and get_limit <= linebuf-corrected put_limit. + (__flshfp): Check for a NULL output-room function before checking + if C will fit in the buffer. + (flushbuf): After putting C into the buffer, + set BUFFER_WRITTEN to zero and goto end instead of returning. + + * stdio/ungetc.c: Test STREAM->__pushed_back before flushing the + STREAM if it's writable. + + * posix/glob.c, posix/fnmatch.c: Surround code with + #if defined (_LIBC) || !defined (__GNU_LIBRARY__) + +Thu Apr 15 19:35:59 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * string/tester.c (main): Added tests for strsep. + + * sysdeps/ieee754/frexp.c: New file. + +Wed Apr 14 12:49:10 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Makerules (ar-it): Add c flag to ar commands. + + * posix/glob.c [USG, NeXT]: Don't test these. + [HAVE_STRING_H]: Test this to include string.h and define ANSI_STRING. + [HAVE_MEMORY_H]: Test this instead of NEED_MEMORY_H. + [! ANSI_STRING]: Put decls of bcopy and #define of memcpy et al here. + + * posix/fnmatch.c [HAVE_CONFIG_H]: #include "config.h". + +Mon Apr 12 16:34:53 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * posix/glob.c: Rationalize directory header conditionals. + +Sun Apr 11 18:53:50 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * stdio/internals.c: Remove __libc_fatal. + * sysdeps/stub/sysd-stdio.c: Remove __stdio_errmsg. + * sysdeps/posix/sysd-stdio.c: Likewise. + * sysdeps/stub/libc_fatal.c, sysdeps/posix/libc_fatal.c: New files. + * stdio/Makefile (routines): Add libc_fatal. + + * stdio/stdio.h (FILE): Add new member `__linebuf_active' (flag). + Rearranged order of members slightly. + * stdio/setvbuf.c: Clear the linebuf_active flag. + * stdio/fseek.c: Likewise. + * stdio/internals.c (__flshfp): Test linebuf_active, not linebuf, + to decide to reset put_limit before calling the output-room function. + After calling it, if line-buffered, set put_limit to the + beginning of the buffer and set the linebuf_active flag. + (__fillbf): If linebuf_active is set, reset put_limit to the end + of the buffer, and clear the flag. + + * stdio/ungetc.c: If STREAM is writable and has something in its + buffer, flush it. + + * stdio/internals.c (__fillbf): When flushing all line-buffered + streams, don't test for their put_limits being > than their + buffers. We should let __flshfp figure it out. + + * stdio/setvbuf.c: Always set the put_limit to the beginning of + the buffer. + + * stdio/stdio.h (__putc): Rewritten to remove all knowledge of + magic for line-buffered streams. It now always calls __flshfp when + the bufp hits the put_limit. + + * stdio/fwrite.c: When recalculating BUFFER_SPACE after calling + __flshfp, ignore the put_limit for the sake of line-buffered streams. + + * stdio/fseek.c (fseek): Call __flshfp on STREAM unconditionally. + We don't want to try to put the conditions for when it is + necessary here as well. + + * sysdeps/generic/printf_fp.c: When deciding whether to use %e + format for %g, break out of the loop on J as soon as F reaches + FPNUM; after the loop, set TYPE to 'e' if J<0, meaning we went all + the way through. + + * misc/getpass.c (TCSASOFT): Define to 0 if undefined. + (getpass): Use a variable OUT to store the stream where output goes. + Use a variable NREAD to notice how much was read; if the last char + in the buffer is a newline, clobber it to a null terminator. + + * posix/fnmatch.h [__cplusplus || __STDC__]: Don't #define const. + +Thu Apr 8 19:29:37 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * stdio/tst-printf.c (main): Added some floating-point tests. + + * sysdeps/unix/bsd/sequent/i386/__sigvec.S: New file. + + * sysdeps/unix/sysv/i386/__sigret.S: Moved to sysdeps/unix/i386. + Use DO_CALL instead of magic. + + * sysdeps/unix/bsd/i386/__wait3.S: Use DO_CALL instead of magic. + Use scratch instead of %ecx and r1 instead of %edx. + + * sysdeps/unix/bsd/i386/__vfork.S: Rewritten to not use SYSCALL__. + Use DO_CALL instead, and save the return PC in a register around + the trap. + + * sysdeps/unix/i386/sysdep.h (DO_CALL): New macro to do syscall trap. + (PSEUDO): Use it instead of putting the code here. + + * stdio/vfprintf.c (number): Write "0x" before padding, not after. + + * sysdeps/unix/bsd/sequent/i386/sysdep.h: New file. + + * sysdeps/unix/bsd/__setuid.c: #include . + Change argument type to uid_t. + * sysdeps/unix/bsd/__setgid.c: #include . + Change argument type to gid_t. + + * sysdeps/unix/common/__getgrps.c: Restore errno after erroneous + syscall failure. + + * stdio/tst-printf.c (fp_test): New function, batch of tests from + a bug report. + (main): Call it. + +Wed Apr 7 17:17:17 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/generic/pow.c (pow_p): Don't initialize K; was a dead store. + +Mon Apr 5 21:17:58 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/unix/common/__getgrps.c: If __bsd_getgroups returns an + error and SIZE==0, alloc temp space for NGROUPS_MAX elts and call + it again on that, so we can find the number of groups. + + * stdio/__vfscanf.c (input_error): If DONE is nonzero, return it; + else return EOF. + (%c): Don't check for C==EOF at the end; let the following spec get it. + (%[eEfgG]): EOF after sign is conv_error, not input error. + + * sysdeps/unix/common/__getgrps.c: If gid_t==int, pass LIST to + __bsd_getgroups, not NULL. + No error for SIZE > NGROUPS_MAX. + +Sun Apr 4 18:52:34 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/unix/{bsd,sysv}/i386/Implies: Files removed. + They should no longer be necessary, since configure now tries more + sysdeps directory permutations. + + * sysdeps/unix/bsd/{i386,sun/sparc,hp/m68k,ultrix4/mips}/__set[ug]id.S: + Files removed. They should no longer be necessary, since the new + sysdeps scheme should find unix/bsd/__set[gu]id.c before + unix/__set[gu]id.S. + + * sysdeps/unix/i386/__pipe.S: Use r1 in place of %edx and scratch + in place of %ecx. + * sysdeps/unix/i386/__wait.S: Likewise. + * sysdeps/unix/i386/__fork.S: Use r1 in place of %edx and r0 in + place of %eax. + * sysdeps/unix/i386/__vfork.S: Likewise. + * sysdeps/unix/i386/sysdep.h (scratch): #define as %ecx. + * sysdeps/unix/sysv/i386/linux/sysdep.h: Likewise. + + * configure.in ($uname = generic): Set kernel_{version,release} to + empty before all else. + If /vmunix doesn't exist, try grovelling over /dynix instead. + + * sysdeps/unix/Makefile (syscall.h): Double $ in sed cmd. + +Fri Apr 2 15:15:44 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * configure.in (config_vars): New variable; text to go in config.make. + Use AC_HEADER_EGREP to grovel stdarg.h for __gnuc_va_list and set + stdarg.h in config_vars if we find it. + + * sysdeps/unix/bsd/sun/sunos4/tcsendbrk.c, + sysdeps/unix/bsd/sun/sunos4/tcflow.c, + sysdeps/unix/bsd/sun/sunos4/tcflush.c, + sysdeps/unix/bsd/sun/sunos4/tcsetattr.c, + sysdeps/unix/bsd/sun/sunos4/__tcgetatr.c: New files. + + * sysdeps/unix/Makefile (syscall.h): Add sed cmd to terminate + unterminated comments at the ends of lines. + + * sysdeps/posix/getcwd.c: Deansideclized and added four tons of + portability goop. + +Mon Mar 29 13:18:43 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/unix/bsd/sun/sunos4/speed.c: New file. + + * sysdeps/generic/termbits.h: New file, contents taken from termios.h. + * termios/termios.h: Remove type & macro defns; #include . + [__OPTIMIZE__] (cf[gs]et[io]speed): Remove macro versions. They + just cause trouble because they want to be in termbits.h (since + they are sysdep) and also to come after the prototypes (which must + come after termbits.h to get speed_t and struct termios defined). + The optimization was insignificant anyway. + * termios/speed.c: Moved to sysdeps/generic. + + * termios/cfsetspeed.c: Call cfset[io]speed, rather than doing it + ourselves. + + * time/__tzset.c (tz_rule): Make member `secs' not a bitfield. + (compute_change): Complete rewrite; code basically stolen from + localtime3/localtime.c:transtime. + #include "tzfile.h" for SECSPERDAY; #define NOID first. + + * sysdeps/unix/bsd/i386/__vfork.S: Don't try to #include __fork.S. + Instead, copy that code here and change `fork' to `vfork'. + + * Makeconfig (+default_cflags): Rename to default_cflags. + (+cflags): Use that name. + + * Makefile (configure): New rule. + +Sun Mar 28 16:12:33 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * posix/fnmatch.c (case '*'): Before final loop, fold C1, rather + than foling *P before it goes into C1. C might need folding instead. + + * posix/Makefile (tests): Add testfnm. + * posix/testfnm.{c,args}: New files. + +Fri Mar 26 15:04:27 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * time/mktime.c: Wholly new implementation from Noel Cragg. + + * sysdeps/unix/bsd/sun/__sigret.S: New file. + * sysdeps/unix/bsd/sun/m68k/{Makefile,Dist}: New files. + * sysdeps/unix/bsd/sun/m68k/{sigcontext.h,sigtramp.c}: New files. + * sysdeps/unix/bsd/sun/sparc/__sigvec.S: Moved to sysdeps/unix/bsd/sun. + + * Makefile (clean): Remove sysd-Makefile, sysd-dirs, sysdirs + (distclean): New target. + * sysdeps/unix/common/Makefile (generated): Add local_lim.h, + mk-local_lim, glue-ctype, glue-ctype.c, siglist.c, make_siglist. + * sysdeps/generic/Makefile (generated): Add bytesex.h, + det_endian, siglist.c, make_siglist. + * sysdeps/unix/Makefile (generated): Add errnos.h, errnos, + make-errnos, make-errnos.c, ioctls.h, ioctls, make-ioctls, + make-ioctls.c, errlist.c, make_errlist, syscall.h, sys/param.h, + param.h.c, param.h.dep, $(sys/param.h-includes). + + * misc/Makefile (extra-objs): Define new var to include bsd-compat.o. + +Fri Mar 26 14:53:30 1993 Michael John Haertel (mike@skinner.cs.uoregon.edu) + + * malloc/malloc.c (malloc): Start searching at _heapindex, not + MALLOC_SEARCH_START. + * malloc/malloc.h (MALLOC_SEARCH_START): Macro removed. + * malloc/realloc.c (realloc): When malloc returns NULL, handle the + case of the block we need to unfree (which was just freed) having + been coalesced with its neighbors. + +Thu Mar 25 13:40:17 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Rules (all): Depend on others. + + * time/Makefile (zonenames): Change target to $(objpfx)zonenames. + Make the generated file prepend $(objpfx) to + Include that instead of zonenames. + (zones-%): Change target to $(objpfx)zones-%. + + * Makefile ($(objpfx)Mcrt1.o): Put temporary Mcrt1.c file in + $(objdir), rather than the current directory. + + * configure.in (arg parsing): Recognize `--exec-prefix' rather + than `--exec_prefix'. + + * Rules (mostlyclean): Remove the .o files for $(tests) and $(others). + Remove $(objpfx)depend-$(subdir). + (clean): Remove $(extra-objs). + * Makefile (clean): Remove $(install-lib) from $(objdir). + Don't try to remove ansi/ and trad/ or dist.tar or lint.out. + Remove $(objpfx)depend-. + * time/Makefile (extra-objs): Define new var. + * malloc/Makefile (extra-objs): Likewise. + + * Rules (+objs): Variable removed. + (clean): Use $(objects) in place of $(+objs). + + * sysdeps/unix/Makefile (sys/param.h-includes): Move all this + outside of ifeq ($(subdir),misc). + Fixed sed command to filter out [hn]to[nh][sl]. + (sys/param.h-includes): New target; dep on $(sys/param.h-includes). + + * posix/fnmatch.h [!_POSIX_C_SOURCE || ...]: Make this test + _GNU_SOURCE, not _BSD_SOURCE; these are our extensions, not theirs. + (FNM_CASEFOLD): New bit. + (__FNM_FLAGS): Removed macro. + * posix/fnmatch.c (fnmatch): Don't test for bogus flag bits; who cares? + (FOLD): New macro to casefold a char if FNM_CASEFOLD. + Use it to fold all chars before comparison. + +Wed Mar 24 16:09:26 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * malloc/Makefile (malloc/%.c, malloc/%.h): Rules removed. + + * stdio/stdio.h (fopencookie): Rename parameter IO_FUNCTIONS to + IO_FUNCS. The former conflicted with a typedef name, which ist + verboten. + + * time/sys/time.h (enum __itimer_which): Remove trailing comma. + +Mon Mar 22 15:35:54 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * malloc/malloc.h [_MALLOC_INTERNAL] + [__GNU_LIBRARY__ || STDC_HEADERS || USG] (memmove): Define in + terms of bcopy. + * malloc/malloc/gmalloc-head.c: Redo previously undone change. + +Thu Mar 18 04:59:21 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * malloc/malloc/gmalloc-head.c: Undo previous change. + +Wed Mar 17 12:22:21 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * mach/mach.h: New file. + + * Rules (clean): Remove $(generated), not $(clean-extras). + (subdir_echo-distinfo): Use $(generated) instead of $(dont_distribute). + (generated): Export this instead of dont_distribute. + * stdlib/Makefile (generated): Set this, not dont_distribute. + * sysdeps/posix/Makefile: Likewise. + * sysdeps/unix/sysv/Makefile: Likewise. + * sysdeps/unix/Makefile: Likewise. + * Makefile (generated): Export this instead of dont_distribute. + (parent_echo-distinfo): Use $(generated) instead of $(dont_distribute). + * Make-dist (+tsrcs): Filter out $(generated), not $(dont_distribute). + + * mach/mach_init.h (__mach_task_self): Define so as not an lvalue. + (mach_task_self): Surround defn with parens. + + * sysdeps/unix/Makefile (sys/param.h): Put "#include " in. + ($(sys/param.h-includes)): Edit out #define's of *_ENDIAN and + BYTE_ORDER. + + * stdlib/tst-strtol.c (tests): Fully bracket initializers. + + * stdio/bug4.c: Change #ifdef LIBC to #ifdef _LIBC. + + * misc/progname.c (set_progname): Make a useless reference to + set_progname to avoid a `defined but not used' warning. + + * sysdeps/mach/i386/start.c (_cthread_{init,exit}_routine): Remove + `extern'; these want to be uninitialized common defns. + +Mon Mar 15 18:41:05 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * sysdeps/unix/bsd/__times.c (timeval_to_clock_t): Put __inline + before storage class in defn. + + * sysdeps/unix/sysv/signum.h (SIG_ERR, SIG_DFL, SIG_IGN): Cast + values to __sighandler_t, rather than obsolete ansidecl magic. + + * sysdeps/unix/__execve.S [!SYS_execve && SYS_exece]: Define + SYS_execve to be SYS_exece. + + * sysvipc: New directory. + * sysvipc/Makefile: New file. + * sysvipc/sys/ipc.h: New file. + +Fri Mar 12 15:31:44 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * posix/execlp.c (execlp): Remove spurious second declared parameter. + Don't fill ARGV[0] specially; just let the loop do it. + * posix/unistd.h (execlp): Remove spurious second declared parameter. + +Thu Mar 11 13:58:47 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * Makerules (sysd-Makefile): Write %.dep: %.S and %.dep: %.c rules. + Depend on Makerules. + ($(objpfx)%.{o,dep}: $(objpfx)/%.{S,c,s}): New rules to find + sources in $(objpfx) before sysdep directories. + + * configure.in (signed size_t check): Use eval on $CPP, since it + contains unexpanded variable refs. + Send grep output to /dev/null. + Put quotes around 'unsigned long int'. + +Wed Mar 10 18:32:11 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * features.h [! _LIBC]: #include . + * Makerules (stubs): New phony target. + ($(common-objpfx)stub-$(subdir)): New target. + * Makefile (headers): Add stubs.h. + ($(objpfx)stubs.h): New target. + + * Makeconfig (CPPFLAGS): Define _LIBC, not LIBC. + + * Makerules (.SUFFIXES): Remove .m4; we no longer have any such files. + + * inet/netinet/in.h: Don't #include . + (ntohl, ntohs, htonl, htons): Declare. + #include . + [__BYTE_ORDER == __BIG_ENDIAN] (ntohl, ntohs, htonl, htons): + Define no-op macros. + * inet/Makefile (headers): Remove inet-cvt.h. + * sysdeps/vax/inet-cvt.h, sysdeps/generic/inet-cvt.h: Files removed. + * sysdeps/generic/{ntohl,ntohs,htonl,htons}.c + [BYTE_ORDER == LITTLE_ENDIAN]: Byte-swap X before returning it. + +Tue Mar 9 11:32:35 1993 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu) + + * malloc/malloc/gmalloc-head.c: Remove #definitions of memset, + memcpy, and memmove; this is taken care of by malloc.h anyway. + +Mon Mar 8 15:12:32 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * sysdeps/mips/jmp_buf.h (JB_PC): Protect with #ifdef __USE_MISC. + + * sysdeps/unix/sysv/sysv4/sigaction.h: Put SA_* except for + SA_NOCLDSTOP inside #ifdef __USE_MISC. + +Mon Mar 8 15:05:13 1993 Brendan Kehoe (brendan@lisa.cygnus.com) + + * sysdeps/mips/jmp_buf.h (jmp_buf): Use `__ptr_t', not `PTR', for + member types. + (JB_PC): New define, for backwards compatability with Ultrix. + + * sysdeps/unix/sysv/sysv4/sigaction.h: New file. + +Mon Mar 8 13:20:02 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * posix/glob/Makefile.in (VPATH): Set this to @srcdir@. + (srcdir): Set this to $(VPATH). + + * posix/glob.c (glob): In no matches with GLOB_NOCHECK set case, + add NULL terminator to PGLOB->gl_pathv. + (prefix_array): Renamed arg PREFIX to DIRNAME, local var PRELEN to + DIRLEN. If DIRNAME is just "/", don't prepend it, so we get + "/foo" instead of "//foo". + (glob): Move qsort call outside of the else clause of the + glob_pattern_p test; it should always be done. + +Thu Feb 25 14:49:52 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * malloc/malloc.h [_MALLOC_INTERNAL]: Move #include to + front of file; it needs to come before size_t/ptrdiff_t frobnication. + +Wed Feb 24 16:34:58 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Makerules (compile-command.[Ssc]): New variables; define them if + they are not already defined. + (sysd-Makefile): For each directory, write three rules: + %.o: $dir/%.[Ssc]; $(compile-command.[Ssc]). + (sysdep_path): Remove definition and vpath directives. + * sysdeps/m68k/Makefile (compile-command.S): Define our own version. + ($(objpfx)%.o: %.S): Rule removed. + + * sysdeps/unix/sysv/linux/{__dup2,__mkdir,__rmdir,__setpgrp}.S: + Removed. + * sysdeps/unix/sysv/linux/Implies: Created; implies unix/common. + + * sysdeps/unix/sysv/sysv4/{sete[gu]id.S,fchdir.S,signum.h,__sigproc.S}: + New files. + + * sysdeps/unix/sysv/sysv4/time.S: New file. + + * sysdeps/unix/common/Dist: New file; everything from + sysdeps/unix/bsd/Dist except for bsdtty.h and bsddir.h. + * sysdeps/unix/bsd/Dist: Remove things now in sysdeps/unix/common/Dist. + + * sysdeps/unix/bsd/sun/sparc/{__brk.c,__fork.S,__pipe.S,__vfork.S}: + Moved to new directory sysdeps/unix/sparc. + + * sysdeps/unix/common/Implies: New file, in new directory; implies + unix/inet only. + * sysdeps/unix/bsd/Implies, sysdeps/unix/sysv/sysv4/Implies: New + files; both imply unix/common. + * sysdeps/unix/common/Makefile: Moved from sysdeps/unix/bsd. + Changed references to unix/bsd to unix/common. + * unix/bsd/{__access.S,__adjtime.S,__fchmod.S,__fchown.S,__getgrps.c, + __getitmr.S,__getpgrp.S,__getrusag.S,__gettod.S,__lstat.S,__mkdir.S, + __readlink.S,__rmdir.S,__setitmr.S,__setpgrp.S,__symlink.S, + bsd_getgrp.S,closedir.c,ftruncate.S,getrlimit.S,glue-ctype.c, + make_siglist.c,mk-local_lim.c,opendir.c,readv.S,rename.S,rewinddir.c, + seekdir.c,setgroups.S,setrlimit.S,telldir.c,truncate.S,vhangup.S, + writev.S,__dup2.S}: Moved to sysdeps/unix/common. + * sysdeps/unix/sysv/sysv4/{__access.S,closedir.c,opendir.c, + rewinddir.c,seekdir.c,telldir.c}: Removed. + +Mon Feb 22 12:19:19 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/generic/pow.c (pow): Use __isnan to test for NaN rather + than expecting "x!=x" to work. + (pow_p): When testing if Y is an integer, use long int rather than + int; they are different on some systems. Compare against + LONG_MIN+1, not LONG_MIN; (long int) (double) LONG_MIN might overflow. + + * malloc/dist-Makefile (gmalloc.c): Depend on Makefile. + + * malloc/Makefile (gmalloc-routines): New variable. + (dist-routines): Use it. + (malloc/Makefile): Also replace with + $(gmalloc-routines). + (malloc/Makefile): Make it unwritable to avoid accidental lossage. + Depend on Makefile. + + * malloc/dist-Makefile (gmalloc): New variable: . + (gmalloc.c): Use $(gmalloc), not $(sources). + Make the file unwritable to avoid accidental lossage. + + * malloc/mtrace.c: Don't #include because did + it for us. + + * malloc/valloc.c [! __GNU_LIBRARY__]: Replace hairy conditionals + with #include "getpagesize.h". + * malloc/Makefile (distribute, malloc-dist): Add getpagesize.h. + +Sun Feb 21 18:29:30 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/sparc/Makefile (nodist-routines): Don't define. + We want to distribute the generated divrem files; otherwise anyone + building the library must have an m4 that works. + ($(divrem).S): Put these in sysdeps/sparc, not in $(objdir). + (routines): Only put this inside ifeq ($(subdir),gnulib). + + * sysdeps/unix/bsd/sun/m68k/Makefile: File removed. + +Sat Feb 20 16:43:55 1993 Torbjorn Granlund (tege@sics.se) + + * sysdeps/i386/memset.c: Move adjustment of LEN before first stosb. + * sysdeps/i386/bzero.c: Likewise. + +Thu Feb 18 14:34:00 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * malloc/mcheck.c (checkhdr): Use `const', not `__const'. + +Mon Feb 1 19:19:13 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * sysdeps/m68k/fpu/__logb.c: Use two-operand forms of 68881 insns + rather than the one-operand source==dest form. Sun's sun3 + assembler apparently doesn't grok the one-operand form. + + * sysdeps/posix/getcwd.c: Call __lstat instead of stat. + We should not lose on nonexistent symlink targets. + +Thu Jan 21 20:12:25 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * posix/glob.c: Put #includes of and after + all system includes, in case one of them has conflicting defns of + FNM_* or GLOB_*, so we will redefine. #undef FNM_* and GLOB_* + before including our headers. + +Tue Jan 19 16:16:05 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * mach/Makefile (routines): Removed __bcopy. + * mach/__bcopy.c: File removed. + + * posix/glob.c (my_realloc): Cast result of malloc/realloc to (char *). + +Sat Jan 16 14:19:07 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * manual/summary.awk: Handle single word in braces. + +Thu Jan 14 13:52:43 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * posix/glob/Makefile.in (realclean): Remove Makefile. + +Mon Jan 11 18:32:56 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * sysdeps/unix/bsd/sony/m68k/Implies: Imply unix/bsd/hp/m68k, not + unix/hp/m68k. + + * sysdeps/unix/bsd/tcsetattr.c: Use cbreak mode if ISIG is set, + not if OPOST is set. + Fixed typo in TOSTOP frobbing. + +Tue Jan 5 15:11:31 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * posix/Makefile (glob.tar): Include glob/configure.in. + +Mon Jan 4 17:05:44 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * posix/glob/Makefile.in (RANLIB): Define to @RANLIB@. + (RANLIB_TEST): Removed. + (libglob.a): Don't use it. + +Thu Dec 31 13:08:20 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * sysdeps/unix/bsd/bsd4.4/{chflags,fchflags,setlogin}.S: Fix arg count. + + * sysdeps/posix/Makefile (mk-stdiolim): Use $(cded-objdir-CPPFLAGS). + (cded-objdir-CPPFLAGS): Define new var. + + * sysdeps/unix/Makefile ($(sys/param.h-includes)): Strip trailing + slash from directory name for mkdir. + +Tue Dec 29 18:18:58 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * sysdeps/posix/sysd-stdio.c (exists): Return true if stat fails + with other than ENOENT. + + * sysdeps/posix/__flock.c: New file. + + * malloc/Makefile (dist-headers): Define to malloc.h. + (headers): Replace malloc.h with $(dist-headers). + (malloc/Makefile): Use $(dist-headers) in place of $(headers). + (malloc-dist, distribute): Replace ChangeLog with OChangeLog. + + * malloc/dist-Makefile (malloc.tar{,.Z}): Depend on FORCE. + (FORCE): Define empty target. + +Tue Dec 29 16:45:01 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * sysdeps/sparc/{umul,mul}.S: Use tege's shift+mask hack to avoid + a test and branch for sign fixup. + + * limits.h [__GNUC__ >= 2]: #ifndef _GCC_LIMITS_H_, not _LIMITS_H_, + to #include_next . + + * sysdeps/posix/getcwd.c: Call closedir after copying from the + `struct dirent' buffer, not before. That buffer is freed by closedir. + + * posix/gnu/types.h (__fd_set): Renamed member to `fds_bits' for + compatibility with braindead extant code. + + * sysdeps/posix/sysd-stdio.c (__stdio_gen_tempname): Check for BUF + being too small before doing sprintf. + + * malloc/malloc.h [_MALLOC_INTERNAL], malloc/valloc.c + [HAVE_CONFIG_H]: #include "config.h". + + * Makefile (doc): Removed rule. + (dvi, info): New rule. + +Mon Dec 28 15:50:31 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * posix/glob.c [HAVE_CONFIG_H]: Test this, not SHELL, to decide + whether or not we want to #include "config.h". + +Wed Dec 16 12:01:09 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * inet/Makefile (routines): Removed ruserpass. Why did it get + included in the first place? That version does not match the one + in the NET2 ftp source; whence came it? + +Sat Dec 12 16:41:03 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/unix/bsd/sun/sparc/start.c: Use .set, not GNU ld magic, + to alias asm symbol `start' to `__start'. + +Fri Nov 20 18:20:50 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * stdio/vfprintf.c (%p): Tests of LEFT for "(nil)" were inverted. + + * stdio/tst-printf.c (main): Add `printf ("%#03x\n", 1);'. + Add a width to %p test. + + * stdio/vfprintf.c (unsigned_integer): Clear SHOWSIGN and SPACE + flags before falling into `number:'. The `+' and ` ' flags are + only meaningful for signed numbers. + + * string/tester.c (main): For strstr #11, correct return is first + arg, not end of first arg. + + * stdlib/mbtowc.c: If S is "", return 0. How was I convinced + before that this is not what ANSI says? + + * stdio/__vfscanf.c: Initialize MALLOC_STRING to zero on each + iteration (when we zero is_short et al). + + * sysdeps/posix/mkstemp.c (mkstemp): New file. + * sysdeps/stub/mkstemp.c (mkstemp): New file. + * misc/Makefile (routines): Add mkstemp. + + * sysdeps/posix/mktemp.c: Use `getpid ()' in place of undefined + variable PID. + #include . + + * dirent/scandir.c: If SELECT is nil, don't try to call it. + If CMP is nil, don't sort. + +Wed Nov 18 13:42:09 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/stub/__wait4.c: Changed type of 2nd arg to __WAIT_STATUS. + + * posix/sys/wait.h (__WAIT_STATUS): #if 0 out gcc2 magic defn. + GCC is broken as of 2.3.1. + + * signal/signal.h (__sigaction, sigaction): Fixed type in + prototype from `struct __sigaction' to `struct sigaction'. + + * sysdeps/m68k/fpu/atan2.c (PI, PIo4, PIo2): Removed static vars. + (atan2): Declare PIo4 and PIo2 locally, and compute them from pi. + + * Makerules (native-CFLAGS): Define as $(config-defines). + + * sysdeps/unix/bsd/glue-ctype.c: Upcased all HAVE_* names in #ifdef's. + + * posix/fnmatch.h (FNM_LEADING_DIR): New flag. + * posix/fnmatch.c (fnmatch): Support it. + + * sysdeps/i386/bytesex.h: New file. + * sysdeps/i386/endian.h: Removed. + * sysdeps/stub/bytesex.h: New file. + * sysdeps/stub/endian.h: Removed. + * sysdeps/generic/Makefile (bytesex.h): Create with det_endian. + (endian.h): Removed old rule. + (before-compile): Replace endian.h with bytesex.h. + * string/Makefile (headers): Add bytesex.h. + * string/endian.h: New file. + * sysdeps/generic/det_endian.c: Rewritten to output just one line, + a #define of __BYTE_ORDER to 1234, or 4321, etc. + * inet/arpa/nameser.h: #include , rather than #ifdef'ing + on misc. things to #define BYTE_ORDER. + * sysdeps/generic/waitstatus.h: Test value of __BYTE_ORDER, not + whether __LITTLE_ENDIAN is #define'd. + * sysdeps/generic/mathimpl.h: Likewise. + * sysdeps/generic/memcopy.h: Likewise. + * sysdeps/ieee754/huge_val.h: Likewise. + * sysdeps/ieee754/nan.h: Likewise. + * sysdeps/ieee754/ieee754.h: Likewise. + +Mon Nov 16 12:19:10 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Makeconfig (ARCH): Define to empty if $(..)config.make exists. + + * misc/getusersh.c (initshells): malloc (STATB.st_size + 1), to + contain the terminating NUL. Pass fgets the real amount of space + left in the buffer, instead of the random number (MAXPATHLEN + 1). + + * configure.in (minix*): base_os=unix/sysv. + * sysdeps/unix/sysv/minix/sigaction.h: New file. + + * sysdeps/generic/sigaction.h (__SA_*): Renamed to SA_*. + [__USE_BSD]: Put all but SA_NOCLDSTOP under this #ifdef. + * signal/signal.h (SA_*): Remove #define's. + (SIG_*): Moved #define's to sigaction.h. + + * sysdeps/generic/sigset.h (__sigmask): Shift ((sigset_t) 1), not + just 1. + + * signal/signal.h (kill): Fix type of first arg to __pid_t, not int. + + * sysdeps/unix/Makefile (errnos): Changed regexp to disallow + E[^A-Z0-9], and not to require that the defn be numeric only. + + * stdlib/stdlib.h: Don't #include ; ANSI doesn't say + defines HUGE_VAL. + + * stdlib/stdlib.h (__compar_fn_t): Use __P around prototype. + + * posix/Makefile (headers): Add utsnamelen.h, so it gets installed. + (distribute): Remove it from here. + + * setjmp/setjmp.h (sigjmp_buf): Rename `__savemask' to + `__mask_was_saved' and `__sigmask' to `__saved_mask'. + * setjmp/sigjmp_save.c (__sigjmp_save): Change use. + * setjmp/siglongjmp.c (siglongjmp): Likewise. + +Fri Nov 13 17:34:00 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * configure.in (config.make): Write assignments for INSTALL, + INSTALL_PROGRAM, INSTALL_DATA, and RANLIB. + +Thu Nov 12 17:11:18 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/stub/stime.c: #include for NULL. + + * sysdeps/stub/morecore.c: Fixed arg type to ptrdiff_t. + + * sysdeps/stub/ptrace.c: Fixed `va_start' uses to pass 2nd arg. + + * sysdeps/unix/sysv/sysv4/fcntlbits.h: New file, modified from + unix/bsd/sun/sunos4 version. + + * sysdeps/unix/bsd/bsd4.4/fcntlbits.h: New file, modified from + unix/bsd version. + + * sysdeps/unix/bsd/ultrix4/fcntlbits.h: New file, modified from + unix/bsd version. + + * sysdeps/unix/bsd/sun/sunos4/fcntlbits.h: New file, modified from + unix/bsd version. + + * sysdeps/unix/sysv/fcntlbits.h: Rewritten from stub version. + * sysdeps/unix/sysv/filebits.h: File removed. + + * sysdeps/unix/bsd/fcntlbits.h: Rewritten from stub version. + * sysdeps/unix/bsd/filebits.h: File removed. + + * io/fcntl.h: Don't #include . + Removed all #define's of foo to __foo; now defines + the unmarked cases. + + * sysdeps/stub/fcntlbits.h: Remove leading __ from all symbols. + + * misc/sys/file.h (L_SET, L_INCR, L_XTND): Define to literal + values, not to __ versions. These are not system-dependent. + (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Define to literal values, + not to __ versions. These are not actually system-dependent, + because no system has `flock' except for BSD compatibility, and + then they use the same numbers. + * sysdeps/stub/fcntlbits.h (__L_SET, __L_INCR, __L_XTND): Removed. + (__LOCK_SH, __LOCK_EX, __LOCK_UN, __LOCK_NB): Removed. + +Tue Nov 10 17:01:11 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * sysdeps/stub/fcntlbits.h: Merged in contents of filebits.h. + (struct __flock): Renamed to `struct flock'. + * sysdeps/stub/filebits.h: File removed. + + * posix/unistd.h (access, lseek, close, read, write, pipe, chown, + fchown, chdir, dup, dup2, execve, pathconf, fpathconf, sysconf, + getpid, getppid, setpgrp, setpgid, setsid, getuid, getgid, + geteuid, getegid, setuid, setreuid, setgid, setregid, fork, vfork, + isatty, link, symlink, readlink, unlink, rmdir, gethostname, + getpagesize, getdtablesize): Remove #define's to __ versions. + + * posix/sys/types.h: Don't #include . + Instead, use forward decl `struct timeval;'. + (__select): Use `struct timeval', not `struct __timeval', in prototype. + Move into #ifdef __USE_BSD. + (select): Removed #define to __select; added real prototype. + + * sysdeps/generic/waitstatus.h: New file. + * sysdeps/stub/waitflags.h: New file. + * sysdeps/unix/bsd/waitflags.h: New file. + * posix/sys/wait.h: Don't #include . + Do #include and . + (WHOHANG, WUNTRACED): Don't #define to __ versions; + will define the unmarked cases. + (union __wait): Remove type decl and associated #define's for w_*; + `union wait' (no __) is now defined in . + [__USE_BSD && __GNUC__ >= 2] (__WAIT_STATUS): Define as funky union. + (waitpid, wait3, wait4, wait): Removed #define's to __ versions; + added real prototypes. + * posix/gnu/wait.h: File removed. + * posix/Makefile (headers): Remove gnu/wait.h. + + * posix/sys/times.h [__OPTIMIZE__] (times): Removed #define to __times. + + * posix/sys/utsname.h: Removed decl of __uname_getnode. + + * time/sys/time.h: Don't #include . + Don't support __need_timeval. + (struct timeval, struct timezone, struct itimerval, + enum __itimer_which): Declare these types here. + (gettimeofday, settimeofday, adjtime, getitimer, setitimer, + utimes): Removed #define's to __ versions. Added real prototypes. + Use `struct timeval' instead of `struct __timeval', etc. + * time/gnu/time.h: File removed. + * time/Makefile (headers): Removed gnu/time.h. + + * resource/sys/resource.h: Don't #include . + +Mon Nov 9 18:41:03 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * socket/sys/socket.h (SO_STYLE): Define instead of SO_TYPE. + (SO_TYPE): Define as SO_STYLE. + + * inet/netinet/in.h (struct ip_opts): New type. + (IP_*): New constants snarfed from 4.4's in.h. + +Fri Nov 6 15:34:41 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * resource/sys/resource.h (struct rusage): #include + before struct defn. Use `struct timeval', not `struct __timeval' + for `ru_utime' and `ru_stime' members. + + * resource/sys/resource.h [__OPTIMIZE__] (getrusage, ulimit), + misc/sys/ioctl.h [__OPTIMIZE__] (ioctl): Remove #define's to __ + versions. + + * string/strings.h: Protect against multiple inclusion. + * termios/sys/termios.h: Ditto. + + * string/string.h [__GNUC__ && __OPTIMIZE__] (ffs): Remove #define + to __builtin_ffs. + + * stdlib/stdlib.h (comparison_fn_t): Use a typedef, not a #define. + Define this #ifdef __USE_GNU, not #ifdef __GNUC__. + [__GNUC__ && __OPTIMIZE__] (abs, labs): Remove #define's to __builtin_. + +Thu Nov 5 20:01:25 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * signal/Makefile (headers): Remove gnu/signal.h; + add sigaction.h, sigset.h. + * sysdeps/generic/sigaction.h: New file. + * sysdeps/generic/sigset.h: New file. + * signal/gnu/signal.h: Removed. + * signal/signal.h: Move __{BEGIN,END}_DECLS outside all the #if's + (except the outermost one that protects against multiple inclusion). + Don't #include . Instead #include + outside of #if's, and #include inside #ifdef __USE_POSIX. + (__sighandler_t): Define here; it is not system-specific. + (kill, ssignal, gsignal, sigblock, sigsetmask, sigpause, sigvec, + sigreturn): Remove #define's to __ versions. + (sighandler_t, sigset_t): Use a typedef, not a #define. + [__OPTIMIZE__] (sig{empty,fill,add,del}set, sigismember): Make + these macros take args. + (sigaction): Remove #define. + (struct __sigvec): Renamed `struct sigvec'. + (__sigvec): Use `struct sigvec', not `struct __sigvec', in prototype. + +Fri Oct 30 19:45:26 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * configure.in (sco*): base_os=unix/sysv. + +Thu Oct 29 16:29:26 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * configure.in: New file; mostly contents of old file `configure'. + (srcdir guessing): Removed this code. + Instead, call AC_PREPARE. + Call AC_PROG_INSTALL and AC_PROG_RANLIB to find those programs. + Use AC_HAVE_FUNCS to find what sys_siglist and _ctype_ are called. + (config.make): Write new var `config-defines' with what autoconf + put in $DEFS. + Append -DHAVE_GNU_LD and -DHAVE_GNU_AS to DEFS if appropriate; + don't write gnu_ld and gnu_as variables. + * configure: Removed. + * Makefile (distribute): Add configure.in. + * Makeconfig (+defines): Include $(config-defines) before $(defines); + don't include $(gnu_as) and $(gnu_ld). + + * sysdeps/unix/bsd/glue-ctype.c (TABLE): Test HAVE_* for several + different names and #define this. + (STRINGIFY): Define macro. + (main): Use TABLE instead of hardcoded name. + + * configure (sysnames): Try successively less specific base os's. + + * Makerules (ar-it): Define commands only ifdef objects. + + * sysdeps/mips/setjmp.S: Jump to __setjmp_aux, not ___setjmp_aux. + We are NO_UNDERSCORES. + +Tue Oct 27 18:11:19 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * sysdeps/posix/pipestream.c, sysdeps/posix/system.c: Always use + __vfork instead of expecting FORK to be defined. + * sysdeps/unix/bsd/system.c, sysdeps/unix/bsd/pipestream.c: + Removed. sysdeps/unix versions are now what we want. + + * sysdeps/unix/bsd/sun/sunos3/m68k/__wait.S: Removed. + * sysdeps/unix/bsd/hp/m68k/__wait.S: Moved to unix/bsd/m68k. + + * sysdeps/unix/bsd/hp/m68k/{__pipe,sysdep}.S: Moved to unix/bsd/m68k. + * sysdeps/unix/bsd/sun/m68k/{__pipe,sysdep}.S: Removed. + + * sysdeps/unix/bsd/sun/m68k/start.c: Moved to unix/bsd/m68k. + * sysdeps/unix/bsd/sony/m68k/start.c: Removed. + + * sysdeps/unix/bsd/bsd4.4/__sigstmsk.c: Correct file name in #include. + + * sysdeps/unix/bsd/sun/m68k/__fork.S: Removed. + * sysdeps/unix/bsd/hp/m68k/__fork.S: Removed. + * sysdeps/unix/bsd/vax/__fork.S: Moved to unix/bsd. + + * sysdeps/generic/__vfork.c: New file; fn alias to __fork. + * sysdeps/stub/__vfork.c: Removed. + + * limits.h: Only do #include_next #ifndef _LIMITS_H_. + + * malloc/mcheck.c (mcheck): Set abortfunc to either FUNC or abort; + never leave it unchanged. + Return 0 if mcheck_used; -1 if not. + * malloc/malloc.h (mcheck): Change return type in decl. + + * Makerules (+depfiles): Don't include them if there are none. + +Mon Oct 26 16:30:52 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/posix/fdopen.c: Use fcntl to check that FD is valid and + allows the access MODE specifies. + + * sysdeps/stub/getcwd.c: #include . + + * sysdeps/stub/sleep.c: #include . + +Sun Oct 25 02:24:47 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Makerules (+includes): Add $(+sysdep-includes) to this, leaving + CPPFLAGS alone. + + * sysdeps/stub/stime.c: #include . + +Thu Oct 22 13:36:48 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Rules (clean): Also remove $(clean-extras). + +Tue Oct 20 18:36:40 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * configure: Write error message and lose for option with missing arg. + + * stdio/__vfscanf.c: Add `a' modifier, which makes %s and %[ fill + in a char ** with a malloc'd string. + (STRING_ADD_CHAR, STRING_ARG): New macros to deal with this hair. + (%s, %[): Use them. + + * posix/gnu/types.h [__GNUC__] (__fsid_t): Define as long long. + + * stdio/vfprintf.c: Add %m, which is %s of strerror (errno). + +Mon Oct 19 14:19:36 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * socket/sys/socket.h (PF_FILE, AF_FILE): Define new macros. + (PF_UNIX, AF_UNIX): Make aliases for [PA]F_FILE. + + * sysdeps/ieee754/huge_val.h: #include . + [!__GNUC__]: Use __const, not CONST. + + * posix/wordexp.h: Fix indentation and syntax errors. + + * stdio/vasprintf.c (vasprintf): Set seen bit. + +Fri Oct 16 17:18:34 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * Makefile (Mcrt1.o): Create an empty .c file and compile it, + rather than creating an empty .o file. + + * sysdeps/unix/Makefile (sys/param.h): Strip / from name for mkdir. + + * sysdeps/m68k/fpu/atan2.c [! __GNUC__]: Include generic, not iee754. + + * sysdeps/sparc/Makefile ({divrem}.S): Use $(M4) for m4 in cmds. + * Makeconfig (M4): Define it. + + * stdio/newstream.c (__newstream): Link STREAM onto __stdio_head + after malloc'ing it. + + * time/emkdir.c: #define unix if not already defined. + +Thu Oct 15 19:55:45 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * stdlib/wctomb.c: When passed 0, store a '\0' and return 1. + * stdlib/mbtowc.c: When passed "", store a 0 and return 1. + + * sysdeps/generic/strstr.c: When NEEDLE is "", return HAYSTACK. + +Thu Oct 15 19:25:46 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * malloc/malloc.h (__after_morecore_hook): Declare new var. + * malloc/malloc.c (__after_morecore_hook): Define it. + (align): Call it. + +Mon Oct 12 15:56:07 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * malloc/malloc.h (r_alloc, r_alloc_free, r_re_alloc): Declare. + + * Makerules (native-compile, common-objdir-compile): Pass + $(native-CFLAGS) to the compiler. + + * Makeconfig (+gccwarn): Removed -Wstrict-prototypes and + -Wpointer-arith. They were not really helping, and caused extra + warnings for harmless code. + + * malloc/Makefile (dist-routines): Add ralloc. + (gpl2lgpl): Add ralloc.c. + + * time/zic.c: #define unix if not already defined. + + * Makerules ($(gpl2lgpl)): Make output unwritable; use mv -f. + +Mon Oct 12 15:27:40 1992 Brendan Kehoe (brendan@mole.gnu.ai.mit.edu) + + * sysdeps/unix/bsd/ultrix4/mips/__set[gu]id.S: Handle returning to + the proper caller ourselves, since setre[gu]id won't be doing it. + +Mon Oct 12 13:37:16 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * malloc/malloc.h: Declare memory_warnings. + * malloc/Makefile (dist-routines): Add vm-limit. + (distribute): Add mem-limits.h. + (gpl2lgpl): Add vm-limit.c, mem-limits.h. + + * gpl2lgpl.sed: Remove "This file is part of ..." lines. + Changed regexp to match "foo is free software", not just "This + program ...". + + * Makerules (+make-deps): Put file name before options on command line. + + * Makefile (install-lib): Remove libc.a from here. + * Makerules [objects] (install-lib): Append it here instead. + + * io/sys/stat.h (S_IRWXO): Fixed typo. + +Sun Oct 11 16:58:36 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * posix/glob.c (__glob_{open,read,close}dir_hook): New vars. + (glob_in_dir): Use them. + * posix/glob.h: Declare them. + +Thu Oct 8 20:03:30 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu) + + * configure (config.make): Write comment to edit configparms instead. + +Wed Oct 7 17:15:05 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * sysdeps/stub/__chown.c: Fixed arg types (int -> [ug]id_t). + + * sysdeps/stub/__geteuid.c: Fixed return type (int -> __uid_t). + + * sysdeps/stub/__getegid.c: Fixed return type (int -> __gid_t). + + * configure: Write defns in config.make for vars config-machine, + config-vendor, and config-os. + + * ctype/ctype.h (__isctype, __tolower, __toupper): Cast argument + and return value to `int'. + + * ctype/ctype.h (__ctype_tolower, __ctype_toupper): Changed type + to `short int *'. + (toupper, tolower): Removed inline functions; restored macros. + * ctype/ctype.c (tolower, toupper): Just call the __ macros. + * ctype/ctype-info.c: Change types here too. + * locale/localeinfo.h: And here. + * locale/C-ctype_ct.c: Ditto. + + * crypt: New code from Michael Glad. + + * Makefile (munch-init.c), sysdeps/unix/Makefile + ($(sys/param.h-includes), make-errnos.c, make-ioctls.c), + sysdeps/unix/bsd/Makefile (local_lim.h, ctype-glue.c), + sysdeps/posix/Makefile (stdio_lim.h): Changed rules to use a + shorter suffix than `-tmp', to avoid exceeding 14 char limit. + +Tue Oct 6 15:13:57 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Makefile (README, INSTALL): Moved rules here. + * Make-dist: From here. + + * sysdeps/unix/bsd/sun/m68k/{__pipe,__fork,sysdep}.S: Change uses + of sysdeps/unix/bsd/hp9k3bsd to sysdeps/unix/bsd/hp/m68k. + + * sysdeps/m68k/Makefile: Put .S rule here. + * sysdeps/unix/bsd/hp/m68k/Makefile: Removed file. + +Mon Oct 5 19:40:22 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/generic/pow.c (pow_p): Changed code to KY jelly. + + * sysdeps/unix/bsd/ultrix4/utsnamelen.h: New file. + * sysdeps/unix/bsd/ultrix4/uname.S: New file. + +Fri Oct 2 17:43:32 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * sysdeps/posix/mktemp.c: Don't use a static index and increment + it on each call. Instead, always start at the beginning and + iterate until we find a file that does not exist. + + * sysdeps/unix/sysv/i386/signal.S: Use C_SYMBOL_NAME for __sigreturn. + Added comment about gas bug with `lcall' insn. + + * sysdeps/unix/i386/__brk.S: Use C_SYMBOL_NAME for __curbrk and _end. + + * sysdeps/unix/i386/sysdep.S: #include . + Use C_SYMBOL_NAME(errno) in place of _errno. + + * sysdeps/unix/sysdep.h (___errno): Removed #define to _errno. + `errno' is an ANSI name; it doesn't need to be aliased. + * sysdeps/unix/bsd/sun/m68k/sethostid.S, + sysdeps/unix/bsd/sun/m68k/__vfork.S, + sysdeps/unix/bsd/sun/sparc/sysdep.h, + sysdeps/unix/bsd/sun/sparc/sethostid.S, + sysdeps/unix/bsd/vax/sysdep.S, + sysdeps/unix/bsd/vax/__vfork.S: Use _errno, not ___errno. + + * sysdeps/unix/sysv/sysdep.h: File removed. + * sysdeps/unix/sysv/i386/sysdep.h: Don't #include it. + #define NO_UNDERSCORES before #include . + + * sysdeps/unix/i386/sysdep.h (C_SYMBOL_NAME): Define new macro. + [NO_UNDERSCORES]: #define syscall_error to __syscall_error, so we + stay name space tidy. + + * sysdeps/unix/sysv/sysv4/sys_getdents.S: Added missing arg count (3). + + * sysdeps/unix/sysv/i386/time.S: Fixed to not use bogus addressing + mode `4(%esp,1)'; use `4(%esp)' instead. Added comments. + + * sysdeps/stub/__fchmod.c (__fchmod): Fixed arg type to mode_t. + + * sysdeps/posix/__wait3.c: #include for NULL. + + * sysdeps/unix/i386/__wait.S: Use asm label `null' instead of + `1f', and actually define the label! Added comments. + + * sysdeps/i386/memchr.c: Renamed asm label to `done'; not all + assemblers support numbered labels like `1f' or `1b'. + + * stdio/fseek.c (fseek): Discard char pushed back by ungetc. + * stdio/ftell.c (ftell): If we have a pushed-back char, decrement + the file position we return. + + * sysdeps/unix/bsd/sun/sparc/vfork.S: New file. + +Wed Sep 30 18:48:38 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * limits.h (_LIBC_LIMITS_H_): Define today's name for this. + RMS said it was to be `_LIBC_LIMITS_H', but that is not what + gcc actually uses. + +Tue Sep 29 18:17:12 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * time/Makefile (zic-cmd): Define variable. + (tzcompile, zoneinfo/localtime, zoneinfo/posixrules): Use it for + name of `zic' command. + + * sysdeps/unix/bsd/Makefile (ctype-glue.c): Make sure the command + is not an unqualified name. + + * sysdeps/stub/statbuf.h (struct stat): Contain only POSIX.1 + members, with the POSIX.1 types. + (_STATBUF_ST_BLKSIZE): #undef and comment. + * sysdeps/unix/bsd/statbuf.h (_STATBUF_ST_BLKSIZE): Define it. + * sysdeps/posix/stdio_init.c (__stdio_init_stream): Only try to + use st_blksize #ifdef _STATBUF_ST_BLKSIZE. + + * sysdeps/unix/__getpgsz.c: #include for size_t. + + * sysdeps/stub/__fchown.c: Fixed arg types ([ug]id_t, not int). + + * io/sys/stat.h: #include for __mode_t et al. + + * sysdeps/unix/__gete[ug]id.S [SYS_gete[ug]id]: Add arg count of 0. + [! SYS_gete[ug]id]: Fixed arg count to be 0. + + * sysdeps/unix/__get[ug]id.S: Fixed arg count to be 0. + + * sysdeps/unix/sysv/linux/syscall.h: #if 0'd out 2nd defn of SYS_brk. + +Sun Sep 27 21:56:56 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/unix/Makefile (sys/param.h): Depend on $(common-objpfx)sys/. + +Fri Sep 25 12:47:01 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * Makeconfig (INSTALL_DATA): Pass -m 644. + +Thu Sep 24 16:13:47 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * sysdeps/unix/sysv/linux/getpeername.S: Renamed to getpeernam.S. + * sysdeps/unix/sysv/linux/getsockname.S: Renamed to getsocknam.S. + * sysdeps/unix/sysv/linux/setsid.S: Renamed to __setsid.S; + function renamed to __setsid. + + * Version 1.05. + + * Makefile (dist): Depend on $(distribute). + + * stdio/__vfscanf.c (%c): Fixed DO_ASSIGN case loop condition to + not write one char too many. + +Wed Sep 23 16:32:18 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * stdlib/qsort.c (_quicksort): Return immediately if TOTAL_ELEMS==0. + +Tue Sep 22 19:10:59 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * Makerules [! OUTPUT_OPTION && objpfx]: Define OUTPUT_OPTION. + +Mon Sep 21 22:40:55 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/unix/bsd/mk-local_lim.c: Use MAXNAMLEN for NAME_MAX, + rather than hard-wiring 255. + [! MAXNAMLEN]: Define it to 255. + [LINK_MAX && ! MAXLINK]: #define MAXLINK LINK_MAX. + + * sysdeps/unix/bsd/glue-ctype.c [ultrix]: #define _ctype_ _ctype__. + + * configure: Rename var `gas' to `gnu_as' and use consistently. + +Fri Sep 18 16:32:16 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * sys/errno.h: New file. + * Makefile (headers): Add it. + + * Makeconfig (+make-deps): Use = not define. + + * time/Makefile (zones-%): Don't clobber zonenames; append to it. + Depend on Makefile so we rebuild when the rule changes. + Changed implicit rule from zoneinfo/%/... to zone%/... so it will + actually match. + + * sysdeps/unix/Makefile (syscall.h): Filter out "#ident" lines. + + * Makeconfig (+link): Use $(gnulib) instead of -lgcc. + (gnulib): Define to -lgcc. + + * posix/glob/Makefile.in (AR, ARFLAGS): Define. + (libglob.a): Use those vars instead of hardcoding. + + * Makeconfig (ARCH) [machine]: Don't define if $(..)config.make exists. + + * Makerules (compile.S): Include $(asm-CPPFLAGS). + (S-CPPFLAGS): Define = $(asm-CPPFLAGS). + (+make-deps): Include $(sfx-CPPFLAGS), where `sfx' is S or c. + * Makeconfig (asm-CPPFLAGS): Define (empty) and comment. + + * sysdeps/unix/Makefile ($(sys/param.h-includes)): Filter out + decls or macros for host<->net conversion (htonl et al). + +Thu Sep 17 17:33:51 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/unix/sysv/statbuf.h: Define __S_*. + + * misc/Makefile (headers): syslog.h -> sys/syslog.h. + * misc/syslog.h: Moved to misc/sys/syslog.h. + + * limits.h [__GNUC__ >= 2]: #define _LIBC_LIMITS_H before + #include_next . + Define _LIMITS_H unconditionally. + +Wed Sep 16 17:43:59 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * sysdeps/unix/Makefile (syscall.h): Don't use \< in sed commands. + Some seds don't seem to grok it. + + * Makerules (+install-dirs): Sort them. + + * Makeconfig (stdarg.h): Use $(wildcard va-*.h) instead of va-*.h, + and := instead of =. + + * Makeconfig (prefix): Default to $(exec_prefix), not /usr/local. + + * Makeconfig (+link): Use $(common-objpfx) rather than $(objpfx) + to find start.o; use $(libc.a) instead of $(objpfx)libc.a. + + * sysdeps/sparc/Makefile: crypt subdir is not called uf-crypt. + + * sysdeps/unix/Makefile (sys/param.h-includes): Fixed filtering + out of existent glibc headers to remove $(..) pfx after wildcard. + + * misc/paths.h: New file, snarfed from 4.4 BSD. + * misc/Makefile (headers): Add paths.h. + +Tue Sep 15 14:55:11 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Makerules (+sysdir_pfx): Define as $(common-objpfx). + + * MakeTAGS (TAGS) [subdir && ! tags_sources]: Create an empty + file, rather than no commands at all. + + * string/string.h [__GNUC__ && __OPTIMIZE__] (ffs): Take arg. + + * sysdeps/unix/sysv/linux/__wait4.S: New file. + + * sysdeps/unix/sysv/linux/syscall.h: New version from hlu. + + * sysdeps/unix/Makefile (syscall.h): Upcase `sys_' in input. + + * sysdeps/unix/bsd/ultrix4/mips/sysdep.h (MOVE): Insn is `move', + not `movl'. + + * sysdeps/unix/bsd/ultrix4/mips/sigcontext.h: Deansideclized. + + * sysdeps/unix/ioctls-tmpl.c [DIOCGETPT, DEVGETGEOM]: Include + headers for these. + [ultrix]: Mondo cruft. + +Sat Sep 12 12:08:29 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * misc/Makefile (routines): Add ttyslot, syslog. + * misc/ttyslot.c, misc/syslog.[ch]: New, snarfed from 4.4 BSD. + (headers): Add syslog.h + + * misc/getttyent.c (getttyent): Parse _TTYS_TRUSTED keyword and + set TTY_TRUSTED bit. + * misc/ttyent.h (TTY_TRUSTED): New bit in ty_status. + (_TTYS_TRUSTED): New keyword. + (_TTYS_CONSOLE): New keyword. + (TTY_CONSOLE): New bit in ty_status. + + * dirent/scandir.c (scandir): Don't keep using V after realloc'ing + it. Use the returned new ptr instead. + +Thu Sep 10 18:59:23 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * stdlib/div.c, stdlib/ldiv.c: Rewritten from Berkeley code that works. + + * Makeconfig (stdarg.h): Add va-*.h. + + * stdlib/Makefile (dont_distribute): Define: testsort.input. + + * sysdeps/mach/hurd/i386/_hurd_start_sigthread.c, + sysdeps/stub/_hurd_start_sigthread.c: Renamed to .../startsig.c. + * sysdeps/mach/hurd/sys_errlist.awk: Renamed to .../errlist.awk. + * sysdeps/mach/hurd/Makefile (sys_errlist.c): Change dep. + * sysdeps/unix/bsd/make-local_lim.c: Renamed to .../mk-local_lim.c. + * sysdeps/unix/bsd/Makefile (local_lim.h): Change dep. + (make-local_lim): Change target and dep. + * hurd/_hurd_dead_recv.c: Renamed to hurd/dead_recv.c. + * hurd/setdtablesize.c: Renamed to hurd/setdtsz.c. + * hurd/Makefile (routines): Change references. + * stdio/tstgetline.c: Renamed to stdio/tstgetln.c. + * stdio/tstgetline.input: Renamed to stdio/tstgetln.input. + * stdio/Makefile (tests): Change ref. + * README.template: Remove note about long file names. + + * sysdeps/unix/bsd/sun/sunos4/utsnamelen.h (_UTSNAME_LENGTH): + Define here, rather than #include'ing sysv/utsnamelen.h. + This file gets installed. + +Wed Sep 9 17:06:14 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Makeconfig (localtime-file): Put in $(prefix)/etc, not /etc. + + * setjmp/Makefile (routines): Remove sigsetjmp. + + * sysdeps/posix/Makefile (objdir-CPPFLAGS) [! subdir]: Rewrote + totally broken defn. + + * sysdeps/unix/Makefile (syscall.h): Keep lines starting + with #, not only those starting with #define. + We want to preserve any #ifdef in the original. + + * Makerules (install): Dep $(+install-dirs), not $(dir $(+install)). + (+install-dirs): Define to get two levels of dirs. + + * time/Makefile (tz-cc): Use = instead of define directive. + + * sysdeps/unix/bsd/sun/sparc/start.c (_start): Give ARGC, ARGV, + and ENVP `register' storage class; can then clear the FP early. + +Sat Sep 5 13:14:09 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * Makerules (sysdirs): Pass sysdep_dir in child's environment. + +Fri Sep 4 15:37:23 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * Makeconfig (common-objpfx): Add trailing slash. + Move comment to prev line to avoid extra whitespace. + +Thu Sep 3 17:31:13 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * sysdeps/unix/bsd/setgroups.S: New file. How did this manage not + to exist already?? + + * Version 1.04. + + * sysdeps/generic/memmem.c (memmem): Fixed loop condition not to + use nonexistent variable. + + * string/string.h (memmem): Put const qualifier on args. + + * sysdeps/stub/sigaltstack.c (sigaltstack): Fix arg type. + + * setjmp/sigsetjmp.c: #undef sigsetjmp before defining the function. + +Wed Sep 2 16:43:58 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * misc/Makefile (headers): Add syscall.h. + * sysdeps/unix/Makefile: Only generate syscall.h if it would + otherwise come from stub. + * sysdeps/stub/syscall.h: New file. + + * time/Makefile (routines): Add stime. + + * io/Makefile (routines): Add fchdir. + + * signal/Makefile (routines): Add sigaltstack. + + * string/Makefile (routines): Add memmem. + + * setjmp/Makefile (routines): Add sigsetjmp, _setjmp. + + * misc/Makefile (routines): Add getpass. + + * Makefile (distribute): Add NEWS. + + * Makerules (ar-it) [! objdir]: Pass `ru' instead of `u' to ar. + Use $(..)libc.a instead of $(libc.a). + + * sysdeps/unix/sysv/i386/linux/sysdep.h (PSEUDO): Call numbers are + SYS_*, not __NR_*. + + * sysdeps/unix/sysv/i386/linux/__wait.S: Prepend extra _ to + `__waitpid' for jmp. + + * Makerules (check): New rule; alias for `tests'. + + * sysdeps/stub/__setregid.c: Args are gid_t, not int. + + * sysdeps/posix/readv.c: #include . + + * sysdeps/generic/printf_fp.c: If LDBL_DIG or LDBL_MAX_10_EXP is + defined by float.h, #define each to DBL_*. + +Tue Sep 1 16:29:07 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * sysdeps/unix/Makefile (syscall.h): Add missing backslashes. + + * Makeconfig [!objdir && !..] (common-objpfx): Define as + `sysdeps/..'; The Almighty KludgeMeister 2000 wins again. + + * Makerules (sysdep-Makefile): Rename to sysd-Makefile. + + * Makeconfig (CC): Don't use -pipe by default. + + * configure (switches): Put quotes around os-release and + os-version values. + +Mon Aug 31 19:33:15 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/stub/cbrt.c: New file. + + * sysdeps/generic/cabs.c: New file. + + * sysdeps/generic/ceil.c: New file, split from floor.c. + * sysdeps/generic/__rint.c: Replaced with code split from floor.c. + * sysdeps/generic/Makefile (routines): Don't remove ceil, __rint. + +Thu Aug 27 15:58:13 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu) + + * malloc/malloc.h [! __STDC__] (ptrdiff_t): #define. + +Wed Aug 26 18:15:47 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * malloc/free.c (__free): Rename to _free_internal. + (free), malloc/malloc.c (morecore): Change callers. + * malloc/malloc.h: Change decl. + +Tue Aug 18 17:38:13 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * sysdeps/generic/__copysign.c: New file. + + * sysdeps/unix/sysv/sysdep.h: #include , not + . Don't #define _SYS_SYS_S; should no longer be + necessary. + + * sysdeps/unix/Makefile (syscall.h): Replaced simple code to just + find the file in any of several places, with hairier code to find + it and massage it. + + * malloc/Makefile (obstack.%): Remove rule. + (gpl2lgpl): Define this instead. + * posix/Makefile (gpl2lgpl): Define to include getopt source files. + * Makerules ($(gpl2lgpl)): New rule to snarf code and frob its + copying notices. + +Fri Aug 14 13:28:39 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Makeconfig (common-objdir, common-objpfx): Define new vars. + (libc.a): Define in terms of $(common-objpfx). + Find config.make with $(common-objpfx), not $(objpfx). + * Makerules (common-objdir-compile): Define canned sequence. + (native-compile): Use $(@D)/$(@F) instead of stripping off $(objpfx). + * sysdeps/unix/Makefile, sysdeps/unix/bsd/Makefile, + sysdeps/generic/Makefile: Use it. + Use $(common-objpfx) for generated things not specific to one subdir. + + * sysdeps/unix/Makefile (sysdep_headers): Add + $(sys/param.h-includes) to this instead of to headers. + +Thu Aug 13 18:30:58 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * posix/glob.c: Always #include . + [! USG]: Don't do it here. + [STDC_HEADERS]: Test this instead of __STDC__ for size_t. + [HAVE_STRCOLL]: Test this instead of ANSI_STRING for strcoll. + + * posix/glob/Makefile.in (Makefile): Remove rule. + +Wed Aug 12 16:12:52 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/sparc/jmp_buf.h: Deansideclized. + + * sysdeps/generic/make_siglist.c: #undef HAVE_SYS_SIGLIST, not + SYS_SIGLIST_MISSING. + * sysdeps/generic/signame.[ch]: Re-symlinked from /gd/gnu/lib. + Who's been removing random things from my source tree?? + +Tue Aug 11 15:01:50 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * posix/getconf.c (main): Cast printf field with arg to int. + + * Makefile (distribute): Remove ansidecl, ansidecl.m4. + + * posix/glob.c [_AIX]: Don't declare alloca. + +Mon Aug 10 17:09:40 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/m68k/fpu/__math.h (__expm1): Define just like expm1. + + * sysdeps/unix/ioctls-tmpl.c [SMIOSTATS, SMIOGETREBOOT0, + ZIOCBCMD]: Include headers for these. + +Fri Aug 7 16:01:43 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * string/tester.c (main): Use sys_nerr and sys_errlist, not _sys_*. + + * stdio/stdio.h [__USE_GNU] (_sys_nerr, _sys_errlist): Declare. + + * string/strerror.c, stdio/perror.c + [HAVE_GNU_LD] (_sys_errlist, _sys_nerr): Remove decls. + + * stdio/memstream.c (enlarge_buffer): Notice when target is -1 and + don't treat it as a huge value. + + * stdio/tst-printf.c: #if 0 code that tickles printf_fp bugs. + + * grp/testgrp.c: Don't bomb if uid not in passwd file. + + * stdlib/tst-strtol.c (tests): C-t on LONG_MIN and LONG_MIN-1 elts. + + * stdlib/strtol.c: Use int flag NEGATIVE instead of char 1/-1 SIGN. + Fixed checking for overflow of long int that fits in unsigned long + int--must cast LONG_MIN before negating! + +Thu Aug 6 18:46:24 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * stdio/bug3.c (main): Define ansideclifily. + + * sysdeps/unix/bsd/sun/sparc/__pipe.S: Define __pipe, not ___pipe. + + * math/test-math.c (main): Remove unused vars. + + * io/flock.c: #include , and not fcntl.h or sys/types.h. + + * sysdeps/m68k/fpu/__math.h (__rint): Define just like rint. + + * math/math.h (__rint): Declare. + + * configure (esix*): base_os=unix/sysv. + + * dirent/getdents.c: #include . + + * Rules (subdir): Avoid TAB before # at end of defn. + + * sysdeps/unix/bsd/bsd4.4/__wait3.c: Last arg type is struct rusage *. + +Tue Aug 4 18:19:43 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/ieee754/Makefile: Removed. + + * math/math.h: Declare __expm1. + +Mon Aug 3 13:02:05 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/ieee754/cabs.c (cabs, z_abs): Members of structure have __. + + * sysdeps/unix/bsd/seq386: Remove directory. + +Thu Jul 30 15:42:01 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * sysdeps/unix/bsd/sun/sparc/sigcontext.h: Deansideclized. + + * sysdeps/unix/bsd/sun/sunos4/__wait4.c: Make last arg struct rusage + instead of PTR. + + * sysdeps/unix/morecore.c (__default_morecore): Make arg ptrdiff_t. + + * sysdeps/ieee754/cabs.c (cabs, z_abs): Use `struct __complex' for arg. + + * sysdeps/generic/pow.c: #include . + + * sysdeps/generic/mathimpl.c: #include before frobnication. + + * misc/getusersh.c (okshells): Make const. + (initshells): Properly declare static. + + * sysdeps/unix/bsd/__tcgetatr.c: Cast sg_[io]speed to (unsigned char) + to avoid gcc warnings. + + * math/bsd/common/atan2.c, math/bsd/common/tan.c, + math/bsd/common/sincos.c, math/bsd/common/trig.h, + math/bsd/common_source/__expm1.c, math/bsd/common_source/fmod.c, + math/bsd/common_source/acosh.c, math/bsd/common_source/log.c, + math/bsd/common_source/asincos.c, math/bsd/common_source/asinh.c, + math/bsd/common_source/log1p.c, math/bsd/common_source/atan.c, + math/bsd/common_source/log__L.c, math/bsd/common_source/atanh.c, + math/bsd/common_source/mathimpl.h, math/bsd/common_source/cosh.c, + math/bsd/common_source/exp.c, math/bsd/common_source/sinh.c, + math/bsd/common_source/exp__E.c, math/bsd/common_source/tanh.c, + math/bsd/common_source/floor.c: Moved to sysdeps/generic. + * math/bsd/ieee/{cabs,cbrt,support}.c: Moved to sysdeps/ieee754. + * All above + sysdeps/generic/mathimpl.h, sysdeps/generic/pow.c: New + code from 4.4/net2. + + * sysdeps/generic/ffs.c: #include , not . + + * posix/glob/Makefile.in (Makefile): Depend on config.status; invoke + it directly instead of using $(SHELL). + + * posix/glob.c [! USG]: #include before . + +Tue Jul 28 17:54:23 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/unix/bsd/ultrix42: Renamed to ultrix4. + + * sysdeps/unix/sysv/isc2.2/__rename.S: New. + * configure (isc*): base_os=unix/sysv. + + * Makefile, Makerules, Rules, math/Makefile, ctype/Makefile: Use + "export foo := $(foo)" instead of ifdef have_export_directive. + * Makeconfig (have_export_directive): Remove; move .NOEXPORT down. + +Mon Jul 27 18:01:30 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * configure: Remove redundant test to set os_used. + +Sun Jul 26 17:03:31 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * README.template: Don't mention Q+A. + * Makefile (distribute): Remove Q+A. + + * Makefile, Makerules, Rules, math/Makefile, ctype/Makefile: Put + "ifdef have_export_directive" around uses of `export' directive. + They are only needed for dist and tags anyway. + * Makeconfig (have_export_directive): Add commented-out defn, and + comment to explain. + (.NOEXPORT): Add special target for old versions of GNU make. + + * posix/glob.c [_AIX]: #pragma alloca first thing. + [ANSI_STRING]: Remove #define's for index et al. + +Thu Jul 23 21:49:53 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * misc/getpass.c: New. + * posix/unistd.h (getpass): Declare. + + * posix/unistd.h (getusershell, setusershell, endusershell): Declare. + * misc/Makefile (routines): Add getusersh. + * misc/getusersh.c: New. + +Tue Jul 14 20:03:57 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * stdlib/Makefile (tests): Add testdiv. + * stdlib/testdiv.c: New. + + * sysdeps/unix/sysv/i386/linux/{rename,__mkdir,__rmdir,__dup2, + getpgrp,__setpgrp,setsid}.S: New files. + + * sysdeps/unix/__getppid.S: If SYS_getppid is defined, use it rather + than alternate value of getpid. + * __gete[ug]id.S: Similar. + + * sysdeps/unix/sysv/i386/linux/__waitpid.S: New file. + * sysdeps/unix/sysv/i386/linux/__wait.S: New file. + * sysdeps/posix/__wait3.c: New file. + + * sysdeps/unix/sysv/i386/linux/socket.S: New file. + * bind.S, connect.S, listen.S, accept.S, getsockname.S, + getpeername.S, socketpair.S: Also new (and trivial). + +Mon Jul 13 17:41:46 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * sysdeps/unix/sysv/i386/linux/sysdep.[hS]: New files. + + * configure (linux*): base_os=unix/sysv + (gnu*, linux*): Always set --with-gnu-ld and --with-gnu-as. + + * stdio/obstream.c: #include + (obstack_vprintf): Use bzero rather than memset. + + * stdio/glue.c (unix_FILE.glue): Add two members, which will overlap + get_limit and put_limit in GNU stdio. + (_iob): Initialize them to same as `streamp'. + +Thu Jul 9 21:27:39 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * stdio/stdio.h (open_obstack_stream, obstack_printf, + obstack_vprintf): Declare. + + * posix/glob.c [STDC_STRINGS]: Don't test this. + [! ANSI_STRING]: Put memcpy, strrchr, memset defns here instead. + + * posix/glob/Makefile.in (glob.o, fnmatch.o): / after $(srcdir). + +Tue Jul 7 03:11:23 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * stdio/Makefile (routines): Add obstream. + + * Makerules (%.o: %.S, %.o: %.c): If using gcc, put the file name + before the options on the command line. + + * malloc/Makefile (dist-routines): Define with routines for malloc.tar. + (routines): Define with that plus the rest. + (nodist): Remove. + (routines): Add obstack. + (headers): Add obstack.h. + (obstack.%): New rule. + + * stdio/glue.c: Add comments. + + * stdio/printf.h (struct printf_info.spec): Make unsigned char. + + * stdio/stdio.h (__validfp): Fixed glued-stream snarfing. + +Mon Jul 6 20:00:47 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/i386/jmp_buf.h: Deansideclized. + + * sysdeps/posix/Makefile (objdir-CPPFLAGS): Define; if in parent + dir, add ..s to -Is. + (mk-stdiolim): Use it in place of $(CPPFLAGS). + +Sat Jul 4 20:44:42 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * posix/glob/Makefile.in (glob.o, fnmatch.o): Put $(srcdir) on deps. + +Wed Jul 1 00:13:40 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/generic/strstr.c: If NEEDLE is "", return end of HAYSTACK. + + * string/tester.c (main): Remove decls of sys_nerr and sys_errlist. + + * configure: Accept --prefix=*, --exec_prefix=* options. + Set values in config.make and config.status. + + * io/umask.c: Fixed return type in fn alias. + + * posix/glob.c [! ANSI_STRING]: #define strcoll to strcmp. + Remove extra decls of free, qsort, malloc, and realloc. + + * dirent/alphasort.c: #include , and not . + + * sysdeps/unix/bsd/i386/__wait3.S: Load SYS_wait into %eax before + trapping. Use literal .byte instead of lcall to avoid gas bug. + Use 0(REG), not (REG), for register-indirect addressing. + + * configure: Make config.status executable. + +Tue Jun 30 21:14:53 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * configure: Add --os-release=* and --os-version=* options. Record + settings (which might be automagically guessed) in config.status. + + * misc/mknod.c: Use __mode_t for arg in fn alias. + + * posix/unistd.h (setregid): Declare to take __gid_t args. + + * sysdeps/unix/bsd/i386/__wait3.S: Don't use lcall insn gas barfs on. + + * posix/vfork.c: Move to sysdeps/generic/. + + * Rules (others, tests): Export them. + + * io/umask.c, io/mkdir.c, io/chmod.c: Use mode_t not int in arg decls. + + * sysdeps/i386/ffs.c: #include , not . + + * stdio/vfscanf.c: Use function_alias. + + * stdio/vsscanf.c: Use va_list, not PTR, in arg decl in fn alias. + + * sysdeps/unix/i386/sysdep.h (PSEUDO): Enough backslashes and + semicolons. + + * stdio/stdio.h: For __gnuc_va_list, #test __GNUC_VA_LIST, not + __va_list_defined. + + * stdio/fmemopen.c: Use memchr to find NUL for append mode. + + * stdio/memstream.c (enlarge_buffer): Double the buffer size, rather + than adding 100. Don't clobber *INFO->bufsize when called with the + put limit reset. If the target has been set, extend and zero-fill + the buffer. + (seek): New function. + (open_memstream): Use it for seek io fn. Call fmemopen with "w+" mode. + +Sun Jun 28 19:01:01 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * stdio/fseek.c: Fail with EINVAL for a negative file pos. + +Fri Jun 26 00:07:53 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * Makeconfig (stdarg.h): New variable. + * Makefile (headers): Add $(stdarg.h). + + * stdio/stdio.h: Change __va_list to __gnuc_va_list in decls. + + * sysdeps/unix/morecore.c: Include malloc.h #ifndef _MALLOC_INTERNAL. + Don't include . + (NULL): Define to 0 if not defined. + + * sysdeps/i386/bzero.c: Include string.h, not bstring.h. + +Thu Jun 25 21:01:40 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * stdio/perror.c, string/strerror.c (_sys_errlist, _sys_nerr): Don't + declare #ifndef HAVE_GNU_LD. + + * stdio/fwrite.c: Cast arg to write io func to const char * (from uns). + + * sysdeps/unix/Makefile: If syscall.h doesn't exist in + $(sysincludedir), look for sys/syscall.h and create $(objpfx)syscall.h + to #include it. + + * sysdeps/unix/morecore.c (__default_morecore): Deansideclized. + * malloc/*.c: Only #include #ifndef _MALLOC_INTERNAL. + +Wed Jun 24 19:09:04 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/unix/snarf-ioctls: Avoid looking at a few particular + headers which tend to mislead us. + + * Makefile (distribute): Add COPYING. + + * configure (Makefile): When invoking make in srcdir, set ARCH + rather than objdir on the cmd line. + + * posix/glob.c [DIRENT] (direct): Don't define to dirent. + [! DIRENT] (direct): Define to dirent. + + * Make-dist [!subdir] (+tsrcs): Don't include $(distribute). It was + already included above. + +Mon Jun 22 16:58:34 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * Makerules (sysdep_routines): Export it. + +Wed Jun 17 17:58:05 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * posix/glob.c (my_realloc): Test only __GNU_LIBRARY__. Can't trust + STDC_HEADERS. + +Tue Jun 16 20:20:01 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * resource/sys/resource.h (enum __rlimit_resource): Added MEMLOCK, + NPROC, OFILE. + + * posix/Makefile (glob.tar): Include Makefile.in & configure, and not + Makefile. + (glob/configure): New rule. + + * posix/glob/Makefile: Moved to posix/glob/Makefile.in. + (VPATH, srcdir, CPPFLAGS): Define to be replaced by autoconf. + + * posix/glob.c: Rearranged conditionals for use with autoconf. + +Thu Jun 11 15:47:43 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * sysdeps/unix/bsd/sun/sparc/start.c: Added alias for start -> __start. + +Tue Jun 9 20:15:12 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * sysdeps/posix/rename.c: Return failure and don't remove the old + link if the link failed with other than EEXIST. + + * posix/glob/Makefile: Fixed copyright notice. + (realclean): Don't remove ~ backup files. + +Thu Jun 4 16:41:56 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * time/Makefile (install-data): Don't include zoneinfo/. + Makerules already makes sure the necessary directories exist. + + * setjmp/setjmp.h (sigsetjmp) [__GNUC__]: Use typeof hackery to + construct the type of the temporary var for the arg. + (_setjmp) [__FAVOR_BSD]: Make same as setjmp. + + * malloc/malloc.h (mtrace): Declare. + + * malloc/malloc.h, malloc/calloc.c, malloc/free.c, malloc/malloc.c, + malloc/mcheck.c, malloc/memalign.c, malloc/mstats.c, + malloc/mtrace.c, malloc/realloc.c, malloc/valloc.c: Deansideclized; + changed copyright notices to be independent of libc. + * malloc/Makefile (glob/%.c, glob/%.h): Don't need to ansideclificate. + + * io/ftw.h, io/ftw.c: New. + * io/Makefile (headers): Added ftw.h. + (routines): Added ftw. + +Tue Jun 2 21:49:22 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * sysdeps/unix/bsd/signum.h (SIG_ERR, SIG_DFL, SIG_IGN): Use + __sighandler_t. + + * posix/glob.c (__ptr_t): Define. + +Thu May 28 06:57:14 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * sysdeps/m68k/jmp_buf.h: Don't use PTR. + +Wed May 27 18:09:40 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * posix/{glob,fnmatch}.[ch]: Deansideclized; changed copyright + notice to be independent of libc. + * posix/Makefile (glob/%.c, glob/%.h): Don't need to ansideclificate. + + * posix/unistd.h (_SC_2_FORT_RUN, _SC_2_LOCALDEF): Define. + + * posix/unistd.h: Define _POSIX2_* without #ifdef __USE_POSIX2. + + * posix/unistd.h (_POSIX2_FORT_DEV): Removed. + + * posix/fnmatch.h (FNM_FILE_NAME): Alias for FNM_PATHNAME. + +Tue May 26 00:39:39 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * time/Makefile (install-data): Include zoneinfo/, so the directory + gets made. + + * Makeconfig (+gcc-nowarn): Define to -w if using gcc. + * time/Makefile (tz-cc): Use it to suppress warnings for grody code. + + * posix/Makefile (libposix.a), math/Makefile (libm.a): Make archive + containing /dev/null instead of nothing; ar won't create an empty + archive. + + * Makerules (%/): Added generic mkdir rule. + + * posix/Makefile (install-lib): Define to libposix.a. + (libposix.a): Create empty archive. + + * posix/Makefile (distribute): Added utsnamelen.h. + + * ctype/ctype.c (tolower, toupper): If the arg doesn't fit in a + char, return it unchanged. + * ctype/ctype.h (tolower, toupper): Don't define as macros. + [__GNUC__]: Define as extern inline functions. + + * sysdeps/unix/bsd/sun/sunos4/utsnamelen.h, + sysdeps/unix/bsd/sun/sunos4/uname.S: New. + + * configure: Only do hacking to snarf uname info if the config uses + the generic uname implementation. + + * Makeconfig (+defines): Define to include $(gnu_ld), rather than + -DHAVE_GNU_LD. + * configure: Write config.make with gnu_ld/gnu_as defns. + + * sysdeps/unix/bsd/sun/sunos411: Renamed back to .../sunos4. + * sysdeps/unix/bsd/bsd44: Renamed to .../bsd4.4. + + * Makeconfig: include $(objpfx)configparms instead of + $(objdir)/Makeconfig. + Define objpfx as soon as objdir is defined, so we can use it. + + * sysdeps/generic/uname.c: Use UNAME_* from config-name.h. + +Mon May 25 19:33:07 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * configure: Accept all standard GNU configure options. + Expect to be run in object directory, and find source directory + elsewhere. + Write config.status as a shell script that can be run to recreate + the configuration. + Grok os names containing dots by trying each successively + less-precise substring. + Write Sysnames and config-name.h in current directory. + Write #define's for uname sysname, release, version, and machine + elts in config-name.h. Hackery to intuit release and version info. + + * stdio/vsnprintf.c, stdio/vsprintf.c, stdio/vasprintf.c, + stdio/vdprintf.c, stdio/vfscanf.c, stdio/vscanf.c, + stdio/__vsscanf.c: Take arg list as va_list, not PTR. + + * stdio/stdio.h: Replaced #include with magic. + Properly use __va_list in prototypes. + + * Makeconfig (exec_prefix): Define. + (libdir, includedir, bindir): Use it. + + * sysdeps/unix/sysv/Makefile [subdir==io] (sysdep-routines): Removed + __utssys. + * sysdeps/unix/sysv/Dist: Removed __utssys.S. + * sysdeps/unix/sysv/__utssys.S, sysdeps/unix/sysv/uname.c: Removed. + * sysdeps/unix/sysv/uname.S, sysdeps/unix/sysv/utsnamelen.h: New. + + * posix/sys/utsname.h (_UTSNAME_LENGTH): Don't define; instead, + #include to define it. + * sysdeps/generic/utsnamelen.h: New. + +Sun May 24 00:07:45 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * sysdeps/generic/inet-cvt.h: Deansideclized. + + * string/string.h (memfrob): First arg is __ptr_t, not char *. + + * misc/sys/cdefs.h (__ptr_t): Made #define rather than a typedef. + +Fri May 22 01:52:04 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * Makefile, Rules, Makerules: Remove all rules for ansideclificating + headers. + + * posix/glob.h, posix/fnmatch.h: Use explicit cruft for C++. + Define __P and const for C++/ANSI vs old C ourselves, to avoid + dependence on . + + * inet/Makefile: Remove cruft to snarf things from bsd/. + * inet/bsd/*.c: Moved to inet/. + + * Makerules: Install headers from source directories into + $(includedir), rather than ansidecl madness. + * Makeconfig (ansi-incldir, trad-incldir): Removed. + (includedir): Define instead. + + * assert/assert.h, ctype/ctype.h, dirent/dirent.h, grp/grp.h, + locale/locale.h, locale/localeinfo.h, math/math.h, + misc/sys/file.h, misc/sys/ioctl.h, misc/sys/ptrace.h, + misc/sys/uio.h, misc/sgtty.h, misc/nlist.h, posix/gnu/types.h, + posix/sys/wait.h, posix/sys/types.h, posix/sys/times.h, + posix/sys/utsname.h, posix/unistd.h, posix/tar.h, posix/utime.h, + posix/wordexp.h, posix/glob.h, posix/fnmatch.h, pwd/pwd.h, + resource/sys/resource.h, resource/sys/vlimit.h, + resource/sys/vtimes.h, setjmp/setjmp.h, signal/signal.h, + signal/gnu/signal.h, socket/sys/socket.h, stdio/stdio.h, + stdio/printf.h, stdlib/alloca.h, stdlib/stdlib.h, string/string.h, + termios/termios.h, time/sys/time.h, time/time.h, io/sys/stat.h, + io/fcntl.h, errno.h, stddef.h, malloc/malloc.h: + Deansideclized. Use macros instead of ansidecl and + C++ cruft. + * features.h: #include . + + * string/string.h (strfry, memfrob): Declare. + * string/Makefile (routines): Added strfry and memfrob. + * string/strfry.c, string/memfrob.c: New. + + * locale/C-ctype_ct.c: Made BS be isspace. + + * sysdeps/generic/strstr.c: Return HAYSTACK, not its end, if NEEDLE + is the empty string. + + * sysdeps/generic/strncase.c: Fixed for case of empty string. + +Wed May 20 02:36:09 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * io/sys/stat.h (fchmod): Declare, rather than two __fchmod decls. + + * configure (sysv, bsd): Don't make base_os=unix; unix/{sysv,bsd} + instead. + Set os_used if base_os is used. + +Tue May 19 21:00:11 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * crypt/*: New files from glad. + + * stdio/stdio.h (sys_nerr, sys_errlist): Don't declare const. + +Sun May 17 15:50:00 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * io/Makefile (headers): Remove gnu/stat.h; add sys/stat.h. + + * posix/glob.c (glob): Don't let us fall off the end without returning. + + * sysdeps/stub/setenv.c, sysdeps/posix/setenv.c: New. + * stdlib/stdlib.h [__USE_BSD] (setenv): Declare. + * stdlib/Makefile (routines): Add setenv. + + * malloc/mtrace.c (old_{free,malloc,realloc}_hook): Renamed to tr_& + to not conflict with mcheck.c when combined into gmalloc.c. + +Fri May 15 19:07:54 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * socket/sys/socket.h (PF_NBS, AF_NBS): Removed. + (PF_ISO, PF_OSI, PF_APPLETALK, PF_ROUTE, PF_LINK): Define. + (PF_MAX): Increase accordingly. + + * inet/bsd/*.c: Snarfed latest code from 4.4. + + * misc/sys/cdefs.h (__BEGIN_DECLS, __END_DECLS): Define cruft for C++. + +Thu May 14 01:45:12 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * posix/glob.h (GLOB_MAGCHAR): Check user feature-test macros, + rather than __USE_BSD, so we don't depend on features.h. + + * sysdeps/stub/__wait4.c: Last arg is struct rusage *, not PTR. + + * math/bsd/common_source/mathimpl.h: Don't #define const. + #include instead. + + * Makefile (+other_dirs): Add crypt, but only if it exists at run time. + * crypt/GNUmakefile: New file. + * sysdeps/sparc/Makefile, sysdeps/m68k/Makefile (crypt): + Define to use machine-dependent assembly code in crypt/crypt.*.S. + * crypt: New directory. + + * find-sysdirs: Don't lose if there are no sysnames. + + * termios/Makefile (headers): Added sys/termios.h. + * termios/sys/termios.h: New file; just #include . + + * stdlib/qsort.c: Define _quicksort rather than qsort. + * stdlib/msort.c: New file; defines qsort function that does merge + sort. Falls back to _quicksort if it fails to allocate a temp array. + * stdlib/Makefile (routines): Added msort. + + * string/string.h (memccpy, strdup): Also declare #ifdef __USE_BSD. + [__USE_BSD] (index, rindex, bcmp, bzero, ffs): Declare. + * string/strings.h: Just #include . + * string/Makefile (headers): Removed bstring.h. + + * misc/Makefile (routines): Removed swab. + * string/Makefile (routines): Put it here instead. + * misc/swab.c: Moved to string/swab.c. + + * stdio/stdio.h [__USE_BSD] (sys_nerr, sys_errlist): Declare. + + * grp/grp.h (setgrent, endgrent, getgrent): Also do #ifdef __USE_BSD. + + * posix/glob.h [__USE_BSD] (GLOB_MAGCHAR): Declare. + (glob_t): Added member `gl_flags'. + * posix/glob.c (glob, glob_in_dir): Set gl_flags member to FLAGS; + or in GLOB_MAGCHAR if any metachars are seen. + + * sysdeps/unix/bsd/bsd44/readdir.c: New. + + * sysdeps/unix/bsd/sun/readdir.c: Don't need to declare + __getdirentries here. Use off_t and ssize_t. + + * misc/Makefile (routines): Removed getdents and __getdents. + * dirent/Makefile (routines): Put them here instead. + * misc/getdents.c: Moved to dirent/getdents.c. + * dirent/dirent.h [__USE_BSD] (__getdirentries, getdirentries): + Declare. + + * dirent/Makefile (routines): Added scandir and alphasort. + * dirent/scandir.c, dirent/alphasort.c: New. + * dirent/dirent.h [__USE_BSD] (scandir, alphasort): Declare. + + * sysdeps/unix/bsd/nice.c, sysdeps/unix/sysv/nice.S, + sysdeps/stub/nice.c: New. + * resource/Makefile (routines): Added nice. + + * misc/sys/cdefs.h [__USE_BSD] (const, signed, volatile): #define to + __ versions, for the sake of 4.4 header files. + +Wed May 13 00:35:12 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * stdlib/tst-strtol.c: Fixed typo in test table. + + * stdlib/strtol.c: Fixed checking for overflow of long int that fits + in unsigned long int. + + * misc/Makefile (headers): Added ttyent.h. + (routines): Added getttyent. + * misc/ttyent.h, misc/getttyent.h: New; snarfed from 4.4. + + * posix/sys/wait.h [__USE_BSD]: Added forward decl for struct rusage. + (__wait4, __wait3): Declare arg as struct rusage, not PTR. + + * inet/arpa/*.h, inet/protocols/*.h, inet/netdb.h, inet/resolv.h: + New files from 4.4. + * inet/Makefile (headers): Snarf *.h from arpa/ and protocols/. + + * sysdeps/m68k/fpu/__math.h, assert/assert.h: #include + and use its macros rather than rolling our own. + + * misc/sys/cdefs.h: New file. + * misc/Makefile (headers): Add it. + + * Makerules: Moved check for headers coming from env to Rules. + +Tue May 12 01:04:10 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * sysdeps/generic/strsep.c: New. + * string/string.h [__USE_BSD] (strsep): Declare. + * string/Makefile (routines): Added strsep. + + * sysdeps/unix/sysv/__settod.c, sysdeps/unix/sysv/stime.S, + sysdeps/unix/bsd/stime.c, sysdeps/stub/stime.c: New. + * time/time.h [__USE_SVID] (stime): Declare it. + + * sysdeps/unix/bsd/bsd44/__getdents.S: New. + + * posix/wordexp.h, posix/utime.h, posix/unistd.h, time/time.h, + termios/termios.h, posix/tar.h, string/strings.h, string/string.h, + stdlib/stdlib.h, signal/signal.h, stdio/stdio.h, misc/sgtty.h, + setjmp/setjmp.h, inet/resolv.h, pwd/pwd.h, stdio/printf.h, + misc/nlist.h, inet/netdb.h, math/math.h, malloc/malloc.h, + locale/locale.h, grp/grp.h, posix/glob.h, posix/getopt.h, + posix/fnmatch.h, io/fcntl.h, errno.h, dirent/dirent.h, + ctype/ctype.h, string/bstring.h, assert/assert.h, stdlib/alloca.h, + misc/a.out.h [__cplusplus]: Added stupid cruft for losing C++. + +Mon May 11 01:40:49 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * math/Makefile (headers): Added huge_val.h and nan.h. + + * io/Makefile (headers): Changed gnu/stat.h to statbuf.h. + + * time/Makefile (install-data): Include $(localtime-file) and + $(posixrules-file) if they are relative. + (install-others): Include them if absolute. + ($(posixrules-file), $(localtime-file)): Define rules to install if + absolute file names. + * Makerules (+install): Include $(install-others) verbatim. + * Makeconfig (localtime-file): Made default /etc/localtime. + + * sysdeps/generic/Makefile (endian.h): Only generate if would + otherwise use stub version. + * sysdeps/stub/endian.h, sysdeps/i386/endian.h: New. + + * Rules, Makefile: Export distribute and dont_distribute. + * Make-dist: Export sysdep_dirs. Unexport things rather than + clobbering their values. + + * misc/sys/ptrace.h: Fixed typo. + + * stdio/stdio.h (__io_read, __io_write, __io_seek, __io_close): + Added comments. + + * stdio/internals.c (flushbuf): If in append mode, don't do aligned + writing, seek to the target, or update the offset. + + * posix/unistd.h (lseek): Doc fix. + + * misc/swab.c: New. + * misc/Makefile (routines): Added swab. + +Wed May 6 12:32:18 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * math/Makefile, inet/Makefile (source_dirs): Export it. + * MakeTAGS (all-dirs): Include $(source_dirs). + + * Makefile (TAGS): Removed dep on subdir_TAGS. + (+subdir_targets): Removed subdir_TAGS. + * MakeTAGS [! subdir] (TAGS): Depend on subdir_TAGS. + [! subdir] (subdir_TAGS): Recurse on subdirectories. + + * Makerules (headers): Don't take value from the environment. + + * Makerules (sysdirs, sysdep_dir): Export them. + + * MakeTAGS: New makefile. + * Makefile (distribute): Include it. + * Makefile (TAGS), Rules (TAGS): Removed rules. + * Makerules (TAGS): New rule that uses MakeTAGS. + * Makefile (TAGS): Depend on subdir_TAGS. + + * Makerules (install, install-lib, install-data, routines, aux): + Don't bother removing these if they come from the environment, since + they won't with make >= 3.62.8. + * Rules (distribute, headers): Ditto. + (subdir): Export it. + * Makerules (sources, headers): Export these. + * Makefile (subdirs): Export it. + + * Rules (+tags_sources): Removed. + * Makerules (tags-sources): Define here. + * ctype/Makefile (tags-sources): Redefine to give headers precedence + over sources. + * Rules (TAGS), Makefile (TAGS): Rewrote rules. + * Makeconfig (+ctags): Removed. + (ETAGS): Define. + + * sysdeps/posix/getcwd.c: Don't closedir twice. + + * sysdeps/unix/bsd/hp/m68k/__wait3.S: Define __wait3, not ___wait3. + + * posix/sys/types.h [__USE_BSD] (fsid_t): Define. + * posix/gnu/types.h (__fsid_t): Define. + + * io/fcntl.h (F_GETLK): Define. + +Tue May 5 18:36:46 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * misc/Makefile (routines): Added seteuid and setegid. + * sysdeps/stub/sete[ug]id.c, sysdeps/unix/bsd/bsd44/sete[ug]id.S: New. + * posix/unistd.h [__USE_BSD] (seteuid, setegid): Declare. + + * sysdeps/unix/bsd/tcsendbrk.c: #include + + * Makerules: Strip whitespace from $(headers) so ifdef wins. + + * sysdeps/unix/bsd/bsdtty.h: #undef a bunch more things. + + * sysdeps/unix/bsd/bsd44/errnos.h: New, hacked from 4.4 . + + * sysdeps/unix/Makefile (ioctls.h, errnos.h): Only generate if + the files that would be used otherwise are the stub versions. + + * sysdeps/unix/bsd/tcflow.c: Don't write VSTOP or VSTART if it is + _POSIX_VDISABLE. + + * sysdeps/unix/bsd/tcflush.c: Use FREAD|FWRITE for TCIOFLUSH. + + * sysdeps/unix/bsd/usleep.c: Use select rather than itimers to wait. + + * sysdeps/unix/bsd/tcsendbrk.c: Use select rather than itimers to wait. + + * termios/cfmakeraw.c: New. + * termios/Makefile (routines): Added cfmakeraw. + + * sysdeps/unix/bsd/bsd44/ioctls.h: New file, hacked from 4.4 + . + * sysdeps/unix/bsd/bsd44/__tcgetatr.c: New. + * sysdeps/unix/bsd/bsd44/tcsetattr.c: New. + * sysdeps/unix/bsd/bsd44/tcdrain.c: New. + + * termios/sys/ttydefaults.h: New, snarfed from 4.4. + * termios/Makefile (headers): Define. + * termios/termios.h [__USE_BSD]: #include + + * sysdeps/posix/getcwd.c: Removed unused variable. + + * time/__tzset.c: Cast string literal to (char *). + + * setjmp/sigjmp_save.c: Declare properly to return void. + + * sysdeps/ieee754/nan.h: Created; somehow it disappeared. + +Mon May 4 18:30:52 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/unix/bsd/bsd44/__wait4.S: New. + + * sysdeps/unix/bsd/4.4: Renamed to sysdeps/unix/bsd/bsd44. + + * signal/gnu/signal.h (__SA_DISABLE, __SA_NOCLDSTOP): Use same bits + 4.4 uses. + +Sun May 3 13:57:25 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * stdio/fwrite.c: Use unsigned char to avoid sign extension. + + * stdlib/__random.c (randtbl): Replaced default constants so they + match the state produced by "srandom (1)". + + * stdlib/mbtowc.c: Test for S == "" before testing for no mbchars. + + * stdlib/Makefile (tests): Added testrand. + * stdlib/testrand.c: New test for rand. + + * stdlib/testmb.c: Added 2 mblen tests. + + * stdlib/wcstombs.c: Don't do anything strange for EOF. + Copy non-MB characters as they are. + Properly increment S after writing. + + * stdlib/testmb.c: Added test case for wcstombs. + + * signal/signal.h (SA_DISABLE): Define. + * signal/gnu/signal.h (__SA_DISABLE): Define. + + * signal/signal.h (struct sigaltstack): Define new type. + (sigaltstack): Declare new fn. + * sysdeps/stub/sigaltstack.c: New. + * sysdeps/unix/bsd/4.4/sigaltstack.S: New. + + * misc/Makefile (routines): Added reboot. + * posix/unistd.h (reboot): Declare. + * sysdeps/stub/reboot.c: New. + + * sysdeps/unix/bsd/ulimit.c [! HAVE_GNU_LD]: #define _etext -> etext. + + * sysdeps/unix/bsd/sun/sparc/sethostid.S: #define _ERRNO_H before + #include . + + * configure (newos*): base_os=unix/bsd. + +Fri May 1 12:21:47 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * io/gnu/stat.h: Moved to sysdeps/unix/bsd/statbuf.h. + * sysdeps/unix/bsd/statbuf.h: Define struct stat, not struct __stat. + * io/stat.c: Use struct stat, not struct __stat. + * sysdeps/stub/statbuf.h: New. + * io/sys/stat.h: #include instead of gnu/stat.h. + (stat, fstat, lstat, chmod, fchmod, umask, mkdir, mknod): Don't + #define; declare as fns instead. + * sysdeps/unix/sysv/stat.h: New. + * sysdeps/unix/sysv/sysv_stat.h, sysdeps/unix/sysv/sys_stat.S, + sysdeps/unix/sysv/sys_fstat.S: Removed. + * sysdeps/unix/sysv/Makefile (sysdep_routines): Removed sys_stat, + sys_fstat. + * sysdeps/unix/sysv/Dist: Removed sys_stat.S, sys_fstat.S. + * sysdeps/unix/bsd/__stat.S, sysdeps/unix/bsd/__fstat.S: Moved to + sysdeps/unix. + + * sysdeps/m68k/fpu/switch/Makefile: Refer to dirs fpu and + fpu/switch, not 68881 and 68881-switch. + + * sysdeps/m68k/fpu/switch/switch.c: #include <68881-sw.h>, not + 68881-switch.h. + + * sysdeps/m68k/fpu/__expm1.c, sysdeps/m68k/fpu/__rint.c, + sysdeps/m68k/fpu/asin.c, sysdeps/m68k/fpu/atan.c, + sysdeps/m68k/fpu/atanh.c, sysdeps/m68k/fpu/ceil.c, + sysdeps/m68k/fpu/cos.c, sysdeps/m68k/fpu/cosh.c, + sysdeps/m68k/fpu/exp.c, sysdeps/m68k/fpu/fabs.c, + sysdeps/m68k/fpu/floor.c, sysdeps/m68k/fpu/log.c, + sysdeps/m68k/fpu/log10.c, sysdeps/m68k/fpu/log1p.c, + sysdeps/m68k/fpu/sin.c, sysdeps/m68k/fpu/sinh.c, + sysdeps/m68k/fpu/sqrt.c, sysdeps/m68k/fpu/tan.c, + sysdeps/m68k/fpu/tanh.c: #include without explicit path + (which has changed). + + * sysdeps/unix/bsd/sun/sparc/start.c: #include . + (syscall): Removed C function; define all inside asm instead. + (init_shlib): Cast return value of syscall to right types. + +Thu Apr 30 01:15:33 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * sysdeps/unix/bsd/sun/sparc/start.c: Added code to use dynamic + linker from trq@dionysos.thphys.ox.ac.uk. + + * sysdeps/unix/bsd/sun/sunos4: Renamed to sunos411. + + * setjmp/setjmp.h (sigsetjmp): Don't declare as a function. + Define as a macro instead. + (__sigjmp_save): Declare; internal fn used by sigsetjmp macro. + (_setjmp), [__FAVOR_BSD] (setjmp): Always define as a macro. + * setjmp/sigjmp_save.c: New file. + * setjmp/_setjmp.c, setjmp/sigsetjmp.c: Removed. + * Makefile (routines): Removed _setjmp, sigsetjmp; added sigjmp_save. + * misc/bsd-compat.c (setjmp): Don't define. + + * configure (sysv, bsd): base_os=unix + + * configure: Fatal error if the machine or os did not generate any + sysdep dirs. + + * configure: No error message after config.sub fails. + + * sysdeps/mips, sysdeps/unix/bsd/ultrix42: New port from + brendan@cs.widener.edu. + + * Reorganized sysdeps: + unix/bsd/ + hp9k3bsd -> hp/m68k + news -> sony/m68k + sun/ + sun3/os3 -> sunos3/m68k + sun3 -> m68k + sun4 -> sparc + unix/sysv/ + r4 -> sysv4 + m68k/ + 68881 -> fpu + 68881/68881-switch -> fpu/switch + * sysdeps/unix/bsd/sony/m68k/start.c: Changed #include. + * configure: Use config.sub to canonicalize name. + Then use combinations of machine, vendor, and os (with special + hacks for os flavors) for sysdep dirs to try. + * Makefile (distribute): Added config.sub. + +Wed Apr 29 23:06:06 1992 Brendan Kehoe (brendan@churchy.gnu.ai.mit.edu) + + * sysdeps/unix/bsd/hp9k3bsd/sysdep.h, + sysdeps/unix/bsd/sun/sun3/sysdep.h, sysdeps/unix/bsd/sun/sun4/sysdep.h, + sysdeps/unix/bsd/vax/sysdep.h,sysdeps/unix/i386/sysdep.h, + sysdeps/mach/i386/sysdep.h: Change all definitions of movl/mov to + MOVE(s, d), for insn sets with d,s instead of s,d move insns. + * sysdeps/unix/__getegid.S, sysdeps/unix/__geteuid.S, + sysdeps/unix/__getppid.S: Use that in each of these. + +Wed Apr 29 17:58:21 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * io/getwd.c: Default PATH_MAX if not defined. + + * sysdeps/unix/getlogin.c, sysdeps/posix/ttyname.c: Make buffers + only as big as needed, avoiding PATH_MAX. + + * sysdeps/posix/getcwd.c: Dynamically extend the buffer as we go, + not afterwards; default PATH_MAX if not defined. + + * posix/execvp.c: Dynamically allocate an array on the stack for the + path name, rather than using a fixed-size array. + + * pwd/putpwent.c: Print pw_dir field. + + * sysdeps/posix/mktemp.c: If the pid has changed, update OLDPID. + +Tue Apr 28 19:25:21 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * malloc/valloc.c [emacs]: #include "config.h" + +Thu Apr 23 13:55:34 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * sysdeps/m68k/68881/__drem.c: Define __drem, not drem. + Call ____drem, not __drem. + + * malloc/realloc.c, malloc/malloc.c: Don't #define memcpy or memset + if already #define'd. + +Tue Apr 21 04:16:56 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * malloc/Makefile: Moved include ../Rules after malloc.tar rules. + They need $(routines), which Rules clears. + + * malloc/realloc.c (MIN): Renamed to min. Conflicted with HPUX + system header files. + + * Makefile (sysdep-subdirs): Is not called +sysdep-subdirs. + + * configure: Don't try to create config.status if . is not writable. + + * sysdeps/generic/printf_fp.c: Fixed padding loop condition for zero + case. + + * math/math.h: Don't #include for HUGE_VAL. + Instead, #include . + * stdlib/stdlib.h: Ditto. + * math/math.h [__USE_GNU]: #include to get NAN value. + * float.h: Removed. + * Makefile (headers): Removed float.h and fl.h. + * sysdeps/ieee754/huge_val.h, sysdeps/ieee754/nan.h, + sysdeps/stub/huge_val.h, sysdeps/stub/nan.h, sysdeps/vax/huge_val.h: + Created (from old fl.h files). + + * math/bsd/common_source/pow.c (pow_p): When checking if Y is an + integer, don't let it overflow a `long int'. + (pow): Check for NaN with __isnan, not (X != X). + +Tue Apr 21 02:26:19 1992 Brendan Kehoe (brendan@cs.widener.edu) + + * sysdeps/unix/bsd/sun/sun4/__pipe.S, + sysdeps/unix/bsd/vax/__wait3.S, sysdeps/unix/bsd/hp9k3bsd/__wait3.S: + Use the ENTRY macro for each beginning + + * sysdeps/unix/sysdep.h, sysdeps/unix/bsd/hp9k3bsd/sysdep.h, + sysdeps/unix/bsd/sun/sun3/sysdep.h, + sysdeps/unix/bsd/sun/sun4/sysdep.h, sysdeps/unix/bsd/vax/sysdep.h, + sysdeps/unix/i386/sysdep.h, sysdeps/unix/sysdep.h, + sysdeps/unix/sysv/sysdep.h [SYSCALL, SYSCALL__, PSEUDO]: Modify to + also receive the number of args the syscall takes; added for future + ports that will require this information. + + * sysdeps/unix/i386/__pipe.S, sysdeps/unix/bsd/vax/__pipe.S, + sysdeps/unix/bsd/sun/sun4/__pipe.S, + sysdeps/unix/bsd/hp9k3bsd/__pipe.S, sysdeps/unix/i386/__brk.S, + sysdeps/unix/bsd/sun/__getdents.S, sysdeps/unix/i386/__fork.S, + sysdeps/unix/bsd/vax/__fork.S, sysdeps/unix/bsd/sun/sun4/__fork.S, + sysdeps/unix/__setgid.S, sysdeps/unix/__setuid.S, + sysdeps/unix/bsd/sun/sun3/__vfork.S, + sysdeps/unix/bsd/sun/sun4/__vfork.S, + sysdeps/unix/bsd/vax/__wait.S, sysdeps/unix/bsd/hp9k3bsd/__wait.S, + sysdeps/unix/i386/__wait.S, + sysdeps/unix/bsd/sun/sunos4/sys_wait4.S, + sysdeps/unix/bsd/sun/sun3/sethostid.S, + sysdeps/unix/bsd/sun/sun4/sethostid.S, + sysdeps/unix/bsd/__sigvec.S, sysdeps/unix/bsd/sun/sun4/__sigvec.S, + sysdeps/unix/sysv/i386/__sigret.S, sysdeps/unix/__getppid.S, + sysdeps/unix/bsd/__access.S, sysdeps/unix/sysv/signal.S, + sysdeps/unix/__getegid.S, sysdeps/unix/__geteuid.S, + sysdeps/unix/bsd/bsd_getgrp.S, sysdeps/unix/bsd/__dup2.S, + sysdeps/unix/bsd/__fchmod.S, sysdeps/unix/bsd/__fchown.S, + sysdeps/unix/bsd/__flock.S, sysdeps/unix/bsd/__fstat.S, + sysdeps/unix/bsd/__lstat.S, sysdeps/unix/bsd/__mkdir.S, + sysdeps/unix/bsd/__readlink.S, sysdeps/unix/bsd/__rmdir.S, + sysdeps/unix/bsd/__stat.S, sysdeps/unix/bsd/__symlink.S, + sysdeps/unix/bsd/4.4/chflags.S, sysdeps/unix/bsd/4.4/fchflags.S, + sysdeps/unix/bsd/4.4/sstk.S, sysdeps/unix/bsd/4.4/setlogin.S, + sysdeps/unix/bsd/__getdtsz.S, sysdeps/unix/bsd/__getpgsz.S, + sysdeps/unix/bsd/__setregid.S, sysdeps/unix/bsd/__setreuid.S, + sysdeps/unix/bsd/__utimes.S, sysdeps/unix/bsd/ftruncate.S, + sysdeps/unix/bsd/readv.S, sysdeps/unix/bsd/truncate.S, + sysdeps/unix/bsd/vhangup.S, sysdeps/unix/bsd/writev.S, + sysdeps/unix/bsd/__getpgrp.S, sysdeps/unix/bsd/__setpgrp.S, + sysdeps/unix/bsd/__getrusag.S, sysdeps/unix/bsd/getprio.S, + sysdeps/unix/bsd/getrlimit.S, sysdeps/unix/bsd/setprio.S, + sysdeps/unix/bsd/__sigblock.S, + sysdeps/unix/bsd/__sigpause.S, sysdeps/unix/bsd/__sigstmsk.S, + sysdeps/unix/bsd/killpg.S, sysdeps/unix/bsd/sigstack.S, + sysdeps/unix/bsd/rename.S, sysdeps/unix/bsd/__adjtime.S, + sysdeps/unix/bsd/__setitmr.S, sysdeps/unix/bsd/__settod.S, + sysdeps/unix/sysv/sys_stat.S, sysdeps/unix/sysv/sys_fstat.S, + sysdeps/unix/sysv/__utssys.S, sysdeps/unix/sysv/utime.S, + sysdeps/unix/sysv/__times.S, sysdeps/unix/sysv/i386/time.S, + sysdeps/unix/sysv/alarm.S, sysdeps/unix/sysv/pause.S, + sysdeps/unix/sysv/ulimit.S, sysdeps/unix/__chdir.S, + sysdeps/unix/__chmod.S, sysdeps/unix/__chown.S, + sysdeps/unix/__close.S, sysdeps/unix/__dup.S, + sysdeps/unix/__fcntl.S, sysdeps/unix/__link.S, + sysdeps/unix/__lseek.S, sysdeps/unix/__open.S, + sysdeps/unix/__read.S, sysdeps/unix/__umask.S, + sysdeps/unix/__unlink.S, sysdeps/unix/__write.S, + sysdeps/unix/__ioctl.S, sysdeps/unix/__mknod.S, + sysdeps/unix/acct.S, sysdeps/unix/chroot.S, sysdeps/unix/fsync.S, + sysdeps/unix/ptrace.S, sysdeps/unix/swapon.S, sysdeps/unix/sync.S, + sysdeps/unix/__execve.S, sysdeps/unix/__getgid.S, + sysdeps/unix/__getpid.S, sysdeps/unix/__getuid.S, + sysdeps/unix/_exit.S, sysdeps/unix/__kill.S, + sysdeps/unix/inet/__gethstnm.S, sysdeps/unix/inet/__select.S, + sysdeps/unix/inet/gethostid.S, sysdeps/unix/inet/sethostid.S, + sysdeps/unix/inet/sethostnam.S, sysdeps/unix/inet/accept.S, + sysdeps/unix/inet/bind.S, sysdeps/unix/inet/connect.S, + sysdeps/unix/inet/getpeernam.S, sysdeps/unix/inet/getsocknam.S, + sysdeps/unix/inet/getsockopt.S, sysdeps/unix/inet/listen.S, + sysdeps/unix/inet/recv.S, sysdeps/unix/inet/recvfrom.S, + sysdeps/unix/inet/recvmsg.S, sysdeps/unix/inet/send.S, + sysdeps/unix/inet/sendmsg.S, sysdeps/unix/inet/sendto.S, + sysdeps/unix/bsd/vax/__wait3.S, sysdeps/unix/bsd/hp9k3bsd/__wait3.S, + sysdeps/unix/inet/setsockopt.S, sysdeps/unix/inet/shutdown.S, + sysdeps/unix/inet/socket.S, sysdeps/unix/inet/socketpair.S: Added the + argument count to every use of SYSCALL, SYSCALL__ or PSEUDO. + +Tue Apr 21 00:06:52 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * limits.h [__GNUC__ >= 2]: Use #include_next to get GCC's . + + * sysdeps/posix/sysd-stdio.c (__stdio_read, __stdio_write, + __stdio_errmsg) [EINTR && EINTR_REPEAT]: Do EINTR looping. + * sysdeps/unix/sysv/sysd-stdio.c: New. + #define EINTR_REPEAT and #include posix/sysd-stdio.c. + + * stdlib/mbstowcs.c: Copy non-MB chars verbatim, instead of error. + + * sysdeps/generic/printf_fp.c: Note sign of exponent and take its + absolute value for arithmetic. + + * stdlib/testmb.c: New. + * stdlib/Makefile (tests): Added testmb. + + * sysdeps/generic/frexp.c [NAN]: If VALUE is infinite, return NAN. + If VALUE is NAN, set errno to EDOM and return VALUE. + If VALUE is zero, return it. In all special cases, clear *EXP. + + * stdio/test-fseek.c: New. + * stdio/Makefile (tests): Added test-fseek. + + * stdio/fseek.c: Position returned from io_funcs.seek is absolute, + not EOF-relative when using SEEK_END. + + * sysdeps/posix/sysd-stdio.c (__stdio_gen_tempname): Set errno to + EEXIST when we run out. + + * sysdeps/posix/sysd-stdio.c (exists): Use stat rather than open, so + we don't need read access. + + * sysdeps/posix/mk-stdiolim.c (TMP_NAM): is 62 ** 3. + +Mon Apr 20 23:08:02 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * sysdeps/posix/sysd-stdio.c (__stdio_gen_tempname): Don't return + the same name twice when the file doesn't exist. + + * stdio/vfprintf.c (%c format): Tests of LEFT for padding were + reversed. + + * sysdeps/generic/printf_fp.c: If we have written some fractional + digits, write zeros up to the precision. + + * sysdeps/unix/bsd/sun/sun4/start.c: Don't clear the FP until just + before calling main. + +Wed Apr 15 01:43:38 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Makerules (libc.a): Don't depend on libc.a(...); only on lib. + (lib-noranlib): Depend on libobjs. + (+libobjs): New var. + (libobjs): Depend on $(+libobjs). + * Rules (others, tests): Don't depend on lib; on libc.a instead. + + * locale/C-numeric.c: grouping is "". + + * locale/localeconv.c: Set int_frac_digits. + + * locale/setlocale.c: Accept "" to mean "C". + + * sysdeps/unix/sysv/r4/bsddir.h: Protect against multiple inclusion. + + * sysdeps/unix/sysv/r4/Dist: Created; includes bsddir.h and + sys_getdents.S. + + * sysdeps/unix/i386/sysdep.h [! HAVE_SYSCALLS]: Don't #inlcude + unix/sysdep.h. + * sysdeps/unix/sysv/sysdep.h, sysdeps/unix/sysdep.h + (HAVE_SYSCALLS): #define. + * sysdeps/unix/sysv/i386/sysdep.h: #include unix/sysv/sysdep.h, then + unix/i386/sysdep.h. + + * sysdeps/unix/sysv/Makefile: Fixed typos. + + * sysdeps/unix/sysv/Dist: Add utmp.h. + + * sysdeps/posix/Makefile (mk-stdiolim): Explicit commands, to + compile it without normal gcc flags. + + * configure (i386-sysv): unix/i386/sysv -> unix/sysv/i386. + (i386-sysvr4): New configuration. + +Tue Apr 14 16:47:47 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * setjmp/setjmp.h: Put sigjmp_buf before typedef for jmp_buf, which + needs sigjmp_buf #ifdef __FAVOR_BSD. + + * posix/unistd.h (getgroups): Don't #define. + + * sysdeps/stub/ptrace.c: #include ; declare AP in fn. + Avoid "PTR a, b". + + * sysdeps/posix/sigintr.c: New; sets global sigset_t `_sigintr'. + * sysdeps/posix/signal.c: Use SA_RESTART unless SIG is in _sigintr. + * signal/sigintr.c: Removed. + * sysdeps/stub/sigintr.c: New. + + * sysdeps/posix/sysd-stdio.c (__stdio_read, __stdio_write, + __stdio_errmsg): Don't treat EINTR specially. + + * sysdeps/unix/Makefile (sys/param.h): Touch the target after mv'ing + from the tmp file, so the file is newer than the directory. + + * sysdeps/generic/strcasecmp.c: Simplified loop; fixed returning + wrong value on equal comparison. + + * stdlib/bsearch.c: Don't lose if NMEMB is zero. + + * sysdeps/unix/bsd/__times.c (timeval_to_clock_t): Microseconds are + not milliseconds. + +Mon Apr 13 18:25:17 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/generic/strncase.c: New. + * string/Makefile (routines): Add strncase. + * string/string.h [__USE_GNU]: Declare strncasecmp. + + * time/__tzset.c: Correctly default DST offset to one hour later + than standard offset. + + * time/__tzset.c (tz_rule): Made `name' not be const. + + * string/tester.c [! HAVE_GNU_LD]: #define _sys_nerr and + _sys_errlist to sys_nerr and sys_errlist. + + * stdio/test_rdwr.c: Fixed printf call missing arg. + + * posix/getgrps.c: #undef getgroups first. + + * misc/brk.c: Declare __brk. + * misc/sbrk.c: Declare __sbrk. + * misc/setreuid.c, misc/setregid.c: #include . + Fixed types in DEFUN in fn alias. + * misc/getpgsz.c, misc/getdtsz.c, misc/gethstnm.c: #include . + * misc/getdents.c: Declare __getdirentries. + * misc/mknod.c: #include . + * posix/unistd.h: Declare many __ versions of things. + [__OPTIMIZE__]: Many #define foo(...) -> __foo(...). + + * io/fcntl.c: #include . + + * sysdeps/unix/Makefile: New hair to install other headers the + system sys/param.h #includes. + + * time/__tzset.c (__tzfile_default): Declare. + + * time/sys/time.h (timezone): #define to __timezone. + + * sysdeps/ieee754/printf_fp.c: #undef outchar before #including + generic/printf_fp.c. + + * stdio/__vfscanf.c: For %c, don't lose the first char. + For %s, properly consume the last char when we hit max width. + + * posix/gnu/types.h (__dev_t, __mode_t): Made int rather than short. + * io/gnu/stat.h (struct stat): Made st_dev, st_rdev, and st_mode use + {,unsigned} short int instead of __dev_t/__mode_t. + +Fri Apr 10 13:55:07 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu) + + * setjmp/setjmp.h: Rearranged so that jmp_buf is defined before any + prototypes are used. + (longjmp): Declare with jmp_buf, not __jmp_buf, to win in BSD mode. + (_longjmp): #define as __longjmp, not longjmp. + (_longjmp, _setjmp): Take jmp_buf args, not __jmp_buf. + Call sig{set,long}jmp with SAVEMASK==0, rather than __{set,long}jmp. + * _longjmp.c, _setjmp.c: #define _BSD_SOURCE before all else. + (_setjmp): Call sigsetjmp, not __setjmp. + + * io/sys/stat.h (__fchmod, __mknod): Fixed arg types. + + * io/fchmod.c: Fixed typo. + + * time/Makefile (\n): Renamed to nl. + + * Makerules (native-compile): New variable. + * sysdeps/generic/Makefile, sysdeps/unix/Makefile, + sysdeps/unix/bsd/Makefile: Use it in cmds for generator progs. + + * sysdeps/unix/sysv/sysv_termio.h (_SYSV_TAB3): New; same as XTABS. + + * sysdeps/unix/sysv/setrlimit.c: Removed extern decl of etext (unused). + + * sysdeps/unix/sysv/__tcgetatr.c, sysdeps/unix/sysv/tcdrain.c, + sysdeps/unix/sysv/tcflow.c, sysdeps/unix/sysv/tcflush.c, + sysdeps/unix/sysv/tcgetpgrp.c, sysdeps/unix/sysv/tcsendbrk.c, + sysdeps/unix/sysv/tcsetattr.c, sysdeps/unix/sysv/tcsetpgrp.c: + #include + + * sysdeps/unix/sysv/__rmdir.c, sysdeps/unix/sysv/__mkdir.c, + sysdeps/posix/writev.c: #include . + + * sysdeps/posix/clock.c: Removed unused variable. + +Thu Apr 9 01:49:39 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * Version 1.03. + + * grp/testgrp.c: Print members correctly. + + * stdio/test-popen.c: Pipe to cat rather than more, and then check + output file. Better error checking. + + * setjmp/tst-setjmp.c: Notice if we didn't jump the right number of + times. + + * signal/tst-signal.c, string/testcopy.c, stdio/bug[12345].c: Print + msgs that more clearly say whether we won or lost. Better error + checking. + + * sysdeps/generic/printf_fp.c: Completely rewritten from scratch. + Now uses Steele & White's "Dragon4" algorithm to do things right. + +Wed Apr 8 01:08:41 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * sysdeps/i386/__longjmp.c: Test for VAL==0 before clobbering regs. + Wire V to AX, rather than DX. Use "a" constraint on unused operand + in jmp asm, rather than global reg var, to force value into AX. + +Tue Apr 7 17:51:25 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * posix/Makefile (headers): Added tar.h. + * posix/tar.h: New file, from djm. + +Mon Apr 6 01:39:07 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * time/tzfile.c (struct ttinfo): Made `isstd' member be unsigned + char instead of 1-bit bitfield. + + * time/tzfile.c (__tzfile_default): New function. + * time/__tzset.c: Call it when no rule is given. + * time/Makefile: Install posixrules just like localtime. + * time/Makeconfig (posixrules, posixrules-file): New config vars. + + * time/time.h (struct tm): Add `tz_gmtoff', `tz_zone'. + * time/localtime.c: Set those members. + + * sysdeps/ieee754/__drem.c: XOR the signs of X and the result, + rather than setting the sign of the result to that of X. + + * sysdeps/unix/bsd/make-local_lim.c: Don't do MAXUPRC or MAXLINK if + didn't define them. + + * sysdeps/posix/__sigvec.c: Fixed braino: SA_ONSTACK should be + SA_RESTART. + + * pwd/getpw.c, pwd/putpwent.c: Use %u fmt for uid and gid (which are + unsigned). + + * time/time.h (tzname, daylight, timezone): Don't #define to __. + * time/tzfile.c, time/__tzset.c, time/localtime.c, time/strftime.c + [! HAVE_GNU_LD]: #define __ to plain for above three vars. + +Thu Apr 2 03:39:04 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * locale/Makefile (routines): Add localeconv. + + * sysdeps/i386/jmp_buf.h: Removed `__dx' elt; replaced with `__pc'. + __bp and __sp are PTRs. + * sysdeps/i386/setjmp.c: Rewritten. Use global reg vars to save regs. + Use arithmetic on address of arg to get caller's PC, BP, and SP. + * sysdeps/i386/__longjmp.c: Rewritten. Use global reg vars to + restore regs. + +Wed Apr 1 23:13:57 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * Moved sysdeps/unix/i386/{bsd,sysv} to + sysdeps/unix/{bsd,sysv}/i386, and updated Implies files. + Implied dirs come before parents, and we want unix/i386 before + unix/{sysv,bsd}. + + * io/chown.c: Fixed types in fn alias. + +Wed Apr 1 14:18:58 1992 Torbjorn Granlund (tege@mole.gnu.ai.mit.edu) + + * sysdeps/generic/memcmp.c + (memcmp_common_alignment, memcmp_not_common_alignment): + Move back do0 label to its original position, after the loop. + Add comment before do0 labels. + * sysdeps/generic/wordcopy.c (_wordcopy_fwd_aligned): Indentation. + Add comment before do0 labels. + +Wed Apr 1 02:16:19 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/unix/sysv/Makefile [subdir==misc]: Generate sysdep header + termio.h from sysv_termio.h. + + * sysdeps/generic/make_siglist.c: New file. + * sysdeps/generic/signame.[ch]: Symlink'd from /gd/gnu/lib. + * sysdeps/generic/Makefile: Generate siglist.c with above. + * sysdeps/generic/Dist: Add make_siglist.c, signame.[ch]. + + * sysdeps/unix/bsd/Makefile (before-compile): Define properly as a + variable. + + * sysdeps/unix/bsd/make_siglist.c: Generate #define _sys_siglist + sys_siglist #ifndef HAVE_GNU_LD. + * stdio/psignal.h, string/strsignal.h [! HAVE_GNU_LD]: + #define _sys_siglist sys_siglist. + + * sysdeps/unix/sysv/signum.h (SIGCHLD): Changed #. + (SIGUSR1, SIGUSR2, SIGPWR): Added. + (_NSIG): Updated. + + * sysdeps/unix/sysv/utmp.h: New. + + * sysdeps/unix/bsd/getlogin.c: Moved to sysdeps/unix/getlogin.c. + + * sysdeps/unix/sysv/r4/bsddir.h, sysdeps/unix/sysv/r4/readdir.c, + sysdeps/unix/sysv/r4/closedir.c, sysdeps/unix/sysv/r4/rewinddir.c, + sysdeps/unix/sysv/r4/opendir.c, sysdeps/unix/sysv/r4/sys_getdents.S, + sysdeps/unix/sysv/r4/Makefile: New. + + * sysdeps/unix/sysv/tcflow.c: New. + + * sysdeps/unix/sysv/sysv_termio.h: Add lots of bits; VMIN and VTIME + elts of c_cc. + * sysdeps/unix/sysv/__tcgetatr.c, sysdeps/unix/sysv/tcsetattr.c: Use + VMIN and VTIME elts from sysv termio struct. + + * sysdeps/unix/sysv/__gethstnm.c: New. + + * sysdeps/unix/sysv/local_lim.h (NGROUPS_MAX): Define as 0. + + * sysdeps/unix/sysv/fcntlbits.h (struct __flock): Changed l_pid to + short; added l_sysid. + + * sysdeps/unix/sysv/__sigact.c: New. + + * sysdeps/unix/sysv/r4/__access.S: New; just #include bsd/__access.S. + + * sysdeps/unix/sysv/Makefile: Fixed typo: sysdep-routines => + sysdep_routines. + + * sysdeps/unix/i386/sysv/__sigret.S, + sysdeps/unix/i386/sysv/signal.S: New. + + * signal/Makefile (routines): Added sigret, __sigret. + * signal/sigret.c: New; fn alias to __sigreturn. + * sysdeps/stub/__sigret.c: New. + + * sysdeps/unix/i386/sysdep.h (PSEUDO): Use hard-coded numbers for + lcalls insn--GAS bug. + + * sysdeps/unix/bsd/readdir.c (D_NAMLEN): New macro; define if not + already defined, to return length of a direct elt. + + * sysdeps/stub/__getgrps.c: #include ; if NGROUPS_MAX is + defined as 0, always return 0, and no stub warning. + + * sysdeps/posix/system.c: Don't fail if sigprocmask fails with ENOSYS. + + * sysdeps/posix/sysd-stdio.c, sysdeps/stub/sysd-stdio.c: Doc fix. + + * sysdeps/posix/__gettod.c: Use CONST where appropriate and not + where not. + + * sysdeps/i386/memchr.c, sysdeps/i386/strlen.c: Changed `repnz' to + `repne'. + + * stdio/fgets.c: Notice returned char from __fillbf in length calc. + + * misc/sys/ioctl.h: Always define `struct sgttyb'. + + * stdlib/alloca.h: #undef __alloca, too. + Always #define alloca == __alloca. + + * signal/signal.h (__kill): Fixed type in decl. + * posix/unistd.h (setgid): Fixed type in decl. + * posix/setpgid.c, posix/setgid.c, signal/kill.c, posix/fork.c, + posix/vfork.c, posix/getpid.c, posix/getppid.c, posix/setsid.c: + Fixed DEFUNs in fn aliases. + * pwd/getpw.c: Fixed type in defn. + +Mon Mar 30 17:06:54 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * sysdeps/generic/printf_fp.c: In %f, decrement PREC for each + leading zero in the fractional part. + + * sysdeps/ieee754/ieee754.h: Made all elts unsigned. + * sysdeps/ieee754/__drem.c: Return NAN if Y is zero. + * sysdeps/ieee754/ldexp.c: Rewritten. + * sysdeps/ieee754/__logb.c: Handle denormalized numbers. + + * posix/sys/wait.h: #include + + * sysdeps/ieee754/fl.h: Fixed NAN and HUGE_VAL bit patterns; added + code for little endian. + + * sysdeps/generic/frexp.c: Add one to exponent to give the result a + digit before the point. Use negative exponent rather than division. + + * math/__finite.c: Return zero for NaN. + * math/math.h: Doc fix for same. + + * stdio/__getdelim.c: Correctly notice when the buffer is full. + + * sysdeps/unix/bsd/opendir.c: Pass arg to fcntl F_SETFD by value, + not by reference. + + * time/__tzset.c: Correct default rule: M4.1.0,M10.5.0. + + * time/__tzset.c: Move ptr past Mfoobar syntax after parsing it. + + * time/__tzset.c: Properly parse the DST offset (or its absence). + + * sysdeps/unix/make_errlist.c: Write an #ifdef HAVE_GNU_LD, rather + than testing it when compiling make_errlist. + + * time/tzfile.c (__tzfile_read): Convert transitions to host byte + order. + + * Makeconfig (localtime-file): New config var. + * time/Makefile (tzfile.o, zic.o): Use it for TZDEFAULT. + + * stdio/Makefile (tests): Added tstgetline. + * stdio/tstgetline.c: New; test for getline. + + * Makeconfig (sysincludedir): Define and document. + * sysdeps/unix/snarf-ioctls, sysdeps/unix/Makefile: Use + ${sysincludedirs} in place of hard-coded /usr/include. + +Fri Mar 27 13:33:37 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * string/Makefile (headers): Added endian.h. + + * sysdeps/ieee754/__drem.c: Fixed typo which made X and Y be the + same location. + + * sysdeps/generic/__lstat.c: #include + + * stdio/internals.c (flushbuf): Increment target as well as offset + when we write out the single char. + + * grp/Makefile (tests): Add testgrp (formerly bug1). + +Thu Mar 26 14:59:45 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * stdio/fread.c: Don't read directly when we need to seek first. + +Wed Mar 25 02:34:49 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * sysdeps/unix/bsd/alarm.c: There are 1000000 usecs in a sec. + + * sysdeps/unix/bsd/sun/ptrace.c: Removed. + + * stdio/fgets.c: For unbuffered stream, don't return EOF after + reading some data. + Added missing parens. + +Tue Mar 24 18:31:07 1992 Torbjorn Granlund (tege@hal) + + * sysdeps/i386/memset.c: Move code that puts C in all four nibbles of + X inside `if' statement. Include sysdeps/i386/memset.c (not bzero). + * sysdeps/i386/memchr.c: Rewrite to be faster. Include + sysdeps/generic/memchr.c (not bzero). + +Tue Mar 24 01:21:32 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * io/Makefile (routines): Add getdirname. + * posix/unistd.h [__USE_GNU]: Declare getdirname. + * io/getdirname.c: New. + + * Makeconfig (stddef.h): Define and document. + * Makefile (headers): Use $(stddef.h) for stddef.h. + +Mon Mar 23 18:04:56 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu) + + * sysdeps/posix/mktemp.c: Do PID % 100000 for 5 digits. + + * time/Makefile (tzfiles): Remove pacificnew; it won't compile. + (distribute): Put it here instead. + + * stdio/printf-prs.c [HAVE_LONGLONG]: Fixed missed var name change + from code snarf. + + * stdio/fgets.c: Return NULL when we get EOF. + + * posix/execvp.c, sysdeps/posix/putenv.c [! HAVE_GNU_LD]: Define + __environ as environ. + + * sysdeps/unix/bsd/Makefile, sysdeps/unix/Makefile: In rules to + compile generator programs, cd into $(objdir) first to avoid + braindead cc clobbering foo.o in cwdir. + + * sysdeps/m68k/setjmp.c: Deref fpregs array in asm. + + * time/Makefile (zones-%): Fixed generated rules. + + * math/Makefile (libm.a): Use r cmd to ar. + + * time/Makefile (zones-%): In echo commands, put \\\\n outside of + quotes instead of \\n inside single quotes. SysV echo is braindead. + + * io/fchown.c, io/fchmod.c, misc/bsd-compat.c: Fixed DEFUNs in fn + aliases. + + * time/Makefile (echo-zonenames): New target; tell user what all + timezones defined in all zone files are. + * Makeconfig (localtime): Comment about using above. + +Sun Mar 22 18:34:02 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * time/australasia (NZ): Updated rules. + +Sat Mar 21 01:00:49 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * stdio/printf-prs.c [__GNUC__]: Define HAVE_LONGLONG. + +Fri Mar 20 00:35:36 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * Version 1.02. + + * stdio/Makefile (routines): Add __getdelim, __getline. + + * sysdeps/unix/i386/start.c: No ../ in #include file name. + + * sysdeps/posix/sysd-stdio.c, sysdeps/stub/sysd-stdio.c + (__stdio_seek): Doc fix. + + * sysdeps/posix/mk-stdiolim.c: Add one to L_tmpnam, for the null + terminator. + + * sysdeps/posix/__dup2.c: Use an extra fcntl call to check that the + first fd is valid. Close the second fd before doing the dup. + + * pwd/pwdread.c, grp/grpread.c: Use __getline. Ignore lines + beginning with #. + + * Makeconfig (objdir): If $(ARCH) starts with a slash, don't prepend + $(..). + +Thu Mar 19 21:36:57 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * Makefile (install-lib): Add Mcrt1.o. + (Mcrt1.o): Create empty file. + +Wed Mar 18 16:00:18 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * Makeconfig (+link): Use $(libdir) for gnulib. + +Tue Mar 17 20:12:35 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * math/bsd/common_source/mathimpl.h: Include . + [__LITTLE_ENDIAN]: #define national. + + * stdio/__vfscanf.c: EOF at end of string is not + an error. + + * stdio/tstscanf.c: Added new sscanf test. + + * stdio/vfprintf.c: For %#x, print 0x after padding 0s, not before. + + * stdio/fputs.c: Reverse size args to fwrite and test for returning + LEN, rather than 1, so 0-length wins. + + * io/gnu/fcntl.h: Moved to sysdeps/unix/bsd/fcntlbits.h. + * io/Makefile (headers), io/fcntl.h: gnu/fcntl.h -> fcntlbits.h. + * sysdeps/stub/fcntlbits.h, sysdeps/unix/sysv/fcntlbits.h: New. + + * stdio/fopen.c (__getmode): Don't fall through in switch after 'a' + case. + + * locale/C-ctype_ct.c (__ctype_b_C): Use symbolic constants. + 9..12 are not _NOgraph. + +Tue Mar 17 19:04:01 1992 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu) + + * string/testcopy.c: Fix typo in comment. + +Tue Mar 17 19:57:49 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/generic/strstr.c, string/string.h, string/tester.c + (strstr): Arguments were reversed. + +Tue Mar 17 18:52:39 1992 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu) + + * sysdeps/i386/memcopy.h (WORD_COPY_BWD): Divide nbytes by 4. + * sysdeps/i386/memchr.c: Rewrite. Handle zero length correctly. + Don't ask gcc to allocate eax to two regs. + +Tue Mar 17 17:31:06 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * posix/unistd.h (getpagesize): Declare as size_t. + + * Makeconfig (CC): Define unless origin is default. + + * stdio/__getdelim.c: Be sure to leave room for the terminating null. + + * string/testcopy.c: New version from tege. + + * malloc/dist-README: Changed mailing list addr to bug-glibc. + + * sysdeps/unix/bsd/__sigproc.c: Use right mask for SIG_UNBLOCK. + + * Makefile, Rules (clean, mostlyclean): Put - before rm commands. + +Tue Mar 17 11:14:40 1992 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu) + + * sysdeps/rs6000/memcopy.h (BYTE_COPY_BWD): Assign __nbytes. + * sysdeps/m68k/memcopy.h (WORD_COPY_BWD): Copy memory, not just + pointers. Clean up switch expression. + +Mon Mar 16 05:09:23 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * posix/wordexp.c: New. + + * time/tzfile.c (__tzfile_read): Don't die if some of the sections + of the datafile are empty. + + * stdio/getline.c, stdio/getdelim.c: Moved to + __getline.c/__getdelim.c. + New files with fn aliases. + * stdio/stdio.h (__getline, __getdelim): Declare. + + * time/Makefile (zonenames): Hair to find the names of zones + described by $(tzfiles). + (install-data): Install zoneinfo/$(zonenames). + Rules to make zones from tzfiles. + [localtime] (zoneinfo/localtime): Make from zoneinfo/$(localtime). + * Makeconfig (localtime): New user-frobbable variable. + +Sun Mar 15 00:01:05 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * Makerules (sysdep-Makefile): Do if ... else true to avoid bogus + nonzero status. + + * Makefile: Denewlinify +sysdep-subdirs after including sysd-dirs. + + * sysdeps/vax/__infnan.c [!__GNUC__]: Error. + + * zic.c, scheck.c, emkdir.c, ialloc.c, private.h, tzfile.h: Snarfed + from localtime3 dist. + * time/Makefile (others): Added zic. + (distribute): Added private.h, emkdir.c, ialloc.c, scheck.c. + (install): Defined: zic, zdump. + + * Makeconfig (bindir): Define. + * Makerules: Add rule to install $(install) in $(bindir). + (+install): Include $(install) in $(bindir). + + * sysdeps/unix/Makefile: Moved siglist.c rules to unix/bsd/Makefile. + * sysdeps/unix/make_siglist.c: Moved to bsd/. + * sysdeps/unix/Dist: Remove it. + * sysdeps/unix/bsd/Dist: Add it. + + * malloc/Makefile (malloc/gmalloc.c): Depend on headers and sources. + + * sysdeps/unix/bsd/sun/sun4/__sigvec.S: Doc fix. + + * sysdeps/stub/stty.c, sysdeps/stub/gtty.c: Include . + + * sysdeps/unix/sysv/__fstat.c: Include sysv_stat.h. + + * misc/bsd-compat.c: Define _BSD_SOURCE rather than __FAVOR_BSD. + (longjmp): Use function_alias_void. + + * time/Makefile (tzfile.o): Compile with + -DTZDIR='"$(datadir)/zoneinfo"'.d + +Sat Mar 14 23:26:46 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * Makeconfig (INSTALL_DATA, INSTALL_PROGRAM, INSTALL): Don't define + if already defined. + + * setjmp/longjmp.c: Use function_alias_void. + + * gnu-stabs.h (function_alias_void): New macro. + + * gnu-stabs.h [!HAVE_GNU_LD] (function_alias): Fixed not to loop. + +Fri Mar 13 17:20:19 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu) + + * sysdeps/posix/sysd-stdio.c (__stdio_gen_tempname): Include null + terminator in length calculation. + + * stdio/fgets.c: Be sure to return NULL on error/eof for unbuffered + stream. If N==1, don't write the first char if !seen. + When the buffer is empty, notice the effect of __fillbf after + calling it, avoiding a (costly) no-op iteration. + Don't return NULL for reading no chars; only for EOF or error. + Don't write terminator at beginning of S if eof on first char. + + * malloc/Makefile (libmcheck.a), Makefile (crt0.o): Remove target + first; don't use -f to ln. + + * posix/execl.c, posix/execv.c, sysdeps/posix/getenv.c, + sysdeps/posix/system.c [HAVE_GNU_LD]: #define __environ environ + + * posix/unistd.h [__OPTIMIZE__] (execv): Removed defn. Can't know + whether to use __environ or environ. + + * io/fchown.c, io/chown.c, io/open.c, misc/select.c, + signal/sigvec.c, time/adjtime.c: Fixed DEFUNs in fn aliases. + + * time/__tzset.c: Don't dereference NULL if getenv returns it. + +Thu Mar 12 16:01:33 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * sysdeps/ieee754/sqrt.c: Replaced undefined var ref `k' with constant. + + * sysdeps/i386/__longjmp.c: #include . + + * time/tzfile.c (__tzfile_compute): Use types[0] if TIMER falls + between transitions[0] and transitions[1]. + Always set __tzname[INFO->isdst] to the name for INFO. + + * sysdeps/i386/__longjmp.c: Changed register names for gcc; eax/%eax + -> ax. + + * sysdeps/unix/snarf-ioctls: Avoid infinite recursion. + +Wed Mar 11 00:16:18 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * Version 1.01. + + * Makefile (munch-init.c): Made $(objpfx)munch-init.c. + + * signal/sigvec.c, signal/sigaction.c, stdio/vsscanf.c: Fixed DEFUNs + in fn aliases. + + * sysdeps/m68k/68881/68881-switch/switch.c: Merged vars have_fpu and + test_fpu into one. + + * sysdeps/mach/i386/start.c, sysdeps/vax/setjmp.c, + sysdeps/vax/__longjmp.c, sysdeps/vax/__infnan.c, + sysdeps/unix/start.c, sysdeps/unix/bsd/sun/sun4/sigtramp.c, + sysdeps/unix/bsd/sun/sun4/start.c, + sysdeps/unix/bsd/hp9k3bsd/start.c, sysdeps/sparc/sqrt.c, + sysdeps/rs6000/ffs.c, sysdeps/m88k/ffs.c, sysdeps/m68k/setjmp.c, + sysdeps/m68k/__longjmp.c, sysdeps/m68k/68881/printf_fp.c, + sysdeps/m68k/68881/atan2.c, sysdeps/m68k/68881/__logb.c, + sysdeps/m68k/68881/68881-switch/switch.c, sysdeps/m68k/ffs.c, + sysdeps/i386/memset.c, sysdeps/i386/memchr.c, sysdeps/i386/ffs.c, + sysdeps/i386/bzero.c, sysdeps/i386/__longjmp.c, sysdeps/am29k/ffs.c + [! __GNUC__]: Either include the generic (or in some cases, ieee754) + version, or do a #error. + + * Rules: Null out `objects' at end to shrink environment some. + (+objs): Define with := from $(objects). + (clean): Use that instead of $(objects). + + * sysdeps/i386/setjmp.c: Doubled % where it wanted to be literal. + + * posix/getgrps.c, io/flock.c, io/mkdir.c, io/read.c, io/write.c, + io/stat.c, misc/getdents.c, misc/mknod.c, misc/utimes.c: Fixed + DEFUNs in fn aliases. + + * sysdeps/unix/bsd/hp9k3bsd/sysdep.S: Use # instead of kludge cookie. + + * posix/getegid.c: Fixed type in DEFUN. + + * time/tzfile.c (__tzfile_compute): If TIMER is before any + transition in the file, use the first non-DST type, rather than the + type of the first transition in the file. + +Tue Mar 10 20:01:55 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * configure: Take optional -nfp arg. + (news, sun3, hp300): Prepend m68k/68881 unless -nfp is given. + * sysdeps/unix/bsd/hp9k3bsd/Implies: Don't specify 68881. + + * stdio/getdelim.c: When the buffer is empty, notice the effect of + __fillbf after calling it, avoiding a (costly) no-op iteration. + + * sysdeps/vax/__memccpy.c: Fixed comments. + + * stdio/fmemopen.c: Set all fns and seen bit before we might call + something that would care (fclose). + + * configure (sun3, sun-3): Mean sun3os4, not sun3os3. + (sun3os3): Use just unix/bsd/sun/sun3/os3. + * sysdeps/unix/bsd/sun/sun3/os3: New directory. + (sysdeps/unix/bsd/sun/sunos3/__wait.S): Moved to there. + * sysdeps/unix/bsd/sun/sun3/sysdep.h: Fixed; took hp9k3bsd/sysdep.h + and changed movel foo, d0 to pea foo for syscall no. + * sysdeps/unix/bsd/sun/sun3/__brk.S: Fixed pea addr mode. + * sysdeps/unix/bsd/sun/sun3/sethostid.S: errnos.h, not gnu/errno.h. + Use .stabs directly, not gnu-stabs.h (which uses `asm'). + * sysdeps/m68k/setjmp.c: Changed asm for first moveml, so it works + on sun3. + * sysdeps/unix/bsd/sun/sun3/start.c: Removed ../ from #include path. + +Sun Mar 8 16:33:33 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * misc/makefile (headers): Added stab.h, stab.def. + * Many files: Changed __GNU_STAB__ to HAVE_GNU_LD. + +Sat Mar 7 21:21:10 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * time/mktime.c: Normalize the struct values before checking for out + of range values. + +Fri Mar 6 11:43:35 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * sysdeps/ieee754/ldexp.c: New. + + * stdio/internals.c (flushbuf): When priming the stream for writing, + advance the target pos to account for chars gotten from the buffer. + + * sysdeps/generic/Makefile: For math routines, don't filter out + __finite. + + * sysdeps/posix/sysd-stdio.c (__stdio_gen_tempname): Fixed bugs. + + * misc/Makefile (routines): Remove flock. + + * stdlib/strtod.c: Fixed typo in checking for exponent overflow. + Do set *ENDPTR on overflow or underflow. + + * sysdeps/sparc/fl.h: Removed. Should use ieee754 version. + + * sysdeps/generic/Makefile: For math routines, don't filter out + __copysign, __scalb, __drem and __logb; and don't add support. + + * sysdeps/ieee754/__drem.c: New. + * sysdeps/ieee754/sqrt.c: New. + * sysdeps/stub/__drem.c: New. + * sysdeps/stub/sqrt.c: New. + * sysdeps/stub/__logb.c: New. + * sysdeps/ieee754/__logb.c: New. + + * sysdeps/ieee754/__infnan.c: Include and use NAN macro + rather than cooking one up by hand. + + * sysdeps/unix/bsd/getlogin.c: Open /dev/tty, rather than using stdin. + Make sure the name is always null-terminated. + +Thu Mar 5 17:11:46 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu) + + * sysdeps/m68k/68881/__scalb.c: Removed. + * sysdeps/m68k/68881/__math.h: Removed defn of __scalb. + * math/math.h [__OPTIMIZE__]: Define __scalb to be ldexp. + * math/__scalb.c: New; fn alias for ldexp. + + * stdio/Makefile (tests): Added bug4 and bug5. + * stdio/bug4.c, stdio/bug5.c: Test cases from reported bugs just fixed. + + * stdio/internals.c (flushbuf): If nothing was written by the user, + but there is previously gotten data, don't write anything out. + + * stdio/internals.c (seek_to_target): Call __stdio_check_offset first. + + * sysdeps/unix/sysv/sysv_termio.h: New file. + * sysdeps/unix/sysv/Dist: Include it. + * sysdeps/unix/sysv/tcsetattr.c, sysdeps/unix/sysv/tcsetpgrp.c, + sysdeps/unix/sysv/tcsendbrk.c, sysdeps/unix/sysv/tcgetpgrp.c, + sysdeps/unix/sysv/tcflush.c, sysdeps/unix/sysv/tcdrain.c, + sysdeps/unix/sysv/__tcgetatr.c: New files. + + * stdio/internals.c (fillbuf): Don't set the put_limit on writable + streams. Wait for first write attempt to prime them, so we don't + flush the unchanged data unnecessarily. + + * stdlib/exit.c: Look for NULL terminator on ld set, rather than + using length word. + + * Makefile (headers): Remove stdarg.h and varargs.h. + Users will get them from GCC. + * stdio/printf.h: Include to use va_list. + * stdio/stdio.h: Don't include with magic. + Use PTR in place of __va_list in prototypes. + * stdio/__vsscanf.c, stdio/vscanf.c, stdio/vfscanf.c, + stdio/__vfscanf.c, stdio/vdprintf.c, stdio/vasprintf.c, + stdio/vsprintf.c, stdio/vsnprintf.c, stdio/vprintf.c, + stdio/vfprintf.c: Fixed DEFUNs. + + * sysdeps/ieee754/ieee754.h: New file; declares union ieee754_double. + * sysdeps/ieee754/Dist: Add it. + * sysdeps/ieee754/__copysign.c, sysdeps/ieee754/__infnan.c, + sysdeps/ieee754/__isinf.c, sysdeps/ieee754/__isnan.c, + sysdeps/ieee754/__printf_fp.c: Use it. + + * sysdeps/unix/sysv/uname.c: New. + * sysdeps/unix/sysv/__utssys.S: New. + * sysdeps/unix/sysv/Makefile (routines): Add __utssys. + * sysdeps/unix/sysv/Dist: Add __utssys.S. + + * sysdeps/unix/sysv/__rmdir.c: New; runs `rmdir' shell command. + + * sysdeps/unix/sysv/__mkdir.c: New; runs `mkdir' shell command. + + * sysdeps/generic/__lstat.c: New; fn alias for __stat. + + * sysdeps/unix/sysv/__gethostname.c: New; uses uname. + + * sysdeps/unix/Makefile (sys/params.h): Protect with + _GNU_SYS_PARAM_H, in case the system's file uses _SYS_PARAM_H itself. + + * stdio/internals.c (__stdio_check_offset): Call init_stream to make + sure we have fns. + + * stdio/fread.c: Don't call __fillbf if the put_limit is past the + beginning of the buffer; only if !seen, no buffer, or pushed back. + + * stdio/fopen.c (__getmode): Set create bit for "a" mode. + + * io/mkdir.c: #undef mkdir before fn alias. + + * time/tzfile.c (__tzfile_compute): Don't decrement I if it's zero. + + * Makefile (crt0.o): Use ln -f. + + * math/Makefile (install): Install libm.a. + (libm.a): Make an empty archive. + +Wed Mar 4 19:54:50 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * README.template: Added note about long filenames in dist. + + * io/Makefile (routines): flock -> __flock + * flock.c: New file, fn alias. + * sysdeps/unix/bsd/flock.S: Renamed to sysdeps/unix/bsd/__flock.S; + made __flock. + * sysdeps/mach/hurd/flock.c: Renamed to sysdeps/mach/hurd/__flock.c; + made __flock. + * sysdeps/stub/flock.c: Renamed to sysdeps/stub/__flock.c; made + __flock. + + * time/time.h (__isleap): Fixed; every 400th year is not a leap + year, not every 1000th. + + * stdio/internals.c (flushbuf): Increment the target position the + amount the user wrote into the buffer, not the amount we wrote out + to the file (which is greater if we read a block and modified it + in the middle). + + * stdio/internals.c (flushbuf): Set get_limit to the beginning of + the buffer for all streams, except when we have just read in a block. + +Sat Feb 29 15:56:22 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu) + + * posix/Makefile (others): Removed logname, id. + * time/Makefile (others): Removed date. + + * sysdeps/unix/bsd/sun/sun4/start.c: Make an alias called `start' + (no leading underscore, so it can't conflict with C symbols) for + `_start'. + +Thu Feb 27 14:32:20 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu) + + * set-init.c: Look for NULL terminator on set. ld is broken and + doesn't set the length word correctly. + + * setjmp/_longjmp.c, signal/sigaction.c, signal/sigvec.c, + signal/ssignal.c, string/bcmp.c, time/setitmr.c, posix/execve.c, + posix/getegid.c, posix/geteuid.c, posix/getgid.c, posix/getuid.c, + posix/getgrps.c, posix/setuid.c, posix/wait3.c, posix/wait4.c, + posix/waitpid.c, io/lseek.c, io/open.c, io/read.c, io/write.c, + resource/getrusage.c, misc/getpgsz.c, misc/gethstnm.c, + misc/select.c: Fixed DEFUNs in fn aliases. + +Wed Feb 26 00:20:25 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu) + + * sysdeps/generic/Makefile (routines): Add asincos. + + * time/tzfile.c (__tzfile_compute): Set __tzname properly, so isdst + is the right index into it. + +Tue Feb 25 01:42:16 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu) + + * sysdeps/unix/bsd/sun/sun4/sysdep.h (ENTRY): .align 2, not .align 4. + This one is powers of two. + + * time/__tzset.c: If TZ is :FILE, try FILE and if __tzfile_read + fails, then use defaults. + + * sysdeps/generic/Makefile (routines): Add sincos. + + * sysdeps/posix/cuserid.c: Set the result to the empty string on + failure. + + * string/string.h, string/strings.h, sysdeps/i386/memchr.c: Fixed + spelling in comment. + + * string/makefile (tests): Include (uncomment) testcopy. We do have + papers for it from tege. + + * malloc/dist-README: Fixed mailing list addr. + + * resource/sys/vtimes.h (struct vtimes): Renamed vm_outblk to + vm_oublk; fixed comment. + * sysdeps/generic/vtimes.c: Renamed here too. + + * Make-dist (README): Depend on version.c. + +Tue Feb 18 18:14:50 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu) + + * Version 1.00. + + * time/tzfile.c (__tzfile_compute): Fixed transition comparison. + + * sysdeps/unix/bsd/sun/sun3/Makefile: Fixed typo. + +Mon Feb 17 05:04:00 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu) + + * Version 0.6. + + * Makefile (distribute): Add Q+A. + * Q+A: New doc file from rich@cygnus.com. + + * malloc/Makefile (distribute): Add mcheck-init.c. + +Mon Feb 17 00:39:38 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu) + + * sysdeps/unix/sysv/utime.c: Removed. + * sysdeps/unix/sysv/utime.S: New file. + + * sysdeps/unix/sysv/signum.h: New file. + + * sysdeps/unix/sysv/local_lim.h: New file. + + * sysdeps/unix/sysv/sysv_stat.h: New file. + * sysdeps/unix/sysv/__stat.c, sysdeps/unix/sysv/__fstat.c: New files. + * sysdeps/unix/sysv/Makefile: New file. + (+sysdep-routines): Define to sys_stat and sys_fstat. + * sysdeps/unix/sysv/sys_stat.S, sysdeps/unix/sysv/sys_fstat.S: New + files. + * sysdeps/unix/sysv/Dist: Created to include sysv_stat.h, + sys_stat.S, and sys_fstat.S. + + * sysdeps/stub/__setreuid.c: Include . + + * sysdeps/posix/__sigblock.c: Fixed typo. + + * stdio/internals.c (__flshfp): Don't return EOF if at EOF; only + for errors. + + * signal/gnu/signal.h: Move #include outside repeat #ifdef. + + * sysdeps/unix/sysv/filebits.h: Created. + + * misc/Makefile (distribute): Define to bsd-compat.c. + + * misc/Makefile (headers): Remove filebits.h. + * io/Makefile (headers): Put it here. + + * Makefile (+posix_dirs): Add io. + * io/Makefile: New file for new subdir. + Contains many headers and routines moved from posix. + * posix/Makefile: Remove many headers and routines now in io. + * Moved many files from posix to io. + + * stdlib/alloca.h: Get size_t from stddef.h. + + * misc/bsd-compat.c (getgroups): Removed. Not needed, because gid_t + is now the same size as int. + + * Makefile (distribute): Include NOTES. + * NOTES: New file, infoized node from intro.texinfo about the + feature-test macros. + * README.template: Mention NOTES. + + * sysdeps/unix/bsd/sun/sun3/Makefile: include hp9k3bsd version. + + * Makeconfig: Use $(..) for config.status. + + * configure (i386-sysv): unix/i386/sysv, not unix/sysv/i386. + * unix/i386/sysv/Implies: unix/sysv, not unix/i386. + +Sun Feb 16 00:42:53 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu) + + * Version 0.5. + + * posix/Makefile (headers): Remove confstr.h. + (distribute): Define this instead to contain it. + + * ansidecl: Added copyright notice. + + * stdio/getdelim.c: New file. + * stdio/getline.c (getsome): Renamed to getdelim and moved there. + * stdio/Makefile (routines): Add getdelim. + * stdio/stdio.h: Declare getdelim. + + * misc/gnu/file.h: Moved to sysdeps/unix/bsd/filebits.h. + * sysdeps/stub/filebits.h: New file. + * misc/Makefile: gnu/file.h is now filebits.h. + * posix/fcntl.h: Changed #include. + + * stdio/getline.c (getsome): If MAX_CANON isn't defined, use a default. + Don't leak old *LINEPTR storage if *N < 2. + Don't bang *LINEPTR to NULL if realloc fails. + + * Makerules: Don't use override when nulling out sources, routines, + and aux if they came from the environment. Better not make with -e. + + * Makefile (sysdirs, Sysnames): Put outside of ifndef sysdirs. + + * string/Makefile (tests): No testcopy, pending papers. + + * Makefile (headers): No sysdep.h. + (distribute): Here instead. + (no-install): No longer needed. + +Sat Feb 15 17:10:38 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu) + + * Makefile (distribute): Add INSTALL. + * Make-dist (INSTALL): Make from manual/maint.texinfo. + (README): Make from README.template. + + * Makefile (+other-dirs): Removed inet. + * sysdeps/unix/inet/Subdirs: Created, adding inet. + + * sysdeps/unix/sysv/setrlimit.c: Include stddef and errno.h. + + * math/drem.c, setjmp/longjmp.c, malloc/cfree.c, string/bcmp.c, + time/getitmr.c, misc/ioctl.c: Fixed defuns in function_alias. + + * Makefile (headers): Put sysdep.h back. + (no-install): And define this to it. + * Makerules (+install): Filter out $(no-install) from the list. + + * string/testcopy.c: New test program for bcopy from tege. + * string/Makefile (tests): Add it. + + * Makefile (sysdep-subdirs): Renamed to sysd-dirs. + + * Make-dist (tardir): Omit the release name; it made names too long. + +Sat Feb 15 12:53:02 1992 Torbjorn Granlund (tege at mole.gnu.ai.mit.edu) + + * sysdeps/rs6000/memcopy.h (WORD_COPY_FWD, WORD_COPY_BWD): + Use CTR register for looping (speed enhancement). Don't emit + labels, jump relative from `$' instead (makes multiple expansions + possible). Clean up indentation of asm code (were different in each + macro). + * sysdeps/rs6000/memcopy.h (WORD_COPY_BWD): + Add asm output specs (were missing completely). + + * sysdeps/generic/{memcpy.c,memmove.c}: Make DSTP and SRCP unsigned + (safer with non-ANSI compilers). + +Fri Feb 14 01:52:12 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu) + + * Version 0.4.1. + + * Makefile, Rules: Changed clean and clobber targets into + mostlyclean, clean, and realclean. + + * Makeconfig: Added comments describing objdir/Makeconfig and + editting Makeconfig. + (prefix, libdir, INSTALL, INSTALL_DATA): New variables for installing. + * Makerules (install): New target. + * Makefile (+subdir_targets): Add subdir_install. + (install): Depend on subdir_install. + (install-lib): Define variable to install libc.a and crt0.o. + * misc/Makefile (install-lib): Install bsd-compat. + * malloc/Makefile (install-lib): Install mcheck-init. + + * Version 0.4. + +Thu Feb 13 21:39:31 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu) + + * sysdeps/unix/glue-ctype.c: Moved to unix/bsd. + * sysdeps/unix/Makefile: Moved glue-ctype stuff to unix/bsd/Makefile. + * sysdeps/unix/Dist: No glue-ctype. + * sysdeps/unix/bsd/Dist: Here instead. + + * sysdeps/sparc/divrem.m4: Don't use insn aliases Sun as doesn't grok. + +Wed Feb 12 12:12:12 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu) + + * sysdeps/m68k/setjmp.c: Use m, rather than g, constraint when + saving fp regs. + + * Renamed oodles of files, changed all the relevant Makefiles (I + think). File names now fit in 14 chars for losing System V. Gag me + with a death star. + See =longnames for translations, and =shorten.el for method. + + * grp/initgroups.c: Removed redundant test. + + * malloc/mtrace.c: Use %p fmt for pointers. + +Tue Feb 11 02:04:39 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * stdlib/alloca.h: New file. + * stdlib/stdlib.h: Moved alloca decls there; #include + instead. + * stdlib/Makefile (headers): Added alloca.h. + + * stdio/getline.c (getsome): Fixed bugs. + + * math/bsd/common_source/mathimpl.h: #define expm1 __expm1. + * math/bsd/common_source/expm1.c: Renamed to __expm1.c + * math/bsd/mc68881/expm1.s: Renamed to __expm1.s; renamed fn too. + * math/expm1.c: New file, fn alias expm1 -> __expm1. + + * math/Makefile (routines): Add __rint. + * math/rint.c: New file, fn alias rint -> __rint. + * math/bsd/common_source/floor.c (rint): Renamed to __rint. + * sysdeps/generic/Makefile: Remove __rint, not rint. + + * math/Makefile (BSDmath-files): Always include it, and don't depend + on undependable things. + + * Makerules (sysdep-Makefile): Always include it, and make it + without depending on make vars that might not be right yet. + +Mon Feb 10 00:55:58 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * stdlib/stdlib.h: #undef alloca before declaring it. + + * sysdeps/sparc/__longjmp.S: Use be instead of bz. + + * sysdeps/unix/bsd/Dist: Add bsdtty.h. + + * tzfile.c (__tzfile_read): Don't allocate space for 0 leaps. + Don't loop infinitely. + + * sysdeps/unix/Makefile (make-errnos.c): Use tr to eat newlines in + errnos file. + + * sysdeps/unix/bsd/sun/sun4/__brk.S: Fix andn arg order. + + * posix/Makefile: Don't get getopt by vpath. Turns out to be too + much hassle for dist. Just made symlinks in posix/ instead. + + * manual/Makefile: Renamed summary.out to summary.texinfo. + + * manual/summary.awk: New file, to make summary.out. + Replaces `process-definitions.el'. + * manual/Makefile (summary.out): Create using summary.awk. + + * manual/Makefile: Created. + * Makefile, Make-dist: Use it to format and distribute the manual. + +Mon Feb 10 00:32:17 1992 Jim Meyering (meyering@churchy.gnu.ai.mit.edu) + + * All Makefiles: + Whenever using shell redirection to create a target, + do not create the target directly like this + + foo: bar + process $< > $@ + + That loses when `process' fails (interrupt, disk full, ...) + and bar exists and looks up-to-date, but isn't. + This sort of failure is particularly insidious when + the initial error message is obscured by lots of subsequent + output (echoed commands etc). + + Instead use rules like this + + foo: bar + process $< > $@-tmp + mv $@-tmp $@ + + Using this paradigm, as long as process returns non-zero + whenever it fails, the target won't be touched. + +Sun Feb 9 22:58:51 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * posix/unistd.h (getopt): Fixed prototype. + * sysdeps/generic/memset.c, stdio/vdprintf.c: Fixed DEFUNs. + + * Makerules (lib): Use $(RANLIB) for ranlib. + * Makeconfig: Define it. + + * configure: Create config.status to set ARCH, if successful. + * Makeconfig: include config.status ifndef ARCH. + +Thu Feb 6 20:57:10 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * ansidecl.h (INCLUDE, STARTCOMMENT, ENDCOMMENT): New magic words. + * sysdeps/m68k/68881/fl.h: Use new magic to snarf ieee754/fl.h during + ansideclification. + + * sysdeps/ieee754/fl.h: New file, taken mostly from the old + 68881 file. HUGE_VAL redone to be machine independent. + (NAN): New macro for an IEEE NaN, done like HUGE_VAL. + * sysdeps/m68k/68881/fl.h: Now #includes ieee754/fl.h, and overrides + FLT_ROUNDS for 68881 magic. NB: the #include is a prob. for install. + +Wed Jan 29 17:11:25 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * sysdeps/posix/getcwd.c: Don't use chdir; use a long ../../../... + path name instead. + +Fri Jan 17 02:51:10 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * posix/Makefile (headers): Added getopt.h. + (routines): Added getopt1. + Get getopt* from /home/gd/gnu/lib by vpath. + + * Makerules (+ansideclificate): Don't assume . is in PATH. + +Thu Jan 16 18:43:05 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * posix/glob.c [sgi]: No alloca.h, after all. + +Wed Jan 15 14:17:37 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * termios/termios.h: Reworked to be compatible with 4.4BSD. + * termios/speed.c, sysdeps/unix/bsd/{__tcgetattr,tcsetattr}.c: Store + speeds as their own values (B9600==9600, etc.) and translate to BSD + values only for ioctl. + * termios/cfsetpseed.c: New fn to set both speeds at once (from 4.4). + +Tue Jan 14 21:18:10 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * sysdeps/unix/i386/__brk.S: __end, not ___end. + Get the arg off the stack correctly. + + * sysdeps/unix/Makefile: Allow errnos like EL3HLT. + + * sysdeps/posix/{readv,writev}.c: Typos. + + * sysdeps/posix/__sigpause.c: Rewritten to know that sigset_t is a + mask, and to pass a (sigset_t *) instead of sigset_t to sigsuspend. + + * sysdeps/i386/memset.c: Include . + + * sysdeps/generic/uname.c (uname): Save and restore errno if + gethostname gets ENOSYS. + + * stdio/perror.c (perror): Check correctly for S == "". + Check correctly for ERRNUM being in range. + + * find-sysdirs: Don't use fgrep -s, since USG apparently doesn't + have that flag. Just >/dev/null instead. + +Mon Jan 13 17:00:15 1992 Torbjorn Granlund (tege at mole.gnu.ai.mit.edu) + + * sysdeps/generic/wordcopy.c (all four functions): Move do0 label to + the ultimate store statement at the end of each function. (Used to + be in the loop.) + +Tue Jan 7 18:40:18 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * resource/sys/resource.h (struct rusage): Change `ru_outblock' to + `ru_oublock'. + + * sysdeps/generic/stpcpy.c: Fixed off-by-one bug. + +Thu Jan 2 15:19:01 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * sysdeps/sparc/Dist: Add umul.S and mul.S. + +Tue Dec 31 15:33:39 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * signal/signal.h [__USE_GNU]: Add user-visible `sighandler_t' == + __sighandler_t. + + * termios/speed.c (speedtab): Made const. + + * posix/Makefile (routines): Add flock. + +Tue Dec 31 03:38:30 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) + + * termios/speed.c: Accept and return speeds as actual baud rates. + * termios/termios.h (B110, etc.): Define B110 as 110, etc. + Likewise for _B110, etc. + +Thu Oct 24 16:19:49 1991 Roland McGrath (roland@wookumz.gnu.ai.mit.edu) + + * ansidecl: Put `M4OPTS=+quiet' in the environment make GNU m4 quiet. + +Sun Oct 20 19:31:28 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Make-dist (tardir): Define as `libc-RELEASE-VERSION', strings + snarfed from version.c. + ($(..)$(tardir)): Add rule to make as symlink to . (parent dir). + [subdir] (dist), [parent] (dist.tar): Depend on that. + [subdir] (tarsources), [parent] (+tsrcs): Add $(tardir)/ to files. + + * sysdeps/sparc/Makefile (distribute): Move data into Dist file. + +Fri Oct 18 15:27:58 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * Makefile (subdirs): Add $(sysdep-subdirs), so sysdep makefiles can + add subdirs. + + * posix/glob.c [sgi]: Use . + + * stdio/fopen.c: If not appending, initialize the offset to 0. + + * sysdeps/generic/strcasecmp.c: Fixed losing braindead code. + +Tue Oct 8 15:27:54 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * Version 0.1. + * This ChangeLog is lacking much information. + * After this release, I hope to maintain the log well. + +Fri Jul 26 18:02:57 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * stdio/Makefile (routines): Remove _cleanup. + +Thu Jul 25 23:12:45 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * stdio/memstream.c (close_memstream): Removed. + (trim_buffer): New fn to be io_funcs->__close for memstreams. + (open_memstream): Take arg char **BUFLOC. Stuff it in + stream->__fd, and store the location of the initial buffer in + *BUFLOC. + (enlarge_buffer): Keep *(char **) stream->__fd updated to be the + location of the buffer. + +Tue Jul 23 14:11:29 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * posix/glob.c: Don't #include #ifdef sun. + Is there anyone on the face of the planet other than me capable of + implementing the ANSI C standard to spec???? + + * posix/glob.c [DIRENT]: #include before + #ifdef USG. + +Mon Jul 22 17:06:24 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu) + + * sysdeps/posix/make-stdio_limits.c: #include , + not . + + * README: Refer to COPYING.LIB, not COPYING. + + * config.libc: Renamed to `configure'. + +Local Variables: +mode: change-log +End: diff --git a/INSTALL b/INSTALL new file mode 100644 index 0000000..1476bd8 --- /dev/null +++ b/INSTALL @@ -0,0 +1,832 @@ +Library Maintenance +******************* + +How to Install the GNU C Library +================================ + + Installation of the GNU C library is relatively simple. + + You need the latest version of GNU `make'. Modifying the GNU C +Library to work with other `make' programs would be so hard that we +recommend you port GNU `make' instead. *Really.* + + To configure the GNU C library for your system, run the shell script +`configure' with `sh'. Use an argument which is the conventional GNU +name for your system configuration--for example, `sparc-sun-sunos4.1', +for a Sun 4 running Sunos 4.1. *Note Installation: +(gcc.info)Installation, for a full description of standard GNU +configuration names. If you omit the configuration name, `configure' +will try to guess one for you by inspecting the system it is running +on. It may or may not be able to come up with a guess, and the its +guess might be wrong. `configure' will tell you the canonical name of +the chosen configuration before proceeding. + + The GNU C Library currently supports configurations that match the +following patterns: + + alpha-dec-osf1 + i386-ANYTHING-bsd4.3 + i386-ANYTHING-gnu + i386-ANYTHING-isc2.2 + i386-ANYTHING-isc3.N + i386-ANYTHING-sco3.2 + i386-ANYTHING-sco3.2v4 + i386-ANYTHING-sysv + i386-ANYTHING-sysv4 + i386-force_cpu386-none + i386-sequent-bsd + i960-nindy960-none + m68k-hp-bsd4.3 + m68k-mvme135-none + m68k-mvme136-none + m68k-sony-newsos3 + m68k-sony-newsos4 + m68k-sun-sunos4.N + mips-dec-ultrix4.N + mips-sgi-irix4.N + sparc-sun-solaris2.N + sparc-sun-sunos4.N + + While no other configurations are supported, there are handy aliases +for these few. (These aliases work in other GNU software as well.) + + decstation + hp320-bsd4.3 hp300bsd + i386-sco + i386-sco3.2v4 + i386-sequent-dynix + i386-svr4 + news + sun3-sunos4.N sun3 + sun4-solaris2.N sun4-sunos5.N + sun4-sunos4.N sun4 + + Here are some options that you should specify (if appropriate) when +you run `configure': + +`--with-gnu-ld' + Use this option if you plan to use GNU `ld' to link programs with + the GNU C Library. (We strongly recommend that you do.) This + option enables use of features that exist only in GNU `ld'; so if + you configure for GNU `ld' you must use GNU `ld' *every time* you + link with the GNU C Library, and when building it. + +`--with-gnu-as' + Use this option if you plan to use the GNU assembler, `gas', when + building the GNU C Library. On some systems, the library may not + build properly if you do *not* use `gas'. + +`--nfp' + Use this option if your computer lacks hardware floating point + support. + +`--prefix=DIRECTORY' + Install machine-independent data files in subdirectories of + `DIRECTORY'. (You can also set this in `configparms'; see below.) + +`--exec-prefix=DIRECTORY' + Install the library and other machine-dependent files in + subdirectories of `DIRECTORY'. (You can also set this in + `configparms'; see below.) + + The simplest way to run `configure' is to do it in the directory +that contains the library sources. This prepares to build the library +in that very directory. + + You can prepare to build the library in some other directory by going +to that other directory to run `configure'. In order to run configure, +you will have to specify a directory for it, like this: + + mkdir sun4 + cd sun4 + ../configure sparc-sun-sunos4.1 + +`configure' looks for the sources in whatever directory you specified +for finding `configure' itself. It does not matter where in the file +system the source and build directories are--as long as you specify the +source directory when you run `configure', you will get the proper +results. + + This feature lets you keep sources and binaries in different +directories, and that makes it easy to build the library for several +different machines from the same set of sources. Simply create a build +directory for each target machine, and run `configure' in that +directory specifying the target machine's configuration name. + + The library has a number of special-purpose configuration parameters. +These are defined in the file `Makeconfig'; see the comments in that +file for the details. + + But don't edit the file `Makeconfig' yourself--instead, create a +file `configparms' in the directory where you are building the library, +and define in that file the parameters you want to specify. +`configparms' should *not* be an edited copy of `Makeconfig'; specify +only the parameters that you want to override. To see how to set these +parameters, find the section of `Makeconfig' that says "These are the +configuration variables." Then for each parameter that you want to +change, copy the definition from `Makeconfig' to your new `configparms' +file, and change the value as appropriate for your system. + + It is easy to configure the GNU C library for cross-compilation by +setting a few variables in `configparms'. Set `CC' to the +cross-compiler for the target you configured the library for; it is +important to use this same `CC' value when running `configure', like +this: `CC=TARGET-gcc configure TARGET'. Set `BUILD_CC' to the compiler +to use for for programs run on the build system as part of compiling +the library. You may need to set `AR' and `RANLIB' to cross-compiling +versions of `ar' and `ranlib' if the native tools are not configured to +work with object files for the target you configured for. + + Some of the machine-dependent code for some machines uses extensions +in the GNU C compiler, so you may need to compile the library with GCC. +(In fact, all of the existing complete ports require GCC.) + + The current release of the C library contains some header files that +the compiler normally provides: `stddef.h', `stdarg.h', and several +files with names of the form `va-MACHINE.h'. The versions of these +files that came with older releases of GCC do not work properly with +the GNU C library. The `stddef.h' file in release 2.2 and later of GCC +is correct. If you have release 2.2 or later of GCC, use its version +of `stddef.h' instead of the C library's. To do this, put the line +`override stddef.h =' in `configparms'. The other files are corrected +in release 2.3 and later of GCC. `configure' will automatically detect +whether the installed `stdarg.h' and `va-MACHINE.h' files are +compatible with the C library, and use its own if not. + + There is a potential problem with the `size_t' type and versions of +GCC prior to release 2.4. ANSI C requires that `size_t' always be an +unsigned type. For compatibility with existing systems' header files, +GCC defines `size_t' in `stddef.h' to be whatever type the system's +`sys/types.h' defines it to be. Most Unix systems that define `size_t' +in `sys/types.h', define it to be a signed type. Some code in the +library depends on `size_t' being an unsigned type, and will not work +correctly if it is signed. + + The GNU C library code which expects `size_t' to be unsigned is +correct. The definition of `size_t' as a signed type is incorrect. +Versions 2.4 and later of GCC always define `size_t' as an unsigned +type, and GCC's `fixincludes' script massages the system's +`sys/types.h' so as not to conflict with this. + + In the meantime, we work around this problem by telling GCC +explicitly to use an unsigned type for `size_t' when compiling the GNU C +library. `configure' will automatically detect what type GCC uses for +`size_t' arrange to override it if necessary. + + To build the library, type `make lib'. This will produce a lot of +output, some of which looks like errors from `make' (but isn't). Look +for error messages from `make' containing `***'. Those indicate that +something is really wrong. + + To build and run some test programs which exercise some of the +library facilities, type `make tests'. This will produce several files +with names like `PROGRAM.out'. + + To format the `GNU C Library Reference Manual' for printing, type +`make dvi'. To format the Info version of the manual for on line +reading with `C-h i' in Emacs or with the `info' program, type +`make info'. + + To install the library and its header files, and the Info files of +the manual, type `make install', after setting the installation +directories in `configparms'. This will build things if necessary, +before installing them. + +Reporting Bugs +============== + + There are probably bugs in the GNU C library. There are certainly +errors and omissions in this manual. If you report them, they will get +fixed. If you don't, no one will ever know about them and they will +remain unfixed for all eternity, if not longer. + + To report a bug, first you must find it. Hopefully, this will be the +hard part. Once you've found a bug, make sure it's really a bug. A +good way to do this is to see if the GNU C library behaves the same way +some other C library does. If so, probably you are wrong and the +libraries are right (but not necessarily). If not, one of the libraries +is probably wrong. + + Once you're sure you've found a bug, try to narrow it down to the +smallest test case that reproduces the problem. In the case of a C +library, you really only need to narrow it down to one library function +call, if possible. This should not be too difficult. + + The final step when you have a simple test case is to report the bug. +When reporting a bug, send your test case, the results you got, the +results you expected, what you think the problem might be (if you've +thought of anything), your system type, and the version of the GNU C +library which you are using. Also include the files `config.status' +and `config.make' which are created by running `configure'; they will +be in whatever directory was current when you ran `configure'. + + If you think you have found some way in which the GNU C library does +not conform to the ANSI and POSIX standards (*note Standards and +Portability::.), that is definitely a bug. Report it! + + Send bug reports to the Internet address `bug-glibc@prep.ai.mit.edu' +or the UUCP path `mit-eddie!prep.ai.mit.edu!bug-glibc'. If you have +other problems with installation or use, please report those as well. + + If you are not sure how a function should behave, and this manual +doesn't tell you, that's a bug in the manual. Report that too! If the +function's behavior disagrees with the manual, then either the library +or the manual has a bug, so report the disagreement. If you find any +errors or omissions in this manual, please report them to the Internet +address `bug-glibc-manual@prep.ai.mit.edu' or the UUCP path +`mit-eddie!prep.ai.mit.edu!bug-glibc-manual'. + +Adding New Functions +==================== + + The process of building the library is driven by the makefiles, which +make heavy use of special features of GNU `make'. The makefiles are +very complex, and you probably don't want to try to understand them. +But what they do is fairly straightforward, and only requires that you +define a few variables in the right places. + + The library sources are divided into subdirectories, grouped by +topic. The `string' subdirectory has all the string-manipulation +functions, `stdio' has all the standard I/O functions, etc. + + Each subdirectory contains a simple makefile, called `Makefile', +which defines a few `make' variables and then includes the global +makefile `Rules' with a line like: + + include ../Rules + +The basic variables that a subdirectory makefile defines are: + +`subdir' + The name of the subdirectory, for example `stdio'. This variable + *must* be defined. + +`headers' + The names of the header files in this section of the library, such + as `stdio.h'. + +`routines' +`aux' + The names of the modules (source files) in this section of the + library. These should be simple names, such as `strlen' (rather + than complete file names, such as `strlen.c'). Use `routines' for + modules that define functions in the library, and `aux' for + auxiliary modules containing things like data definitions. But the + values of `routines' and `aux' are just concatenated, so there + really is no practical difference. + +`tests' + The names of test programs for this section of the library. These + should be simple names, such as `tester' (rather than complete file + names, such as `tester.c'). `make tests' will build and run all + the test programs. If a test program needs input, put the test + data in a file called `TEST-PROGRAM.input'; it will be given to + the test program on its standard input. If a test program wants + to be run with arguments, put the arguments (all on a single line) + in a file called `TEST-PROGRAM.args'. + +`others' + The names of "other" programs associated with this section of the + library. These are programs which are not tests per se, but are + other small programs included with the library. They are built by + `make others'. + +`install-lib' +`install-data' +`install' + Files to be installed by `make install'. Files listed in + `install-lib' are installed in the directory specified by `libdir' + in `configparms' or `Makeconfig' (*note Installation::.). Files + listed in `install-data' are installed in the directory specified + by `datadir' in `configparms' or `Makeconfig'. Files listed in + `install' are installed in the directory specified by `bindir' in + `configparms' or `Makeconfig'. + +`distribute' + Other files from this subdirectory which should be put into a + distribution tar file. You need not list here the makefile itself + or the source and header files listed in the other standard + variables. Only define `distribute' if there are files used in an + unusual way that should go into the distribution. + +`generated' + Files which are generated by `Makefile' in this subdirectory. + These files will be removed by `make clean', and they will never + go into a distribution. + +`extra-objs' + Extra object files which are built by `Makefile' in this + subdirectory. This should be a list of file names like `foo.o'; + the files will actually be found in whatever directory object + files are being built in. These files will be removed by + `make clean'. This variable is used for secondary object files + needed to build `others' or `tests'. + +Porting the GNU C Library +========================= + + The GNU C library is written to be easily portable to a variety of +machines and operating systems. Machine- and operating system-dependent +functions are well separated to make it easy to add implementations for +new machines or operating systems. This section describes the layout of +the library source tree and explains the mechanisms used to select +machine-dependent code to use. + + All the machine-dependent and operating system-dependent files in the +library are in the subdirectory `sysdeps' under the top-level library +source directory. This directory contains a hierarchy of +subdirectories (*note Hierarchy Conventions::.). + + Each subdirectory of `sysdeps' contains source files for a +particular machine or operating system, or for a class of machine or +operating system (for example, systems by a particular vendor, or all +machines that use IEEE 754 floating-point format). A configuration +specifies an ordered list of these subdirectories. Each subdirectory +implicitly appends its parent directory to the list. For example, +specifying the list `unix/bsd/vax' is equivalent to specifying the list +`unix/bsd/vax unix/bsd unix'. A subdirectory can also specify that it +implies other subdirectories which are not directly above it in the +directory hierarchy. If the file `Implies' exists in a subdirectory, +it lists other subdirectories of `sysdeps' which are appended to the +list, appearing after the subdirectory containing the `Implies' file. +Lines in an `Implies' file that begin with a `#' character are ignored +as comments. For example, `unix/bsd/Implies' contains: + # BSD has Internet-related things. + unix/inet + +and `unix/Implies' contains: + posix + +So the final list is `unix/bsd/vax unix/bsd unix/inet unix posix'. + + `sysdeps' has two "special" subdirectories, called `generic' and +`stub'. These two are always implicitly appended to the list of +subdirectories (in that order), so you needn't put them in an `Implies' +file, and you should not create any subdirectories under them. +`generic' is for things that can be implemented in machine-independent +C, using only other machine-independent functions in the C library. +`stub' is for "stub" versions of functions which cannot be implemented +on a particular machine or operating system. The stub functions always +return an error, and set `errno' to `ENOSYS' (Function not +implemented). *Note Error Reporting::. + + A source file is known to be system-dependent by its having a +version in `generic' or `stub'; every system-dependent function should +have either a generic or stub implementation (there is no point in +having both). + + If you come across a file that is in one of the main source +directories (`string', `stdio', etc.), and you want to write a machine- +or operating system-dependent version of it, move the file into +`sysdeps/generic' and write your new implementation in the appropriate +system-specific subdirectory. Note that if a file is to be +system-dependent, it *must not* appear in one of the main source +directories. + + There are a few special files that may exist in each subdirectory of +`sysdeps': + +`Makefile' + A makefile for this machine or operating system, or class of + machine or operating system. This file is included by the library + makefile `Makerules', which is used by the top-level makefile and + the subdirectory makefiles. It can change the variables set in the + including makefile or add new rules. It can use GNU `make' + conditional directives based on the variable `subdir' (see above) + to select different sets of variables and rules for different + sections of the library. It can also set the `make' variable + `sysdep-routines', to specify extra modules to be included in the + library. You should use `sysdep-routines' rather than adding + modules to `routines' because the latter is used in determining + what to distribute for each subdirectory of the main source tree. + + Each makefile in a subdirectory in the ordered list of + subdirectories to be searched is included in order. Since several + system-dependent makefiles may be included, each should append to + `sysdep-routines' rather than simply setting it: + + sysdep-routines := $(sysdep-routines) foo bar + +`Subdirs' + This file contains the names of new whole subdirectories under the + top-level library source tree that should be included for this + system. These subdirectories are treated just like the + system-independent subdirectories in the library source tree, such + as `stdio' and `math'. + + Use this when there are completely new sets of functions and header + files that should go into the library for the system this + subdirectory of `sysdeps' implements. For example, + `sysdeps/unix/inet/Subdirs' contains `inet'; the `inet' directory + contains various network-oriented operations which only make sense + to put in the library on systems that support the Internet. + +`Dist' + This file contains the names of files (relative to the + subdirectory of `sysdeps' in which it appears) which should be + included in the distribution. List any new files used by rules in + the `Makefile' in the same directory, or header files used by the + source files in that directory. You don't need to list files that + are implementations (either C or assembly source) of routines + whose names are given in the machine-independent makefiles in the + main source tree. + +`configure' + This file is a shell script fragment to be run at configuration + time. The top-level `configure' script uses the shell `.' command + to read the `configure' file in each system-dependent directory + chosen, in order. The `configure' files are often generated from + `configure.in' files using Autoconf. + + A system-dependent `configure' script will usually add things to + the shell variables `DEFS' and `config_vars'; see the top-level + `configure' script for details. The script can check for + `--with-PACKAGE' options that were passed to the top-level + `configure'. For an option `--with-PACKAGE=VALUE' `configure' + sets the shell variable `with_PACKAGE' (with any dashes in PACKAGE + converted to underscores) to VALUE; if the option is just + `--with-PACKAGE' (no argument), then it sets `with_PACKAGE' to + `yes'. + +`configure.in' + This file is an Autoconf input fragment to be processed into the + file `configure' in this subdirectory. *Note Introduction: + (autoconf.info)Introduction, for a description of Autoconf. You + should write either `configure' or `configure.in', but not both. + The first line of `configure.in' should invoke the `m4' macro + `GLIBC_PROVIDES'. This macro does several `AC_PROVIDE' calls for + Autoconf macros which are used by the top-level `configure' + script; without this, those macros might be invoked again + unnecessarily by Autoconf. + + That is the general system for how system-dependencies are isolated. + +Layout of the `sysdeps' Directory Hierarchy +------------------------------------------- + + A GNU configuration name has three parts: the CPU type, the +manufacturer's name, and the operating system. `configure' uses these +to pick the list of system-dependent directories to look for. If the +`--nfp' option is *not* passed to `configure', the directory +`MACHINE/fpu' is also used. The operating system often has a "base +operating system"; for example, if the operating system is `sunos4.1', +the base operating system is `unix/bsd'. The algorithm used to pick +the list of directories is simple: `configure' makes a list of the base +operating system, manufacturer, CPU type, and operating system, in that +order. It then concatenates all these together with slashes in +between, to produce a directory name; for example, the configuration +`sparc-sun-sunos4.1' results in `unix/bsd/sun/sparc/sunos4.1'. +`configure' then tries removing each element of the list in turn, so +`unix/bsd/sparc' and `sun/sparc' are also tried, among others. Since +the precise version number of the operating system is often not +important, and it would be very inconvenient, for example, to have +identical `sunos4.1.1' and `sunos4.1.2' directories, `configure' tries +successively less specific operating system names by removing trailing +suffixes starting with a period. + + As an example, here is the complete list of directories that would be +tried for the configuration `sparc-sun-sunos4.1' (without the `--nfp' +option): + + sparc/fpu + unix/bsd/sun/sunos4.1/sparc + unix/bsd/sun/sunos4.1 + unix/bsd/sun/sunos4/sparc + unix/bsd/sun/sunos4 + unix/bsd/sun/sunos/sparc + unix/bsd/sun/sunos + unix/bsd/sun/sparc + unix/bsd/sun + unix/bsd/sunos4.1/sparc + unix/bsd/sunos4.1 + unix/bsd/sunos4/sparc + unix/bsd/sunos4 + unix/bsd/sunos/sparc + unix/bsd/sunos + unix/bsd/sparc + unix/bsd + unix/sun/sunos4.1/sparc + unix/sun/sunos4.1 + unix/sun/sunos4/sparc + unix/sun/sunos4 + unix/sun/sunos/sparc + unix/sun/sunos + unix/sun/sparc + unix/sun + unix/sunos4.1/sparc + unix/sunos4.1 + unix/sunos4/sparc + unix/sunos4 + unix/sunos/sparc + unix/sunos + unix/sparc + unix + sun/sunos4.1/sparc + sun/sunos4.1 + sun/sunos4/sparc + sun/sunos4 + sun/sunos/sparc + sun/sunos + sun/sparc + sun + sunos4.1/sparc + sunos4.1 + sunos4/sparc + sunos4 + sunos/sparc + sunos + sparc + + Different machine architectures are conventionally subdirectories at +the top level of the `sysdeps' directory tree. For example, +`sysdeps/sparc' and `sysdeps/m68k'. These contain files specific to +those machine architectures, but not specific to any particular +operating system. There might be subdirectories for specializations of +those architectures, such as `sysdeps/m68k/68020'. Code which is +specific to the floating-point coprocessor used with a particular +machine should go in `sysdeps/MACHINE/fpu'. + + There are a few directories at the top level of the `sysdeps' +hierarchy that are not for particular machine architectures. + +`generic' +`stub' + As described above (*note Porting::.), these are the two + subdirectories that every configuration implicitly uses after all + others. + +`ieee754' + This directory is for code using the IEEE 754 floating-point + format, where the C type `float' is IEEE 754 single-precision + format, and `double' is IEEE 754 double-precision format. Usually + this directory is referred to in the `Implies' file in a machine + architecture-specific directory, such as `m68k/Implies'. + +`posix' + This directory contains implementations of things in the library in + terms of POSIX.1 functions. This includes some of the POSIX.1 + functions themselves. Of course, POSIX.1 cannot be completely + implemented in terms of itself, so a configuration using just + `posix' cannot be complete. + +`unix' + This is the directory for Unix-like things. *Note Porting to + Unix::. `unix' implies `posix'. There are some special-purpose + subdirectories of `unix': + + `unix/common' + This directory is for things common to both BSD and System V + release 4. Both `unix/bsd' and `unix/sysv/sysv4' imply + `unix/common'. + + `unix/inet' + This directory is for `socket' and related functions on Unix + systems. The `inet' top-level subdirectory is enabled by + `unix/inet/Subdirs'. `unix/common' implies `unix/inet'. + +`mach' + This is the directory for things based on the Mach microkernel + from CMU (including the GNU operating system). Other basic + operating systems (VMS, for example) would have their own + directories at the top level of the `sysdeps' hierarchy, parallel + to `unix' and `mach'. + +Porting the GNU C Library to Unix Systems +----------------------------------------- + + Most Unix systems are fundamentally very similar. There are +variations between different machines, and variations in what +facilities are provided by the kernel. But the interface to the +operating system facilities is, for the most part, pretty uniform and +simple. + + The code for Unix systems is in the directory `unix', at the top +level of the `sysdeps' hierarchy. This directory contains +subdirectories (and subdirectory trees) for various Unix variants. + + The functions which are system calls in most Unix systems are +implemented in assembly code in files in `sysdeps/unix'. These files +are named with a suffix of `.S'; for example, `__open.S'. Files ending +in `.S' are run through the C preprocessor before being fed to the +assembler. + + These files all use a set of macros that should be defined in +`sysdep.h'. The `sysdep.h' file in `sysdeps/unix' partially defines +them; a `sysdep.h' file in another directory must finish defining them +for the particular machine and operating system variant. See +`sysdeps/unix/sysdep.h' and the machine-specific `sysdep.h' +implementations to see what these macros are and what they should do. + + The system-specific makefile for the `unix' directory (that is, the +file `sysdeps/unix/Makefile') gives rules to generate several files +from the Unix system you are building the library on (which is assumed +to be the target system you are building the library *for*). All the +generated files are put in the directory where the object files are +kept; they should not affect the source tree itself. The files +generated are `ioctls.h', `errnos.h', `sys/param.h', and `errlist.c' +(for the `stdio' section of the library). + +Contributors to the GNU C Library +================================= + + The GNU C library was written almost entirely by Roland McGrath, who +now maintains it. Some parts of the library were contributed or worked +on by other people. + + * The `getopt' function and related code were written by Richard + Stallman, David J. MacKenzie, and Roland McGrath. + + * Most of the math functions are taken from 4.4 BSD; they have been + modified only slightly to work with the GNU C library. The + Internet-related code (most of the `inet' subdirectory) and several + other miscellaneous functions and header files have been included + with little or no modification. + + All code incorporated from 4.4 BSD is under the following + copyright: + + Copyright (C) 1991 Regents of the University of California. + All rights reserved. + + Redistribution and use in source and binary forms, with or + without modification, are permitted provided that the + following conditions are met: + + 1. Redistributions of source code must retain the above + copyright notice, this list of conditions and the + following disclaimer. + + 2. Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the + following disclaimer in the documentation and/or other + materials provided with the distribution. + + 3. All advertising materials mentioning features or use of + this software must display the following acknowledgement: + This product includes software developed by the + University of California, Berkeley and its + contributors. + + 4. Neither the name of the University nor the names of its + contributors may be used to endorse or promote products + derived from this software without specific prior + written permission. + + THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF + THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + OF SUCH DAMAGE. + + * The random number generation functions `random', `srandom', + `setstate' and `initstate', which are also the basis for the + `rand' and `srand' functions, were written by Earl T. Cohen for + the University of California at Berkeley and are copyrighted by the + Regents of the University of California. They have undergone minor + changes to fit into the GNU C library and to fit the ANSI C + standard, but the functional code is Berkeley's. + + * The merge sort function `qsort' was written by Michael J. Haertel. + + * The quick sort function used as a fallback by `qsort' was written + by Douglas C. Schmidt. + + * The memory allocation functions `malloc', `realloc' and `free' and + related code were written by Michael J. Haertel. + + * Fast implementations of many of the string functions (`memcpy', + `strlen', etc.) were written by Torbjorn Granlund. + + * Some of the support code for Mach is taken from Mach 3.0 by CMU, + and is under the following copyright terms: + + Mach Operating System + Copyright (C) 1991,1990,1989 Carnegie Mellon University + All Rights Reserved. + + Permission to use, copy, modify and distribute this software + and its documentation is hereby granted, provided that both + the copyright notice and this permission notice appear in all + copies of the software, derivative works or modified + versions, and any portions thereof, and that both notices + appear in supporting documentation. + + CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS + IS" CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF + ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF + THIS SOFTWARE. + + Carnegie Mellon requests users of this software to return to + + Software Distribution Coordinator + School of Computer Science + Carnegie Mellon University + Pittsburgh PA 15213-3890 + + or `Software.Distribution@CS.CMU.EDU' any improvements or + extensions that they make and grant Carnegie Mellon the + rights to redistribute these changes. + + * The `tar.h' header file was written by David J. MacKenzie. + + * The port to the MIPS DECStation running Ultrix 4 + (`mips-dec-ultrix4') was contributed by Brendan Kehoe and Ian + Lance Taylor. + + * The DES encryption function `crypt' and related functions were + contributed by Michael Glad. + + * The `ftw' function was contributed by Ian Lance Taylor. + + * The code to support SunOS shared libraries was contributed by Tom + Quinn. + + * The `mktime' function was contributed by Noel Cragg. + + * The port to the Sequent Symmetry running Dynix version 3 + (`i386-sequent-bsd') was contributed by Jason Merrill. + + * The timezone support code is derived from the public-domain + timezone package by Arthur David Olson. + + * The Internet resolver code is taken directly from BIND 4.9.1, + which is under both the Berkeley copyright above and also: + + Portions Copyright (C) 1993 by Digital Equipment Corporation. + + Permission to use, copy, modify, and distribute this software + for any purpose with or without fee is hereby granted, + provided that the above copyright notice and this permission + notice appear in all copies, and that the name of Digital + Equipment Corporation not be used in advertising or publicity + pertaining to distribution of the document or software + without specific, written prior permission. + + THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. + DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND + FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT CORPORATION BE + LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL + DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE + OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + * The port to the DEC Alpha running OSF/1 (`alpha-dec-osf1') was + contributed by Brendan Kehoe, using some code written by Roland + McGrath. + + * The floating-point printing function used by `printf' and friends + was written by Roland McGrath and Torbjorn Granlund. The + multi-precision integer functions used in that function are taken + from GNU MP, which was contributed by Torbjorn Granlund. + + * The code to support Sun RPC is taken verbatim from Sun's + RPCSRC-4.0 distribution, and is covered by this copyright: + + Copyright (C) 1984, Sun Microsystems, Inc. + + Sun RPC is a product of Sun Microsystems, Inc. and is + provided for unrestricted use provided that this legend is + included on all tape media and as a part of the software + program in whole or part. Users may copy or modify Sun RPC + without charge, but are not authorized to license or + distribute it to anyone else except as part of a product or + program developed by the user. + + SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND + INCLUDING THE WARRANTIES OF DESIGN, MERCHANTIBILITY AND + FITNESS FOR A PARTICULAR PURPOSE, OR ARISING FROM A COURSE OF + DEALING, USAGE OR TRADE PRACTICE. + + Sun RPC is provided with no support and without any + obligation on the part of Sun Microsystems, Inc. to assist in + its use, correction, modification or enhancement. + + SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT + TO THE INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY + PATENTS BY SUN RPC OR ANY PART THEREOF. + + In no event will Sun Microsystems, Inc. be liable for any + lost revenue or profits or other special, indirect and + consequential damages, even if Sun has been advised of the + possibility of such damages. + + Sun Microsystems, Inc. + 2550 Garcia Avenue + Mountain View, California 94043 + + * The port to SGI machines running Irix 4 (`mips-sgi-irix4') was + contributed by Tom Quinn. + + * The port of the Mach and Hurd code to the MIPS architecture + (`mips-ANYTHING-gnu') was contribued by Kazumoto Kojima. + diff --git a/Make-dist b/Make-dist new file mode 100644 index 0000000..33e257b --- /dev/null +++ b/Make-dist @@ -0,0 +1,223 @@ +# Copyright (C) 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc. +# This file is part of the GNU C Library. + +# The GNU C Library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Library General Public License as +# published by the Free Software Foundation; either version 2 of the +# License, or (at your option) any later version. + +# The GNU C Library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Library General Public License for more details. + +# You should have received a copy of the GNU Library General Public +# License along with the GNU C Library; see the file COPYING.LIB. If +# not, write to the Free Software Foundation, Inc., 675 Mass Ave, +# Cambridge, MA 02139, USA. + +dist: + +ifdef subdir +.. := ../ +else +.. := +endif + +include $(..)Makeconfig + +foo:=$(shell echo 'distribute=$(distribute)'>&2) +foo:=$(shell echo 'foobar=$(filter %.c %.S %.s %.h,$(distribute))'>&2) + +ifndef sysdep_dirs +# Find all sysdep directories. +export sysdep_dirs := $(shell find $(..)sysdeps -type d ! -name RCS -print) +else +# Defined by the parent. +sysdep_dirs := $(addprefix $(..),$(sysdep_dirs)) +endif + +sysdep-Subdir-files := $(wildcard $(addsuffix /Subdirs,$(sysdep_dirs))) +ifdef sysdep-Subdir-files +subdirs := $(sort $(subdirs) \ + $(shell sed -e 's/\#.*$$//' $(sysdep-Subdir-files))) +endif + + +# Makefiles can define `source_dirs' to list nonstandard directories +# where source files might be found. + +ifdef subdir +all-headers = $(headers) +else ++distinfo := $(shell MAKEFLAGS= MFLAGS= $(MAKE) -s no_deps=t \ + inhibit_interface_rules=t inhibit_mach_syscalls=t \ + subdirs='$(subdirs)' echo-distinfo | grep -v '^make') +foo:=$(shell echo>&2 '+distinfo=$(+distinfo)') +all-headers := $(patsubst +header+%,%,$(filter +header+%,$(+distinfo))) +# Ignore subdir headers without top-level indirections. +all-headers := $(sort $(headers) $(wildcard $(all-headers))) ++subdir-nodist := $(patsubst +nodist+%,%,$(filter +nodist+%,$(+distinfo))) ++subdir-headers := $(filter-out $(headers),$(all-headers)) +endif +foo:=$(shell echo 'IS THIS WORKING??? all-headers=$(all-headers)' >&2) + +# Find all sysdep sources and headers. ++maybe-sysdeps := $(sources) $(sources:.c=.s) $(sources:.c=.S) $(all-headers) \ + $(filter %.c %.S %.s %.h %.sub,$(distribute)) +foo:=$(shell echo '+maybe-sysdeps=$(+maybe-sysdeps)'>&2) +# Find all the files that have a stub or generic version. +try-sysdeps := $(foreach dir,$(..)sysdeps/stub $(..)sysdeps/generic,\ + $(addprefix $(dir)/,$(+maybe-sysdeps))) +foo:=$(shell echo 'try-sysdeps=$(try-sysdeps)'>&2) ++sysdeps := $(wildcard $(try-sysdeps)) +foo:=$(shell echo 'stub/generic +sysdeps=$(+sysdeps)'>&2) ++sysdep-names := $(sort $(notdir $(+sysdeps))) +foo:=$(shell echo '+sysdep-names=$(+sysdep-names)' >&2) + +# Now find all the sysdep versions of those files. ++sysdeps := $(wildcard $(foreach dir,$(sysdep_dirs) $(source_dirs),\ + $(addprefix $(dir)/, \ + $(+sysdep-names) \ + $(+sysdep-names:.c=.s) \ + $(+sysdep-names:.c=.S) \ + ))) + + +# Source and header files to go in the distribution tar file. + +.S.s := $(wildcard $(sources:.c=.S) $(sources:.c=.s)) +sources := $(filter-out $(addsuffix .c,$(basename $(.S.s))),$(sources)) $(.S.s) + ++out := $(patsubst %.S,%.c,$(+sysdep-names:.s=.c)) \ + $(addsuffix .c,$(sysdep_routines)) \ + $(+subdir-nodist) +#foo:=$(shell echo '+out=$(+out)' >&2; echo foofoo >&2) ++tsrcs := $(filter-out $(+out) $(addprefix %/,$(+out)), \ + $(sources) $(all-headers) $(distribute)) \ + $(+sysdeps) +foo:=$(shell echo made +tsrcs >&2) +foo:=$(shell echo generated='$(generated)' >&2) +generated := $(sort $(generated) $(generated:.S=.c) $(generated:.s=.c)) +foo:=$(shell echo now generated='$(generated)' >&2) ++tsrcs := $(sort $(filter-out $(generated),$(+tsrcs))) +foo:=$(shell echo '+tsrcs=$(+tsrcs)'>&2) +foo:=$(shell echo foobie, dammit! >&2) + +ifndef tardir +rel+vers := $(shell sed -n -e 's/^.*libc_release.*\"\([^"]*\)";$$/\1/p' \ + -e 's/^.*libc_version.*\"\([^"]*\)";$$/\1/p' \ + < $(..)version.c) +release := $(word 1,$(rel+vers)) +version := $(word 2,$(rel+vers)) +export tardir := glibc-$(version) +endif + +$(..)glibc-$(version): + ln -s . $@ + ++tsrcs := $(+tsrcs) \ + TAGS +.PHONY: TAGS +TAGS: $(..)MakeTAGS + $(MAKE) -f $< $@ -o subdir_TAGS + +ifdef subdir + +foo:=$(shell echo subdir foo >&2) + ++tsrcs := Makefile $(+tsrcs) \ + $(addsuffix .c,$(others) $(tests)) \ + $(wildcard $(addsuffix .input,$(tests)) \ + $(addsuffix .args,$(tests))) ++tardeps := $(strip $(+tsrcs)) ++tsrcs := $(addprefix $(tardir)/$(subdir)/,$(+tardeps)) + +verbose = v + +.PHONY: dist +dist: $(..)$(tardir) $(+tardeps) + @cd ..; if test -f dist.tar; then c=u; else c=c; fi; \ + $(+cmdecho) "cd ..; tar $${c}h$(verbose)f dist.tar ..."; \ + tar $${c}h$(verbose)f dist.tar $(+tsrcs) + +else # Parent makefile. + +# Find what other things sysdep directories want to distribute. + +foo:=$(shell echo parent foobie>&2) ++sysdep-distfiles := $(wildcard $(addsuffix /Dist,$(sysdep_dirs))) +foo:=$(shell echo +sysdep-distfiles='$(+sysdep-distfiles)'>&2) ++sysdep-dist := $(foreach file,$(+sysdep-distfiles),\ + $(addprefix $(dir $(file)), \ + $(shell sed -e 's/\#.*$$//' $(file)))) \ + $(+sysdep-distfiles) \ + $(sysdep-Subdir-files) +foo:=$(shell echo '+sysdep-dist=$(+sysdep-dist)' >&2) + +subdirs := $(filter-out crypt,$(subdirs)) + ++sysdep-tsrcs := $(wildcard $(foreach file,Makefile Implies \ + configure configure.in,\ + $(addsuffix /$(file),$(sysdep_dirs)))) \ + $(+sysdep-dist) + ++tsrcs := $(+tsrcs) $(+sysdep-tsrcs) + +define autoconf-it +autoconf $(ACFLAGS) $< > $@.new +mv -f $@.new $@ +test -d CVS && cvs commit -m'Regenerated: autoconf $(ACFLAGS) $<' $@ +endef + +configure: configure.in; $(autoconf-it) +%/configure: %/configure.in; $(autoconf-it) + +.PHONY: dist +dist: $(tardir).tar.gz $(tardir)-crypt.tar.gz + +$(tardir)-crypt.tar.gz: crypt/crypt.tar.gz + ln $< $@ +crypt/%: FORCE + $(MAKE) -C $(@D) $(@F) +FORCE: + +subdir_dist: dist.tar +dist.tar: $(tardir) $(+tsrcs) + tar chvf $@ $(addprefix $(tardir)/,$(filter-out $(tardir),$^)) + +$(tardir).tar: dist.tar subdir_dist + tar xfv $< -C /tmp | doschk + tar covf $@ -C /tmp $(tardir) + -rm -fr /tmp/$(tardir) & + +%.Z: % + compress -c $< > $@ + +%.gz: % + gzip -9 -v -c $< > $@ + +foo:=$(shell echo subdirs=$(subdirs) >&2) +dist-subdirs := $(addprefix dist-,$(subdirs)) # dist-manual +.PHONY: subdir_dist $(dist-subdirs) +subdir_dist: $(dist-subdirs) +$(dist-subdirs): + $(MAKE) -C $(patsubst dist-%,%,$@) dist + +# This is here instead of in Makefile so it can use $(release) and $(version). +README: README.template version.c + -rm -f $@ + sed -e 's/RELEASE/$(release)/' -e 's/VERSION/$(version)/' < $< > $@ +# Make it unwritable so I won't change it by mistake. + chmod 444 $@ + + +endif # Subdirectory vs. parent makefile + +# Get these things out of the environment because they take up lots of space. +unexport distribute generated + +# Fnord. +export inhibit_mach_syscalls=t +export no_deps=t +export inhibit_interface_rules=t diff --git a/MakeTAGS b/MakeTAGS new file mode 100644 index 0000000..acea142 --- /dev/null +++ b/MakeTAGS @@ -0,0 +1,107 @@ +# Make the TAGS files. + +# Copyright (C) 1992, 1994 Free Software Foundation, Inc. +# This file is part of the GNU C Library. + +# The GNU C Library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Library General Public License +# as published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. + +# The GNU C Library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Library General Public License for more details. + +# You should have received a copy of the GNU Library General Public +# License along with the GNU C Library; see the file COPYING.LIB. If +# not, write to the Free Software Foundation, Inc., 675 Mass Ave, +# Cambridge, MA 02139, USA. + +# Make this the default goal. +TAGS: + +ifdef subdir +.. := ../ +endif + +include $(..)Makeconfig + +ifndef tags_sources +ifeq ($(subdir),ctype) +# In most cases, we want the C source files to come before +# the header files so tags for optimizing #define's in the +# headers won't be put in the tags files, but for ctype, +# the functions are just backup for the #define's in the header. +tags_sources = $(all-headers) $(all-sources) +else # Not ctype. +tags_sources = $(all-sources) $(all-headers) +endif # ctype +endif # No tags_sources + +sysdep-dirs := $(addprefix $(sysdep_dir)/,$(sysdirs)) + +ifndef sysdep_dirs +# Find all sysdep directories. +sysdep_dirs := $(shell find $(..)sysdeps -type d ! -name RCS -print) +endif + +# Find all sysdep dirs there are, but putting the ones +# we are configured to use first and preserving their order. +all-dirs := $(objdir) \ + $(sysdep-dirs) \ + $(source_dirs) \ + $(filter-out $(sysdep-dirs),$(sysdep_dirs)) + +# Find all the subdirs there are, but putting the ones +# we are configured to use first and preserving their order. +ifndef subdir +subdirs := $(subdirs) \ + $(filter-out $(subdirs),\ + $(shell sed -e 's/\#.*$$//' \ + $(wildcard $(addsuffix /Subdirs,\ + $(all-dirs)))\ + /dev/null)) +all-dist = $(foreach Dist,$(wildcard $(all-dirs:%=%/Dist)),\ + $(addprefix $(Dist:%/Dist=%)/,\ + $(filter %.c %.h %.S %.s,\ + $(shell cat $(Dist))))) +tags_sources = $(all-sources) $(all-headers) $(all-dist) +endif + +# All different versions of $(sources), preserving the configured sysdep +# directory order. +all-sources = $(wildcard $(foreach file,$(sources),\ + $(file) \ + $(foreach dir,$(all-dirs),\ + $(dir)/$(file) \ + $(dir)/$(file:.c=.S) \ + $(dir)/$(file:.c=.s)))) + +all-headers = $(wildcard $(foreach file,$(headers),\ + $(file) \ + $(foreach dir,$(all-dirs),$(dir)/$(file)))) + +tags_sources := $(strip $(tags_sources)) + +TAGS: $(tags_sources) +ifdef subdir +ifdef tags_sources + $(ETAGS) -o $@ $^ +else +# No sources. Create a dummy file. + touch $@ +endif # tags_sources +else # parent +TAGS: subdir_TAGS +# Note that this uses the -i switch, and thus requires v19 etags. + $(ETAGS) -o $@ \ + $(subdirs:%=-i %/TAGS) \ + $(filter-out subdir_TAGS,$^) + +.PHONY: subdir_TAGS $(subdirs:%=%/TAGS) +subdir_TAGS: $(subdirs:%=%/TAGS) +$(subdirs:%=%/TAGS): + $(MAKE) -C $(@D) no_deps=t $(@F) + +endif # subdir diff --git a/Makeconfig b/Makeconfig new file mode 100644 index 0000000..434f8b2 --- /dev/null +++ b/Makeconfig @@ -0,0 +1,358 @@ +# Copyright (C) 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc. +# This file is part of the GNU C Library. + +# The GNU C Library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Library General Public License as +# published by the Free Software Foundation; either version 2 of the +# License, or (at your option) any later version. + +# The GNU C Library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Library General Public License for more details. + +# You should have received a copy of the GNU Library General Public +# License along with the GNU C Library; see the file COPYING.LIB. If +# not, write to the Free Software Foundation, Inc., 675 Mass Ave, +# Cambridge, MA 02139, USA. + +# +# Makefile configuration options for the GNU C library. +# +ifneq (,) +This makefile requires GNU Make. +endif + +ifneq "$(origin +included-Makeconfig)" "file" + ++included-Makeconfig := yes + +ifdef subdir +.. := ../ +endif + +# If config.make exists, the source directory was configured, +# so don't try to be clever and find another directory to build in. +ifneq (,$(wildcard $(..)config.make)) +ARCH = +machine = +else # Not configured. +ifndef ARCH +ifdef machine +ARCH = $(machine) +endif # machine +endif # ARCH +endif # config.make + +# Directory for object files and libc.a. If this is not defined, the +# object files live in the subdirectories where their sources live, and +# libc.a lives in the parent directory (this probably doesn't work any +# more). +ifdef ARCH +ifeq ($(filter /%,$(ARCH)),) +objdir := $(..)$(ARCH) +else +objdir = $(ARCH) +endif +endif + +# $(common-objdir) is the place to put objects and +# such that are not specific to a single subdir. +ifdef objdir +objpfx = $(objdir)/ +common-objpfx = $(objpfx) +common-objdir = $(objdir) +else +objpfx := +ifdef .. +common-objpfx = $(..) +common-objdir = .. +else +# This is a kludge. make wizards might grok. +common-objpfx = sysdeps/../ +common-objdir = . +endif +endif + +libc.a = $(common-objpfx)libc.a + + +# Get the values defined by options to `configure'. +include $(common-objpfx)config.make + +# Force the user to configure before making. +$(common-objpfx)config.make: + @echo The GNU C library has not been configured. >&2 + @echo Run \`configure\' to configure it before building. >&2 + @exit 1 + +# Get the user's configuration parameters. +ifneq ($(wildcard $(..)configparms),) +include $(..)configparms +endif +ifneq ($(objpfx),) +ifneq ($(wildcard $(objpfx)configparms),) +include $(objpfx)configparms +endif +endif + +sysdep_dir := $(..)sysdeps +export sysdep_dir := $(sysdep_dir) + +#### +#### These are the configuration variables. You can define values for +#### the variables below in the file `configparms'. +#### Do NOT edit this file. +#### + + +# Common prefix for machine-independent installation directories. +ifndef prefix +prefix = /usr/local +endif + +# Common prefix for machine-dependent installation directories. +ifndef exec_prefix +exec_prefix = $(prefix) +endif + +# Where to install the library and object files. +ifndef libdir +libdir = $(exec_prefix)/lib +endif + +# Prefix to put on files installed in $(libdir). For libraries `libNAME.a', +# the prefix is spliced between `lib' and the name, so the linker switch +# `-l$(libprefix)NAME' finds the library; for other files the prefix is +# just prepended to the whole file name. +ifndef libprefix +libprefix = +endif + +# Where to install the header files. +ifndef includedir +includedir = $(exec_prefix)/include +endif + +# Define if the library should install its own . +# Do this unless you are using version 2.2 or later of GCC. +ifndef stddef.h +stddef.h = stddef.h +endif + +# Where to install machine-independent data files. +# These are the timezone database, and eventually the locale database. +ifndef datadir +datadir = $(prefix)/share +endif + +# Where to install the timezone data files (which are machine-independent). +ifndef zonedir +zonedir = $(datadir)/zoneinfo +endif + +# Where to install programs. +ifndef bindir +bindir = $(exec_prefix)/bin +endif + +# Where to install administrative programs. +ifndef sbindir +sbindir = $(exec_prefix)/sbin +endif + +# Where to install the Info files. +ifndef infodir +infodir = $(prefix)/info +endif + +# Where to install default configuration files. These include the local +# timezone specification and network data base files. +ifndef sysconfdir +sysconfdir = $(prefix)/etc +endif + +# What timezone should be the installed default (e.g., US/Eastern). +# Run `make -C time echo-zonenames' to see a list of available zone names. +# The local timezone can be changed with `zic -l TIMEZONE' at any time. +ifndef localtime +localtime = Factory +endif + +# Where to install the "localtime" timezone file; this is the file whose +# contents $(localtime) specifies. If this is a relative pathname, it is +# relative to $(zonedir). It is a good idea to put this somewhere +# other than there, so the zoneinfo directory contains only universal data, +# localizing the configuration data elsewhere. +ifndef localtime-file +localtime-file = $(sysconfdir)/localtime +endif + +# What timezone's DST rules should be used when a POSIX-style TZ +# environment variable doesn't specify any rules. For 1003.1 compliance +# this timezone must use rules that are as U.S. federal law defines DST. +# Run `make -C time echo-zonenames' to see a list of available zone names. +# This setting can be changed with `zic -p TIMEZONE' at any time. +# If you want POSIX.1 compatibility, use `America/New_York'. +ifndef posixrules +posixrules = America/New_York +endif + +# Where to install the "posixrules" timezone file; this is file +# whose contents $(posixrules) specifies. If this is a relative +# pathname, it is relative to $(zonedir). +ifndef posixrules-file +posixrules-file = posixrules +endif + + +# Directory where your system's native header files live. +# This is used on Unix systems to generate some GNU libc header files. +ifndef sysincludedir +sysincludedir = /usr/include +endif + + +# Commands to install files. +ifndef INSTALL_DATA +INSTALL_DATA = $(INSTALL) -m 644 +endif +ifndef INSTALL_PROGRAM +INSTALL_PROGRAM = $(INSTALL) +endif +ifndef INSTALL +INSTALL = install +endif + + +# The name of the C compiler. +# If you've got GCC, and it works, use it. +ifeq ($(origin CC),default) +CC := gcc +endif + +# The name of the C compiler to use for compilations of programs to run on +# the host that is building the library. If you set CC to a +# cross-compiler, you must set this to the normal compiler. +ifndef BUILD_CC +BUILD_CC = $(CC) +endif + +# Default flags to pass the C compiler. +ifndef default_cflags +default_cflags := -g +endif + +# Flags to pass the C compiler when assembling preprocessed assembly code +# (`.S' files). On some systems the assembler doesn't understand the `#' line +# directives the preprocessor produces. If you have troubling compiling +# assembly code, try using -P here to suppress these directives. +ifndef asm-CPPFLAGS +asm-CPPFLAGS = +endif + +# Command for linking programs with the C library. +ifndef +link ++link = $(CC) -nostdlib $(LDFLAGS) -o $@ \ + $(common-objpfx)start.o $(^:lib=$(libc.a)) $(gnulib) $(libc.a) +endif +ifndef gnulib +gnulib := -lgcc +endif + +ifndef LD +LD := ld -X +endif + +ifndef RANLIB +RANLIB = ranlib +endif + +# Extra flags to pass to GCC. ++gccwarn := -Wall -Wwrite-strings -Wno-parentheses + +# This is the program that generates makefile +# dependencies from C source files. +ifndef +mkdep ++mkdep = $(CC) -M +endif + +# The program that makes Emacs-style TAGS files. +ETAGS := etags -T + +# The `m4' macro processor; this is used by sysdeps/sparc/Makefile (and +# perhaps others) to preprocess assembly code in some cases. +M4 = m4 + +#### +#### End of configuration variables. +#### + +# This tells some versions of GNU make before 3.63 not to export all variables. +.NOEXPORT: + +# We want to echo the commands we're running without +# umpteem zillion filenames along with it (we use `...' instead) +# but we don't want this echoing done when the user has said +# he doesn't want to see commands echoed by using -s. +ifneq "$(findstring s,$(MAKEFLAGS))" "" # if -s ++cmdecho := echo >/dev/null +else # not -s ++cmdecho := echo +endif # -s + +# These are the flags given to the compiler to tell +# it what sort of optimization and/or debugging output to do. +ifndef +cflags +# If `CFLAGS' was defined, use that. +ifdef CFLAGS ++cflags := $(filter-out -I%,$(CFLAGS)) +endif # CFLAGS +endif # +cflags + +# If none of the above worked, default to "-g". +ifeq "$(strip $(+cflags))" "" ++cflags := $(default_cflags) +endif # $(+cflags) == "" + +# If using gcc, add flags that only it will grok. +ifneq "$(findstring gcc,$(CC))" "" ++cflags := $(+cflags) $(+gccwarn) ++gcc-nowarn := -w +else ++gcc-nowarn := +endif # gcc + +# Don't duplicate options if we inherited variables from the parent. ++cflags := $(sort $(+cflags)) + + +# These are flags given to the C compiler to tell it to look for include +# files (including ones given in angle brackets) in the current directory +# and in the parent library source directory. +# `+sysdep-includes' will be defined by Makerules. ++includes = -I. $(filter-out -I,-I$(patsubst %/,%,$(..))) \ + $(includes) $(+sysdep-includes) $(last-includes) + + +# These are the variables that the implicit compilation rules use. +CPPFLAGS = $(+includes) $(defines) -include $(..)libc-symbols.h \ + $(sysdep-CPPFLAGS) +override CFLAGS = $(+cflags) $(sysdep-CFLAGS) + + +# This is the macro that the implicit linking rules use. +ifneq "$(filter -g,$(+cflags))" "" # -g is in $(+cflags) +LDFLAGS := -g +endif + ++gnu-stabs = $(shell echo>&2 '*** BARF ON ME') + +ifneq ($(BUILD_CC),$(CC)) +cross-compiling := yes +else +cross-compiling := no +endif + + +endif # Makeconfig not yet included diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..6a3fb17 --- /dev/null +++ b/Makefile @@ -0,0 +1,233 @@ +# Copyright (C) 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc. +# This file is part of the GNU C Library. + +# The GNU C Library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Library General Public License as +# published by the Free Software Foundation; either version 2 of the +# License, or (at your option) any later version. + +# The GNU C Library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Library General Public License for more details. + +# You should have received a copy of the GNU Library General Public +# License along with the GNU C Library; see the file COPYING.LIB. If +# not, write to the Free Software Foundation, Inc., 675 Mass Ave, +# Cambridge, MA 02139, USA. + +# +# Master Makefile for the GNU C library +# +ifneq (,) +This makefile requires GNU Make. +endif + + +# This is the default target; it makes everything except the tests. +.PHONY: all +all: lib others + +define autoconf-it +autoconf $(ACFLAGS) $< > $@.new +mv -f $@.new $@ +test -d CVS && cvs commit -m'Regenerated: autoconf $(ACFLAGS) $<' $@ +endef + +configure: configure.in; $(autoconf-it) +%/configure: %/configure.in; $(autoconf-it) + +include Makeconfig + +ifndef avoid-generated +include $(objpfx)sysd-dirs +define \n + + +endef +sysdep-subdirs := $(subst $(\n), ,$(sysdep-subdirs)) +endif + +# These are the subdirectories containing the library source. ++ansi_dirs := assert ctype locale math setjmp \ + signal stdio stdlib malloc string time ++posix_dirs := dirent grp pwd posix io termios ++other_dirs := resource socket misc gnulib $(wildcard crypt) manual csu +subdirs := $(strip $(+ansi_dirs) $(+posix_dirs) $(+other_dirs) \ + $(sysdep-subdirs)) +export subdirs := $(subdirs) # Benign, useless in GNU make before 3.63. + +# The mach and hurd subdirectories have many generated header files which +# the much of rest of the library depends on, so it is best to build them +# first (and mach before hurd, at that). The before-compile additions in +# sysdeps/{mach,hurd}/Makefile should make it reliably work for these files +# not to exist when making in other directories, but it will be slower that +# way with more somewhat expensive `make' invocations. +subdirs := $(filter mach,$(subdirs)) $(filter hurd,$(subdirs)) \ + $(filter-out mach hurd,$(subdirs)) + +# All initialization source files. ++subdir_inits := $(wildcard $(foreach dir,$(subdirs),$(dir)/init-$(dir).c)) +# All subdirectories containing initialization source files. ++init_subdirs := $(patsubst %/,%,$(dir $(+subdir_inits))) + + +# These are the targets that are made by making them in each subdirectory. ++subdir_targets := subdir_lib objects objs others subdir_mostlyclean \ + subdir_clean subdir_distclean subdir_realclean \ + tests subdir_lint.out \ + subdir_echo-headers subdir_echo-distinfo \ + subdir_install $(addprefix install-, \ + no-libc.a bin lib \ + data headers others) + +headers := features.h errno.h sys/errno.h errnos.h limits.h $(stddef.h) +aux = sysdep $(libc-init) version + +echo-headers: subdir_echo-headers + +# What to install. +install-others = $(includedir)/stubs.h + +ifeq (yes,$(gnu-ld)) +libc-init = set-init +else +libc-init = munch-init +$(objpfx)munch-init.c: munch.awk munch-tmpl.c $(+subdir_inits) + awk -f $< subdirs='$(+init_subdirs)' $(word 2,$^) > $@-t + mv -f $@-t $@ +generated := $(generated) munch-init.c +endif + + +include Makerules + +# Install from subdirectories too. +install: subdir_install + +lib-noranlib $(libc.a)(__.SYMDEF): subdir_lib + + +$(objpfx)sysd-dirs: $(+sysdir_pfx)config.make + (echo define sysdep-subdirs; \ + for dir in $(sysdirs); do \ + if [ -r $(sysdep_dir)/$$dir/Subdirs ]; then \ + sed 's/#.*$$//' $(sysdep_dir)/$$dir/Subdirs; \ + else true; \ + fi; \ + done; \ + echo endef) > $@-tmp + mv -f $@-tmp $@ + +# Makerules creates a file `stub-$(subdir)' for each subdirectory, which +# contains `#define __stub_FUNCTION' for each function which is a stub. +# Here we paste all of these together into . + +subdir-stubs := $(foreach dir,$(subdirs),$(common-objpfx)stub-$(dir)) + +# Since stubs.h is never needed when building the library, we simplify the +# hairy installation process by producing it in place only as the last part +# of the top-level `make install'. It depends on subdir_install, which +# iterates over all the subdirs; subdir_install in each subdir depends on +# the subdir's stubs file. Having more direct dependencies would result in +# extra iterations over the list for subdirs and many recursive makes. +$(includedir)/stubs.h: subdir_install + @rm -f $(objpfx)stubs.h + (echo '/* This file is automatically generated.';\ + echo ' It defines a symbol `__stub_FUNCTION'\'' for each function';\ + echo ' in the C library which is a stub, meaning it will fail';\ + echo ' every time called, usually setting errno to ENOSYS. */';\ + sort $(subdir-stubs)) > $(objpfx)stubs.h + $(INSTALL_DATA) $(objpfx)stubs.h $@ + rm -f $(objpfx)stubs.h + +# This makes the Info or DVI file of the documentation from the Texinfo source. +.PHONY: info dvi +info dvi: + $(MAKE) -C manual $@ + +# This makes all the subdirectory targets. + +# For each target, make it depend on DIR/target for each subdirectory DIR. +$(+subdir_targets): %: $(addsuffix /%,$(subdirs)) + +# Compute a list of all those targets. +all-subdirs-targets := $(foreach dir,$(subdirs),\ + $(addprefix $(dir)/,$(+subdir_targets))) + +# The action for each of those is to cd into the directory and make the +# target there. +$(all-subdirs-targets): + $(MAKE) -C $(@D) $(@F) + +.PHONY: $(+subdir_targets) $(all-subdirs-targets) + +# Targets to clean things up to various degrees. + +.PHONY: clean realclean distclean distclean-1 parent-clean parent-mostlyclean + +# Subroutines of all cleaning targets. +parent-mostlyclean: common-mostlyclean # common-mostlyclean is in Makerules. + -rm -f $(libc.a) $(addprefix $(objpfx),$(install-lib)) +parent-clean: parent-mostlyclean common-clean + -rm -f $(addprefix $(common-objpfx),$(common-generated)) + -rm -f $(addprefix $(+sysdir_pfx),sysd-Makefile sysd-dirs sysd-rules) + +clean: parent-clean +# This is done this way rather than having `subdir_clean' be a +# dependency of this target so that libc.a will be removed before the +# subdirectories are dealt with and so they won't try to remove object +# files from it when it's going to be removed anyway. + @$(MAKE) subdir_clean no_deps=t +mostlyclean: parent-mostlyclean + @$(MAKE) subdir_mostlyclean no_deps=t + +# The realclean target is just like distclean for the parent, but we want +# the subdirs to know the difference in case they care. +realclean distclean: parent-clean +# This is done this way rather than having `subdir_distclean' be a +# dependency of this target so that libc.a will be removed before the +# subdirectories are dealt with and so they won't try to remove object +# files from it when it's going to be removed anyway. + @$(MAKE) distclean-1 no_deps=t distclean-1=$@ avoid-generated=yes + +# Subroutine of distclean and realclean. +distclean-1: subdir_$(distclean-1) + -rm -f $(config-generated) + -rm -f $(addprefix $(objpfx),config.status cache.cache) + -rm -f $(addprefix $(objpfx),config.make config-name.h) +ifdef objdir + -rm -f $(objpfx)Makefile +endif + -rm -f $(sysdep-$(distclean-1)) + +.PHONY: echo_subdirs +echo_subdirs:;@echo '$(subdirs)' + +.PHONY: echo-distinfo parent_echo-distinfo +echo-distinfo: parent_echo-distinfo subdir_echo-distinfo +parent_echo-distinfo: + @echo $(addprefix +header+,$(headers)) \ + $(addprefix +nodist+,$(generated)) + +# Make the distribution tarfile. + +distribute := README INSTALL NOTES COPYING.LIB COPYING ChangeLog NEWS \ + Makefile Makeconfig Makerules Rules Make-dist MakeTAGS \ + ansidecl.h mkinstalldirs move-if-change install-sh \ + configure configure.in aclocal.m4 config.sub config.guess\ + config.make.in config-name.in Makefile.in \ + munch-tmpl.c munch.awk sysdep.h set-hooks.h libc-symbols.h + +distribute := $(strip $(distribute)) +generated := $(generated) stubs.h + +README: README.template version.c ; # Make-dist should update README. + +define format-me +@rm -f $@ +makeinfo --no-validate --no-warn --no-headers $< -o $@ +-chmod a-w $@ +endef +INSTALL: manual/maint.texi; $(format-me) +NOTES: manual/creature.texi; $(format-me) diff --git a/Makefile.in b/Makefile.in new file mode 100644 index 0000000..6ec07a6 --- /dev/null +++ b/Makefile.in @@ -0,0 +1,6 @@ +# Generated from $Id$. + +srcdir = @srcdir@ + +all .DEFAULT: + $(MAKE) -C $(srcdir) objdir=`pwd` $@ diff --git a/Makerules b/Makerules new file mode 100644 index 0000000..76ed429 --- /dev/null +++ b/Makerules @@ -0,0 +1,544 @@ +# Copyright (C) 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc. +# This file is part of the GNU C Library. + +# The GNU C Library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Library General Public License as +# published by the Free Software Foundation; either version 2 of the +# License, or (at your option) any later version. + +# The GNU C Library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Library General Public License for more details. + +# You should have received a copy of the GNU Library General Public +# License along with the GNU C Library; see the file COPYING.LIB. If +# not, write to the Free Software Foundation, Inc., 675 Mass Ave, +# Cambridge, MA 02139, USA. + +# +# Common rules for making the GNU C library. This file is included +# by the top-level Makefile and by all subdirectory makefiles +# (through Rules). +# +ifneq (,) +This makefile requires GNU Make. +endif + + +ifdef subdir +.. := ../ +endif # subdir + +# If `sources' was defined by the parent makefile, undefine it so +# we will later get it from wildcard search in this directory. +ifneq "$(findstring env,$(origin sources))" "" +sources := +endif + +headers := $(headers) $(sysdep_headers) + +oPATH := $(PATH) +PATH := this definition should take precedence over $(oPATH) +ifeq ($(PATH),$(oPATH)) +You must not use the -e flag when building the GNU C library. +else +PATH := $(oPATH) +endif + +ifndef +included-Makeconfig +include $(..)Makeconfig +endif + +# `configure' writes a definition of `config-sysdirs' in `config.make'. +sysdirs = $(config-sysdirs) + ++sysdir_pfx = $(common-objpfx) + +export sysdirs := $(sysdirs) + ++sysdep_dirs := $(addprefix $(sysdep_dir)/,$(sysdirs)) +ifdef objdir ++sysdep_dirs := $(objdir) $(+sysdep_dirs) +endif + +# Add -I switches to get the right sysdep directories. +# `+includes' in Makeconfig references $(+sysdep-includes). ++sysdep-includes := $(addprefix -I,$(+sysdep_dirs)) + +# Include any system-specific makefiles. + +# This is here so things in sysdep Makefiles can easily depend on foo.h as +# appropriate and not worry about where foo.h comes from, which may be +# system dependent and not known by that Makefile. +vpath %.h $(subst $(empty) ,:,$(strip $(common-objpfx) \ + $(addprefix $(sysdep_dir)/,$(sysdirs)) \ + $(..))) + +ifeq ($(wildcard $(+sysdir_pfx)sysd-Makefile),) +# Don't do deps until this exists, because it might change the sources list. +no_deps=t +endif + +# Some sysdep makefiles use this to distinguish being included here from +# being included individually by a subdir makefile (hurd/Makefile needs this). +in-Makerules := yes + +ifndef avoid-generated +include $(+sysdir_pfx)sysd-Makefile +$(+sysdir_pfx)sysd-Makefile: $(+sysdir_pfx)config.make $(..)Makerules + -@rm -f $@T + (for dir in $(sysdirs); do \ + file=sysdeps/$$dir/Makefile; \ + if [ -f $(..)$$file ]; then \ + echo include "\$$(..)$$file"; \ + else true; fi; \ + done; \ + echo 'sysd-Makefile-done=t') > $@T + mv -f $@T $@ +endif + +# Reorder before-compile so that mach things come first, and hurd things +# second, before all else. The mach and hurd subdirectories have many +# generated header files which the much of rest of the library depends on, +# so it is best to build them first (and mach before hurd, at that). +before-compile := $(filter $(common-objpfx)mach% $(common-objpfx)hurd%,\ + $(before-compile)) \ + $(filter-out $(common-objpfx)mach% $(common-objpfx)hurd%,\ + $(before-compile)) + +# Remove existing files from `before-compile'. Things are added there when +# they must exist for dependency generation to work right, but once they +# exist there is no further need for every single file to depend on them, +# and those gratuitous dependencies result in many gratuitous +# recompilations. +before-compile := $(filter-out $(wildcard $(before-compile)),$(before-compile)) + +# Don't let any before-compile file be an intermediate and get removed. +ifdef before-compile +$(before-compile): +endif + +# Generate an ordered list of implicit rules which find the source files in +# each sysdep directory. The old method was to use vpath to search all the +# sysdep directories. However, that had the problem that a .S file in a +# later directory would be chosen over a .c file in an earlier directory, +# which does not preserve the desired sysdeps ordering behavior. + +# When making the list of .d files to include, we can't know which ones +# have source in .s files, and thus do not in fact need a .d file. +# So we must define rules to make .d files for .s files. +define make-dummy-dep +$(addprefix ln $(objpfx)dummy.d ,$(filter-out $(wildcard $@),$@)) +endef +$(objpfx)dummy.d: + echo '# .s files cannot contain includes, so they need no deps.' > $@ + +# It matters that this set of rules, for compiling from sources in +# the current directory (the $srcdir/$subdir) come before the +# generated sysdep rules in included from sysd-rules below. When +# compiling in the source tree, generated sources go into the current +# directory, and those should be chosen before any sources in sysdeps. +$(objpfx)%.o: %.S $(before-compile); $(compile-command.S) +$(objpfx)%.d: %.S $(before-compile); $(+make-deps) +$(objpfx)%.o: %.s $(before-compile); $(compile-command.s) +$(objpfx)%.d: %.s $(objpfx)dummy.d; $(make-dummy-dep) +$(objpfx)%.o: %.c $(before-compile); $(compile-command.c) +$(objpfx)%.d: %.c $(before-compile); $(+make-deps) + +# Omit the objpfx rules when building in the source tree, because +# objpfx is empty and so these rules just override the ones above. +ifdef objpfx +# Define first rules to find the source files in $(objpfx). +# Generated source files will end up there. +$(objpfx)%.o: $(objpfx)%.S $(before-compile); $(compile-command.S) +$(objpfx)%.d: $(objpfx)%.S $(before-compile); $(+make-deps) +$(objpfx)%.o: $(objpfx)%.s $(before-compile); $(compile-command.s) +$(objpfx)%.d: $(objpfx)%.s $(objpfx)dummy.d; $(make-dummy-dep) +$(objpfx)%.o: $(objpfx)%.c $(before-compile); $(compile-command.c) +$(objpfx)%.d: $(objpfx)%.c $(before-compile); $(+make-deps) +endif + +# System-dependent makefiles can put in `inhibit-sysdep-asm' wildcard +# patterns matching sysdep directories whose assembly source files should +# be suppressed. +ifdef inhibit-sysdep-asm +define open-check-inhibit-asm +case $$sysdir in $(subst $(empty) ,|,$(inhibit-sysdep-asm))) : ;; *) +endef +close-check-inhibit-asm = ;; esac +endif + +# Don't include sysd-rules until sysd-Makefile is already there and has been +# included. It might define inhibit-sysdep-asm, which would affect the +# contents of sysd-rules. +ifdef sysd-Makefile-done +include $(+sysdir_pfx)sysd-rules +endif +$(+sysdir_pfx)sysd-rules: $(+sysdir_pfx)config.make $(..)Makerules \ + $(wildcard $(foreach dir,$(sysdirs),\ + $(sysdep_dir)/$(dir)/Makefile)) + -@rm -f $@T + (for sysdir in $(sysdirs); do \ + dir="\$$(sysdep_dir)/$$sysdir"; \ + $(open-check-inhibit-asm) \ + echo "\$$(objpfx)%.o: $$dir/%.S \$$(before-compile); \ + \$$(compile-command.S)"; \ + echo "\$$(objpfx)%.d: $$dir/%.S \$$(before-compile); \ + \$$(+make-deps)"; \ + echo "\$$(objpfx)%.o: $$dir/%.s \$$(before-compile); \ + \$$(compile-command.s)"; \ + echo "\$$(objpfx)%.d: $$dir/%.s \$$(objpfx)dummy.d; \ + \$$(make-dummy-dep)" $(close-check-inhibit-asm); \ + echo "\$$(objpfx)%.o: $$dir/%.c \$$(before-compile); \ + \$$(compile-command.c)"; \ + echo "\$$(objpfx)%.d: $$dir/%.c \$$(before-compile); \ + \$$(+make-deps)"; \ + done) > $@T + mv -f $@T $@ + +ifndef compile-command.S +compile-command.S = $(compile.S) $(OUTPUT_OPTION) +endif +ifndef compile-command.s +compile-command.s = $(COMPILE.s) $< $(OUTPUT_OPTION) +endif +ifndef compile-command.c +compile-command.c = $(compile.c) $(OUTPUT_OPTION) +endif + +ifneq ($(filter %gcc,$(notdir $(firstword $(CC)))),) +# GCC can grok options after the file name, and it looks nicer that way. +compile.S = $(CC) $< -c $(CPPFLAGS) -DASSEMBLER $(asm-CPPFLAGS) +compile.c = $(CC) $< -c $(CFLAGS) $(CPPFLAGS) +else +compile.S = $(COMPILE.S) -DASSEMBLER $(asm-CPPFLAGS) $< +compile.c = $(COMPILE.c) $< +endif + +ifndef OUTPUT_OPTION +ifdef objpfx +# We need this for the output to go in the right place. It will default to +# empty if make was configured to work with a cc that can't grok -c and -o +# together. You can't compile the C library with such a compiler. +OUTPUT_OPTION = -o $@ +endif +endif + +S-CPPFLAGS = $(asm-CPPFLAGS) +define +make-deps +-@rm -f $@ +$(+mkdep) $< $(CPPFLAGS) $($(<:$*.%=%)-CPPFLAGS) | \ +sed -e 's,$*\.o,$(@:.d=.o) $@,' $(sed-remove-objpfx) > $(@:.d=.T) +mv -f $(@:.d=.T) $@ +endef +ifneq (,$(objpfx)) +sed-remove-objpfx = -e 's@ $(subst @,\@,$(objpfx))@ $$(objpfx)@g' \ + -e 's@^$(subst @,\@,$(objpfx))@$$(objpfx)@g' +endif + +# Figure out the source filenames in this directory. + +override sources := $(addsuffix .c,$(filter-out $(elided-routines),\ + $(routines) $(aux) \ + $(sysdep_routines))) +sysdep_routines := $(sysdep_routines) + +# This is the list of all object files, gotten by +# replacing every ".c" in `sources' with a ".o". +override objects := $(addprefix $(objpfx),$(sources:.c=.o)) + ++depfiles := $(strip $(sources:.c=.d) \ + $(patsubst %.o,%.d,$(filter %.o,$(extra-objs))) \ + $(addsuffix .d,$(others) $(tests))) ++depfiles := $(addprefix $(objpfx),\ + $(filter-out $(addsuffix .d,$(omit-deps)),\ + $(+depfiles))) + +$(objpfx)depend-$(subdir): Makefile +ifdef +depfiles + for file in $(+depfiles:$(objpfx)%=%); do \ + echo "include \$$(objpfx)$$file"; \ + done > $@-tmp + mv -f $@-tmp $@ +else + cp /dev/null $@ +endif + +ifneq ($(no_deps),t) +# Include the generated dependencies of the sources in this directory. +include $(objpfx)depend-$(subdir) +endif + +# Maximize efficiency by minimizing the number of rules. +.SUFFIXES: # Clear the suffix list. +# Add the suffixes we use. +.SUFFIXES: .a .o .S .s .c .h .d + +# Generic rule for making directories. +%/: +# mkdir isn't smart enough to strip a trailing /. + mkdir $(@:%/=%) + +# Make sure that object files are not removed +# when they are intermediates between sources and library members. +# This can go away with make v4. +.PRECIOUS: %.o + +# Make sure that the parent library archive is never removed. +.PRECIOUS: $(libc.a) + +# Use the verbose option of ar and tar when not running silently. +ifeq "$(findstring s,$(MAKEFLAGS))" "" # if not -s +verbose := v +else # -s +verbose := +endif # not -s + +ARFLAGS := r$(verbose) + +# This makes all the object files in the parent library archive. + +.PHONY: lib libobjs lib-noranlib +$(libc.a): $(libc.a)(__.SYMDEF) +lib: $(libc.a) + ++libobjs := $(patsubst %,$(libc.a)(%),$(notdir $(objects))) +libobjs: $(+libobjs) +lib-noranlib: libobjs + +# Define a pattern rule that will match many targets libc.%(foo.o), for +# each foo in $(objects) (% will just happen always to match `a'). This is +# the only way to define a rule that updates many targets at once with one +# sequence of commands. +ifdef objects +$(patsubst %,$(libc.a:a=)\%(%),$(notdir $(objects))): $(objpfx)stamp-$(subdir); +$(objpfx)stamp-$(subdir): $(objects) +# $(+libc_lock_open) +ifdef objdir + cd $(objdir); $(AR) cru$(verbose) libc.a $(patsubst $(objpfx)%,%,$^) +else + $(AR) cru$(verbose) $(..)libc.a $^ +endif +# $(+libc_lock_close) + touch $@ +endif + +$(libc.a)(__.SYMDEF): $(+libobjs) + $(RANLIB) $@ + +define +libc_lock_open +@. $(..)libc-lock-open +endef +define +libc_lock_close +@rm -f $(..)LOCK-libc.a +endef + +# This makes all the object files. +.PHONY: objects objs +objects objs: $(objects) $(addprefix $(objpfx),$(extra-objs)) + +# Installation. + +# $(install-lib) are installed from the object directory into $(libdir); +# files in $(install-lib) matching `lib%.a' are ranlib'd after installation +# unless they also appear in $(non-lib.a). $(install-data) are installed +# as they are into $(datadir). $(headers) are installed as they are in +# $(includedir). $(install-bin) and $(install-sbin) are installed from the +# object directory into $(bindir) and $(sbindir), respectively. +# $(install-others) are absolute path names of files to install; rules to +# install them are defined elsewhere. + +# The simple library name to install libc.a under. +# This could be defined by a sysdep Makefile. +ifndef libc-name +libc-name := c +endif + +define do-install +$(make-target-directory) +$(INSTALL_DATA) $< $@ +endef + +# Make the target directory if it doesn't exist. Because of make's +# directory cache, this will produce the `mkdir' command when the directory +# already exists, if it didn't exist at the start of the `make' run. The +# `-' prefix ignores errors from mkdir, so there will just be some +# gratuitous but harmless `File exists' messages. +define make-target-directory +$(addprefix -mkdir ,$(filter-out $(wildcard $(@D:%/=%)),$(@D:%/=%))) +endef + +# Any directory (parent or subdir) that has any object files to build +# should install libc.a; this way "make install" in a subdir is guaranteed +# to install everything it changes. +ifdef objects +install: $(libdir)/lib$(libprefix)$(libc-name).a +# We avoid depending on lib-noranlib because that makes the parent make +# subdir_lib in all the subdirs, when the make install run they do will +# update the library anyway. Running ranlib after installing makes the +# __.SYMDEF time stamp up to date, which avoids messages from some linkers. +# Depending on subdir_install gets all the subdirs to update the library, +# and is optimal for `make install' at top level. +$(libdir)/lib$(libprefix)$(libc-name).a: libobjs subdir_install + $(make-target-directory) + $(INSTALL_DATA) $(libc.a) $@ + $(RANLIB) $@ +endif + +ifdef install-bin +$(addprefix $(bindir)/,$(install-bin)): $(bindir)/%: $(objpfx)% + $(make-target-directory) + $(INSTALL_PROGRAM) $< $@ +endif +ifdef install-sbin +$(addprefix $(sbindir)/,$(install-sbin)): $(sbindir)/%: $(objpfx)% + $(make-target-directory) + $(INSTALL_PROGRAM) $< $@ +endif +ifdef install-lib +install-lib.a := $(filter lib%.a,$(install-lib)) +install-lib-non.a := $(filter-out lib%.a,$(install-lib)) +ifdef install-lib-non.a +$(addprefix $(libdir)/$(libprefix),$(install-lib-non.a)): \ + $(libdir)/$(libprefix)%: $(objpfx)% + $(do-install) +endif +ifdef install-lib.a +$(install-lib.a:lib%.a=$(libdir)/lib$(libprefix)%.a): \ + $(libdir)/lib$(libprefix)%.a: $(objpfx)lib%.a + $(do-install) + $(patsubst %,$(RANLIB) $@,$(filter-out $(non-lib.a),$( $@T + mv -f $@T $@ + +# Make the distribution tar file. + +.PHONY: dist +dist: distinfo $(..)Make-dist + $(MAKE) -f $< -f $(word 2,$^) $(Make-dist-args) + +dist: $(distribute) + +# We used to simply export all these variables, but that frequently made the +# environment get too large. Instead, we write all the information into +# a generated makefile fragment `distinfo', and then include it with -f in +# the sub-make that makes the distribution (above). +distinfo: Makefile $(..)Makerules + $(distinfo-vars) + mv -f $@.new $@ + +define distinfo-vars +rm -f $@.new +$(foreach var,subdir sources elided-routines headers distribute \ + dont_distribute generated others tests, +echo >> $@.new '$(var) := $($(var))') +echo >> $@.new 'sources := $$(sources) $$(addsuffix .c,$$(elided-routines))' +endef + +ifneq (,$(strip $(gpl2lgpl))) +ifneq (,$(wildcard $(..)gpl2lgpl.sed)) +# Snarf from the master source and frob the copying notice. +$(gpl2lgpl): %: $(..)gpl2lgpl.sed /home/gd/gnu/lib/% + sed -f $^ > $@-tmp +# So I don't edit them by mistake. + chmod a-w $@-tmp + mv -f $@-tmp $@ + test -d CVS && cvs commit -m'Updated from $^' $@ +endif +endif diff --git a/NEWS b/NEWS new file mode 100644 index 0000000..21f0db5 --- /dev/null +++ b/NEWS @@ -0,0 +1,323 @@ +GNU C Library NEWS -- history of user-visible changes. 26 January 1995 + +Copyright (C) 1992, 1993, 1994, 1995 Free Software Foundation, Inc. +See the end for copying conditions. + +Please send GNU C library bug reports to bug-glibc@prep.ai.mit.edu. + +Version 1.10 + +* The library has changed from using GNU ld symbol aliases to using weak + symbols where available. The ELF object file format supports weak + symbols; GNU ld also supports weak symbols in the a.out format. (There + is also now support for other GNU ld extensions in ELF. Use the + `--with-elf' option to configure to indicate you have elf, and + `--with-gnu-ld' if using GNU ld.) This changed resulted in the deletion + of many files which contained only symbol aliases, reducing the size of + the source and the compiled library; many other files were renamed to + less cryptic names previously occupied by the symbol alias files. + +* The pgrp functions have been regularized, slightly incompatibly but much + less confusingly. The core functions are now `getpgid' and `setpgid', + which take arguments for the PID to operate on; the POSIX.1 `getpgrp' (no + argument) and BSD `setpgrp' (identical to `setpgid') functions are + provided for compatibility. There is no longer an incompatible `getpgrp' + with an argument declared under _BSD_SOURCE; no BSD code uses it. + +* The new header file and suite of functions simplify programs that + operate on directory trees. This code comes from 4.4 BSD. + +* Converted to Autoconf version 2, so `configure' has more options. + Run `configure --help' to see the details. + +* The resolver code has been updated from the BIND-4.9.3-BETA14 release. + +* The new function `malloc_find_object_address' finds the starting address + of a malloc'd block, given any address within the block. This can be + useful for debugging. + +* The new functions `strtoq' and `strtouq' parse integer values from + strings, like `strtol' and `strtoul', but they return `long long int' and + `unsigned long long int' values, respectively (64-bit quantities). + +* There is a new malloc debugging hook `__memalign_hook'. + +* There are new typedefs `ushort' for `unsigned short int' and `uint' for + `unsigned int' in . These are for compatibility only and + their use is discouraged. + +* The `-lmcheck' library to enable standard malloc debugging hooks is now + done differently, so that it works even without GNU ld. + +Version 1.09 + +* For cross-compilation you should now set `BUILD_CC' instead of `HOST_CC'. + +* New header file and new functions `getfsspec', `getfsent' and + friends, for parsing /etc/fstab. This code comes from 4.4 BSD. + +* The new function `daemon' from 4.4 BSD is useful for server programs that + want to put themselves in the background. + +* Joel Sherrill has contributed support for several standalone boards that + run without an operating system. + +* `printf', `scanf' and friends now accept a `q' type modifier for long + long int as well as `ll'. Formats using these might be `%qu' or `%lld'. + +* All of the code taken from BSD (notably most of the math and networking + routines) has been updated from the BSD 4.4-Lite release. + +* The resolver code has been updated from the BIND-4.9.3-BETA9 release. + +* The new functions `getdomainname' and `setdomainname' fetch or change the + YP/NIS domain name. These are system calls which exist on systems which + have YP (aka NIS). + +* The time zone data files have been updated for the latest international + conventions. + +* The SunRPC programs `portmap' and `rpcinfo' are now installed in + $(sbindir) (usually /usr/local/sbin) instead of $(bindir). + +Version 1.08 + +* The C library now includes support for Sun RPC, from Sun's free + RPCSRC-4.0 distribution. The `portmap', `rpcinfo', and `rpcgen' programs + are included. (There is still no support for YP.) + +* Tom Quinn has contributed a port of the C library to SGI machines running + Irix 4 (mips-sgi-irix4). + +* The new `lockf' function is a simplified interface to the locking + facilities of `fcntl', included for compatibility. + +* New time functions `timegm', `timelocal', and `dysize' for compatibility. + +* New header file and new function `ftime' for compatibility. + +* New header files and and new function `poll' for + compatibility. + +* The error message printed by `assert' for a failed assertion now includes + the name of the program (if using GNU ld) and the name of the calling + function (with versions of GCC that support this). + +* The `psignal' function is now declared in , not . + +* The library now includes the header file and memory + management functions `mmap', `munmap', `mprotect', `msync', and + `madvise', on systems that support those facilities. + +* The interface for `mcheck' has changed slightly: the function called to + abort the program when an allocation inconsistency is detected now takes + an argument that indicates the type of failure. The new function + `mprobe' lets you request a consistency check for a particular block at + any time (checks are normally done only when you call `free' or `realloc' + on a block). + +* It is now possible to easily cross-compile the C library, building on one + system a library to run on another machine and/or operating system. All + you need to do is set the variable `HOST_CC' in `configparms' to the + native compiler for programs to run on the machine you are building on (a + few generator programs are used on Unix systems); set `CC' to the + cross-compiler. + +* The new function `fexecve' (only implemented on the GNU system) executes + a program file given a file descriptor already open on the file. + +Version 1.07 + +* Brendan Kehoe has contributed most of a port to the DEC Alpha + running OSF/1 (alpha-dec-osf1). He says it is 75% complete. + +* You can set the variable `libprefix' in `configparms' to specify a prefix + to be prepended to installed library files; this makes it easy to install + the GNU C library to be linked as `-lgnuc' or whatever. + +* The new `stpncpy' is a cross between `stpcpy' and `strncpy': It + copies a limited number of characters from a string, and returns the + address of the last character written. + +* You no longer need to check for whether the installed `stddef.h' is + compatible with the GNU C library. configure now checks for you. + +* You can now define a per-stream `fileno' function to convert the + stream's cookie into an integral file descriptor. + +* ``malloc (0)'' no longer returns a null pointer. Instead, it + allocates zero bytes of storage, and returns a unique pointer which + you can pass to `realloc' or `free'. The behavior is undefined if + you dereference this pointer. + +* The C library now runs on Sony NEWS m68k machines running either + NewsOS 3 or NewsOS 4. + +* The new `syscall' function is a system-dependent primitive function + for invoking system calls. It has the canonical behavior on Unix + systems, including unreliable return values for some calls (such as + `pipe', `fork' and `getppid'). + +* The error code `EWOULDBLOCK' is now obsolete; it is always defined + to `EAGAIN', which is the preferred name. On systems whose kernels + use two distinct codes, the C library now translates EWOULDBLOCK to + EAGAIN in every system call function. + +Version 1.06 + +* The GNU C Library Reference Manual is now distributed with the library. + `make dvi' will produce a DVI file of the printed manual. + `make info' will produce Info files that you can read on line using C-h i + in Emacs or the `info' program. + Please send comments on the manual to bug-glibc-manual@prep.ai.mit.edu. + +* The library now supports SVR4 on i386s (i386-unknown-sysv4). + +* Brendan Kehoe has contributed a port to Sun SPARCs running Solaris 2. + +* Jason Merrill has contributed a port to the Sequent Symmetry running + Dynix version 3 (i386-sequent-dynix). + +* The library has been ported to i386s running SCO 3.2.4 (also known as SCO + ODT 2.0; i386-unknown-sco3.2.4) or SCO 3.2 (i386-unknown-sco3.2). + +* New function `memory_warnings' lets you arrange to get warnings when + malloc is running out of memory to allocate, like Emacs gives you. + +* The C library now contains the relocating allocator used in Emacs 19 for + its editing buffers. This allocator (ralloc) minimizes allocation + overhead and fragmentation by moving allocated regions around whenever it + needs to. You always refer to a ralloc'd region with a "handle" (a + pointer to a pointer--an object of type `void **'). + +* There is a new `printf' format: `%m' gives you the string corresponding + to the error code in `errno'. + +* In `scanf' formats, you can now use `%as' or `%a[' to do the normal `%s' + or `%[' conversion, but instead of filling in a fixed-sized buffer you + pass, the `a' modifier says to fill in a `char **' you pass with a + malloc'd string. + +* The `fnmatch' function supports the new flag bits `FNM_LEADING_DIR' and + `FNM_CASEFOLD'. `FNM_LEADING_DIR' lets a pattern like `foo*' match a + name like `foo/bar'. `FNM_CASEFOLD' says to ignore case in matching. + +* `mkstemp' is a traditional Unix function to atomically create and open a + uniquely-named temporary file. + +Version 1.05 + +* The standard location for the file that says what the local timezone is + has changed again. It is now `/usr/local/etc/localtime' (or more + precisely, `${prefix}/etc/localtime') rather than `/etc/localtime'. + +* The distribution no longer contains any files with names longer than 14 + characters. + +* `struct ttyent' has two new flag bits: TTY_TRUSTED and TTY_CONSOLE. + These are set by the new `trusted' and `console' keywords in `/etc/ttys'. + +* New functions `ttyslot' and `syslog' from 4.4 BSD. + +Version 1.04 + +* The configuration process has changed quite a bit. The `configure' + script is now used just like the configuration scripts for other GNU + packages. The `sysdeps' directory hierarchy is much rearranged. + The file `INSTALL' explains the new scheme in detail. + +* The header files no longer need to be processed into ANSI C and + traditional C versions. There is just one set of files to install, and + it will work with ANSI or old C compilers (including `gcc -traditional'). + +* Brendan Kehoe and Ian Lance Taylor have ported the library to the + MIPS DECStation running Ultrix 4. + +* The Sun 4 startup code (crt0) can now properly load SunOS 4 shared libraries. + Tom Quinn contributed the initial code. The GNU C library can NOT yet be + made itself into a shared library. + +* Yet further improved support for the i386, running 4.3 BSD-like systems + (such as Mach 3 with the Unix single-server), or System V. + +* New function `strncasecmp' to do case-insensitive string comparison + with limited length. + +* New function `strsep' is a reentrant alternative to `strtok'. + +* New functions `scandir' and `alphasort' for searching directories. + +* New function `setenv' is a better interface to `putenv'. + +* Ian Lance Taylor has contributed an implementation of the SVID `ftw' + function for traversing a directory tree. + +* The GNU obstack package is now also part of the C library. + The new function `open_obstack_stream' creates a stdio stream that + writes onto an obstack; `obstack_printf' and `obstack_vprintf' do + formatted output directly to an obstack. + +* Miscellaneous new functions: reboot, nice, sigaltstack (4.4 BSD only), + cfmakeraw, getusershell, getpass, swab, getttyent, seteuid, setegid. + +* `FNM_FILE_NAME' is another name for `FNM_PATHNAME', used with `fnmatch'. + +* The new functions `strfry' and `memfrob' do mysterious and wonderful + things to your strings. + +* There are some new test programs: test-fseek, testmb, and testrand. + +* Some work has been done to begin porting the library to 4.4 BSD and Linux. + These ports are not finished, but are a good starting place for really + supporting those systems. + +* `/etc/localtime' is now the standard location for the file that says what + the local timezone is, rather than `/usr/local/lib/zoneinfo/localtime'. + This follows the general principle that `/etc' is the place for all local + configuration files. + +* The C library header files now use `extern "C"' when used by the C++ + compiler, so the C library should now work with C++ code. + +* The header file is gone. now declares bcopy, + bcmp, bzero, and ffs. + +* Mike Haertel (of GNU e?grep and malloc fame) has written a new sorting + function which uses the `merge sort' algorithm, and is said to be + significantly faster than the old GNU `qsort' function. Merge sort is + now the standard `qsort' function. The new algorithm can require a lot + of temporary storage; so, the old sorting function is called when the + required storage is not available. + +* The C library now includes Michael Glad's Ultra Fast Crypt, which + provides the Unix `crypt' function, plus some other entry points. + Because of the United States export restriction on DES implementations, + we are distributing this code separately from the rest of the C library. + There is an extra distribution tar file just for crypt; it is called + `glibc-VERSION-crypt.tar.Z', e.g. `glibc-1.04-crypt.tar.Z'. You can just + unpack the crypt distribution along with the rest of the C library and + build; you can also build the library without getting crypt. Users + outside the USA can get the crypt distribution via anonymous FTP from + ftp.uni-c.dk [129.142.6.74], or another archive site outside the U.S. + +* The code and header files taken from 4.4 BSD have been updated with the + latest files released from Berkeley. + +---------------------------------------------------------------------- +Copyright information: + +Copyright (C) 1992, 1993, 1994, 1995 Free Software Foundation, Inc. + + Permission is granted to anyone to make or distribute verbatim copies + of this document as received, in any medium, provided that the + copyright notice and this permission notice are preserved, + thus giving the recipient permission to redistribute in turn. + + Permission is granted to distribute modified versions + of this document, or of portions of it, + under the above conditions, provided also that they + carry prominent notices stating who last changed them. + +Local variables: +version-control: never +end: diff --git a/NOTES b/NOTES new file mode 100644 index 0000000..2af653c --- /dev/null +++ b/NOTES @@ -0,0 +1,95 @@ +Feature Test Macros +------------------- + + The exact set of features available when you compile a source file +is controlled by which "feature test macros" you define. + + If you compile your programs using `gcc -ansi', you get only the +ANSI C library features, unless you explicitly request additional +features by defining one or more of the feature macros. *Note GNU CC +Command Options: (gcc.info)Invoking GCC, for more information about GCC +options. + + You should define these macros by using `#define' preprocessor +directives at the top of your source code files. These directives +*must* come before any `#include' of a system header file. It is best +to make them the very first thing in the file, preceded only by +comments. You could also use the `-D' option to GCC, but it's better +if you make the source files indicate their own meaning in a +self-contained way. + + - Macro: _POSIX_SOURCE + If you define this macro, then the functionality from the POSIX.1 + standard (IEEE Standard 1003.1) is available, as well as all of the + ANSI C facilities. + + - Macro: _POSIX_C_SOURCE + If you define this macro with a value of `1', then the + functionality from the POSIX.1 standard (IEEE Standard 1003.1) is + made available. If you define this macro with a value of `2', + then both the functionality from the POSIX.1 standard and the + functionality from the POSIX.2 standard (IEEE Standard 1003.2) are + made available. This is in addition to the ANSI C facilities. + + - Macro: _BSD_SOURCE + If you define this macro, functionality derived from 4.3 BSD Unix + is included as well as the ANSI C, POSIX.1, and POSIX.2 material. + + Some of the features derived from 4.3 BSD Unix conflict with the + corresponding features specified by the POSIX.1 standard. If this + macro is defined, the 4.3 BSD definitions take precedence over the + POSIX definitions. + + Due to the nature of some of the conflicts between 4.3 BSD and + POSIX.1, you need to use a special "BSD compatibility library" + when linking programs compiled for BSD compatibility. This is + because some functions must be defined in two different ways, one + of them in the normal C library, and one of them in the + compatibility library. If your program defines `_BSD_SOURCE', you + must give the option `-lbsd-compat' to the compiler or linker when + linking the program, to tell it to find functions in this special + compatibility library before looking for them in the normal C + library. + + - Macro: _SVID_SOURCE + If you define this macro, functionality derived from SVID is + included as well as the ANSI C, POSIX.1, and POSIX.2 material. + + - Macro: _GNU_SOURCE + If you define this macro, everything is included: ANSI C, POSIX.1, + POSIX.2, BSD, SVID, and GNU extensions. In the cases where POSIX.1 + conflicts with BSD, the POSIX definitions take precedence. + + If you want to get the full effect of `_GNU_SOURCE' but make the + BSD definitions take precedence over the POSIX definitions, use + this sequence of definitions: + + #define _GNU_SOURCE + #define _BSD_SOURCE + #define _SVID_SOURCE + + Note that if you do this, you must link your program with the BSD + compatibility library by passing the `-lbsd-compat' option to the + compiler or linker. *Note:* If you forget to do this, you may get + very strange errors at run time. + + We recommend you use `_GNU_SOURCE' in new programs. If you don't +specify the `-ansi' option to GCC and don't define any of these macros +explicitly, the effect is the same as defining `_GNU_SOURCE'. + + When you define a feature test macro to request a larger class of +features, it is harmless to define in addition a feature test macro for +a subset of those features. For example, if you define +`_POSIX_C_SOURCE', then defining `_POSIX_SOURCE' as well has no effect. +Likewise, if you define `_GNU_SOURCE', then defining either +`_POSIX_SOURCE' or `_POSIX_C_SOURCE' or `_SVID_SOURCE' as well has no +effect. + + Note, however, that the features of `_BSD_SOURCE' are not a subset of +any of the other feature test macros supported. This is because it +defines BSD features that take precedence over the POSIX features that +are requested by the other macros. For this reason, defining +`_BSD_SOURCE' in addition to the other feature test macros does have an +effect: it causes the BSD features to take priority over the conflicting +POSIX features. + diff --git a/README b/README new file mode 100644 index 0000000..b9b43e3 --- /dev/null +++ b/README @@ -0,0 +1,67 @@ +This directory contains the version 1.09.5 test release of the GNU C Library. +Many bugs have been fixed since the last release. +Some bugs surely remain. + +As of this release, the GNU C library has been ported to the following +configurations: + + alpha-dec-osf1 + i386-bsd4.3 + i386-force_cpu386-none + i386-gnu (for Hurd development only) + i386-isc2.2 + i386-isc3 + i386-sco3.2 + i386-sco3.2v4 + i386-sequent-bsd + i386-sysv + i386-sysv4 + i960-nindy960-none + m68k-hp-bsd4.3 + m68k-mvme135-none + m68k-mvme136-none + m68k-sony-newsos3 + m68k-sony-newsos4 + m68k-sun-sunos4 + mips-dec-ultrix4 + mips-sgi-irix4 + sparc-sun-solaris2 + sparc-sun-sunos4 + +Porting the library is not hard. If you are interested in doing a port, +please get on the mailing list by sending electronic mail to +bug-glibc-request@prep.ai.mit.edu. + +The GNU C library now includes Michael Glad's Ultra Fast Crypt, which +provides the Unix `crypt' function, plus some other entry points. +Because of the United States export restriction on DES implementations, +we are distributing this code separately from the rest of the C +library. There is an extra distribution tar file just for crypt; it is +called `glibc-1.09.5-crypt.tar.gz'. You can just unpack the crypt +distribution along with the rest of the C library and build; you can +also build the library without getting crypt. Users outside the USA +can get the crypt distribution via anonymous FTP from ftp.uni-c.dk +[129.142.6.74], or another archive site outside the USA. Archive +maintainers are encouraged to copy this distribution to their archives +outside the USA. Please get it from ftp.uni-c.dk; transferring this +distribution from prep.ai.mit.edu (or any other site in the USA) to a +site outside the USA is in violation of US export laws. + +See the file INSTALL to find out how to configure, build, install, and port +the GNU C library. + +The GNU C Library is completely documented by the Texinfo manual found +in the `manual/' subdirectory. The manual is still being updated and +contains some known errors and omissions; we regret that we do not have +the resources to work on the manual as much as we would like. Please +send comments on the manual to bug-glibc-manual@prep.ai.mit.edu, and +not to the library bug-reporting address. + +The file NOTES contains a description of the feature-test macros used +in the GNU C library, explaining how you can tell the library what +facilities you want it to make available. + +Send bug reports to bug-glibc@prep.ai.mit.edu. + +The GNU C Library is free software. See the file COPYING.LIB for copying +conditions. diff --git a/README.template b/README.template new file mode 100644 index 0000000..6cd5ffa --- /dev/null +++ b/README.template @@ -0,0 +1,67 @@ +This directory contains the version VERSION test release of the GNU C Library. +Many bugs have been fixed since the last release. +Some bugs surely remain. + +As of this release, the GNU C library has been ported to the following +configurations: + + alpha-dec-osf1 + i386-bsd4.3 + i386-force_cpu386-none + i386-gnu (for Hurd development only) + i386-isc2.2 + i386-isc3 + i386-sco3.2 + i386-sco3.2v4 + i386-sequent-bsd + i386-sysv + i386-sysv4 + i960-nindy960-none + m68k-hp-bsd4.3 + m68k-mvme135-none + m68k-mvme136-none + m68k-sony-newsos3 + m68k-sony-newsos4 + m68k-sun-sunos4 + mips-dec-ultrix4 + mips-sgi-irix4 + sparc-sun-solaris2 + sparc-sun-sunos4 + +Porting the library is not hard. If you are interested in doing a port, +please get on the mailing list by sending electronic mail to +bug-glibc-request@prep.ai.mit.edu. + +The GNU C library now includes Michael Glad's Ultra Fast Crypt, which +provides the Unix `crypt' function, plus some other entry points. +Because of the United States export restriction on DES implementations, +we are distributing this code separately from the rest of the C +library. There is an extra distribution tar file just for crypt; it is +called `glibc-VERSION-crypt.tar.gz'. You can just unpack the crypt +distribution along with the rest of the C library and build; you can +also build the library without getting crypt. Users outside the USA +can get the crypt distribution via anonymous FTP from ftp.uni-c.dk +[129.142.6.74], or another archive site outside the USA. Archive +maintainers are encouraged to copy this distribution to their archives +outside the USA. Please get it from ftp.uni-c.dk; transferring this +distribution from prep.ai.mit.edu (or any other site in the USA) to a +site outside the USA is in violation of US export laws. + +See the file INSTALL to find out how to configure, build, install, and port +the GNU C library. + +The GNU C Library is completely documented by the Texinfo manual found +in the `manual/' subdirectory. The manual is still being updated and +contains some known errors and omissions; we regret that we do not have +the resources to work on the manual as much as we would like. Please +send comments on the manual to bug-glibc-manual@prep.ai.mit.edu, and +not to the library bug-reporting address. + +The file NOTES contains a description of the feature-test macros used +in the GNU C library, explaining how you can tell the library what +facilities you want it to make available. + +Send bug reports to bug-glibc@prep.ai.mit.edu. + +The GNU C Library is free software. See the file COPYING.LIB for copying +conditions. diff --git a/Rules b/Rules new file mode 100644 index 0000000..2d33edc --- /dev/null +++ b/Rules @@ -0,0 +1,128 @@ +# Copyright (C) 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc. +# This file is part of the GNU C Library. + +# The GNU C Library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Library General Public License as +# published by the Free Software Foundation; either version 2 of the +# License, or (at your option) any later version. + +# The GNU C Library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Library General Public License for more details. + +# You should have received a copy of the GNU Library General Public +# License along with the GNU C Library; see the file COPYING.LIB. If +# not, write to the Free Software Foundation, Inc., 675 Mass Ave, +# Cambridge, MA 02139, USA. + +# +# Rules for making a subdirectory in the GNU C library. +# Each subdirectory Makefile defines some variables and includes this. +# +ifneq (,) +This makefile requires GNU Make. +endif + +all: # Don't let the default goal come from Makeconfig. + +include ../Makeconfig + +ifndef subdir +Each subdirectory makefile must define the `subdir' variable. +endif +# This is benign and useless in GNU make before 3.63. +export subdir := $(subdir) + +# This is the default target; it makes the library and auxiliary programs. +.PHONY: all +all: lib others + +ifneq "$(findstring env,$(origin headers))" "" +headers := +endif + +ifneq "$(findstring env,$(origin generated))" "" +generated := +endif + +ifeq "$(strip $(headers))" "" +ifneq "$(wildcard $(subdir).h)" "" +override headers := $(subdir).h +endif +endif + +include ../Makerules + +.PHONY: subdir_lib +subdir_lib: lib-noranlib + +# Some subdirs need to install a dummy library. +# They can use "$(objpfx)libfnord.a: $(dep-dummy-lib); $(make-dummy-lib)". +dep-dummy-lib = $(objpfx)dummy.o +define make-dummy-lib +$(AR) cr$(verbose) $@ $< +endef +$(objpfx)dummy.o: + @rm -f $(@:.o=.c) + echo 'void __dummy__ () { }' > $(@:.o=.c) + $(CC) -c $(@:.o=.c) -o $@ + +# This makes all the auxilliary and test programs. + +.PHONY: others tests +others: $(addprefix $(objpfx),$(others)) +ifeq ($(cross-compiling),yes) +tests: $(addprefix $(objpfx),$(tests)) +else +tests: $(tests:%=$(objpfx)%.out) +endif + +ifneq "$(strip $(others) $(tests))" "" +$(addprefix $(objpfx),$(others) $(tests)): %: %.o $(libc.a) + $(+link) +endif + +ifneq "$(strip $(tests))" "" +# These are the implicit rules for making test outputs +# from the test programs and whatever input files are present. +$(objpfx)%.out: $(objpfx)% %.args %.input + $(dir $<)$(notdir $<) `cat $(word 2,$^)` < $(word 3,$^) > $@ +$(objpfx)%.out: $(objpfx)% %.args + $(dir $<)$(notdir $<) `cat $(word 2,$^)` > $@ +$(objpfx)%.out: $(objpfx)% %.input + $(dir $<)$(notdir $<) < $(word 2,$^) > $@ +$(objpfx)%.out: $(objpfx)% + $(dir $<)$(notdir $<) > $@ +endif # tests + +.PHONY: distclean realclean subdir_distclean subdir_realclean \ + subdir_clean subdir_mostlyclean +subdir_mostlyclean: mostlyclean +subdir_clean: clean +subdir_distclean: distclean +subdir_realclean: realclean +realclean: distclean +distclean: clean + +.PHONY: subdir_echo-headers +subdir_echo-headers: echo-headers + +.PHONY: subdir_echo-distinfo +subdir_echo-distinfo: + @echo $(addprefix +header+,$(headers)) \ + $(addprefix +nodist+,$(generated) $(dont_distribute)) + +# We want to install everything except the library itself, but update all +# our portions of the library because the parent make will install it later +# (likewise the stubs file). +.PHONY: subdir_install +subdir_install: install-no-libc.a lib-noranlib stubs + +.PHONY: subdir_TAGS subdir_dist +subdir_TAGS: TAGS +subdir_dist: dist + +# Convenient target to update all the generated source files. +.PHONY: generated +generated: $(addprefix $(objpfx),$(generated)) diff --git a/a.out.h b/a.out.h new file mode 100644 index 0000000..9582d72 --- /dev/null +++ b/a.out.h @@ -0,0 +1 @@ +#include diff --git a/aclocal.m4 b/aclocal.m4 new file mode 100644 index 0000000..1d48b8f --- /dev/null +++ b/aclocal.m4 @@ -0,0 +1,32 @@ +dnl We define the macro GLIBC_PROVIDES to do an AC_PROVIDE for each macro +dnl which appears in configure.in before the sysdep configure scripts are run. +dnl Each sysdep configure.in does GLIBC_PROVIDES first, to avoid any +dnl AC_REQUIREs or AC_BEFOREs duplicating their code. +dnl +define(AC_FD_MSG,4)dnl Autoconf lossage. +AC_DEFUN([GLIBC_PROVIDES], [dnl +AC_PROVIDE([AC_PROG_INSTALL])dnl +AC_PROVIDE([AC_PROG_RANLIB])dnl +AC_PROVIDE([AC_PROG_CC])dnl +AC_PROVIDE([AC_PROG_CPP])dnl +# This file is generated from configure.in by Autoconf. DO NOT EDIT! +])dnl +dnl +dnl Check for a symbol +dnl +AC_DEFUN(AC_CHECK_SYMBOL, [dnl +AC_MSG_CHECKING(for $1) +AC_CACHE_VAL(ac_cv_check_symbol_$1, [dnl +AC_TRY_LINK(, +changequote(,)dnl +extern char *$1[]; puts(*$1);, +changequote([,])dnl + ac_cv_check_symbol_$1=yes, ac_cv_check_symbol_$1=no)]) +if test "$ac_cv_check_symbol_$1" = yes; then +changequote(,)dnl + ac_tr_symbol=`echo $1 | tr '[a-z]' '[A-Z]'` +changequote([,])dnl + AC_DEFINE_UNQUOTED(HAVE_${ac_tr_symbol}) +fi +AC_MSG_RESULT($ac_cv_check_symbol_$1)])dnl +dnl diff --git a/alloca.h b/alloca.h new file mode 100644 index 0000000..34eeeab --- /dev/null +++ b/alloca.h @@ -0,0 +1 @@ +#include diff --git a/ansidecl.h b/ansidecl.h new file mode 100644 index 0000000..c351653 --- /dev/null +++ b/ansidecl.h @@ -0,0 +1,108 @@ +/* Copyright (C) 1991 Free Software Foundation, Inc. +This file is part of the GNU C Library. + +The GNU C Library is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 1, or (at your option) +any later version. + +The GNU C Library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with the GNU C Library; see the file COPYING. If not, write to +the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ + +/* ANSI and traditional C compatibility macros + + ANSI C is assumed if __STDC__ is #defined. + + Macro ANSI C definition Traditional C definition + ----- ---- - ---------- ----------- - ---------- + PTR `void *' `char *' + LONG_DOUBLE `long double' `double' + CONST `const' `' + VOLATILE `volatile' `' + SIGNED `signed' `' + PTRCONST `void *const' `char *' + + DEFUN(name, arglist, args) + + Defines function NAME. + + ARGLIST lists the arguments, separated by commas and enclosed in + parentheses. ARGLIST becomes the argument list in traditional C. + + ARGS list the arguments with their types. It becomes a prototype in + ANSI C, and the type declarations in traditional C. Arguments should + be separated with `AND'. For functions with a variable number of + arguments, the last thing listed should be `DOTS'. + + DEFUN_VOID(name) + + Defines a function NAME, which takes no arguments. + + EXFUN(name, prototype) + + Is used in an external function declaration. + In ANSI C it is `NAMEPROTOTYPE' (so PROTOTYPE should be enclosed in + parentheses). In traditional C it is `NAME()'. + For a function that takes no arguments, PROTOTYPE should be `(NOARGS)'. + + For example: + extern int EXFUN(printf, (CONST char *format DOTS)); + int DEFUN(fprintf, (stream, format), + FILE *stream AND CONST char *format DOTS) { ... } + void DEFUN_VOID(abort) { ... } +*/ + +#ifndef _ANSIDECL_H + +#define _ANSIDECL_H 1 + + +/* Every source file includes this file, + so they will all get the switch for lint. */ +/* LINTLIBRARY */ + + +#ifdef __STDC__ + +#define PTR void * +#define PTRCONST void *CONST +#define LONG_DOUBLE long double + +#define AND , +#define NOARGS void +#define CONST const +#define VOLATILE volatile +#define SIGNED signed +#define DOTS , ... + +#define EXFUN(name, proto) name proto +#define DEFUN(name, arglist, args) name(args) +#define DEFUN_VOID(name) name(NOARGS) + +#else /* Not ANSI C. */ + +#define PTR char * +#define PTRCONST PTR +#define LONG_DOUBLE double + +#define AND ; +#define NOARGS +#define CONST +#define VOLATILE +#define SIGNED +#define DOTS + +#define EXFUN(name, proto) name() +#define DEFUN(name, arglist, args) name arglist args; +#define DEFUN_VOID(name) name() + +#endif /* ANSI C. */ + + +#endif /* ansidecl.h */ diff --git a/arpa/ftp.h b/arpa/ftp.h new file mode 100644 index 0000000..c716d68 --- /dev/null +++ b/arpa/ftp.h @@ -0,0 +1 @@ +#include diff --git a/arpa/inet.h b/arpa/inet.h new file mode 100644 index 0000000..65733b6 --- /dev/null +++ b/arpa/inet.h @@ -0,0 +1 @@ +#include diff --git a/arpa/nameser.h b/arpa/nameser.h new file mode 100644 index 0000000..944fe73 --- /dev/null +++ b/arpa/nameser.h @@ -0,0 +1 @@ +#include diff --git a/arpa/telnet.h b/arpa/telnet.h new file mode 100644 index 0000000..742c04c --- /dev/null +++ b/arpa/telnet.h @@ -0,0 +1 @@ +#include diff --git a/arpa/tftp.h b/arpa/tftp.h new file mode 100644 index 0000000..21d5197 --- /dev/null +++ b/arpa/tftp.h @@ -0,0 +1 @@ +#include diff --git a/assert.h b/assert.h new file mode 100644 index 0000000..e2fa702 --- /dev/null +++ b/assert.h @@ -0,0 +1 @@ +#include diff --git a/assert/Makefile b/assert/Makefile new file mode 100644 index 0000000..76b75bb --- /dev/null +++ b/assert/Makefile @@ -0,0 +1,26 @@ +# Copyright (C) 1991, 1994 Free Software Foundation, Inc. +# This file is part of the GNU C Library. + +# The GNU C Library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Library General Public License as +# published by the Free Software Foundation; either version 2 of the +# License, or (at your option) any later version. + +# The GNU C Library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Library General Public License for more details. + +# You should have received a copy of the GNU Library General Public +# License along with the GNU C Library; see the file COPYING.LIB. If +# not, write to the Free Software Foundation, Inc., 675 Mass Ave, +# Cambridge, MA 02139, USA. + +# +# Sub-makefile for assert portion of the library. +# +subdir := assert + +routines := assert assert-perr + +include ../Rules diff --git a/assert/assert-perr.c b/assert/assert-perr.c new file mode 100644 index 0000000..b0436ad --- /dev/null +++ b/assert/assert-perr.c @@ -0,0 +1,55 @@ +/* Copyright (C) 1994, 1995 Free Software Foundation, Inc. +This file is part of the GNU C Library. + +The GNU C Library is free software; you can redistribute it and/or +modify it under the terms of the GNU Library General Public License as +published by the Free Software Foundation; either version 2 of the +License, or (at your option) any later version. + +The GNU C Library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Library General Public License for more details. + +You should have received a copy of the GNU Library General Public +License along with the GNU C Library; see the file COPYING.LIB. If +not, write to the Free Software Foundation, Inc., 675 Mass Ave, +Cambridge, MA 02139, USA. */ + +#include +#include +#include +#include + + +extern const char *__assert_program_name; /* In assert.c. */ + +/* This function, when passed an error number, a filename, and a line + number, prints a message on the standard error stream of the form: + a.c:10: foobar: Unexpected error: Computer bought the farm + It then aborts program execution via a call to `abort'. */ + +#ifdef FATAL_PREPARE_INCLUDE +#include FATAL_PREPARE_INCLUDE +#endif + +void +__assert_perror_fail (int errnum, + const char *file, unsigned int line, + const char *function) +{ +#ifdef FATAL_PREPARE + FATAL_PREPARE; +#endif + + /* Print the message. */ + (void) fprintf (stderr, "%s%s%s:%u: %s%sUnexpected error: %s.\n", + __assert_program_name ? __assert_program_name : "", + __assert_program_name ? ": " : "", + file, line, + function ? function : "", function ? ": " : "", + strerror (errnum)); + (void) fflush (stderr); + + abort (); +} diff --git a/assert/assert.c b/assert/assert.c new file mode 100644 index 0000000..9da9e22 --- /dev/null +++ b/assert/assert.c @@ -0,0 +1,83 @@ +/* Copyright (C) 1991, 1994, 1995 Free Software Foundation, Inc. +This file is part of the GNU C Library. + +The GNU C Library is free software; you can redistribute it and/or +modify it under the terms of the GNU Library General Public License as +published by the Free Software Foundation; either version 2 of the +License, or (at your option) any later version. + +The GNU C Library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Library General Public License for more details. + +You should have received a copy of the GNU Library General Public +License along with the GNU C Library; see the file COPYING.LIB. If +not, write to the Free Software Foundation, Inc., 675 Mass Ave, +Cambridge, MA 02139, USA. */ + +#include +#include +#include +#include +#include + + +CONST char *__assert_program_name; + +/* This function, when passed a string containing an asserted + expression, a filename, and a line number, prints a message + on the standard error stream of the form: + a.c:10: foobar: Assertion `a == b' failed. + It then aborts program execution via a call to `abort'. */ + +#ifdef FATAL_PREPARE_INCLUDE +#include FATAL_PREPARE_INCLUDE +#endif + +void +DEFUN(__assert_fail, (assertion, file, line, function), + CONST char *assertion AND + CONST char *file AND unsigned int line AND CONST char *function) +{ +#ifdef FATAL_PREPARE + FATAL_PREPARE; +#endif + + /* Print the message. */ + (void) fprintf (stderr, "%s%s%s:%u: %s%sAssertion `%s' failed.\n", + __assert_program_name ? __assert_program_name : "", + __assert_program_name ? ": " : "", + file, line, + function ? function : "", function ? ": " : "", + assertion); + (void) fflush (stderr); + + abort (); +} + +#ifdef HAVE_GNU_LD + +#include + +static void +DEFUN(set_progname, (argc, argv, envp), + int argc AND char **argv AND char **envp) +{ + char *p; + + if (argv && argv[0]) + { + p = strrchr (argv[0], '/'); + if (p == NULL) + __assert_program_name = argv[0]; + else + __assert_program_name = p + 1; + } + + (void) &set_progname; /* Avoid "defined but not used" warning. */ +} + +text_set_element (__libc_subinit, set_progname); + +#endif diff --git a/assert/assert.h b/assert/assert.h new file mode 100644 index 0000000..7f7fc7f --- /dev/null +++ b/assert/assert.h @@ -0,0 +1,98 @@ +/* Copyright (C) 1991, 1992, 1994, 1995 Free Software Foundation, Inc. +This file is part of the GNU C Library. + +The GNU C Library is free software; you can redistribute it and/or +modify it under the terms of the GNU Library General Public License as +published by the Free Software Foundation; either version 2 of the +License, or (at your option) any later version. + +The GNU C Library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Library General Public License for more details. + +You should have received a copy of the GNU Library General Public +License along with the GNU C Library; see the file COPYING.LIB. If +not, write to the, 1992 Free Software Foundation, Inc., 675 Mass Ave, +Cambridge, MA 02139, USA. */ + +/* + * ANSI Standard: 4.2 DIAGNOSTICS + */ + +#ifdef _ASSERT_H + +#undef _ASSERT_H +#undef assert + +#endif /* assert.h */ + +#define _ASSERT_H 1 +#include + +/* void assert (int expression); + + If NDEBUG is defined, do nothing. + If not, and EXPRESSION is zero, print an error message and abort. */ + +#ifdef NDEBUG + +#define assert(expr) ((void) 0) + +/* void assert_perror (int errnum); + + If NDEBUG is defined, do nothing. If not, and ERRNUM is not zero, print an + error message with the error text for ERRNUM and abort. + (This is a GNU extension.) */ + +#ifdef __USE_GNU +#define assert_perror(errnum) ((void) 0) +#endif + +#else /* Not NDEBUG. */ + +#include + +__BEGIN_DECLS + +/* This prints an "Assertion failed" message and aborts. */ +extern void __assert_fail __P ((__const char *__assertion, + __const char *__file, + unsigned int __line, + __const char *__function)) + __attribute__ ((__noreturn__)); + +/* Likewise, but prints the error text for ERRNUM. */ +extern void __assert_perror_fail __P ((int __errnum, + __const char *__file, + unsigned int __line, + __const char *__function)) + __attribute__ ((__noreturn__)); + +__END_DECLS + +#define assert(expr) \ + ((void) ((expr) || \ + (__assert_fail (__STRING(expr), \ + __FILE__, __LINE__, __ASSERT_FUNCTION), 0))) + +#ifdef __USE_GNU +#define assert_perror(errnum) \ + ((void) ((errnum) && (__assert_perror_fail ((errnum), \ + __FILE__, __LINE__, \ + __ASSERT_FUNCTION), 0))) +#endif + +/* Version 2.4 and later of GCC define a magical variable `__PRETTY_FUNCTION__' + which contains the name of the function currently being defined. + This is broken in G++ before version 2.6. */ +#if (!defined (__GNUC__) || __GNUC__ < 2 || \ + __GNUC_MINOR__ < (defined (__cplusplus) ? 6 : 4)) +#define __ASSERT_FUNCTION ((__const char *) 0) +#else +#define __ASSERT_FUNCTION __PRETTY_FUNCTION__ +#endif + + +#endif /* NDEBUG. */ + diff --git a/bare/Makefile b/bare/Makefile new file mode 100644 index 0000000..588a713 --- /dev/null +++ b/bare/Makefile @@ -0,0 +1,55 @@ +# Copyright (C) 1994 Free Software Foundation, Inc. +# Contributed by Joel Sherrill (jsherril@redstone-emh2.army.mil), +# On-Line Applications Research Corporation. +# +# This file is part of the GNU C Library. +# +# The GNU C Library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Library General Public License as +# published by the Free Software Foundation; either version 2 of the +# License, or (at your option) any later version. +# +# The GNU C Library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Library General Public License for more details. +# +# You should have received a copy of the GNU Library General Public +# License along with the GNU C Library; see the file COPYING.LIB. If +# not, write to the Free Software Foundation, Inc., 675 Mass Ave, +# Cambridge, MA 02139, USA. + +subdir := bare + +bare-routines := brdinit console strtsupp +routines = $(bare-routines) +elided-routines = $(bare-routines) +extra-objs = $(bare-routines:%=%.o) + +install-lib = lib$(config-vendor).a + +include ../Rules + +# +# For bare targets, the $(config-vendor) is the name of the board. +# We will place the board dependent code ONLY in a library which +# is board dependent. This way many target boards can share a +# single libc.a. To resolve all symbols and successfully link +# a program, the application must link against libc.a and libMY_TARGET.a. +# For example, the target specific library for the Motorola MVME135 +# board will be named libmvme135.a. To link a program for the +# MVME135, one must link against -lc and -lmvme135. +# + +lib: $(objpfx)lib$(config-vendor).a + +$(objpfx)lib$(config-vendor).a: $(bare-routines:%=$(objpfx)%.o) +# This library is small enough that it's simplest to recreate the archive +# from scratch each time. + rm -f $@ +ifdef objdir + cd $(objdir); $(AR) cq$(verbose) $@ $(^:$(objpfx)%=%) +else + $(AR) cq$(verbose) $@ $^ +endif + $(RANLIB) $@ diff --git a/conf/portability.h b/conf/portability.h new file mode 100644 index 0000000..ab41b5d --- /dev/null +++ b/conf/portability.h @@ -0,0 +1,20 @@ +/* This file is used by some of the resolver code in inet/ that + comes from BIND 4.9. I have written this file instead of modifying + those things not to use it so that I can later drop in replacement + files from future BIND distributions without change. */ + +#include +#include +#include + +/* Some BIND code decides it can omit the definitions of some functions + if BSD is defined to some value. That might make sense when the BIND + code is augmenting or replacing an existing system library, but we can + never omit a function here, since we are defining the system library. */ + +#undef BSD + +/* Some code does stupid compatibility kludges for SunOS braindeath + #ifdef sun. */ + +#undef sun diff --git a/config-name.in b/config-name.in new file mode 100644 index 0000000..6380b09 --- /dev/null +++ b/config-name.in @@ -0,0 +1,10 @@ +/* @configure_input@ -*- C -*- + Generated from $Id$. + + This is used only by the generic `uname' function for systems with no real + `uname' call. If this data is not correct, it does not matter much. */ + +#define UNAME_SYSNAME "@uname_sysname@" +#define UNAME_RELEASE "@uname_release@" +#define UNAME_VERSION "@uname_version@" +#define UNAME_MACHINE "@host_cpu@-@host_vendor@" diff --git a/config.guess b/config.guess new file mode 100755 index 0000000..4d4e694 --- /dev/null +++ b/config.guess @@ -0,0 +1,494 @@ +#! /bin/sh +# Attempt to guess a canonical system name. +# Copyright (C) 1992, 1993, 1994, 1995 Free Software Foundation, Inc. +# +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Written by Per Bothner . +# The master version of this file is at the FSF in /home/gd/gnu/lib. +# +# This script attempts to guess a canonical system name similar to +# config.sub. If it succeeds, it prints the system name on stdout, and +# exits with 0. Otherwise, it exits with 1. +# +# The plan is that this can be called by configure scripts if you +# don't specify an explicit system type (host/target name). +# +# Only a few systems have been added to this list; please add others +# (but try to keep the structure clean). +# + +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# (ghazi@noc.rutgers.edu 8/24/94.) +if (test -f /.attbin/uname) >/dev/null 2>&1 ; then + PATH=$PATH:/.attbin ; export PATH +fi + +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown + +trap 'rm -f dummy.c dummy.o dummy; exit 1' 1 2 15 + +# Note: order is significant - the case branches are not exclusive. + +case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + alpha:OSF1:V*:*) + # After 1.2, OSF1 uses "V1.3" for uname -r. + echo alpha-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^V//'` + exit 0 ;; + alpha:OSF1:*:*) + # 1.2 uses "1.2" for uname -r. + echo alpha-dec-osf${UNAME_RELEASE} + exit 0 ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix${UNAME_RELEASE} + exit 0;; + Pyramid*:OSx*:*:*) + if test "`(/bin/universe) 2>/dev/null`" = att ; then + echo pyramid-pyramid-sysv3 + else + echo pyramid-pyramid-bsd + fi + exit 0 ;; + sun4*:SunOS:5.*:*) + echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit 0 ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. + echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit 0 ;; + sun4*:SunOS:*:*) + case "`/usr/bin/arch -k`" in + Series*|S4*) + UNAME_RELEASE=`uname -v` + ;; + esac + # Japanese Language versions have a version number like `4.1.3-JL'. + echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` + exit 0 ;; + sun3*:SunOS:*:*) + echo m68k-sun-sunos${UNAME_RELEASE} + exit 0 ;; + RISC*:ULTRIX:*:*) + echo mips-dec-ultrix${UNAME_RELEASE} + exit 0 ;; + VAX*:ULTRIX*:*:*) + echo vax-dec-ultrix${UNAME_RELEASE} + exit 0 ;; + mips:*:5*:RISCos) + echo mips-mips-riscos${UNAME_RELEASE} + exit 0 ;; + m88k:CX/UX:7*:*) + echo m88k-harris-cxux7 + exit 0 ;; + m88k:*:4*:R4*) + echo m88k-motorola-sysv4 + exit 0 ;; + m88k:*:3*:R3*) + echo m88k-motorola-sysv3 + exit 0 ;; + AViiON:dgux:*:*) + if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx \ + -o ${TARGET_BINARY_INTERFACE}x = x ] ; then + echo m88k-dg-dgux${UNAME_RELEASE} + else + echo m88k-dg-dguxbcs${UNAME_RELEASE} + fi + exit 0 ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + echo m88k-dolphin-sysv3 + exit 0 ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 + echo m88k-motorola-sysv3 + exit 0 ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) + echo m88k-tektronix-sysv3 + exit 0 ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) + echo m68k-tektronix-bsd + exit 0 ;; + *:IRIX*:*:*) + echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` + exit 0 ;; + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id + exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + i[34]86:AIX:*:*) + echo i386-ibm-aix + exit 0 ;; + *:AIX:2:3) + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then + sed 's/^ //' << EOF >dummy.c + #include + + main() + { + if (!__power_pc()) + exit(1); + puts("powerpc-ibm-aix3.2.5"); + exit(0); + } +EOF + ${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0 + rm -f dummy.c dummy + echo rs6000-ibm-aix3.2.5 + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then + echo rs6000-ibm-aix3.2.4 + else + echo rs6000-ibm-aix3.2 + fi + exit 0 ;; + *:AIX:*:4) + if /usr/sbin/lsattr -EHl proc0 | grep POWER >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi + if grep bos410 /usr/include/stdio.h >/dev/null 2>&1; then + IBM_REV=4.1 + elif grep bos411 /usr/include/stdio.h >/dev/null 2>&1; then + IBM_REV=4.1.1 + else + IBM_REV=4.${UNAME_RELEASE} + fi + echo ${IBM_ARCH}-ibm-aix${IBM_REV} + exit 0 ;; + *:AIX:*:*) + echo rs6000-ibm-aix + exit 0 ;; + ibmrt:4.4BSD:*|romp-ibm:BSD:*) + echo romp-ibm-bsd4.4 + exit 0 ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC NetBSD and + echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to + exit 0 ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) + echo rs6000-bull-bosx + exit 0 ;; + DPX/2?00:B.O.S.:*:*) + echo m68k-bull-sysv3 + exit 0 ;; + 9000/[34]??:4.3bsd:1.*:*) + echo m68k-hp-bsd + exit 0 ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) + echo m68k-hp-bsd4.4 + exit 0 ;; + 9000/[3478]??:HP-UX:*:*) + case "${UNAME_MACHINE}" in + 9000/31? ) HP_ARCH=m68000 ;; + 9000/[34]?? ) HP_ARCH=m68k ;; + 9000/7?? | 9000/8?7 ) HP_ARCH=hppa1.1 ;; + 9000/8?? ) HP_ARCH=hppa1.0 ;; + esac + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + echo ${HP_ARCH}-hp-hpux${HPUX_REV} + exit 0 ;; + 3050*:HI-UX:*:*) + sed 's/^ //' << EOF >dummy.c + #include + int + main () + { + long cpu = sysconf (_SC_CPU_VERSION); + /* The order matters, because CPU_IS_HP_MC68K erroneously returns + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct + results, however. */ + if (CPU_IS_PA_RISC (cpu)) + { + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; + default: puts ("hppa-hitachi-hiuxwe2"); break; + } + } + else if (CPU_IS_HP_MC68K (cpu)) + puts ("m68k-hitachi-hiuxwe2"); + else puts ("unknown-hitachi-hiuxwe2"); + exit (0); + } +EOF + ${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0 + rm -f dummy.c dummy + echo unknown-hitachi-hiuxwe2 + exit 0 ;; + 9000/7??:4.3bsd:*:* | 9000/8?7:4.3bsd:*:* ) + echo hppa1.1-hp-bsd + exit 0 ;; + 9000/8??:4.3bsd:*:*) + echo hppa1.0-hp-bsd + exit 0 ;; + hp7??:OSF1:*:* | hp8?7:OSF1:*:* ) + echo hppa1.1-hp-osf + exit 0 ;; + hp8??:OSF1:*:*) + echo hppa1.0-hp-osf + exit 0 ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + echo c1-convex-bsd + exit 0 ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit 0 ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + echo c34-convex-bsd + exit 0 ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + echo c38-convex-bsd + exit 0 ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + echo c4-convex-bsd + exit 0 ;; + CRAY*X-MP:UNICOS:*:*) + echo xmp-cray-unicos + exit 0 ;; + CRAY*Y-MP:UNICOS:*:*) + echo ymp-cray-unicos + exit 0 ;; + CRAY-2:UNICOS:*:*) + echo cray2-cray-unicos + exit 0 ;; + hp3[0-9][05]:NetBSD:*:*) + echo m68k-hp-netbsd${UNAME_RELEASE} + exit 0 ;; + i[34]86:BSD/386:*:* | *:BSD/OS:*:*) + echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} + exit 0 ;; + *:FreeBSD:*:*) + echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit 0 ;; + *:NetBSD:*:*) + echo ${UNAME_MACHINE}-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + exit 0 ;; + *:GNU:*:*) + echo `echo ${UNAME_MACHINE}|sed -e 's,/.*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + exit 0 ;; + *:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux + exit 0 ;; +# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. earlier versions +# are messed up and put the nodename in both sysname and nodename. + i[34]86:DYNIX/ptx:4*:*) + echo i386-sequent-sysv4 + exit 0 ;; + i[34]86:*:4.*:* | i[34]86:SYSTEM_V:4.*:*) + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then + echo ${UNAME_MACHINE}-univel-sysv${UNAME_RELEASE} + else + echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE} + fi + exit 0 ;; + i[34]86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then + UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')` + (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486 + echo ${UNAME_MACHINE}-unknown-sco$UNAME_REL + else + echo ${UNAME_MACHINE}-unknown-sysv32 + fi + exit 0 ;; + Intel:Mach:3*:*) + echo i386-unknown-mach3 + exit 0 ;; + paragon:*:*:*) + echo i860-intel-osf1 + exit 0 ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then + echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. + echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 + fi + exit 0 ;; + mini*:CTIX:SYS*5:*) + # "miniframe" + echo m68010-convergent-sysv + exit 0 ;; + M680[234]0:*:R3V[567]*:*) + test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; + 3[34]??:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0) + uname -p 2>/dev/null | grep 86 >/dev/null \ + && echo i486-ncr-sysv4.3 && exit 0 ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + uname -p 2>/dev/null | grep 86 >/dev/null \ + && echo i486-ncr-sysv4 && exit 0 ;; + m680[234]0:LynxOS:2.2*:*) + echo m68k-lynx-lynxos${UNAME_RELEASE} + exit 0 ;; + mc68030:UNIX_System_V:4.*:*) + echo m68k-atari-sysv4 + exit 0 ;; + i[34]86:LynxOS:2.2*:*) + echo i386-lynx-lynxos${UNAME_RELEASE} + exit 0 ;; + TSUNAMI:LynxOS:2.2*:*) + echo sparc-lynx-lynxos${UNAME_RELEASE} + exit 0 ;; + rs6000:LynxOS:2.2*:*) + echo rs6000-lynx-lynxos${UNAME_RELEASE} + exit 0 ;; + RM*:SINIX-*:*:*) + echo mips-sni-sysv4 + exit 0 ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=`(uname -p) 2>/dev/null` + echo ${UNAME_MACHINE}-sni-sysv4 + else + echo ns32k-sni-sysv + fi + exit 0 ;; +esac + +#echo '(No uname command or uname output not recognized.)' 1>&2 +#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 + +cat >dummy.c < + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (__arm) && defined (__acorn) && defined (__unix) + printf ("arm-acorn-riscix"); exit (0); +#endif + +#if defined (hp300) && !defined (hpux) + printf ("m68k-hp-bsd\n"); exit (0); +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; + printf ("%s-next-nextstep%s\n", __ARCHITECTURE__, version==2 ? "2" : "3"); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-unknown-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + printf ("i386-sequent-ptx\n"); exit (0); +#endif + +#if defined (vax) +#if !defined (ultrix) + printf ("vax-dec-bsd\n"); exit (0); +#else + printf ("vax-dec-ultrix\n"); exit (0); +#endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy && rm dummy.c dummy && exit 0 +rm -f dummy.c dummy + +# Apollos put the system type in the environment. + +test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; } + +# Convex versions that predate uname can use getsysinfo(1) + +if [ -x /usr/convex/getsysinfo ] +then + case `getsysinfo -f cpu_type` in + c1*) + echo c1-convex-bsd + exit 0 ;; + c2*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit 0 ;; + c34*) + echo c34-convex-bsd + exit 0 ;; + c38*) + echo c38-convex-bsd + exit 0 ;; + c4*) + echo c4-convex-bsd + exit 0 ;; + esac +fi + +#echo '(Unable to guess system type)' 1>&2 + +exit 1 diff --git a/config.h.in b/config.h.in new file mode 100644 index 0000000..5761db2 --- /dev/null +++ b/config.h.in @@ -0,0 +1,30 @@ +/* Define if using GNU ld, with support for weak symbols in a.out, + and for symbol set and warning messages extensions in a.out and ELF. + This implies HAVE_WEAK_SYMBOLS; set by --with-gnu-ld. */ +#undef HAVE_GNU_LD + +/* Define if using ELF, which supports weak symbols. + This implies HAVE_WEAK_SYMBOLS; set by --with-elf. */ +#undef HAVE_ELF + +/* Define if weak symbols are available in the assembler and + linker being used. Set by --with-weak-symbols. */ +#undef HAVE_WEAK_SYMBOLS + +/* Define if using the GNU assembler, gas. */ +#undef HAVE_GNU_AS + +/* These symbols might be defined by some sysdeps configures. */ + +/* sysdeps/generic/configure.in */ +#undef HAVE_PSIGNAL + +/* sysdeps/unix/common/configure.in */ +#undef HAVE_SYS_SIGLIST +#undef HAVE__SYS_SIGLIST +#undef HAVE__CTYPE_ +#undef HAVE___CTYPE_ +#undef HAVE___CTYPE +#undef HAVE__CTYPE__ +#undef HAVE__CTYPE +#undef HAVE__LOCP diff --git a/config.make.in b/config.make.in new file mode 100644 index 0000000..b2105e0 --- /dev/null +++ b/config.make.in @@ -0,0 +1,26 @@ +# @configure_input@ +# From $Id$. +# Don't edit this file. Put configuration parameters in configparms instead. + +config-machine = @host_cpu@ +config-vendor = @host_vendor@ +config-os = @host_os@ +config-sysdirs = @sysnames@ + +prefix = @prefix@ +exec_prefix = @exec_prefix@ +config-defines = @DEFS@ +gnu-as = @gnu_as@ +gnu-ld = @gnu_ld@ +elf = @elf@ +weak-symbols = @weak@ + +CC = @CC@ +AR = @AR@ +RANLIB = @RANLIB@ + +INSTALL = @INSTALL@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_DATA = @INSTALL_DATA@ + +# More variables may be inserted below by configure. diff --git a/config.sub b/config.sub new file mode 100755 index 0000000..667d3d2 --- /dev/null +++ b/config.sub @@ -0,0 +1,816 @@ +#! /bin/sh +# Configuration validation subroutine script, version 1.1. +# Copyright (C) 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc. +# This file is (in principle) common to ALL GNU software. +# The presence of a machine in this file suggests that SOME GNU software +# can handle that machine. It does not imply ALL GNU software can. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# The goal of this file is to map all the various variations of a given +# machine specification into a single specification in the form: +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# It is wrong to echo any other type of specification. + +if [ x$1 = x ] +then + echo Configuration name missing. 1>&2 + echo "Usage: $0 CPU-MFR-OPSYS" 1>&2 + echo "or $0 ALIAS" 1>&2 + echo where ALIAS is a recognized configuration type. 1>&2 + exit 1 +fi + +# First pass through any local machine types. +case $1 in + *local*) + echo $1 + exit 0 + ;; + *) + ;; +esac + +# Separate what the user gave into CPU-COMPANY and OS (if any). +basic_machine=`echo $1 | sed 's/-[^-]*$//'` +if [ $basic_machine != $1 ] +then os=`echo $1 | sed 's/.*-/-/'` +else os=; fi + +### Let's recognize common machines as not being operating systems so +### that things like config.sub decstation-3100 work. We also +### recognize some manufacturers as not being operating systems, so we +### can provide default operating systems below. +case $os in + -sun*os*) + # Prevent following clause from handling this invalid input. + ;; + -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ + -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ + -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ + -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ + -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ + -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp ) + os= + basic_machine=$1 + ;; + -hiux*) + os=-hiuxwe2 + ;; + -sco4) + os=-sco3.2v4 + basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'` + ;; + -sco3.2.[4-9]*) + os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` + basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'` + ;; + -sco3.2v[4-9]*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'` + ;; + -sco*) + os=-sco3.2v2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'` + ;; + -isc) + os=-isc2.2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'` + ;; + -clix*) + basic_machine=clipper-intergraph + ;; + -isc*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'` + ;; + -lynx) + os=-lynxos + ;; + -ptx*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` + ;; + -windowsnt*) + os=`echo $os | sed -e 's/windowsnt/winnt/'` + ;; +esac + +# Decode aliases for certain CPU-COMPANY combinations. +case $basic_machine in + # Recognize the basic CPU types without company name. + # Some are omitted here because they have special meanings below. + tahoe | i[345]86 | i860 | m68k | m68000 | m88k | ns32k | arm | pyramid \ + | tron | a29k | 580 | i960 | h8300 | hppa1.0 | hppa1.1 \ + | alpha | we32k | ns16k | clipper | sparclite | i370 | sh \ + | powerpc | sparc64 | 1750a | dsp16xx | mips64 | mipsel \ + | pdp11 | mips64el | mips64orion | mips64orionel \ + | sparc) + basic_machine=$basic_machine-unknown + ;; + # Object if more than one company name word. + *-*-*) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; + # Recognize the basic CPU types with company name. + vax-* | tahoe-* | i[345]86-* | i860-* | m68k-* | m68000-* | m88k-* \ + | sparc-* | ns32k-* | fx80-* | arm-* | c[123]* \ + | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \ + | none-* | 580-* | cray2-* | h8300-* | i960-* | xmp-* | ymp-* \ + | hppa1.0-* | hppa1.1-* | alpha-* | we32k-* | cydra-* | ns16k-* \ + | pn-* | np1-* | xps100-* | clipper-* | orion-* | sparclite-* \ + | pdp11-* | sh-* | powerpc-* | sparc64-* | mips64-* | mipsel-* \ + | mips64el-* | mips64orion-* | mips64orionel-*) + ;; + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) + basic_machine=m68000-att + ;; + 3b*) + basic_machine=we32k-att + ;; + alliant | fx80) + basic_machine=fx80-alliant + ;; + altos | altos3068) + basic_machine=m68k-altos + ;; + am29k) + basic_machine=a29k-none + os=-bsd + ;; + amdahl) + basic_machine=580-amdahl + os=-sysv + ;; + amiga | amiga-*) + basic_machine=m68k-cbm + ;; + amigados) + basic_machine=m68k-cbm + os=-amigados + ;; + amigaunix | amix) + basic_machine=m68k-cbm + os=-sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + os=-sysv + ;; + balance) + basic_machine=ns32k-sequent + os=-dynix + ;; + convex-c1) + basic_machine=c1-convex + os=-bsd + ;; + convex-c2) + basic_machine=c2-convex + os=-bsd + ;; + convex-c32) + basic_machine=c32-convex + os=-bsd + ;; + convex-c34) + basic_machine=c34-convex + os=-bsd + ;; + convex-c38) + basic_machine=c38-convex + os=-bsd + ;; + cray | ymp) + basic_machine=ymp-cray + os=-unicos + ;; + cray2) + basic_machine=cray2-cray + os=-unicos + ;; + crds | unos) + basic_machine=m68k-crds + ;; + da30 | da30-*) + basic_machine=m68k-da30 + ;; + decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) + basic_machine=mips-dec + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + basic_machine=m68k-motorola + ;; + delta88) + basic_machine=m88k-motorola + os=-sysv3 + ;; + dpx20 | dpx20-*) + basic_machine=rs6000-bull + os=-bosx + ;; + dpx2* | dpx2*-bull) + basic_machine=m68k-bull + os=-sysv3 + ;; + ebmon29k) + basic_machine=a29k-amd + os=-ebmon + ;; + elxsi) + basic_machine=elxsi-elxsi + os=-bsd + ;; + encore | umax | mmax) + basic_machine=ns32k-encore + ;; + fx2800) + basic_machine=i860-alliant + ;; + genix) + basic_machine=ns32k-ns + ;; + gmicro) + basic_machine=tron-gmicro + os=-sysv + ;; + h3050r* | hiux*) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + h8300hms) + basic_machine=h8300-hitachi + os=-hms + ;; + harris) + basic_machine=m88k-harris + os=-sysv3 + ;; + hp300-*) + basic_machine=m68k-hp + ;; + hp300bsd) + basic_machine=m68k-hp + os=-bsd + ;; + hp300hpux) + basic_machine=m68k-hp + os=-hpux + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) + basic_machine=m68000-hp + ;; + hp9k3[2-9][0-9]) + basic_machine=m68k-hp + ;; + hp9k7[0-9][0-9] | hp7[0-9][0-9] | hp9k8[0-9]7 | hp8[0-9]7) + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + i370-ibm* | ibm*) + basic_machine=i370-ibm + os=-mvs + ;; +# I'm not sure what "Sysv32" means. Should this be sysv3.2? + i[345]86v32) + basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'` + os=-sysv32 + ;; + i[345]86v4*) + basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'` + os=-sysv4 + ;; + i[345]86v) + basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'` + os=-sysv + ;; + i[345]86sol2) + basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'` + os=-solaris2 + ;; + iris | iris4d) + basic_machine=mips-sgi + case $os in + -irix*) + ;; + *) + os=-irix4 + ;; + esac + ;; + isi68 | isi) + basic_machine=m68k-isi + os=-sysv + ;; + m88k-omron*) + basic_machine=m88k-omron + ;; + magnum | m3230) + basic_machine=mips-mips + os=-sysv + ;; + merlin) + basic_machine=ns32k-utek + os=-sysv + ;; + miniframe) + basic_machine=m68000-convergent + ;; + mips3*-*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` + ;; + mips3*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown + ;; + ncr3000) + basic_machine=i486-ncr + os=-sysv4 + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + os=-newsos + ;; + news1000) + basic_machine=m68030-sony + os=-newsos + ;; + news-3600 | risc-news) + basic_machine=mips-sony + os=-newsos + ;; + next | m*-next ) + basic_machine=m68k-next + case $os in + -nextstep* ) + ;; + -ns2*) + os=-nextstep2 + ;; + *) + os=-nextstep3 + ;; + esac + ;; + nh3000) + basic_machine=m68k-harris + os=-cxux + ;; + nh[45]000) + basic_machine=m88k-harris + os=-cxux + ;; + nindy960) + basic_machine=i960-intel + os=-nindy + ;; + np1) + basic_machine=np1-gould + ;; + pa-hitachi) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + paragon) + basic_machine=i860-intel + os=-osf + ;; + pbd) + basic_machine=sparc-tti + ;; + pbb) + basic_machine=m68k-tti + ;; + pc532 | pc532-*) + basic_machine=ns32k-pc532 + ;; + pentium-*) + # We will change tis to say i586 once there has been + # time for various packages to start to recognize that. + basic_machine=i486-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pn) + basic_machine=pn-gould + ;; + ps2) + basic_machine=i386-ibm + ;; + rtpc | rtpc-*) + basic_machine=romp-ibm + ;; + sequent) + basic_machine=i386-sequent + ;; + sh) + basic_machine=sh-hitachi + os=-hms + ;; + sps7) + basic_machine=m68k-bull + os=-sysv2 + ;; + spur) + basic_machine=spur-unknown + ;; + sun2) + basic_machine=m68000-sun + ;; + sun2os3) + basic_machine=m68000-sun + os=-sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + os=-sunos4 + ;; + sun3os3) + basic_machine=m68k-sun + os=-sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + os=-sunos4 + ;; + sun4os3) + basic_machine=sparc-sun + os=-sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + os=-sunos4 + ;; + sun3 | sun3-*) + basic_machine=m68k-sun + ;; + sun4) + basic_machine=sparc-sun + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + ;; + symmetry) + basic_machine=i386-sequent + os=-dynix + ;; + tower | tower-32) + basic_machine=m68k-ncr + ;; + udi29k) + basic_machine=a29k-amd + os=-udi + ;; + ultra3) + basic_machine=a29k-nyu + os=-sym1 + ;; + vaxv) + basic_machine=vax-dec + os=-sysv + ;; + vms) + basic_machine=vax-dec + os=-vms + ;; + vxworks960) + basic_machine=i960-wrs + os=-vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + os=-vxworks + ;; + xmp) + basic_machine=xmp-cray + os=-unicos + ;; + xps | xps100) + basic_machine=xps100-honeywell + ;; + none) + basic_machine=none-none + os=-none + ;; + +# Here we handle the default manufacturer of certain CPU types. It is in +# some cases the only manufacturer, in others, it is the most popular. + mips) + basic_machine=mips-mips + ;; + romp) + basic_machine=romp-ibm + ;; + rs6000) + basic_machine=rs6000-ibm + ;; + vax) + basic_machine=vax-dec + ;; + pdp11) + basic_machine=pdp11-dec + ;; + we32k) + basic_machine=we32k-att + ;; + sparc) + basic_machine=sparc-sun + ;; + cydra) + basic_machine=cydra-cydrome + ;; + orion) + basic_machine=orion-highlevel + ;; + orion105) + basic_machine=clipper-highlevel + ;; + *) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; +esac + +# Here we canonicalize certain aliases for manufacturers. +case $basic_machine in + *-digital*) + basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` + ;; + *-commodore*) + basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` + ;; + *) + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +if [ x"$os" != x"" ] +then +case $os in + # -solaris* is a basic system type, with this one exception. + -solaris1 | -solaris1.*) + os=`echo $os | sed -e 's|solaris1|sunos4|'` + ;; + -solaris) + os=-solaris2 + ;; + -unixware* | svr4*) + os=-sysv4 + ;; + -gnu/linux*) + os=`echo $os | sed -e 's|gnu/linux|linux|'` + ;; + # First accept the basic system types. + # The portable systems comes first. + # Each alternative must end in a *, to match a version number. + # -sysv* is not here because it comes later, after sysvr4. + -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ + | -vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[345]* \ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ + | -amigados* | -msdos* | -newsos* | -unicos* | -aos* \ + | -nindy* | -vxworks* | -ebmon* | -hms* | -mvs* | -clix* \ + | -riscos* | -linux* | -uniplus* | -iris* | -rtu* | -xenix* \ + | -hiux* | -386bsd* | -netbsd* | -freebsd* | -riscix* \ + | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta | -udi | -eabi) + ;; + -sunos5*) + os=`echo $os | sed -e 's|sunos5|solaris2|'` + ;; + -sunos6*) + os=`echo $os | sed -e 's|sunos6|solaris3|'` + ;; + -osfrose*) + os=-osfrose + ;; + -osf*) + os=-osf + ;; + -utek*) + os=-bsd + ;; + -dynix*) + os=-bsd + ;; + -acis*) + os=-aos + ;; + -ctix* | -uts*) + os=-sysv + ;; + -triton*) + os=-sysv3 + ;; + -oss*) + os=-sysv3 + ;; + -svr4) + os=-sysv4 + ;; + -svr3) + os=-sysv3 + ;; + -sysvr4) + os=-sysv4 + ;; + # This must come after -sysvr4. + -sysv*) + ;; + -xenix) + os=-xenix + ;; + -none) + ;; + *) + # Get rid of the `-' at the beginning of $os. + os=`echo $os | sed 's/[^-]*-//'` + echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 + exit 1 + ;; +esac +else + +# Here we handle the default operating systems that come with various machines. +# The value should be what the vendor currently ships out the door with their +# machine or put another way, the most popular os provided with the machine. + +# Note that if you're going to try to match "-MANUFACTURER" here (say, +# "-sun"), then you have to tell the case statement up towards the top +# that MANUFACTURER isn't an operating system. Otherwise, code above +# will signal an error saying that MANUFACTURER isn't an operating +# system, and we'll never get to this point. + +case $basic_machine in + *-acorn) + os=-riscix1.2 + ;; + pdp11-*) + os=-none + ;; + *-dec | vax-*) + os=-ultrix4.2 + ;; + m68*-apollo) + os=-domain + ;; + i386-sun) + os=-sunos4.0.2 + ;; + m68000-sun) + os=-sunos3 + # This also exists in the configure program, but was not the + # default. + # os=-sunos4 + ;; + *-tti) # must be before sparc entry or we get the wrong os. + os=-sysv3 + ;; + sparc-* | *-sun) + os=-sunos4.1.1 + ;; + *-ibm) + os=-aix + ;; + *-hp) + os=-hpux + ;; + *-hitachi) + os=-hiux + ;; + i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) + os=-sysv + ;; + *-cbm) + os=-amigados + ;; + *-dg) + os=-dgux + ;; + *-dolphin) + os=-sysv3 + ;; + m68k-ccur) + os=-rtu + ;; + m88k-omron*) + os=-luna + ;; + *-sequent) + os=-ptx + ;; + *-crds) + os=-unos + ;; + *-ns) + os=-genix + ;; + i370-*) + os=-mvs + ;; + *-next) + os=-nextstep3 + ;; + *-gould) + os=-sysv + ;; + *-highlevel) + os=-bsd + ;; + *-encore) + os=-bsd + ;; + *-sgi) + os=-irix + ;; + *-masscomp) + os=-rtu + ;; + *) + os=-none + ;; +esac +fi + +# Here we handle the case where we know the os, and the CPU type, but not the +# manufacturer. We pick the logical manufacturer. +vendor=unknown +case $basic_machine in + *-unknown) + case $os in + -riscix*) + vendor=acorn + ;; + -sunos*) + vendor=sun + ;; + -lynxos*) + vendor=lynx + ;; + -aix*) + vendor=ibm + ;; + -hpux*) + vendor=hp + ;; + -hiux*) + vendor=hitachi + ;; + -unos*) + vendor=crds + ;; + -dgux*) + vendor=dg + ;; + -luna*) + vendor=omron + ;; + -genix*) + vendor=ns + ;; + -mvs*) + vendor=ibm + ;; + -ptx*) + vendor=sequent + ;; + -vxworks*) + vendor=wrs + ;; + esac + basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` + ;; +esac + +echo $basic_machine$os diff --git a/configure b/configure new file mode 100755 index 0000000..9a36433 --- /dev/null +++ b/configure @@ -0,0 +1,1503 @@ +#! /bin/sh + +# From configure.in Id: configure.in,v 1.72 1995/01/30 07:26:57 roland Exp roland +# Guess values for system-dependent variables and create Makefiles. +# Generated automatically using autoconf version 2.1.1 +# Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc. +# +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. + +# Defaults: +ac_help= +ac_default_prefix=/usr/local +# Any additions from configure.in: +ac_help="$ac_help + --with-gmp=DIRECTORY find GMP source code in DIRECTORY (not needed)" +ac_help="$ac_help + --with-gnu-binutils if using GNU binutils (as and ld)" +ac_help="$ac_help + --with-gnu-ld if using GNU ld (in the binutils package)" +ac_help="$ac_help + --with-gnu-as if using GNU as (in the binutils package)" +ac_help="$ac_help + --with-elf if using the ELF object format" +ac_help="$ac_help + --with-weak-symbols if weak symbols are available in as and ld" + +# Initialize some variables set by options. +# The variables have the same names as the options, with +# dashes changed to underlines. +build=NONE +cache_file=./config.cache +exec_prefix=NONE +host=NONE +no_create= +nonopt=NONE +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +target=NONE +verbose= +x_includes=NONE +x_libraries=NONE + +# Initialize some other variables. +subdirs= + +ac_prev= +for ac_option +do + + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval "$ac_prev=\$ac_option" + ac_prev= + continue + fi + + case "$ac_option" in + -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; + *) ac_optarg= ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case "$ac_option" in + + -build | --build | --buil | --bui | --bu | --b) + ac_prev=build ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=* | --b=*) + build="$ac_optarg" ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file="$ac_optarg" ;; + + -disable-* | --disable-*) + ac_feature=`echo $ac_option|sed -e 's/-*disable-//'` + # Reject names that are not valid shell variable names. + if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then + { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } + fi + ac_feature=`echo $ac_feature| sed 's/-/_/g'` + eval "enable_${ac_feature}=no" ;; + + -enable-* | --enable-*) + ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'` + # Reject names that are not valid shell variable names. + if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then + { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } + fi + ac_feature=`echo $ac_feature| sed 's/-/_/g'` + case "$ac_option" in + *=*) ;; + *) ac_optarg=yes ;; + esac + eval "enable_${ac_feature}='$ac_optarg'" ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix="$ac_optarg" ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he) + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat << EOF +Usage: configure [options] [host] +Options: [defaults in brackets after descriptions] +Configuration: + --cache-file=FILE cache test results in FILE + --help print this message + --no-create do not create output files + --quiet, --silent do not print \`checking...' messages + --version print the version of autoconf that created configure +Directory and file names: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=PREFIX install architecture-dependent files in PREFIX + [same as prefix] + --srcdir=DIR find the sources in DIR [configure dir or ..] + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names +Host type: + --build=BUILD configure for building on BUILD [BUILD=HOST] + --host=HOST configure for HOST [guessed] + --target=TARGET configure for TARGET [TARGET=HOST] +Features and packages: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --x-includes=DIR X include files are in DIR + --x-libraries=DIR X library files are in DIR +--enable and --with options recognized:$ac_help +EOF + exit 0 ;; + + -host | --host | --hos | --ho) + ac_prev=host ;; + -host=* | --host=* | --hos=* | --ho=*) + host="$ac_optarg" ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix="$ac_optarg" ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix="$ac_optarg" ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix="$ac_optarg" ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name="$ac_optarg" ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site="$ac_optarg" ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir="$ac_optarg" ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target="$ac_optarg" ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers) + echo "configure generated by autoconf version 2.1.1" + exit 0 ;; + + -with-* | --with-*) + ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'` + # Reject names that are not valid shell variable names. + if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then + { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } + fi + ac_package=`echo $ac_package| sed 's/-/_/g'` + case "$ac_option" in + *=*) ;; + *) ac_optarg=yes ;; + esac + eval "with_${ac_package}='$ac_optarg'" ;; + + -without-* | --without-*) + ac_package=`echo $ac_option|sed -e 's/-*without-//'` + # Reject names that are not valid shell variable names. + if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then + { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } + fi + ac_package=`echo $ac_package| sed 's/-/_/g'` + eval "with_${ac_package}=no" ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes="$ac_optarg" ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries="$ac_optarg" ;; + + -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; } + ;; + + *) + if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then + echo "configure: warning: $ac_option: invalid host type" 1>&2 + fi + if test "x$nonopt" != xNONE; then + { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } + fi + nonopt="$ac_option" + ;; + + esac +done + +if test -n "$ac_prev"; then + { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; } +fi + +trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 + +# File descriptor usage: +# 0 standard input +# 1 file creation +# 2 errors and warnings +# 3 some systems may open it to /dev/tty +# 4 used on the Kubota Titan +# 4 checking for... messages and results +# 5 compiler messages saved in config.log +if test "$silent" = yes; then + exec 4>/dev/null +else + exec 4>&1 +fi +exec 5>./config.log + +echo "\ +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. +" 1>&5 + +# Strip out --no-create and --no-recursion so they do not pile up. +# Also quote any args containing shell metacharacters. +ac_configure_args= +for ac_arg +do + case "$ac_arg" in + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c) ;; + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;; + *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*) + ac_configure_args="$ac_configure_args '$ac_arg'" ;; + *) ac_configure_args="$ac_configure_args $ac_arg" ;; + esac +done + +# NLS nuisances. +# Only set LANG and LC_ALL to C if already set. +# These must not be set unconditionally because not all systems understand +# e.g. LANG=C (notably SCO). +if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi +if test "${LANG+set}" = set; then LANG=C; export LANG; fi + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -rf conftest* confdefs.h +# AIX cpp loses on an empty file, so make sure it contains at least a newline. +echo > confdefs.h + +# A filename unique to this package, relative to the directory that +# configure is in, which we can look for to find out if srcdir is correct. +ac_unique_file=features.h + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then its parent. + ac_prog=$0 + ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'` + test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. + srcdir=$ac_confdir + if test ! -r $srcdir/$ac_unique_file; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r $srcdir/$ac_unique_file; then + if test "$ac_srcdir_defaulted" = yes; then + { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; } + else + { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; } + fi +fi +srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'` + +# Prefer explicitly selected file to automatically selected ones. +if test -z "$CONFIG_SITE"; then + if test "x$prefix" != xNONE; then + CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" + else + CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" + fi +fi +for ac_site_file in $CONFIG_SITE; do + if test -r "$ac_site_file"; then + echo "loading site script $ac_site_file" + . "$ac_site_file" + fi +done + +if test -r "$cache_file"; then + echo "loading cache $cache_file" + . $cache_file +else + echo "creating cache $cache_file" + > $cache_file +fi + +ac_ext=c +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CPP $CPPFLAGS' +ac_compile='${CC-cc} conftest.$ac_ext $CFLAGS $CPPFLAGS -c 1>&5 2>&5' +ac_link='${CC-cc} conftest.$ac_ext $CFLAGS $CPPFLAGS $LDFLAGS -o conftest $LIBS 1>&5 2>&5' + +if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then + # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. + if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then + ac_n= ac_c=' +' ac_t=' ' + else + ac_n=-n ac_c= ac_t= + fi +else + ac_n= ac_c='\c' ac_t= +fi + + if test -r /vmunix; then + kernel_id=`strings /vmunix | grep UNIX` + elif test -r /dynix; then + kernel_id=`strings /dynix | grep DYNIX` + else + kernel_id= + fi + + + + +# This will get text that should go into config.make. +config_vars= + +# Check for a --with-gmp argument and set gmp-srcdir in config.make. +# Check whether --with-gmp or --without-gmp was given. +withval="$with_gmp" +if test -n "$withval"; then + case "$with_gmp" in +yes) { echo "configure: error: --with-gmp requires an argument; use --with-gmp=DIRECTORY" 1>&2; exit 1; } ;; +''|no) ;; +*) config_vars="$config_vars +gmp-srcdir = $withval" ;; +esac + +fi + + +# Check whether --with-gnu-binutils or --without-gnu-binutils was given. +withval="$with_gnu_binutils" +if test -n "$withval"; then + gnu_binutils=yes +else + gnu_binutils=no +fi + +# Check whether --with-gnu-ld or --without-gnu-ld was given. +withval="$with_gnu_ld" +if test -n "$withval"; then + gnu_ld=yes +else + gnu_ld=no +fi + +# Check whether --with-gnu-as or --without-gnu-as was given. +withval="$with_gnu_as" +if test -n "$withval"; then + gnu_as=yes +else + gnu_as=no +fi + +test $gnu_binutils = yes && gnu_as=yes gnu_ld=yes +# Check whether --with-elf or --without-elf was given. +withval="$with_elf" +if test -n "$withval"; then + elf=yes +else + elf=no +fi + +# Check whether --with-weak-symbols or --without-weak-symbols was given. +withval="$with_weak_symbols" +if test -n "$withval"; then + weak=yes +else + weak=no +fi + + +ac_aux_dir= +for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do + if test -f $ac_dir/install-sh; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f $ac_dir/install.sh; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + fi +done +if test -z "$ac_aux_dir"; then + { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; } +fi +ac_config_guess=$ac_aux_dir/config.guess +ac_config_sub=$ac_aux_dir/config.sub +ac_configure=$ac_aux_dir/configure # This should be Cygnus configure. + + +# Make sure we can run config.sub. +if $ac_config_sub sun4 >/dev/null 2>&1; then : +else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; } +fi + +echo $ac_n "checking host system type""... $ac_c" 1>&4 + +host_alias=$host +case "$host_alias" in +NONE) + case $nonopt in + NONE) + if host_alias=`$ac_config_guess`; then : + else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; } + fi ;; + *) host_alias=$nonopt ;; + esac ;; +esac + +host=`$ac_config_sub $host_alias` +host_cpu=`echo $host | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\1/'` +host_vendor=`echo $host | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\2/'` +host_os=`echo $host | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\3/'` +echo "$ac_t""$host" 1>&4 + +# We keep the original values in `$config_*' and never modify them, so we +# can write them unchanged into config.make. Everything else uses +# $machine, $vendor, and $os, and changes them whenever convenient. +config_machine=$host_cpu config_vendor=$host_vendor config_os=$host_os + +sysdep_dir=$srcdir/sysdeps +echo $ac_n "checking sysdep dirs""... $ac_c" 1>&4 +if eval "test \"`echo '${'libc_cv_sysdirs'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&4 +else + machine=$config_machine +vendor=$config_vendor +os=$config_os + +# Expand the configuration machine name into a subdirectory by architecture +# type and particular chip. +case "$machine" in +i[345]86) + machine=i386/$machine ;; +sparc[6789]) + machine=sparc/$machine ;; +m68k) + machine=m68k/m68020 ;; +m680?0) + machine=m68k/$machine ;; +m88k) + machine=m88k/m88100 ;; +m88???) + machine=m88k/$machine ;; +mips64*) + machine=mips/mips64/$machine ;; +mips*) + machine=mips/$machine ;; +esac + +# Make sco3.2v4 become sco3.2.4 and sunos4.1.1_U1 become sunos4.1.1.U1. +os="`echo $os | sed 's/\([0-9A-Z]\)[v_]\([0-9A-Z]\)/\1.\2/g'`" + +case "$os" in +gnu*) + base_os=mach/hurd ;; +netbsd* | 386bsd*) + base_os=unix/bsd/bsd4.4 ;; +osf1* | sunos* | ultrix* | newsos* | dynix* | *bsd*) + base_os=unix/bsd ;; +linux* | sysv* | isc* | esix* | sco* | minix* | irix4*) + base_os=unix/sysv ;; +solaris[2-9]*) + base_os=unix/sysv/sysv4 ;; +none) + base_os=standalone ;; +*) + base_os='' ;; +esac + +# For sunos4.1.1, try sunos4.1.1, then sunos4.1, then sunos4, then sunos. +tail=$os +ostry=$os +while o=`echo $tail | sed 's/\.[^.]*$//'`; test $o != $tail; do + ostry="$ostry /$o" + tail=$o +done +o=`echo $tail | sed 's/[0-9]*$//'` +if test $o != $tail; then + ostry="$ostry /$o" +fi + +# For unix/sysv/sysv4, try unix/sysv/sysv4, then unix/sysv, then unix. +base= +tail=$base_os +while b=`echo $tail | sed 's@^\(.*\)/\([^/]*\)$@& \1@'`; test -n "$b"; do + set $b + base="$base /$1" + tail="$2" +done + +# For sparc/sparc9, try sparc/sparc9 and then sparc. +mach= +tail=$machine +while m=`echo $tail | sed 's@^\(.*\)/\([^/]*\)$@& \1@'`; test -n "$m"; do + set $m + mach="$mach /$1" + tail="$2" +done + + +# Find what sysdep directories exist. +sysnames= +for b in $base ''; do + for m0 in $mach ''; do + for v in /$vendor ''; do + for o in /$ostry ''; do + for m in $mach ''; do + try="$m0$b$v$o$m" + if test -d $sysdep_dir$try; then + sysnames="$sysnames $try" + { test -n "$o" || test -n "$b"; } && os_used=t + { test -n "$m" || test -n "$m0"; } && machine_used=t + fi + done + done + done + done +done + +if test -z "$os_used" && test "$os" != none; then + { echo "configure: error: Operating system $os is not supported." 1>&2; exit 1; } +fi +if test -z "$machine_used" && test "$machine" != none; then + { echo "configure: error: The $machine is not supported." 1>&2; exit 1; } +fi + +# We have now validated the configuration. + +# Remove the leading slashes. +sysnames="`echo $sysnames | sed -e 's@^/@@' -e 's@ /@ @g'`" + +# Prepend the machine's FPU directory unless --without-fp. +if test "$with_fp" = no; then + fpu_dirs= + for m in $mach; do + if test -d $sysdep_dir$m/fpu; then + fpu_dirs="$fpu_dirs $m/fpu" + fi + done + sysnames="`echo $fpu_dirs | sed -e 's,^/,,' -e 's, /,,g'` $sysnames" +fi + +# Expand the list of system names into a full list of directories +# from each element's parent name and Implies file (if present). +set $sysnames +while test $# -gt 0; do + name=$1 + shift + + if test -f $sysdep_dir/$name/Implies; then + # Collect more names from the `Implies' file (removing comments). + implied="`sed 's/#.*$//' < $sysdep_dir/$name/Implies`" + for x in $implied; do + test -d $sysdep_dir/$x || echo "Warning: $name implies nonexistent $x">&2 + done + else + implied= + fi + + # Add NAME to the list of names. + names="$names $name" + + # Find the parent of NAME, using the empty string if it has none. + parent="`echo $name | sed -n -e '/\//!q' -e 's=/[^/]*$==p'`" + + # Add the names implied by NAME, and NAME's parent (if it has one), to + # the list of names to be processed (the argument list). We prepend the + # implied names to the list and append the parent. We want implied + # directories to come before further directories inferred from the + # configuration components; this ensures that for sysv4, unix/common + # (implied by unix/sysv/sysv4) comes before unix/sysv (in ostry (here $*) + # after sysv4). + sysnames="`echo $implied $* $parent`" + test -n "$sysnames" && set $sysnames +done + +# Add the default directories. +names="$names generic stub" + +# Now uniquize the list. +seen= +sysnames= +for name in $names; do + if echo "$seen" | fgrep -x $name >/dev/null; then + # Already in the list. + true; + else + # A new one. + if test -z "$seen"; then + seen="$name" sysnames="$name" + else + seen="$seen +$name" + sysnames="$sysnames $name" + fi + fi +done +libc_cv_sysdirs="$sysnames" +fi + + sysnames="$libc_cv_sysdirs" +echo "$ac_t""${sysnames}" 1>&4 + +case "$host_os" in +gnu* | linux* | bsd4.4* | netbsd* | freebsd*) + gnu_ld=yes gnu_as=yes +esac +case "$host_os" in +gnu*elf* | linux*elf* | sysv4* | solaris2*) + elf=yes +esac + +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# ./install, which can be erroneously created by make from ./install.sh. +echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&4 +if test -z "$INSTALL"; then +if eval "test \"`echo '${'ac_cv_path_install'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&4 +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + for ac_dir in $PATH; do + # Account for people who put trailing slashes in PATH elements. + case "$ac_dir/" in + /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + for ac_prog in ginstall installbsd scoinst install; do + if test -f $ac_dir/$ac_prog; then + if test $ac_prog = install && + grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + # OSF/1 installbsd also uses dspmsg, but is usable. + : + else + ac_cv_path_install="$ac_dir/$ac_prog -c" + break 2 + fi + fi + done + ;; + esac + done + IFS="$ac_save_ifs" + # As a last resort, use the slow shell script. + test -z "$ac_cv_path_install" && ac_cv_path_install="$ac_install_sh" +fi + INSTALL="$ac_cv_path_install" +fi +echo "$ac_t""$INSTALL" 1>&4 + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +if test "$INSTALL" = "${srcdir}/install-sh"; then + # The makefiles need to use a different form to find it in $srcdir. + INSTALL='$(..)./install-sh' +fi + +echo $ac_n "checking build system type""... $ac_c" 1>&4 + +build_alias=$build +case "$build_alias" in +NONE) + case $nonopt in + NONE) build_alias=$host_alias ;; + *) build_alias=$nonopt ;; + esac ;; +esac + +build=`$ac_config_sub $build_alias` +build_cpu=`echo $build | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\1/'` +build_vendor=`echo $build | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\2/'` +build_os=`echo $build | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\3/'` +echo "$ac_t""$build" 1>&4 + +if test $host != $build; then + ac_tool_prefix=${host_alias}- +else + ac_tool_prefix= +fi + +# Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&4 +if eval "test \"`echo '${'ac_cv_prog_CC'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&4 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + break + fi + done + IFS="$ac_save_ifs" + test -z "$ac_cv_prog_CC" && ac_cv_prog_CC="gcc" +fi +fi +CC="$ac_cv_prog_CC" +if test -n "$CC"; then + echo "$ac_t""$CC" 1>&4 +else + echo "$ac_t""no" 1>&4 +fi + + + +# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. +set dummy ${ac_tool_prefix}ar; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&4 +if eval "test \"`echo '${'ac_cv_prog_AR'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&4 +else + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_AR="${ac_tool_prefix}ar" + break + fi + done + IFS="$ac_save_ifs" + test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar" +fi +fi +AR="$ac_cv_prog_AR" +if test -n "$AR"; then + echo "$ac_t""$AR" 1>&4 +else + echo "$ac_t""no" 1>&4 +fi + + + +# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&4 +if eval "test \"`echo '${'ac_cv_prog_RANLIB'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&4 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + break + fi + done + IFS="$ac_save_ifs" +fi +fi +RANLIB="$ac_cv_prog_RANLIB" +if test -n "$RANLIB"; then + echo "$ac_t""$RANLIB" 1>&4 +else + echo "$ac_t""no" 1>&4 +fi + + +if test -z "$ac_cv_prog_RANLIB"; then +if test -n "$ac_tool_prefix"; then + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&4 +if eval "test \"`echo '${'ac_cv_prog_RANLIB'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&4 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_RANLIB="ranlib" + break + fi + done + IFS="$ac_save_ifs" + test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":" +fi +fi +RANLIB="$ac_cv_prog_RANLIB" +if test -n "$RANLIB"; then + echo "$ac_t""$RANLIB" 1>&4 +else + echo "$ac_t""no" 1>&4 +fi + +else + RANLIB=":" +fi +fi + +echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&4 +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then +if eval "test \"`echo '${'ac_cv_prog_CPP'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&4 +else + # This must be in double quotes, not single quotes, because CPP may get + # substituted into the Makefile and "${CC-cc}" will confuse make. + CPP="${CC-cc} -E" + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. + cat > conftest.$ac_ext < +Syntax Error +EOF +eval "$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +ac_err=`grep -v '^ *+' conftest.out` +if test -z "$ac_err"; then + : +else + echo "$ac_err" >&5 + rm -rf conftest* + CPP="${CC-cc} -E -traditional-cpp" + cat > conftest.$ac_ext < +Syntax Error +EOF +eval "$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +ac_err=`grep -v '^ *+' conftest.out` +if test -z "$ac_err"; then + : +else + echo "$ac_err" >&5 + rm -rf conftest* + CPP=/lib/cpp +fi +rm -f conftest* +fi +rm -f conftest* + ac_cv_prog_CPP="$CPP" +fi +fi +CPP="$ac_cv_prog_CPP" +echo "$ac_t""$CPP" 1>&4 + + +echo $ac_n "checking signed size_t type""... $ac_c" 1>&4 +if eval "test \"`echo '${'libc_cv_signed_size_t'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&4 +else + echo '#include +FOOBAR __SIZE_TYPE__ FOOBAR' > conftest.c +if eval "$ac_cpp conftest.c 2>/dev/null" \ +| grep '^FOOBAR.*unsigned.*FOOBAR$' >/dev/null; then + libc_cv_signed_size_t=no +else + libc_cv_signed_size_t=yes +fi +rm -f conftest* +fi + +echo "$ac_t""$libc_cv_signed_size_t" 1>&4 +if test $libc_cv_signed_size_t = yes; then + cat >> confdefs.h <<\EOF +#undef __SIZE_TYPE__ +#define __SIZE_TYPE__ unsigned +EOF +fi + +echo $ac_n "checking libc-friendly stddef.h""... $ac_c" 1>&4 +if eval "test \"`echo '${'libc_cv_friendly_stddef'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&4 +else + cat > conftest.$ac_ext < +#define __need_NULL +#include +int main() { return 0; } +int t() { +size_t size; wchar_t wchar; +#ifdef offsetof +#error stddef.h ignored __need_* +#endif +if (&size == NULL || &wchar == NULL) abort (); +; return 0; } +EOF +if eval $ac_compile; then + rm -rf conftest* + libc_cv_friendly_stddef=yes +else + rm -rf conftest* + libc_cv_friendly_stddef=no +fi +rm -f conftest* + +fi + +echo "$ac_t""$libc_cv_friendly_stddef" 1>&4 +if test $libc_cv_friendly_stddef = yes; then + config_vars="$config_vars +override stddef.h = # The installed seems to be libc-friendly." +fi + +echo $ac_n "checking whether we need to use -P to assemble .S files""... $ac_c" 1>&4 +if eval "test \"`echo '${'libc_cv_need_minus_P'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&4 +else + cat > conftest.S </dev/null; then + libc_cv_need_minus_P=no +else + libc_cv_need_minus_P=yes +fi +rm -f conftest* +fi + +echo "$ac_t""$libc_cv_need_minus_P" 1>&4 +if test $libc_cv_need_minus_P = yes; then + config_vars="$config_vars +asm-CPPFLAGS = -P # The assembler can't grok cpp's # line directives." +fi + +# sysdeps configure fragments may set these with files to be linked below. +libc_link_dests= +libc_link_sources= + +# Iterate over all the sysdep directories we will use, running their +# configure fragments, and looking for a uname implementation. +uname= +for dir in $sysnames; do + if test -r $sysdep_dir/$dir/configure; then + echo "$ac_t""running configure fragment for $dir" 1>&4 + . $sysdep_dir/$dir/configure + fi + if test -z "$uname"; then + { test -r $sysdep_dir/$dir/uname.c || test -r $sysdep_dir/$dir/uname.S; } \ + && uname=$dir + fi +done + + + +# If we will use the generic uname implementation, we must figure out what +# it will say by examining the system, and write the results in config-name.h. +if test "$uname" = generic; then + + uname_sysname=`echo $config_os | sed 's/[0-9.]*$//'` + if test $uname_sysname != $config_os; then + config_release=`echo $config_os | sed s/$uname_sysname//` + fi + + echo $ac_n "checking OS release for uname""... $ac_c" 1>&4 + if eval "test \"`echo '${'libc_cv_uname_release'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&4 +else + kernel_release=`echo "$kernel_id" | sed 's/^[^0-9.]*\([0-9.]*\).*$/\1/'` + if test x`echo "$config_release" | sed "s/^$kernel_release//"` \ + != x$config_release; then + # The configuration release is a substring of the kernel release. + libc_cv_uname_release=$kernel_release + elif test x$config_release != x; then + libc_cv_uname_release=$config_release + elif test x$kernel_release != x; then + libc_cv_uname_release=$kernel_release + else + libc_cv_uname_release=unknown + fi +fi + + echo "$ac_t""$libc_cv_uname_release" 1>&4 + uname_release="$libc_cv_uname_release" + + echo $ac_n "checking OS version for uname""... $ac_c" 1>&4 + if eval "test \"`echo '${'libc_cv_uname_version'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&4 +else + kernel_version=`echo "$kernel_id" | sed 's/^[^#]*#\([0-9]*\).*$/\1/'` + if test -n "$kernel_version"; then + libc_cv_uname_version="$kernel_version" + else + libc_cv_uname_version=unknown + fi +fi + + echo "$ac_t""$libc_cv_uname_version" 1>&4 + uname_version="$libc_cv_uname_version" + + config_uname=config-name.h:config-name.in +else + # For non-generic uname, we don't need to create config-name.h at all. + config_uname= +fi + + +if test $gnu_ld = yes; then + cat >> confdefs.h <<\EOF +#define HAVE_GNU_LD 1 +EOF + +fi +if test $gnu_as = yes; then + cat >> confdefs.h <<\EOF +#define HAVE_GNU_AS 1 +EOF + +fi +if test $elf = yes; then + cat >> confdefs.h <<\EOF +#define HAVE_ELF 1 +EOF + +fi +if test $weak = yes; then + cat >> confdefs.h <<\EOF +#define HAVE_WEAK_SYMBOLS 1 +EOF + +fi + + +if test "`(cd $srcdir; pwd)`" = "`pwd`"; then + config_makefile= +else + config_makefile=Makefile +fi + +trap '' 1 2 15 +if test -w $cache_file; then +echo "updating cache $cache_file" +cat > $cache_file <<\EOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs. It is not useful on other systems. +# If it contains results you don't want to keep, you may remove or edit it. +# +# By default, configure uses ./config.cache as the cache file, +# creating it if it does not exist already. You can give configure +# the --cache-file=FILE option to use a different cache file; that is +# what configure does when it calls configure scripts in +# subdirectories, so they share the cache. +# Giving --cache-file=/dev/null disables caching, for debugging configure. +# config.status only pays attention to the cache file if you give it the +# --recheck option to rerun configure. +# +EOF +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +(set) 2>&1 | + sed -n "s/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=\${\1='\2'}/p" \ + >> $cache_file +else +echo "not updating unwritable cache $cache_file" +fi + +trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +# Any assignment to VPATH causes Sun make to only execute +# the first set of double-colon rules, so remove it if not needed. +# If there is a colon in the path, we need to keep it. +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d' +fi + +trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 + +DEFS=-DHAVE_CONFIG_H + +# Without the "./", some shells look in PATH for config.status. +: ${CONFIG_STATUS=./config.status} + +echo creating $CONFIG_STATUS +rm -f $CONFIG_STATUS +cat > $CONFIG_STATUS </dev/null | sed 1q`: +# +# $0 $ac_configure_args +# +# Compiler output produced by configure, useful for debugging +# configure, is in ./config.log if it exists. + +ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]" +for ac_option +do + case "\$ac_option" in + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" + exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; + -version | --version | --versio | --versi | --vers | --ver | --ve | --v) + echo "$CONFIG_STATUS generated by autoconf version 2.1.1" + exit 0 ;; + -help | --help | --hel | --he | --h) + echo "\$ac_cs_usage"; exit 0 ;; + *) echo "\$ac_cs_usage"; exit 1 ;; + esac +done + +ac_given_srcdir=$srcdir +ac_given_INSTALL="$INSTALL" + +trap 'rm -fr `echo config.make ${config_makefile} ${config_uname} config.h | tr : " "` conftest*; exit 1' 1 2 15 + +# Protect against being on the right side of a sed subst in config.status. +sed 's/%@/@@/; s/@%/@@/; s/%g$/@g/; /@g$/s/[\\\\&%]/\\\\&/g; + s/@@/%@/; s/@@/@%/; s/@g$/%g/' > conftest.subs <<\CEOF +$ac_vpsub +$extrasub +s%@CFLAGS@%$CFLAGS%g +s%@CPPFLAGS@%$CPPFLAGS%g +s%@CXXFLAGS@%$CXXFLAGS%g +s%@DEFS@%$DEFS%g +s%@LDFLAGS@%$LDFLAGS%g +s%@LIBS@%$LIBS%g +s%@exec_prefix@%$exec_prefix%g +s%@prefix@%$prefix%g +s%@program_transform_name@%$program_transform_name%g +s%@host@%$host%g +s%@host_alias@%$host_alias%g +s%@host_cpu@%$host_cpu%g +s%@host_vendor@%$host_vendor%g +s%@host_os@%$host_os%g +s%@sysnames@%$sysnames%g +s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g +s%@INSTALL_DATA@%$INSTALL_DATA%g +s%@build@%$build%g +s%@build_alias@%$build_alias%g +s%@build_cpu@%$build_cpu%g +s%@build_vendor@%$build_vendor%g +s%@build_os@%$build_os%g +s%@CC@%$CC%g +s%@AR@%$AR%g +s%@RANLIB@%$RANLIB%g +s%@CPP@%$CPP%g +s%@uname_sysname@%$uname_sysname%g +s%@uname_release@%$uname_release%g +s%@uname_version@%$uname_version%g +s%@gnu_ld@%$gnu_ld%g +s%@gnu_as@%$gnu_as%g +s%@elf@%$elf%g +s%@weak@%$weak%g + +CEOF +EOF +cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF +for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then + # Support "outfile[:infile]", defaulting infile="outfile.in". + case "$ac_file" in + *:*) ac_file_in=`echo "$ac_file"|sed 's%.*:%%'` + ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; + *) ac_file_in="${ac_file}.in" ;; + esac + + # Adjust relative srcdir, etc. for subdirectories. + + # Remove last slash and all that follows it. Not all systems have dirname. + ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` + if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then + # The file is in a subdirectory. + test ! -d "$ac_dir" && mkdir "$ac_dir" + ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`" + # A "../" for each directory in $ac_dir_suffix. + ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'` + else + ac_dir_suffix= ac_dots= + fi + + case "$ac_given_srcdir" in + .) srcdir=. + if test -z "$ac_dots"; then top_srcdir=. + else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;; + /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;; + *) # Relative path. + srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix" + top_srcdir="$ac_dots$ac_given_srcdir" ;; + esac + + case "$ac_given_INSTALL" in + [/$]*) INSTALL="$ac_given_INSTALL" ;; + *) INSTALL="$ac_dots$ac_given_INSTALL" ;; + esac + echo creating "$ac_file" + rm -f "$ac_file" + configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure." + case "$ac_file" in + *Makefile*) ac_comsub="1i\\ +# $configure_input" ;; + *) ac_comsub= ;; + esac + sed -e "$ac_comsub +s%@configure_input@%$configure_input%g +s%@srcdir@%$srcdir%g +s%@top_srcdir@%$top_srcdir%g +s%@INSTALL@%$INSTALL%g +" -f conftest.subs $ac_given_srcdir/$ac_file_in > $ac_file +fi; done +rm -f conftest.subs + +# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where +# NAME is the cpp macro being defined and VALUE is the value it is being given. +# +# ac_d sets the value in "#define NAME VALUE" lines. +ac_dA='s%^\([ ]*\)#\([ ]*define[ ][ ]*\)' +ac_dB='\([ ][ ]*\)[^ ]*%\1#\2' +ac_dC='\3' +ac_dD='%g' +# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE". +ac_uA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' +ac_uB='\([ ]\)%\1#\2define\3' +ac_uC=' ' +ac_uD='\4%g' +# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE". +ac_eA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' +ac_eB='$%\1#\2define\3' +ac_eC=' ' +ac_eD='%g' + +CONFIG_HEADERS=${CONFIG_HEADERS-"config.h"} +for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then + # Support "outfile[:infile]", defaulting infile="outfile.in". + case "$ac_file" in + *:*) ac_file_in=`echo "$ac_file"|sed 's%.*:%%'` + ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; + *) ac_file_in="${ac_file}.in" ;; + esac + + echo creating $ac_file + + rm -f conftest.frag conftest.in conftest.out + cp $ac_given_srcdir/$ac_file_in conftest.in + +EOF + +# Transform confdefs.h into a sed script conftest.vals that substitutes +# the proper values into config.h.in to produce config.h. And first: +# Protect against being on the right side of a sed subst in config.status. +# Protect against being in an unquoted here document in config.status. +rm -f conftest.vals +cat > conftest.hdr <<\EOF +s/[\\&%]/\\&/g +s%[\\$`]%\\&%g +s%#define \([A-Za-z_][A-Za-z0-9_]*\) \(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp +s%ac_d%ac_u%gp +s%ac_u%ac_e%gp +EOF +sed -n -f conftest.hdr confdefs.h > conftest.vals +rm -f conftest.hdr + +# This sed command replaces #undef with comments. This is necessary, for +# example, in the case of _POSIX_SOURCE, which is predefined and required +# on some systems where configure will not decide to define it. +cat >> conftest.vals <<\EOF +s%^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */% +EOF + +# Break up conftest.vals because some shells have a limit on +# the size of here documents, and old seds have small limits too. +# Maximum number of lines to put in a single here document. +ac_max_here_lines=12 + +rm -f conftest.tail +while : +do + ac_lines=`grep -c . conftest.vals` + # grep -c gives empty output for an empty file on some AIX systems. + if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi + # Write a limited-size here document to conftest.frag. + echo ' cat > conftest.frag <> $CONFIG_STATUS + sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS + echo 'CEOF + sed -f conftest.frag conftest.in > conftest.out + rm -f conftest.in + mv conftest.out conftest.in +' >> $CONFIG_STATUS + sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail + rm -f conftest.vals + mv conftest.tail conftest.vals +done +rm -f conftest.vals + +cat >> $CONFIG_STATUS <<\EOF + rm -f conftest.frag conftest.h + echo "/* $ac_file. Generated automatically by configure. */" > conftest.h + cat conftest.in >> conftest.h + rm -f conftest.in + if cmp -s $ac_file conftest.h 2>/dev/null; then + echo "$ac_file is unchanged" + rm -f conftest.h + else + rm -f $ac_file + mv conftest.h $ac_file + fi +fi; done + +EOF + +cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF +srcdir=$ac_given_srcdir +while test -n "$ac_sources"; do + set $ac_dests; ac_dest=$1; shift; ac_dests=$* + set $ac_sources; ac_source=$1; shift; ac_sources=$* + + echo "linking $srcdir/$ac_source to $ac_dest" + + if test ! -r $srcdir/$ac_source; then + { echo "configure: error: $srcdir/$ac_source: File not found" 1>&2; exit 1; } + fi + rm -f $ac_dest + + # Make relative symlinks. + # Remove last slash and all that follows it. Not all systems have dirname. + ac_dest_dir=`echo $ac_dest|sed 's%/[^/][^/]*$%%'` + if test "$ac_dest_dir" != "$ac_dest" && test "$ac_dest_dir" != .; then + # The dest file is in a subdirectory. + test ! -d "$ac_dest_dir" && mkdir "$ac_dest_dir" + ac_dest_dir_suffix="/`echo $ac_dest_dir|sed 's%^\./%%'`" + # A "../" for each directory in $ac_dest_dir_suffix. + ac_dots=`echo $ac_dest_dir_suffix|sed 's%/[^/]*%../%g'` + else + ac_dest_dir_suffix= ac_dots= + fi + + case "$srcdir" in + [/$]*) ac_rel_source="$srcdir/$ac_source" ;; + *) ac_rel_source="$ac_dots$srcdir/$ac_source" ;; + esac + + # Make a symlink if possible; otherwise try a hard link. + if ln -s $ac_rel_source $ac_dest 2>/dev/null || + ln $srcdir/$ac_source $ac_dest; then : + else + { echo "configure: error: can not link $ac_dest to $srcdir/$ac_source" 1>&2; exit 1; } + fi +done +EOF +cat >> $CONFIG_STATUS <> config.make +EOF +cat >> $CONFIG_STATUS <<\EOF + +exit 0 +EOF +chmod +x $CONFIG_STATUS +rm -fr confdefs* $ac_clean_files +test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1 + diff --git a/configure.in b/configure.in new file mode 100644 index 0000000..4d03b80 --- /dev/null +++ b/configure.in @@ -0,0 +1,413 @@ +dnl Process this file with autoconf to produce a configure script. +AC_REVISION([$Id$]) +AC_PREREQ(2.1)dnl dnl Minimum Autoconf version required. +AC_INIT(features.h) +AC_CONFIG_HEADER(config.h) + +# This will get text that should go into config.make. +config_vars= + +# Check for a --with-gmp argument and set gmp-srcdir in config.make. +AC_ARG_WITH(gmp, dnl + --with-gmp=DIRECTORY find GMP source code in DIRECTORY (not needed), + [dnl +case "$with_gmp" in +yes) AC_MSG_ERROR(--with-gmp requires an argument; use --with-gmp=DIRECTORY) ;; +''|no) ;; +*) config_vars="$config_vars +gmp-srcdir = $withval" ;; +esac +]) + +AC_ARG_WITH(gnu-binutils, dnl + --with-gnu-binutils if using GNU binutils (as and ld), + gnu_binutils=yes, gnu_binutils=no) +AC_ARG_WITH(gnu-ld, dnl + --with-gnu-ld if using GNU ld (in the binutils package), + gnu_ld=yes, gnu_ld=no) +AC_ARG_WITH(gnu-as, dnl + --with-gnu-as if using GNU as (in the binutils package), + gnu_as=yes, gnu_as=no) +test $gnu_binutils = yes && gnu_as=yes gnu_ld=yes +AC_ARG_WITH(elf, dnl + --with-elf if using the ELF object format, + elf=yes, elf=no) +AC_ARG_WITH(weak-symbols, dnl + --with-weak-symbols if weak symbols are available in as and ld, + weak=yes, weak=no) + +AC_CANONICAL_HOST +# We keep the original values in `$config_*' and never modify them, so we +# can write them unchanged into config.make. Everything else uses +# $machine, $vendor, and $os, and changes them whenever convenient. +config_machine=$host_cpu config_vendor=$host_vendor config_os=$host_os + +sysdep_dir=$srcdir/sysdeps +AC_MSG_CHECKING(sysdep dirs) +AC_CACHE_VAL(libc_cv_sysdirs, [dnl +machine=$config_machine +vendor=$config_vendor +os=$config_os + +dnl We need to use [ and ] for other purposes for a while now. +changequote(,)dnl +# Expand the configuration machine name into a subdirectory by architecture +# type and particular chip. +case "$machine" in +i[345]86) + machine=i386/$machine ;; +sparc[6789]) + machine=sparc/$machine ;; +m68k) + machine=m68k/m68020 ;; +m680?0) + machine=m68k/$machine ;; +m88k) + machine=m88k/m88100 ;; +m88???) + machine=m88k/$machine ;; +mips64*) + machine=mips/mips64/$machine ;; +mips*) + machine=mips/$machine ;; +esac + +# Make sco3.2v4 become sco3.2.4 and sunos4.1.1_U1 become sunos4.1.1.U1. +os="`echo $os | sed 's/\([0-9A-Z]\)[v_]\([0-9A-Z]\)/\1.\2/g'`" + +case "$os" in +gnu*) + base_os=mach/hurd ;; +netbsd* | 386bsd*) + base_os=unix/bsd/bsd4.4 ;; +osf1* | sunos* | ultrix* | newsos* | dynix* | *bsd*) + base_os=unix/bsd ;; +linux* | sysv* | isc* | esix* | sco* | minix* | irix4*) + base_os=unix/sysv ;; +solaris[2-9]*) + base_os=unix/sysv/sysv4 ;; +none) + base_os=standalone ;; +*) + base_os='' ;; +esac + +# For sunos4.1.1, try sunos4.1.1, then sunos4.1, then sunos4, then sunos. +tail=$os +ostry=$os +while o=`echo $tail | sed 's/\.[^.]*$//'`; test $o != $tail; do + ostry="$ostry /$o" + tail=$o +done +o=`echo $tail | sed 's/[0-9]*$//'` +if test $o != $tail; then + ostry="$ostry /$o" +fi + +# For unix/sysv/sysv4, try unix/sysv/sysv4, then unix/sysv, then unix. +base= +tail=$base_os +while b=`echo $tail | sed 's@^\(.*\)/\([^/]*\)$@& \1@'`; test -n "$b"; do + set $b + base="$base /$1" + tail="$2" +done + +# For sparc/sparc9, try sparc/sparc9 and then sparc. +mach= +tail=$machine +while m=`echo $tail | sed 's@^\(.*\)/\([^/]*\)$@& \1@'`; test -n "$m"; do + set $m + mach="$mach /$1" + tail="$2" +done + +dnl We are done with glob and regexp uses of [ and ]; return to autoconf. +changequote([,])dnl + +# Find what sysdep directories exist. +sysnames= +for b in $base ''; do + for m0 in $mach ''; do + for v in /$vendor ''; do + for o in /$ostry ''; do + for m in $mach ''; do + try="$m0$b$v$o$m" + if test -d $sysdep_dir$try; then + sysnames="$sysnames $try" + { test -n "$o" || test -n "$b"; } && os_used=t + { test -n "$m" || test -n "$m0"; } && machine_used=t + fi + done + done + done + done +done + +if test -z "$os_used" && test "$os" != none; then + AC_MSG_ERROR(Operating system $os is not supported.) +fi +if test -z "$machine_used" && test "$machine" != none; then + AC_MSG_ERROR(The $machine is not supported.) +fi + +# We have now validated the configuration. + +# Remove the leading slashes. +sysnames="`echo $sysnames | sed -e 's@^/@@' -e 's@ /@ @g'`" + +# Prepend the machine's FPU directory unless --without-fp. +if test "$with_fp" = no; then + fpu_dirs= + for m in $mach; do + if test -d $sysdep_dir$m/fpu; then + fpu_dirs="$fpu_dirs $m/fpu" + fi + done + sysnames="`echo $fpu_dirs | sed -e 's,^/,,' -e 's, /,,g'` $sysnames" +fi + +# Expand the list of system names into a full list of directories +# from each element's parent name and Implies file (if present). +set $sysnames +while test $# -gt 0; do + name=$1 + shift + + if test -f $sysdep_dir/$name/Implies; then + # Collect more names from the `Implies' file (removing comments). + implied="`sed 's/#.*$//' < $sysdep_dir/$name/Implies`" + for x in $implied; do + test -d $sysdep_dir/$x || echo "Warning: $name implies nonexistent $x">&2 + done + else + implied= + fi + + # Add NAME to the list of names. + names="$names $name" + + # Find the parent of NAME, using the empty string if it has none. +changequote(,)dnl + parent="`echo $name | sed -n -e '/\//!q' -e 's=/[^/]*$==p'`" +changequote([,])dnl + + # Add the names implied by NAME, and NAME's parent (if it has one), to + # the list of names to be processed (the argument list). We prepend the + # implied names to the list and append the parent. We want implied + # directories to come before further directories inferred from the + # configuration components; this ensures that for sysv4, unix/common + # (implied by unix/sysv/sysv4) comes before unix/sysv (in ostry (here $*) + # after sysv4). + sysnames="`echo $implied $* $parent`" + test -n "$sysnames" && set $sysnames +done + +# Add the default directories. +names="$names generic stub" + +# Now uniquize the list. +seen= +sysnames= +for name in $names; do + if echo "$seen" | fgrep -x $name >/dev/null; then + # Already in the list. + true; + else + # A new one. + if test -z "$seen"; then + seen="$name" sysnames="$name" + else + seen="$seen +$name" + sysnames="$sysnames $name" + fi + fi +done +libc_cv_sysdirs="$sysnames"]) +AC_SUBST(sysnames) sysnames="$libc_cv_sysdirs" +AC_MSG_RESULT(${sysnames}) + +case "$host_os" in +gnu* | linux* | bsd4.4* | netbsd* | freebsd*) + gnu_ld=yes gnu_as=yes +esac +case "$host_os" in +gnu*elf* | linux*elf* | sysv4* | solaris2*) + elf=yes +esac + +AC_PROG_INSTALL +if test "$INSTALL" = "${srcdir}/install-sh"; then + # The makefiles need to use a different form to find it in $srcdir. + INSTALL='$(..)./install-sh' +fi + +AC_PROG_CC +AC_PROG_CPP +AC_CHECK_PROG(AR, ar, ar, ar) +AC_PROG_RANLIB + +AC_MSG_CHECKING(signed size_t type) +AC_CACHE_VAL(libc_cv_signed_size_t, [dnl +echo '#include +FOOBAR __SIZE_TYPE__ FOOBAR' > conftest.c +if eval "$ac_cpp conftest.c 2>/dev/null" \ +| grep '^FOOBAR.*unsigned.*FOOBAR$' >/dev/null; then + libc_cv_signed_size_t=no +else + libc_cv_signed_size_t=yes +fi +rm -f conftest*]) +AC_MSG_RESULT($libc_cv_signed_size_t) +if test $libc_cv_signed_size_t = yes; then + dnl Do this by hand instead of AC_DEFINE so can add #undef to avoid warnings. + cat >> confdefs.h <<\EOF +#undef __SIZE_TYPE__ +#define __SIZE_TYPE__ unsigned +EOF +fi + +AC_MSG_CHECKING(libc-friendly stddef.h) +AC_CACHE_VAL(libc_cv_friendly_stddef, [dnl +AC_TRY_COMPILE(dnl +[#define __need_size_t +#define __need_wchar_t +#include +#define __need_NULL +#include ], [size_t size; wchar_t wchar; +#ifdef offsetof +#error stddef.h ignored __need_* +#endif +if (&size == NULL || &wchar == NULL) abort ();], + libc_cv_friendly_stddef=yes, + libc_cv_friendly_stddef=no)]) +AC_MSG_RESULT($libc_cv_friendly_stddef) +if test $libc_cv_friendly_stddef = yes; then + config_vars="$config_vars +override stddef.h = # The installed seems to be libc-friendly." +fi + +AC_MSG_CHECKING(whether we need to use -P to assemble .S files) +AC_CACHE_VAL(libc_cv_need_minus_P, [dnl +cat > conftest.S </dev/null; then + libc_cv_need_minus_P=no +else + libc_cv_need_minus_P=yes +fi +rm -f conftest*]) +AC_MSG_RESULT($libc_cv_need_minus_P) +if test $libc_cv_need_minus_P = yes; then + config_vars="$config_vars +asm-CPPFLAGS = -P # The assembler can't grok cpp's # line directives." +fi + +# sysdeps configure fragments may set these with files to be linked below. +libc_link_dests= +libc_link_sources= + +# Iterate over all the sysdep directories we will use, running their +# configure fragments, and looking for a uname implementation. +uname= +for dir in $sysnames; do + if test -r $sysdep_dir/$dir/configure; then + AC_MSG_RESULT(running configure fragment for $dir) + . $sysdep_dir/$dir/configure + fi + if test -z "$uname"; then + { test -r $sysdep_dir/$dir/uname.c || test -r $sysdep_dir/$dir/uname.S; } \ + && uname=$dir + fi +done + +AC_LINK_FILES(`echo $libc_link_sources`, `echo $libc_link_dests`) + +# If we will use the generic uname implementation, we must figure out what +# it will say by examining the system, and write the results in config-name.h. +if test "$uname" = generic; then + +changequote(,)dnl + uname_sysname=`echo $config_os | sed 's/[0-9.]*$//'` +changequote([,])dnl + if test $uname_sysname != $config_os; then + config_release=`echo $config_os | sed s/$uname_sysname//` + fi +dnl +AC_DEFUN(LIBC_KERNEL_ID, [dnl + if test -r /vmunix; then + kernel_id=`strings /vmunix | grep UNIX` + elif test -r /dynix; then + kernel_id=`strings /dynix | grep DYNIX` + else + kernel_id= + fi +])dnl + + AC_MSG_CHECKING(OS release for uname) + AC_CACHE_VAL(libc_cv_uname_release, [dnl +AC_REQUIRE([LIBC_KERNEL_ID])dnl +changequote(,)dnl + kernel_release=`echo "$kernel_id" | sed 's/^[^0-9.]*\([0-9.]*\).*$/\1/'` +changequote([,])dnl + if test x`echo "$config_release" | sed "s/^$kernel_release//"` \ + != x$config_release; then + # The configuration release is a substring of the kernel release. + libc_cv_uname_release=$kernel_release + elif test x$config_release != x; then + libc_cv_uname_release=$config_release + elif test x$kernel_release != x; then + libc_cv_uname_release=$kernel_release + else + libc_cv_uname_release=unknown + fi]) + AC_MSG_RESULT($libc_cv_uname_release) + uname_release="$libc_cv_uname_release" + + AC_MSG_CHECKING(OS version for uname) + AC_CACHE_VAL(libc_cv_uname_version, [dnl +AC_REQUIRE([LIBC_KERNEL_ID])dnl +changequote(,)dnl + kernel_version=`echo "$kernel_id" | sed 's/^[^#]*#\([0-9]*\).*$/\1/'` +changequote([,])dnl + if test -n "$kernel_version"; then + libc_cv_uname_version="$kernel_version" + else + libc_cv_uname_version=unknown + fi]) + AC_MSG_RESULT($libc_cv_uname_version) + uname_version="$libc_cv_uname_version" + +AC_SUBST(uname_sysname) AC_SUBST(uname_release) AC_SUBST(uname_version)dnl + config_uname=config-name.h:config-name.in +else + # For non-generic uname, we don't need to create config-name.h at all. + config_uname= +fi + +AC_SUBST(gnu_ld) AC_SUBST(gnu_as) AC_SUBST(elf) AC_SUBST(weak) +if test $gnu_ld = yes; then + AC_DEFINE(HAVE_GNU_LD) +fi +if test $gnu_as = yes; then + AC_DEFINE(HAVE_GNU_AS) +fi +if test $elf = yes; then + AC_DEFINE(HAVE_ELF) +fi +if test $weak = yes; then + AC_DEFINE(HAVE_WEAK_SYMBOLS) +fi + + +if test "`(cd $srcdir; pwd)`" = "`pwd`"; then + config_makefile= +else + config_makefile=Makefile +fi + +AC_OUTPUT(config.make ${config_makefile} ${config_uname}, , + [echo '$config_vars' >> config.make]) diff --git a/crypt-README b/crypt-README new file mode 100644 index 0000000..c80ddf5 --- /dev/null +++ b/crypt-README @@ -0,0 +1,14 @@ +The GNU C library now includes Michael Glad's Ultra Fast Crypt, which +provides the Unix `crypt' function, plus some other entry points. Because +of the United States export restriction on DES implementations, we are +distributing this code separately from the rest of the C library. There is +an extra distribution tar file just for crypt; it is called +`glibc-1.07-crypt.tar.gz'. You can just unpack the crypt distribution +along with the rest of the C library and build; you can also build the +library without getting crypt. Users outside the USA can get the crypt +distribution via anonymous FTP from ftp.uni-c.dk [129.142.6.74], or another +archive site outside the USA. Archive maintainers are encouraged to copy +this distribution to their archives outside the USA. Please get it from +ftp.uni-c.dk; transferring this distribution from prep.ai.mit.edu (or any +other site in the USA) to a site outside the USA is in violation of US +export laws. diff --git a/csu/Makefile b/csu/Makefile new file mode 100644 index 0000000..6de77b7 --- /dev/null +++ b/csu/Makefile @@ -0,0 +1,84 @@ +# Makefile for csu code for GNU C library. + +# Copyright (C) 1995 Free Software Foundation, Inc. +# This file is part of the GNU C Library. + +# The GNU C Library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Library General Public License +# as published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. + +# The GNU C Library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Library General Public License for more details. + +# You should have received a copy of the GNU Library General Public +# License along with the GNU C Library; see the file COPYING.LIB. If +# not, write to the Free Software Foundation, Inc., 675 Mass Ave, +# Cambridge, MA 02139, USA. + +# This directory contains the C startup code (that which calls main). This +# consists of the startfile, built from start.c and installed as crt0.o +# (traditionally) or crt1.o (for ELF); and some initialization code which +# is in the C library itself. In ELF we also install crti.o and crtn.o, +# special "initializer" and "finalizer" files in used in the link to make +# the .init and .fini sections work right; both these files are built (in +# an arcane manner) from initfini.c. + +subdir := csu + +csu-dummies = $(filter-out $(start-installed-name),crt1.o Mcrt1.o) +extra-objs = start.o $(start-installed-name) $(csu-dummies) +omit-deps = $(patsubst %.o,%,$(start-installed-name) $(csu-dummies)) +install-lib = $(start-installed-name) $(csu-dummies) +distribute = initfini.c + +all: # Make this the default target; it will be defined in Rules. + +include ../Makeconfig + +ifneq ($(elf),yes) +# When not using ELF, there is just one startfile, called crt0.o. +start-installed-name = crt0.o +else +# In the ELF universe, crt0.o is called crt1.o, and there are +# some additional bizarre files. +start-installed-name = crt1.o +install-lib += crti.o crtn.o +extra-objs += crti.o crtn.o +generated += crti.s crtn.s +omit-deps += crti crtn + +# Compile initfini.c to assembly code, which contains embedded shell +# commands that prodice crti.s-new and crtn.s-new when run. We need to +# disable emission of .size directives and debugging information, since +# they will get confused by the splitting of the output we do. +$(objpfx)cr%i.s $(objpfx)cr%n.s: initfini.c + -rm -f $(objpfx)crtcommon.tmp + (echo 'cat > crtcommon.tmp <<\EOF_common'; \ + $(CC) $< $(CPPFLAGS) $(CFLAGS) -finhibit-size-directive -g0 -S -o -; \ + echo 'EOF_common') | (cd $(@D); $(SHELL)) + cat $(objpfx)crtcommon.tmp >> $(objpfx)crti.s-new + cat $(objpfx)crtcommon.tmp >> $(objpfx)crtn.s-new + rm -f $(objpfx)crtcommon.tmp + mv -f $(objpfx)crti.s-new $(objpfx)crti.s + mv -f $(objpfx)crtn.s-new $(objpfx)crtn.s +endif + + +include ../Rules + +# The startfile is installed under different names, so we just call our +# source file `start.c' and copy to the installed name after compiling. +$(objpfx)$(start-installed-name): $(objpfx)start.o + -rm -f $@ + ln $< $@ + +# These extra files are sometimes expected by system standard linking +# procedures, but we have nothing for them to do. So compile empty files. +$(addprefix $(objpfx),$(filter-out $(start-installed-name),$(csu-dummies))): + cp /dev/null $(@:.o=.c) + $(COMPILE.c) $(@:.o=.c) $(OUTPUT_OPTION) + rm -f $(@:.o=.c) + diff --git a/csu/initfini.c b/csu/initfini.c new file mode 100644 index 0000000..ea16e62 --- /dev/null +++ b/csu/initfini.c @@ -0,0 +1,85 @@ +/* Special .init and .fini section support. +Copyright (C) 1995 Free Software Foundation, Inc. +This file is part of the GNU C Library. + +The GNU C Library is free software; you can redistribute it and/or +modify it under the terms of the GNU Library General Public License as +published by the Free Software Foundation; either version 2 of the +License, or (at your option) any later version. + +The GNU C Library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Library General Public License for more details. + +You should have received a copy of the GNU Library General Public +License along with the GNU C Library; see the file COPYING.LIB. If +not, write to the Free Software Foundation, Inc., 675 Mass Ave, +Cambridge, MA 02139, USA. */ + +/* This file is compiled into assembly code which is then surrounded by the + lines `cat > crtcommon.tmp <<\EOF_common' and `EOF_common' and thus + becomes a shell script which creates three files of assembly code. + + * The first file is crti.s-new; this puts a function prologue at the + beginning of the .init and .fini sections and defines global symbols for + those addresses, so they can be called as functions. + + * The second file is crtn.s-new; this puts the corresponding function + epilogues in the .init and .fini sections. + + * The third file is crtcommon.tmp, which is whatever miscellaneous cruft + the compiler generated at the end; it should be appended to both crti.s-new + and crtn.s-new. */ + +#include + +/* These declarations make the functions go in the right sections when + we define them below. GCC syntax does not allow the attribute + specifications to be in the function definitions themselves. */ +void _init (void) __attribute__ ((section (".init"))); +void _fini (void) __attribute__ ((section (".fini"))); + +/* End the here document containing the initial common code. + Then move the output file crtcommon.tmp to crti.s-new and crtn.s-new. */ +asm ("\nEOF_common\n\ +mv -f crtcommon.tmp crti.s-new\n\ +cp -f crti.s-new crtn.s-new"); + +/* Append the .init prologue to crti.s-new. */ +asm ("cat >> crti.s-new <<\\EOF.crti.init"); +void +_init (void) +{ + /* End the here document containing the .init prologue code. + Then fetch the .section directive just written and append that + to crtn.s-new, followed by the function epilogue. */ + asm ("\nEOF.crti.init +\n\ + fgrep .init crti.s-new >>crtn.s-new\n\ + cat >> crtn.s-new <<\\EOF.crtn.init"); +} + +/* End the here document containing the .init epilogue code. + Then append the .fini prologue to crti.s-new. */ +asm ("\nEOF.crtn.init\ +\n\ +cat >> crti.s-new <<\\EOF.crti.fini"); + +void +_fini (void) +{ + /* End the here document containing the .fini prologue code. + Then fetch the .section directive just written and append that + to crtn.s-new, followed by the function epilogue. */ + asm ("\nEOF.crti.fini\ +\n\ + fgrep .fini crti.s-new >>crtn.s-new\n\ + cat >> crtn.s-new <<\\EOF.crtn.fini"); +} + +/* End the here document containing the .fini epilogue code. + Finally, put the remainder of the generated assembly into crtcommon.tmp. */ +asm ("\nEOF.crtn.fini\ +\n\ +cat > crtcommon.tmp <<\\EOF_common"); diff --git a/ctype.h b/ctype.h new file mode 100644 index 0000000..7b51e1f --- /dev/null +++ b/ctype.h @@ -0,0 +1 @@ +#include diff --git a/ctype/Makefile b/ctype/Makefile new file mode 100644 index 0000000..21dfc8e --- /dev/null +++ b/ctype/Makefile @@ -0,0 +1,29 @@ +# Copyright (C) 1991, 1992, 1993 Free Software Foundation, Inc. +# This file is part of the GNU C Library. + +# The GNU C Library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Library General Public License as +# published by the Free Software Foundation; either version 2 of the +# License, or (at your option) any later version. + +# The GNU C Library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Library General Public License for more details. + +# You should have received a copy of the GNU Library General Public +# License along with the GNU C Library; see the file COPYING.LIB. If +# not, write to the Free Software Foundation, Inc., 675 Mass Ave, +# Cambridge, MA 02139, USA. + +# +# Sub-makefile for ctype portion of the library. +# +subdir := ctype + +routines := ctype ctype-extn +aux := ctype-info + +tests := test_ctype + +include ../Rules diff --git a/ctype/ctype-extn.c b/ctype/ctype-extn.c new file mode 100644 index 0000000..ccf5552 --- /dev/null +++ b/ctype/ctype-extn.c @@ -0,0 +1,32 @@ +/* Copyright (C) 1991 Free Software Foundation, Inc. +This file is part of the GNU C Library. + +The GNU C Library is free software; you can redistribute it and/or +modify it under the terms of the GNU Library General Public License as +published by the Free Software Foundation; either version 2 of the +License, or (at your option) any later version. + +The GNU C Library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Library General Public License for more details. + +You should have received a copy of the GNU Library General Public +License along with the GNU C Library; see the file COPYING.LIB. If +not, write to the Free Software Foundation, Inc., 675 Mass Ave, +Cambridge, MA 02139, USA. */ + +#include + +#define __NO_CTYPE +#include + +/* Real function versions of the non-ANSI ctype functions. */ + +int DEFUN(isblank, (c), int c) { return __isctype ((c), _ISblank); } + +int DEFUN(_tolower, (c), int c) { return __tolower(c); } +int DEFUN(_toupper, (c), int c) { return __toupper(c); } + +int DEFUN(toascii, (c), int c) { return __toascii(c); } +int DEFUN(isascii, (c), int c) { return __isascii(c); } diff --git a/ctype/ctype-info.c b/ctype/ctype-info.c new file mode 100644 index 0000000..2a1e596 --- /dev/null +++ b/ctype/ctype-info.c @@ -0,0 +1,30 @@ +/* Copyright (C) 1991, 1992 Free Software Foundation, Inc. +This file is part of the GNU C Library. + +The GNU C Library is free software; you can redistribute it and/or +modify it under the terms of the GNU Library General Public License as +published by the Free Software Foundation; either version 2 of the +License, or (at your option) any later version. + +The GNU C Library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Library General Public License for more details. + +You should have received a copy of the GNU Library General Public +License along with the GNU C Library; see the file COPYING.LIB. If +not, write to the Free Software Foundation, Inc., 675 Mass Ave, +Cambridge, MA 02139, USA. */ + +#include +#include +#include + +/* Defined in locale/locale-C-ct.c. */ +extern CONST unsigned short int __ctype_b_C[]; +extern CONST short int __ctype_tolower_C[]; +extern CONST short int __ctype_toupper_C[]; + +CONST unsigned short int *__ctype_b = __ctype_b_C + 1; +CONST short int *__ctype_tolower = __ctype_tolower_C + 1; +CONST short int *__ctype_toupper = __ctype_toupper_C + 1; diff --git a/ctype/ctype.c b/ctype/ctype.c new file mode 100644 index 0000000..ee874de --- /dev/null +++ b/ctype/ctype.c @@ -0,0 +1,51 @@ +/* Copyright (C) 1991, 1992 Free Software Foundation, Inc. +This file is part of the GNU C Library. + +The GNU C Library is free software; you can redistribute it and/or +modify it under the terms of the GNU Library General Public License as +published by the Free Software Foundation; either version 2 of the +License, or (at your option) any later version. + +The GNU C Library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Library General Public License for more details. + +You should have received a copy of the GNU Library General Public +License along with the GNU C Library; see the file COPYING.LIB. If +not, write to the Free Software Foundation, Inc., 675 Mass Ave, +Cambridge, MA 02139, USA. */ + +#include + +#define __NO_CTYPE +#include + +/* Provide real-function versions of all the ctype macros. */ + +#define func(name, type) \ + int DEFUN(name, (c), int c) { return __isctype(c, type); } + +func(isalnum, _ISalnum) +func(isalpha, _ISalpha) +func(iscntrl, _IScntrl) +func(isdigit, _ISdigit) +func(islower, _ISlower) +func(isgraph, _ISgraph) +func(isprint, _ISprint) +func(ispunct, _ISpunct) +func(isspace, _ISspace) +func(isupper, _ISupper) +func(isxdigit, _ISxdigit) + +int +DEFUN(tolower, (c), int c) +{ + return __tolower (c); +} + +int +DEFUN(toupper, (c), int c) +{ + return __toupper (c); +} diff --git a/ctype/ctype.h b/ctype/ctype.h new file mode 100644 index 0000000..0f35d2a --- /dev/null +++ b/ctype/ctype.h @@ -0,0 +1,152 @@ +/* Copyright (C) 1991, 1992, 1993, 1995 Free Software Foundation, Inc. +This file is part of the GNU C Library. + +The GNU C Library is free software; you can redistribute it and/or +modify it under the terms of the GNU Library General Public License as +published by the Free Software Foundation; either version 2 of the +License, or (at your option) any later version. + +The GNU C Library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Library General Public License for more details. + +You should have received a copy of the GNU Library General Public +License along with the GNU C Library; see the file COPYING.LIB. If +not, write to the, 1992 Free Software Foundation, Inc., 675 Mass Ave, +Cambridge, MA 02139, USA. */ + +/* + * ANSI Standard 4.3: CHARACTER HANDLING + */ + +#ifndef _CTYPE_H + +#define _CTYPE_H 1 +#include + +__BEGIN_DECLS + +/* These are all the characteristics of characters. All the + interdependencies (such as that an alphabetic is an uppercase or a + lowercase) are here. If there get to be more than + (sizeof (unsigned short int) * CHAR_BIT) distinct characteristics, + many things must be changed that use `unsigned short int's. */ +enum +{ + _ISupper = 1 << 0, /* UPPERCASE. */ + _ISlower = 1 << 1, /* lowercase. */ + _IScntrl = 1 << 2, /* Control character. */ + _ISdigit = 1 << 3, /* Numeric. */ + _ISspace = 1 << 4, /* Whitespace. */ + _IShex = 1 << 5, /* A - F, a - f. */ + _ISpunct = 1 << 6, /* Punctuation. */ + _NOgraph = 1 << 7, /* Printing but nongraphical. */ + _ISblank = 1 << 8, /* Blank (usually SPC and TAB). */ + _ISalpha = 1 << 9, /* Alphabetic. */ + _ISalnum = _ISalpha | _ISdigit, /* Alphanumeric. */ + _ISxdigit = _ISdigit | _IShex, /* Hexadecimal numeric. */ + _ISgraph = _ISalnum | _ISpunct, /* Graphical. */ + _ISprint = _ISgraph | _NOgraph /* Printing. */ +}; + +/* These are defined in localeinfo.c. + The declarations here must match those in localeinfo.h. + + These point to the second element ([1]) of arrays of size (UCHAR_MAX + 1). + EOF is -1, so [EOF] is the first element of the original array. + ANSI requires that the ctype functions work for `unsigned char' values + and for EOF. The case conversion arrays are of `short int's rather than + `unsigned char's because tolower (EOF) must be EOF, which doesn't fit + into an `unsigned char'. */ +extern __const unsigned short int *__ctype_b; /* Characteristics. */ +extern __const short int *__ctype_tolower; /* Case conversions. */ +extern __const short int *__ctype_toupper; /* Case conversions. */ + +#define __isctype(c, type) \ + (__ctype_b[(int) (c)] & (unsigned short int) type) + +#define __isascii(c) (((c) & (1 << 7)) == 0) /* If high bit is set. */ +#define __toascii(c) ((c) & 0x7f) /* Mask off high bit. */ + +#define __tolower(c) ((int) __ctype_tolower[(int) (c)]) +#define __toupper(c) ((int) __ctype_toupper[(int) (c)]) + +#define __exctype(name) extern int name __P ((int)) + +/* The following names are all functions: + int isCHARACTERISTIC(int c); + which return nonzero iff C has CHARACTERISTIC. + For the meaning of the characteristic names, see the `enum' above. */ +__exctype (isalnum); +__exctype (isalpha); +__exctype (iscntrl); +__exctype (isdigit); +__exctype (islower); +__exctype (isgraph); +__exctype (isprint); +__exctype (ispunct); +__exctype (isspace); +__exctype (isupper); +__exctype (isxdigit); + +#ifdef __USE_GNU +__exctype (isblank); +#endif + + +/* Return the lowercase version of C. */ +extern int tolower __P ((int __c)); + +/* Return the uppercase version of C. */ +extern int toupper __P ((int __c)); + + +#if defined(__USE_SVID) || defined(__USE_MISC) + +/* Return nonzero iff C is in the ASCII set + (i.e., is no more than 7 bits wide). */ +extern int isascii __P ((int __c)); + +/* Return the part of C that is in the ASCII set + (i.e., the low-order 7 bits of C). */ +extern int toascii __P ((int __c)); + +#endif /* Use SVID or use misc. */ + +#ifdef __USE_SVID +/* These are the same as `toupper' and and `tolower'. */ +__exctype (_toupper); +__exctype (_tolower); +#endif + +#ifndef __NO_CTYPE +#define isalnum(c) __isctype((c), _ISalnum) +#define isalpha(c) __isctype((c), _ISalpha) +#define iscntrl(c) __isctype((c), _IScntrl) +#define isdigit(c) __isctype((c), _ISdigit) +#define islower(c) __isctype((c), _ISlower) +#define isgraph(c) __isctype((c), _ISgraph) +#define isprint(c) __isctype((c), _ISprint) +#define ispunct(c) __isctype((c), _ISpunct) +#define isspace(c) __isctype((c), _ISspace) +#define isupper(c) __isctype((c), _ISupper) +#define isxdigit(c) __isctype((c), _ISxdigit) + +#ifdef __USE_GNU +#define isblank(c) __isctype((c), _ISblank) +#endif + +#define tolower(c) __tolower(c) +#define toupper(c) __toupper(c) + +#if defined(__USE_SVID) || defined(__USE_MISC) +#define isascii(c) __isascii(c) +#define toascii(c) __toascii(c) +#endif + +#endif /* Not __NO_CTYPE. */ + +__END_DECLS + +#endif /* ctype.h */ diff --git a/ctype/test_ctype.c b/ctype/test_ctype.c new file mode 100644 index 0000000..622e5bf --- /dev/null +++ b/ctype/test_ctype.c @@ -0,0 +1,92 @@ +/* Copyright (C) 1991, 1994 Free Software Foundation, Inc. +This file is part of the GNU C Library. + +The GNU C Library is free software; you can redistribute it and/or +modify it under the terms of the GNU Library General Public License as +published by the Free Software Foundation; either version 2 of the +License, or (at your option) any later version. + +The GNU C Library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Library General Public License for more details. + +You should have received a copy of the GNU Library General Public +License along with the GNU C Library; see the file COPYING.LIB. If +not, write to the Free Software Foundation, Inc., 675 Mass Ave, +Cambridge, MA 02139, USA. */ + +#include +#include +#include +#include +#include + +#define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +#define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#define XOR(e,f) (((e) && !(f)) || (!(e) && (f))) + +#ifdef __GNUC__ +__inline +#endif +static void +DEFUN(print_char, (c), unsigned char c) +{ + printf("%d/", (int) c); + if (isgraph(c)) + printf("'%c'", c); + else + printf("'\\%.3o'", c); +} + +int +DEFUN(main, (argc, argv), int argc AND char **argv) +{ + register unsigned short int c; + int lose = 0; + + for (c = 0; c <= UCHAR_MAX; ++c) + { + print_char (c); + + if (XOR (islower (c), ISLOWER (c)) || toupper (c) != TOUPPER (c)) + { + fputs (" BOGUS", stdout); + ++lose; + } + + if (isascii(c)) + fputs(" isascii", stdout); + if (isalnum(c)) + fputs(" isalnum", stdout); + if (isalpha(c)) + fputs(" isalpha", stdout); + if (iscntrl(c)) + fputs(" iscntrl", stdout); + if (isdigit(c)) + fputs(" isdigit", stdout); + if (isgraph(c)) + fputs(" isgraph", stdout); + if (islower(c)) + fputs(" islower", stdout); + if (isprint(c)) + fputs(" isprint", stdout); + if (ispunct(c)) + fputs(" ispunct", stdout); + if (isspace(c)) + fputs(" isspace", stdout); + if (isupper(c)) + fputs(" isupper", stdout); + if (isxdigit(c)) + fputs(" isxdigit", stdout); + if (isblank(c)) + fputs(" isblank", stdout); + fputs("; lower = ", stdout); + print_char(tolower(c)); + fputs("; upper = ", stdout); + print_char(toupper(c)); + putchar('\n'); + } + + exit (lose ? EXIT_FAILURE : EXIT_SUCCESS); +} diff --git a/dirent.h b/dirent.h new file mode 100644 index 0000000..f59a6b7 --- /dev/null +++ b/dirent.h @@ -0,0 +1 @@ +#include diff --git a/dirent/Makefile b/dirent/Makefile new file mode 100644 index 0000000..ed3335c --- /dev/null +++ b/dirent/Makefile @@ -0,0 +1,32 @@ +# Copyright (C) 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc. +# This file is part of the GNU C Library. + +# The GNU C Library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Library General Public License as +# published by the Free Software Foundation; either version 2 of the +# License, or (at your option) any later version. + +# The GNU C Library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Library General Public License for more details. + +# You should have received a copy of the GNU Library General Public +# License along with the GNU C Library; see the file COPYING.LIB. If +# not, write to the Free Software Foundation, Inc., 675 Mass Ave, +# Cambridge, MA 02139, USA. + +# +# Sub-makefile for dirent portion of the library. +# +subdir := dirent + +headers := dirent.h dirstream.h +routines := opendir closedir readdir rewinddir \ + seekdir telldir scandir alphasort \ + getdents +distribute := direct.h + +tests := list tst-seekdir + +include ../Rules diff --git a/dirent/alphasort.c b/dirent/alphasort.c new file mode 100644 index 0000000..a7bdf38 --- /dev/null +++ b/dirent/alphasort.c @@ -0,0 +1,29 @@ +/* Copyright (C) 1992 Free Software Foundation, Inc. +This file is part of the GNU C Library. + +The GNU C Library is free software; you can redistribute it and/or +modify it under the terms of the GNU Library General Public License as +published by the Free Software Foundation; either version 2 of the +License, or (at your option) any later version. + +The GNU C Library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Library General Public License for more details. + +You should have received a copy of the GNU Library General Public +License along with the GNU C Library; see the file COPYING.LIB. If +not, write to the Free Software Foundation, Inc., 675 Mass Ave, +Cambridge, MA 02139, USA. */ + +#include +#include +#include + +int +DEFUN(alphasort, (a, b), + CONST PTR a AND CONST PTR b) +{ + return strcmp (((struct dirent *) a)->d_name, + ((struct dirent *) b)->d_name); +} diff --git a/dirent/dirent.h b/dirent/dirent.h new file mode 100644 index 0000000..b102a47 --- /dev/null +++ b/dirent/dirent.h @@ -0,0 +1,149 @@ +/* Copyright (C) 1991, 1992, 1993, 1994 Free Software Foundation, Inc. +This file is part of the GNU C Library. + +The GNU C Library is free software; you can redistribute it and/or +modify it under the terms of the GNU Library General Public License as +published by the Free Software Foundation; either version 2 of the +License, or (at your option) any later version. + +The GNU C Library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Library General Public License for more details. + +You should have received a copy of the GNU Library General Public +License along with the GNU C Library; see the file COPYING.LIB. If +not, write to the, 1992 Free Software Foundation, Inc., 675 Mass Ave, +Cambridge, MA 02139, USA. */ + +/* + * POSIX Standard: 5.1.2 Directory Operations + */ + +#ifndef _DIRENT_H + +#define _DIRENT_H 1 +#include + +__BEGIN_DECLS + +#include + + +/* Directory entry structure. + + This structure is laid out identically to the `struct direct' that + represents directory entries in the GNU Hurd and in BSD 4.4 (and + incidentally, on disk in the Berkeley fast file system). The `readdir' + implementations for GNU and BSD know this; you must change them if you + change this structure. */ + +struct dirent + { + __ino_t d_fileno; /* File serial number. */ + unsigned short int d_reclen; /* Length of the whole `struct dirent'. */ + unsigned char d_type; /* File type, possibly unknown. */ + unsigned char d_namlen; /* Length of the file name. */ + + /* Only this member is in the POSIX standard. */ + char d_name[1]; /* File name (actually longer). */ + }; + +#if defined(__USE_BSD) || defined(__USE_MISC) +#define d_ino d_fileno /* Backward compatibility. */ +#endif + +#ifdef __USE_BSD +/* File types for `d_type'. */ +enum + { + DT_UNKNOWN = 0, + DT_FIFO = 1, + DT_CHR = 2, + DT_DIR = 4, + DT_BLK = 6, + DT_REG = 8, + DT_LNK = 10, + DT_SOCK = 12 + }; + +/* Convert between stat structure types and directory types. */ +#define IFTODT(mode) (((mode) & 0170000) >> 12) +#define DTTOIF(dirtype) ((dirtype) << 12) +#endif + + +/* Get the system-dependent definition of `DIR', + the data type of directory stream objects. */ +#include + +/* Open a directory stream on NAME. + Return a DIR stream on the directory, or NULL if it could not be opened. */ +extern DIR *opendir __P ((__const char *__name)); + +/* Close the directory stream DIRP. + Return 0 if successful, -1 if not. */ +extern int closedir __P ((DIR * __dirp)); + +/* Read a directory entry from DIRP. + Return a pointer to a `struct dirent' describing the entry, + or NULL for EOF or error. The storage returned may be overwritten + by a later readdir call on the same DIR stream. */ +extern struct dirent *readdir __P ((DIR * __dirp)); + +/* Rewind DIRP to the beginning of the directory. */ +extern void rewinddir __P ((DIR * __dirp)); + +#if defined(__USE_BSD) || defined(__USE_MISC) + +#ifndef MAXNAMLEN +/* Get the definitions of the POSIX.1 limits. */ +#include + +/* `MAXNAMLEN' is the BSD name for what POSIX calls `NAME_MAX'. */ +#ifdef NAME_MAX +#define MAXNAMLEN NAME_MAX +#else +#define MAXNAMLEN 255 +#endif +#endif + +#include +#define __need_size_t +#include + +/* Seek to position POS on DIRP. */ +extern void seekdir __P ((DIR * __dirp, __off_t __pos)); + +/* Return the current position of DIRP. */ +extern __off_t telldir __P ((DIR * __dirp)); + +/* Scan the directory DIR, calling SELECT on each directory entry. + Entries for which SELECT returns nonzero are individually malloc'd, + sorted using qsort with CMP, and collected in a malloc'd array in + *NAMELIST. Returns the number of entries selected, or -1 on error. */ +extern int scandir __P ((__const char *__dir, + struct dirent ***__namelist, + int (*__select) __P ((struct dirent *)), + int (*__cmp) __P ((__const __ptr_t, + __const __ptr_t)))); + +/* Function to compare two `struct dirent's alphabetically. */ +extern int alphasort __P ((__const __ptr_t, __const __ptr_t)); + + +/* Read directory entries from FD into BUF, reading at most NBYTES. + Reading starts at offset *BASEP, and *BASEP is updated with the new + position after reading. Returns the number of bytes read; zero when at + end of directory; or -1 for errors. */ +extern __ssize_t __getdirentries __P ((int __fd, char *__buf, + size_t __nbytes, __off_t *__basep)); +extern __ssize_t getdirentries __P ((int __fd, char *__buf, + size_t __nbytes, __off_t *__basep)); + + +#endif /* Use BSD or misc. */ + +__END_DECLS + +#endif /* dirent.h */ diff --git a/dirent/list.c b/dirent/list.c new file mode 100644 index 0000000..606bd42 --- /dev/null +++ b/dirent/list.c @@ -0,0 +1,68 @@ +/* Copyright (C) 1991, 1993 Free Software Foundation, Inc. +This file is part of the GNU C Library. + +The GNU C Library is free software; you can redistribute it and/or +modify it under the terms of the GNU Library General Public License as +published by the Free Software Foundation; either version 2 of the +License, or (at your option) any later version. + +The GNU C Library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Library General Public License for more details. + +You should have received a copy of the GNU Library General Public +License along with the GNU C Library; see the file COPYING.LIB. If +not, write to the Free Software Foundation, Inc., 675 Mass Ave, +Cambridge, MA 02139, USA. */ + +#include +#include +#include +#include +#include +#include + + +void +DEFUN(test, (name), CONST char *name) +{ + DIR *dirp; + struct dirent *entp; + + puts(name); + + dirp = opendir(name); + if (dirp == NULL) + { + perror("opendir"); + return; + } + + errno = 0; + while ((entp = readdir(dirp)) != NULL) + printf("%s\tfile number %lu\n", + entp->d_name, (unsigned long int) entp->d_fileno); + + if (errno) + perror ("readdir"); + + if (closedir(dirp) < 0) + perror("closedir"); +} + +int +DEFUN(main, (argc, argv), int argc AND char **argv) +{ + --argc; + ++argv; + + if (argc == 0) + test("."); + else + while (argc-- > 0) + test(*argv++); + + exit(0); + return(0); +} diff --git a/dirent/scandir.c b/dirent/scandir.c new file mode 100644 index 0000000..6794ead --- /dev/null +++ b/dirent/scandir.c @@ -0,0 +1,89 @@ +/* Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc. +This file is part of the GNU C Library. + +The GNU C Library is free software; you can redistribute it and/or +modify it under the terms of the GNU Library General Public License as +published by the Free Software Foundation; either version 2 of the +License, or (at your option) any later version. + +The GNU C Library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Library General Public License for more details. + +You should have received a copy of the GNU Library General Public +License along with the GNU C Library; see the file COPYING.LIB. If +not, write to the Free Software Foundation, Inc., 675 Mass Ave, +Cambridge, MA 02139, USA. */ + +#include +#include +#include + +int +DEFUN(scandir, (dir, namelist, select, cmp), + CONST char *dir AND + struct dirent ***namelist AND + int EXFUN((*select), (struct dirent *)) AND + int EXFUN((*cmp), (CONST PTR, CONST PTR))) +{ + DIR *dp = opendir (dir); + struct dirent **v = NULL; + size_t vsize = 0, i; + struct dirent *d; + int save; + + if (dp == NULL) + return -1; + + save = errno; + errno = 0; + + i = 0; + while ((d = readdir (dp)) != NULL) + if (select == NULL || (*select) (d)) + { + if (i == vsize) + { + struct dirent **new; + if (vsize == 0) + vsize = 10; + else + vsize *= 2; + new = (struct dirent **) realloc (v, vsize * sizeof (*v)); + if (new == NULL) + { + lose: + errno = ENOMEM; + break; + } + v = new; + } + + v[i] = (struct dirent *) malloc (sizeof (**v)); + if (v[i] == NULL) + goto lose; + + *v[i++] = *d; + } + + if (errno != 0) + { + save = errno; + (void) closedir (dp); + while (i > 0) + free (v[--i]); + free (v); + errno = save; + return -1; + } + + (void) closedir (dp); + errno = save; + + /* Sort the list if we have a comparison function to sort with. */ + if (cmp != NULL) + qsort (v, i, sizeof (*v), cmp); + *namelist = v; + return i; +} diff --git a/dirent/tst-seekdir.c b/dirent/tst-seekdir.c new file mode 100644 index 0000000..fc28246 --- /dev/null +++ b/dirent/tst-seekdir.c @@ -0,0 +1,40 @@ +#include +#include +#include + +int +main () +{ + + DIR * dirp; + long save3; + int i = 0; + struct dirent *dp; + + dirp = opendir("."); + for (dp = readdir(dirp); dp != NULL; dp = readdir(dirp)) + { + /* save position 3 (fourth entry) */ + if (i++ == 3) + save3 = telldir(dirp); + + printf("%s\n", dp->d_name); + + /* stop at 400 (just to make sure dirp->__offset and dirp->__size are + scrambled */ + if (i == 400) + break; + } + + /* go back to saved entry */ + seekdir (dirp, save3); + + + /* print remaining files (3-last) */ + for (dp = readdir(dirp); dp != NULL; dp = readdir(dirp)) + printf("%s\n", dp->d_name); + + + closedir (dirp); + exit(0); +} diff --git a/elf/elf.h b/elf/elf.h new file mode 100644 index 0000000..452b5c9 --- /dev/null +++ b/elf/elf.h @@ -0,0 +1,587 @@ +/* This file defines standard ELF types, structures, and macros. +Copyright (C) 1995 Free Software Foundation, Inc. +Contributed by Ian Lance Taylor (ian@cygnus.com). + +This file is part of the GNU C Library. + +The GNU C Library is free software; you can redistribute it and/or +modify it under the terms of the GNU Library General Public License as +published by the Free Software Foundation; either version 2 of the +License, or (at your option) any later version. + +The GNU C Library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Library General Public License for more details. + +You should have received a copy of the GNU Library General Public +License along with the GNU C Library; see the file COPYING.LIB. If +not, write to the Free Software Foundation, Inc., 675 Mass Ave, +Cambridge, MA 02139, USA. */ + +#ifndef _ELF_H +#define _ELF_H 1 + + +/* Standard ELF types. + + Using __attribute__ mode ensures that gcc will choose the right for + these types. */ + +typedef unsigned int Elf32_Addr __attribute__ ((mode (SI))); +typedef unsigned int Elf32_Half __attribute__ ((mode (HI))); +typedef unsigned int Elf32_Off __attribute__ ((mode (SI))); +typedef int Elf32_Sword __attribute__ ((mode (SI))); +typedef unsigned int Elf32_Word __attribute__ ((mode (SI))); + +/* The ELF file header. This appears at the start of every ELF file. */ + +#define EI_NIDENT (16) + +typedef struct +{ + unsigned char e_ident[EI_NIDENT]; /* Magic number and other info */ + Elf32_Half e_type; /* Object file type */ + Elf32_Half e_machine; /* Architecture */ + Elf32_Word e_version; /* Object file version */ + Elf32_Addr e_entry; /* Entry point virtual address */ + Elf32_Off e_phoff; /* Program header table file offset */ + Elf32_Off e_shoff; /* Section header table file offset */ + Elf32_Word e_flags; /* Processor-specific flags */ + Elf32_Half e_ehsize; /* ELF header size in bytes */ + Elf32_Half e_phentsize; /* Program header table entry size */ + Elf32_Half e_phnum; /* Program header table entry count */ + Elf32_Half e_shentsize; /* Section header table entry size */ + Elf32_Half e_shnum; /* Section header table entry count */ + Elf32_Half e_shstrndx; /* Section header string table index */ +} Elf32_Ehdr; + +/* Fields in the e_ident array. The EI_* macros are indices into the + array. The macros under each EI_* macro are the values the byte + may have. */ + +#define EI_MAG0 0 /* File identification byte 0 index */ +#define ELFMAG0 0x7f /* Magic number byte 0 */ + +#define EI_MAG1 1 /* File identification byte 1 index */ +#define ELFMAG1 'E' /* Magic number byte 1 */ + +#define EI_MAG2 2 /* File identification byte 2 index */ +#define ELFMAG2 'L' /* Magic number byte 2 */ + +#define EI_MAG3 3 /* File identification byte 3 index */ +#define ELFMAG3 'F' /* Magic number byte 3 */ + +#define EI_CLASS 4 /* File class byte index */ +#define ELFCLASSNONE 0 /* Invalid class */ +#define ELFCLASS32 1 /* 32-bit objects */ +#define ELFCLASS64 2 /* 64-bit objects */ + +#define EI_DATA 5 /* Data encoding byte index */ +#define ELFDATANONE 0 /* Invalid data encoding */ +#define ELFDATA2LSB 1 /* 2's complement, little endian */ +#define ELFDATA2MSB 2 /* 2's complement, big endian */ + +#define EI_VERSION 6 /* File version byte index */ + /* Value must be EV_CURRENT */ + +#define EI_PAD 7 /* Byte index of padding bytes */ + +/* Legal values for e_type (object file type). */ + +#define ET_NONE 0 /* No file type */ +#define ET_REL 1 /* Relocatable file */ +#define ET_EXEC 2 /* Executable file */ +#define ET_DYN 3 /* Shared object file */ +#define ET_CORE 4 /* Core file */ +#define ET_LOPROC 0xff00 /* Processor-specific */ +#define ET_HIPROC 0xffff /* Processor-specific */ + +/* Legal values for e_machine (architecture). */ + +#define EM_NONE 0 /* No machine */ +#define EM_M32 1 /* AT&T WE 32100 */ +#define EM_SPARC 2 /* SUN SPARC */ +#define EM_386 3 /* Intel 80386 */ +#define EM_68K 4 /* Motorola m68k family */ +#define EM_88K 5 /* Motorola m88k family */ +#define EM_486 6 /* Intel 80486 */ +#define EM_860 7 /* Intel 80860 */ +#define EM_MIPS 8 /* MIPS R3000 big-endian */ +#define EM_S370 9 /* Amdhal */ +#define EM_MIPS_RS4_BE 10 /* MIPS R4000 big-endian */ + +#define EM_SPARC64 11 /* SPARC v9 (not official) 64-bit */ + +#define EM_PARISC 15 /* HPPA */ + +/* If it is necessary to assign new unofficial EM_* values, please + pick large random numbers (0x8523, 0xa7f2, etc.) to minimize the + chances of collision with official or non-GNU unofficial values. */ + +/* Legal values for e_version (version). */ + +#define EV_NONE 0 /* Invalid ELF version */ +#define EV_CURRENT 1 /* Current version */ + +/* Section header. */ + +typedef struct +{ + Elf32_Word sh_name; /* Section name (string tbl index) */ + Elf32_Word sh_type; /* Section type */ + Elf32_Word sh_flags; /* Section flags */ + Elf32_Addr sh_addr; /* Section virtual addr at execution */ + Elf32_Off sh_offset; /* Section file offset */ + Elf32_Word sh_size; /* Section size in bytes */ + Elf32_Word sh_link; /* Link to another section */ + Elf32_Word sh_info; /* Additional section information */ + Elf32_Word sh_addralign; /* Section alignment */ + Elf32_Word sh_entsize; /* Entry size if section holds table */ +} Elf32_Shdr; + +/* Special section indices. */ + +#define SHN_UNDEF 0 /* Undefined section */ +#define SHN_LORESERVE 0xff00 /* Start of reserved indices */ +#define SHN_LOPROC 0xff00 /* Start of processor-specific */ +#define SHN_HIPROC 0xff1f /* End of processor-specific */ +#define SHN_ABS 0xfff1 /* Associated symbol is absolute */ +#define SHN_COMMON 0xfff2 /* Associated symbol is common */ +#define SHN_HIRESERVE 0xffff /* End of reserved indices */ + +/* Legal values for sh_type (section type). */ + +#define SHT_NULL 0 /* Section header table entry unused */ +#define SHT_PROGBITS 1 /* Program data */ +#define SHT_SYMTAB 2 /* Symbol table */ +#define SHT_STRTAB 3 /* String table */ +#define SHT_RELA 4 /* Relocation entries with addends */ +#define SHT_HASH 5 /* Symbol hash table */ +#define SHT_DYNAMIC 6 /* Dynamic linking information */ +#define SHT_NOTE 7 /* Notes */ +#define SHT_NOBITS 8 /* Program space with no data (bss) */ +#define SHT_REL 9 /* Relocation entries, no addends */ +#define SHT_SHLIB 10 /* Reserved */ +#define SHT_DYNSYM 11 /* Dynamic linker symbol table */ +#define SHT_LOPROC 0x70000000 /* Start of processor-specific */ +#define SHT_HIPROC 0x7fffffff /* End of processor-specific */ +#define SHT_LOUSER 0x80000000 /* Start of application-specific */ +#define SHT_HIUSER 0x8fffffff /* End of application-specific */ + +/* Legal values for sh_flags (section flags). */ + +#define SHF_WRITE (1 << 0) /* Writable */ +#define SHF_ALLOC (1 << 1) /* Occupies memory during execution */ +#define SHF_EXECINSTR (1 << 2) /* Executable */ +#define SHF_MASKPROC 0xf0000000 /* Processor-specific */ + +/* Symbol table entry. */ + +typedef struct +{ + Elf32_Word st_name; /* Symbol name (string tbl index) */ + Elf32_Addr st_value; /* Symbol value */ + Elf32_Word st_size; /* Symbol size */ + unsigned char st_info; /* Symbol type and binding */ + unsigned char st_other; /* No defined meaning, 0 */ + Elf32_Half st_shndx; /* Section index */ +} Elf32_Sym; + +/* Special symbol index. */ + +#define STN_UNDEF 0 /* Undefined symbol */ + +/* How to extract and insert information held in the st_info field. */ + +#define ELF32_ST_BIND(val) (((unsigned char) (val)) >> 4) +#define ELF32_ST_TYPE(val) ((val) & 0xf) +#define ELF32_ST_INFO(bind, type) (((bind) << 4) + ((type) & 0xf)) + +/* Legal values for ST_BIND subfield of st_info (symbol binding). */ + +#define STB_LOCAL 0 /* Local symbol */ +#define STB_GLOBAL 1 /* Global symbol */ +#define STB_WEAK 2 /* Weak symbol */ +#define STB_LOPROC 13 /* Start of processor-specific */ +#define STB_HIPROC 15 /* End of processor-specific */ + +/* Legal values for ST_TYPE subfield of st_info (symbol type). */ + +#define STT_NOTYPE 0 /* Symbol type is unspecified */ +#define STT_OBJECT 1 /* Symbol is a data object */ +#define STT_FUNC 2 /* Symbol is a code object */ +#define STT_SECTION 3 /* Symbol associated with a section */ +#define STT_FILE 4 /* Symbol's name is file name */ +#define STT_LOPROC 13 /* Start of processor-specific */ +#define STT_HIPROC 15 /* End of processor-specific */ + +/* Relocation table entry without addend (in section of type SHT_REL). */ + +typedef struct +{ + Elf32_Addr r_offset; /* Address */ + Elf32_Word r_info; /* Relocation type and symbol index */ +} Elf32_Rel; + +/* Relocation table entry with addend (in section of type SHT_RELA). */ + +typedef struct +{ + Elf32_Addr r_offset; /* Address */ + Elf32_Word r_info; /* Relocation type and symbol index */ + Elf32_Sword r_addend; /* Addend */ +} Elf32_Rela; + +/* How to extract and insert information held in the r_info field. */ + +#define ELF32_R_SYM(val) ((val) >> 8) +#define ELF32_R_TYPE(val) ((val) & 0xff) +#define ELF32_R_INFO(sym, type) (((sym) << 8) + ((type) & 0xff)) + +/* Program segment header. */ + +typedef struct { + Elf32_Word p_type; /* Segment type */ + Elf32_Off p_offset; /* Segment file offset */ + Elf32_Addr p_vaddr; /* Segment virtual address */ + Elf32_Addr p_paddr; /* Segment physical address */ + Elf32_Word p_filesz; /* Segment size in file */ + Elf32_Word p_memsz; /* Segment size in memory */ + Elf32_Word p_flags; /* Segment flags */ + Elf32_Word p_align; /* Segment alignment */ +} Elf32_Phdr; + +/* Legal values for p_type (segment type). */ + +#define PT_NULL 0 /* Program header table entry unused */ +#define PT_LOAD 1 /* Loadable program segment */ +#define PT_DYNAMIC 2 /* Dynamic linking information */ +#define PT_INTERP 3 /* Program interpreter */ +#define PT_NOTE 4 /* Auxiliary information */ +#define PT_SHLIB 5 /* Reserved */ +#define PT_PHDR 6 /* Entry for header table itself */ +#define PT_LOPROC 0x70000000 /* Start of processor-specific */ +#define PT_HIPROC 0x7fffffff /* End of processor-specific */ + +/* Legal values for p_flags (segment flags). */ + +#define PF_X (1 << 0) /* Segment is executable */ +#define PF_W (1 << 1) /* Segment is writable */ +#define PF_R (1 << 2) /* Segment is readable */ +#define PF_MASKPROC 0xf0000000 /* Processor-specific */ + +/* Dynamic section entry. */ + +typedef struct +{ + Elf32_Sword d_tag; /* Dynamic entry type */ + union + { + Elf32_Word d_val; /* Integer value */ + Elf32_Addr d_ptr; /* Address value */ + } d_un; +} Elf32_Dyn; + +/* Legal values for d_tag (dynamic entry type). */ + +#define DT_NULL 0 /* Marks end of dynamic section */ +#define DT_NEEDED 1 /* Name of needed library */ +#define DT_PLTRELSZ 2 /* Size in bytes of PLT relocs */ +#define DT_PLTGOT 3 /* Processor defined value */ +#define DT_HASH 4 /* Address of symbol hash table */ +#define DT_STRTAB 5 /* Address of string table */ +#define DT_SYMTAB 6 /* Address of symbol table */ +#define DT_RELA 7 /* Address of Rela relocs */ +#define DT_RELASZ 8 /* Total size of Rela relocs */ +#define DT_RELAENT 9 /* Size of one Rela reloc */ +#define DT_STRSZ 10 /* Size of string table */ +#define DT_SYMENT 11 /* Size of one symbol table entry */ +#define DT_INIT 12 /* Address of init function */ +#define DT_FINI 13 /* Address of termination function */ +#define DT_SONAME 14 /* Name of shared object */ +#define DT_RPATH 15 /* Library search path */ +#define DT_SYMBOLIC 16 /* Start symbol search here */ +#define DT_REL 17 /* Address of Rel relocs */ +#define DT_RELSZ 18 /* Total size of Rel relocs */ +#define DT_RELENT 19 /* Size of one Rel reloc */ +#define DT_PLTREL 20 /* Type of reloc in PLT */ +#define DT_DEBUG 21 /* For debugging; unspecified */ +#define DT_TEXTREL 22 /* Reloc might modify .text */ +#define DT_JMPREL 23 /* Address of PLT relocs */ +#define DT_LOPROC 0x70000000 /* Start of processor-specific */ +#define DT_HIPROC 0x7fffffff /* End of processor-specific */ + +/* Standard 64 bit ELF types. */ + +typedef unsigned int Elf64_Addr __attribute__ ((mode (DI))); +typedef unsigned int Elf64_Half __attribute__ ((mode (HI))); +typedef unsigned int Elf64_Off __attribute__ ((mode (DI))); +typedef int Elf64_Sword __attribute__ ((mode (SI))); +typedef int Elf64_Sxword __attribute__ ((mode (DI))); +typedef unsigned int Elf64_Word __attribute__ ((mode (SI))); +typedef unsigned int Elf64_Xword __attribute__ ((mode (DI))); +typedef unsigned int Elf64_Byte __attribute__ ((mode (QI))); +typedef unsigned int Elf64_Section __attribute__ ((mode (HI))); + +/* 64 bit ELF file header. */ + +typedef struct +{ + unsigned char e_ident[EI_NIDENT]; /* Magic number and other info */ + Elf64_Half e_type; /* Object file type */ + Elf64_Half e_machine; /* Architecture */ + Elf64_Word e_version; /* Object file version */ + Elf64_Addr e_entry; /* Entry point virtual address */ + Elf64_Off e_phoff; /* Program header table file offset */ + Elf64_Off e_shoff; /* Section header table file offset */ + Elf64_Word e_flags; /* Processor-specific flags */ + Elf64_Half e_ehsize; /* ELF header size in bytes */ + Elf64_Half e_phentsize; /* Program header table entry size */ + Elf64_Half e_phnum; /* Program header table entry count */ + Elf64_Half e_shentsize; /* Section header table entry size */ + Elf64_Half e_shnum; /* Section header table entry count */ + Elf64_Half e_shstrndx; /* Section header string table index */ +} Elf64_Ehdr; + +/* 64 bit section header. */ + +typedef struct +{ + Elf64_Word sh_name; /* Section name (string tbl index) */ + Elf64_Word sh_type; /* Section type */ + Elf64_Xword sh_flags; /* Section flags */ + Elf64_Addr sh_addr; /* Section virtual addr at execution */ + Elf64_Off sh_offset; /* Section file offset */ + Elf64_Xword sh_size; /* Section size in bytes */ + Elf64_Word sh_link; /* Link to another section */ + Elf64_Word sh_info; /* Additional section information */ + Elf64_Xword sh_addralign; /* Section alignment */ + Elf64_Xword sh_entsize; /* Entry size if section holds table */ +} Elf64_Shdr; + +/* 64 bit symbol table entry. */ + +typedef struct +{ + Elf64_Word st_name; /* Symbol name (string tbl index) */ + Elf64_Byte st_info; /* Symbol type and binding */ + Elf64_Byte st_other; /* No defined meaning, 0 */ + Elf64_Section st_shndx; /* Section index */ + Elf64_Addr st_value; /* Symbol value */ + Elf64_Xword st_size; /* Symbol size */ +} Elf64_Sym; + +/* The 64 bit st_info field is the same as the 32 bit one. */ + +#define ELF64_ST_BIND(val) (((unsigned char) (val)) >> 4) +#define ELF64_ST_TYPE(val) ((val) & 0xf) +#define ELF64_ST_INFO(bind, type) (((bind) << 4) + ((type) & 0xf)) + +/* I have seen two different definitions of the Elf64_Rel and + Elf64_Rela structures, so we'll leave them out until Novell (or + whoever) gets their act together. */ + +/* Auxiliary vector. */ + +/* This vector is normally only used by the program interpreter. The + usual definition in an ABI supplement uses the name auxv_t. The + vector is not usually defined in a standard file, but it + can't hurt. We rename it to avoid conflicts. The sizes of these + types are an arrangement between the exec server and the program + interpreter, so we don't fully specify them here. */ + +typedef struct +{ + int a_type; /* Entry type */ + union + { + long a_val; /* Integer value */ + void *a_ptr; /* Pointer value */ + void (*a_fcn) (); /* Function pointer value */ + } a_un; +} Elf32_auxv_t; + +/* Legal values for a_type (entry type). */ + +#define AT_NULL 0 /* End of vector */ +#define AT_IGNORE 1 /* Entry should be ignored */ +#define AT_EXECFD 2 /* File descriptor of program */ +#define AT_PHDR 3 /* Program headers for program */ +#define AT_PHENT 4 /* Size of program header entry */ +#define AT_PHNUM 5 /* Number of program headers */ +#define AT_PAGESZ 6 /* System page size */ +#define AT_BASE 7 /* Base address of interpreter */ +#define AT_FLAGS 8 /* Flags */ +#define AT_ENTRY 9 /* Entry point of program */ +#define AT_NOTELF 10 /* Program is not ELF */ +#define AT_UID 11 /* Real uid */ +#define AT_EUID 12 /* Effective uid */ +#define AT_GID 13 /* Read gid */ +#define AT_EGID 14 /* Effective gid */ + +/* Intel 80386 specific definitions. */ + +/* i386 relocs. */ + +#define R_386_NONE 0 /* No reloc */ +#define R_386_32 1 /* Direct 32 bit */ +#define R_386_PC32 2 /* PC relative 32 bit */ +#define R_386_GOT32 3 /* 32 bit GOT entry */ +#define R_386_PLT32 4 /* 32 bit PLT address */ +#define R_386_COPY 5 /* Copy symbol at runtime */ +#define R_386_GLOB_DAT 6 /* Create GOT entry */ +#define R_386_JMP_SLOT 7 /* Create PLT entry */ +#define R_386_RELATIVE 8 /* Adjust by program base */ +#define R_386_GOTOFF 9 /* 32 bit offset to GOT */ +#define R_386_GOTPC 10 /* 32 bit PC relative offset to GOT */ + +/* SUN SPARC specific definitions. */ + +/* SPARC relocs. */ + +#define R_SPARC_NONE 0 /* No reloc */ +#define R_SPARC_8 1 /* Direct 8 bit */ +#define R_SPARC_16 2 /* Direct 16 bit */ +#define R_SPARC_32 3 /* Direct 32 bit */ +#define R_SPARC_DISP8 4 /* PC relative 8 bit */ +#define R_SPARC_DISP16 5 /* PC relative 16 bit */ +#define R_SPARC_DISP32 6 /* PC relative 32 bit */ +#define R_SPARC_WDISP30 7 /* PC relative 30 bit shifted */ +#define R_SPARC_WDISP22 8 /* PC relative 22 bit shifted */ +#define R_SPARC_HI22 9 /* High 22 bit */ +#define R_SPARC_22 10 /* Direct 22 bit */ +#define R_SPARC_13 11 /* Direct 13 bit */ +#define R_SPARC_LO10 12 /* Truncated 10 bit */ +#define R_SPARC_GOT10 13 /* Truncated 10 bit GOT entry */ +#define R_SPARC_GOT13 14 /* 13 bit GOT entry */ +#define R_SPARC_GOT22 15 /* 22 bit GOT entry shifted */ +#define R_SPARC_PC10 16 /* PC relative 10 bit truncated */ +#define R_SPARC_PC22 17 /* PC relative 22 bit shifted */ +#define R_SPARC_WPLT30 18 /* 30 bit PC relative PLT address */ +#define R_SPARC_COPY 19 /* Copy symbol at runtime */ +#define R_SPARC_GLOB_DAT 20 /* Create GOT entry */ +#define R_SPARC_JMP_SLOT 21 /* Create PLT entry */ +#define R_SPARC_RELATIVE 22 /* Adjust by program base */ +#define R_SPARC_UA32 23 /* Direct 32 bit unaligned */ + +/* MIPS R3000 specific definitions. */ + +/* Legal values for e_flags field of Elf32_Ehdr. */ + +#define EF_MIPS_NOREORDER 1 /* A .noreorder directive was used */ +#define EF_MIPS_PIC 2 /* Contains PIC code */ +#define EF_MIPS_CPIC 4 /* Uses PIC calling sequence */ +#define EF_MIPS_ARCH 0xf0000000 /* MIPS architecture level */ + +/* Special section indices. */ + +#define SHN_MIPS_ACOMMON 0xff00 /* Allocated common symbols */ +#define SHN_MIPS_SCOMMON 0xff03 /* Small common symbols */ +#define SHN_MIPS_SUNDEFINED 0xff04 /* Small undefined symbols */ + +/* Legal values for sh_type field of Elf32_Shdr. */ + +#define SHT_MIPS_LIBLIST 0x70000000 /* Shared objects used in link */ +#define SHT_MIPS_CONFLICT 0x70000002 /* Conflicting symbols */ +#define SHT_MIPS_GPTAB 0x70000003 /* Global data area sizes */ +#define SHT_MIPS_UCODE 0x70000004 /* Reserved for SGI/MIPS compilers */ +#define SHT_MIPS_DEBUG 0x70000005 /* MIPS ECOFF debugging information */ +#define SHT_MIPS_REGINFO 0x70000006 /* Register usage information */ + +/* Legal values for sh_flags field of Elf32_Shdr. */ + +#define SHF_MIPS_GPREL 0x10000000 /* Must be part of global data area */ + +/* Entries found in sections of type SHT_MIPS_GPTAB. */ + +typedef union +{ + struct + { + Elf32_Word gt_current_g_value; /* -G value used for compilation */ + Elf32_Word gt_unused; /* Not used */ + } gt_header; /* First entry in section */ + struct + { + Elf32_Word gt_g_value; /* If this value were used for -G */ + Elf32_Word gt_bytes; /* This many bytes would be used */ + } gt_entry; /* Subsequent entries in section */ +} Elf32_gptab; + +/* Entry found in sections of type SHT_MIPS_REGINFO. */ + +typedef struct +{ + Elf32_Word ri_gprmask; /* General registers used */ + Elf32_Word ri_cprmask[4]; /* Coprocessor registers used */ + Elf32_Sword ri_gp_value; /* $gp register value */ +} Elf32_RegInfo; + +/* MIPS relocs. */ + +#define R_MIPS_NONE 0 /* No reloc */ +#define R_MIPS_16 1 /* Direct 16 bit */ +#define R_MIPS_32 2 /* Direct 32 bit */ +#define R_MIPS_REL32 3 /* PC relative 32 bit */ +#define R_MIPS_26 4 /* Direct 26 bit shifted */ +#define R_MIPS_HI16 5 /* High 16 bit */ +#define R_MIPS_LO16 6 /* Low 16 bit */ +#define R_MIPS_GPREL16 7 /* GP relative 16 bit */ +#define R_MIPS_LITERAL 8 /* 16 bit literal entry */ +#define R_MIPS_GOT16 9 /* 16 bit GOT entry */ +#define R_MIPS_PC16 10 /* PC relative 16 bit */ +#define R_MIPS_CALL16 11 /* 16 bit GOT entry for function */ +#define R_MIPS_GPREL32 12 /* GP relative 32 bit */ + +/* Legal values for p_type field of Elf32_Phdr. */ + +#define PT_MIPS_REGINFO 0x70000000 /* Regiser usage information */ + +/* Legal values for d_tag field of Elf32_Dyn. */ + +#define DT_MIPS_RLD_VERSION 0x70000001 /* Runtime linker interface version */ +#define DT_MIPS_TIME_STAMP 0x70000002 /* Timestamp */ +#define DT_MIPS_ICHECKSUM 0x70000003 /* Checksum */ +#define DT_MIPS_IVERSION 0x70000004 /* Version string (string tbl index) */ +#define DT_MIPS_FLAGS 0x70000005 /* Flags */ +#define DT_MIPS_BASE_ADDRESS 0x70000006 /* Base address */ +#define DT_MIPS_CONFLICT 0x70000008 /* Address of CONFLICT section */ +#define DT_MIPS_LIBLIST 0x70000009 /* Address of LIBLIST section */ +#define DT_MIPS_LOCAL_GOTNO 0x7000000a /* Number of local GOT entries */ +#define DT_MIPS_CONFLICTNO 0x7000000b /* Number of CONFLICT entries */ +#define DT_MIPS_LIBLISTNO 0x70000010 /* Number of LIBLIST entries */ +#define DT_MIPS_SYMTABNO 0x70000011 /* Number of DYNSYM entries */ +#define DT_MIPS_UNREFEXTNO 0x70000012 /* First external DYNSYM */ +#define DT_MIPS_GOTSYM 0x70000013 /* First GOT entry in DYNSYM */ +#define DT_MIPS_HIPAGENO 0x70000014 /* Number of GOT page table entries */ + +/* Legal values for DT_MIPS_FLAG Elf32_Dyn entry. */ + +#define RHF_NONE 0 /* No flags */ +#define RHF_QUICKSTART (1 << 0) /* Use quickstart */ +#define RHF_NOTPOT (1 << 1) /* Hash size not power of 2 */ +#define RHF_NO_LIBRARY_REPLACEMENT (1 << 2) /* Ignore LD_LIBRARY_PATH */ + +/* Entries found in sections of type SHT_MIPS_LIBLIST. */ + +typedef struct +{ + Elf32_Word l_name; /* Name (string table index) */ + Elf32_Word l_time_stamp; /* Timestamp */ + Elf32_Word l_checksum; /* Checksum */ + Elf32_Word l_version; /* Interface version */ + Elf32_Word l_flags; /* Flags */ +} Elf32_Lib; + +/* Legal values for l_flags. */ + +#define LL_EXACT_MATCH (1 << 0) /* Require exact match */ +#define LL_IGNORE_INT_VER (1 << 1) /* Ignore interface version */ + +/* Entries found in sections of type SHT_MIPS_CONFLICT. */ + +typedef Elf32_Addr Elf32_Conflict; + + +#endif /* elf.h */ diff --git a/endian.h b/endian.h new file mode 100644 index 0000000..cacf2fe --- /dev/null +++ b/endian.h @@ -0,0 +1 @@ +#include diff --git a/errno.h b/errno.h new file mode 100644 index 0000000..08fc680 --- /dev/null +++ b/errno.h @@ -0,0 +1,45 @@ +/* Copyright (C) 1991, 1992, 1993, 1994 Free Software Foundation, Inc. +This file is part of the GNU C Library. + +The GNU C Library is free software; you can redistribute it and/or +modify it under the terms of the GNU Library General Public License as +published by the Free Software Foundation; either version 2 of the +License, or (at your option) any later version. + +The GNU C Library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Library General Public License for more details. + +You should have received a copy of the GNU Library General Public +License along with the GNU C Library; see the file COPYING.LIB. If +not, write to the, 1992 Free Software Foundation, Inc., 675 Mass Ave, +Cambridge, MA 02139, USA. */ + +/* + * ANSI Standard: 4.1.3 Errors + */ + +#ifndef _ERRNO_H + +#define _ERRNO_H 1 +#include + +__BEGIN_DECLS + +/* Get the error number constants. */ +#include + +/* Declare the `errno' variable. */ +extern int errno; + +#ifdef __USE_GNU +/* The full and simple forms of the name with which the program was + invoked. These variables are set up automatically at startup based on + the value of ARGV[0] (this works only if you use GNU ld). */ +extern char *program_invocation_name, *program_invocation_short_name; +#endif + +__END_DECLS + +#endif /* errno.h */ diff --git a/fcntl.h b/fcntl.h new file mode 100644 index 0000000..bac1e86 --- /dev/null +++ b/fcntl.h @@ -0,0 +1 @@ +#include diff --git a/features.h b/features.h new file mode 100644 index 0000000..0778092 --- /dev/null +++ b/features.h @@ -0,0 +1,157 @@ +/* Copyright (C) 1991, 1992, 1993 Free Software Foundation, Inc. +This file is part of the GNU C Library. + +The GNU C Library is free software; you can redistribute it and/or +modify it under the terms of the GNU Library General Public License as +published by the Free Software Foundation; either version 2 of the +License, or (at your option) any later version. + +The GNU C Library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Library General Public License for more details. + +You should have received a copy of the GNU Library General Public +License along with the GNU C Library; see the file COPYING.LIB. If +not, write to the Free Software Foundation, Inc., 675 Mass Ave, +Cambridge, MA 02139, USA. */ + +#ifndef _FEATURES_H + +#define _FEATURES_H 1 + +/* These are defined by the user (or the compiler) + to specify the desired environment: + + __STRICT_ANSI__ ANSI Standard C. + _POSIX_SOURCE IEEE Std 1003.1. + _POSIX_C_SOURCE If ==1, like _POSIX_SOURCE; if ==2 add IEEE Std 1003.2. + _BSD_SOURCE ANSI, POSIX, and 4.3BSD things. + _SVID_SOURCE ANSI, POSIX, and SVID things. + _GNU_SOURCE All of the above, plus GNU extensions. + + The `-ansi' switch to the GNU C compiler defines __STRICT_ANSI__. + If none of these are defined, the default is _GNU_SOURCE. + If more than one of these are defined, they accumulate. + For example __STRICT_ANSI__, _POSIX_SOURCE and _POSIX_C_SOURCE + together give you ANSI C, 1003.1, and 1003.2, but nothing else. + + These are defined by this file and are used by the + header files to decide what to declare or define: + + __USE_POSIX Define IEEE Std 1003.1 things. + __USE_POSIX2 Define IEEE Std 1003.2 things. + __USE_BSD Define 4.3BSD things. + __USE_SVID Define SVID things. + __USE_MISC Define things common to BSD and System V Unix. + __USE_GNU Define GNU extensions. + __FAVOR_BSD Favor 4.3BSD things in cases of conflict. + + The macro `__GNU_LIBRARY__' is defined by this file unconditionally. + + All macros defined by this file are defined as 1. + All macros listed above as possibly being defined by this file are + explicitly undefined if they are not explicitly defined. + Feature-test macros that are not defined by the user or compiler + but are implied by the other feature-test macros defined (or by the + lack of any definitions) are defined by the file. */ + + +/* Undefine everything, so we get a clean slate. */ +#undef __USE_POSIX +#undef __USE_POSIX2 +#undef __USE_BSD +#undef __USE_SVID +#undef __USE_MISC +#undef __USE_GNU +#undef __FAVOR_BSD + + +/* If nothing is defined, define _GNU_SOURCE. */ +#if (!defined(_GNU_SOURCE) && !defined(__STRICT_ANSI__) && \ + !defined(_POSIX_SOURCE) && !defined(_POSIX_C_SOURCE) && \ + !defined(_BSD_SOURCE) && !defined(_SVID_SOURCE)) +#define _GNU_SOURCE 1 +#endif + + +/* Always use ANSI things. */ +#define __USE_ANSI 1 + + +/* If _BSD_SOURCE was defined by the user, favor BSD over POSIX. */ +#ifdef _BSD_SOURCE +#define __FAVOR_BSD 1 +#endif + + +/* If nothing (other than _GNU_SOURCE) is defined, + define _BSD_SOURCE and _SVID_SOURCE. */ +#if (!defined(__STRICT_ANSI__) && !defined(_POSIX_SOURCE) && \ + !defined(_POSIX_C_SOURCE) && !defined(_BSD_SOURCE) && \ + !defined(_SVID_SOURCE)) +#define _BSD_SOURCE 1 +#define _SVID_SOURCE 1 +#endif + +/* If none of the ANSI/POSIX macros are defined, use POSIX.1 and POSIX.2. */ +#if (!defined(__STRICT_ANSI__) && !defined(_POSIX_SOURCE) && \ + !defined(_POSIX_C_SOURCE)) +#define _POSIX_SOURCE 1 +#define _POSIX_C_SOURCE 2 +#endif + +#if defined(_POSIX_SOURCE) || _POSIX_C_SOURCE >= 1 +#define __USE_POSIX 1 +#endif + +#if defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE >= 2 +#define __USE_POSIX2 1 +#endif + +#if defined(_BSD_SOURCE) || defined(_SVID_SOURCE) +#define __USE_MISC 1 +#endif + +#ifdef _BSD_SOURCE +#define __USE_BSD 1 +#endif + +#ifdef _SVID_SOURCE +#define __USE_SVID 1 +#endif + +#ifdef _GNU_SOURCE +#define __USE_GNU 1 +#endif + + +#undef __GNU_LIBRARY__ +#define __GNU_LIBRARY__ 1 + + +#if !defined(__GNUC__) || __GNUC__ < 2 +/* In GCC version 2, (__extension__ EXPR) will not complain + about GCC extensions used in EXPR under -ansi or -pedantic. */ +#define __extension__ +#endif + + +/* This is here only because every header file already includes this one. */ +#include + +/* This is here only because every header file already includes this one. */ +#ifndef _LIBC +/* Get the definitions of all the appropriate `__stub_FUNCTION' symbols. + contains `#define __stub_FUNCTION' when FUNCTION is a stub + which will always return failure (and set errno to ENOSYS). + + We avoid including when compiling the C library itself to + avoid a dependency loop. stubs.h depends on every object file. If + this #include were done for the library source code, then every object + file would depend on stubs.h. */ + +#include +#endif + +#endif /* __features.h */ diff --git a/fnmatch.h b/fnmatch.h new file mode 100644 index 0000000..b12b786 --- /dev/null +++ b/fnmatch.h @@ -0,0 +1 @@ +#include diff --git a/ftw.h b/ftw.h new file mode 100644 index 0000000..4fb654c --- /dev/null +++ b/ftw.h @@ -0,0 +1 @@ +#include diff --git a/getopt.h b/getopt.h new file mode 100644 index 0000000..74ca6d4 --- /dev/null +++ b/getopt.h @@ -0,0 +1 @@ +#include diff --git a/glob.h b/glob.h new file mode 100644 index 0000000..ce047bb --- /dev/null +++ b/glob.h @@ -0,0 +1 @@ +#include diff --git a/gnu-stabs.h b/gnu-stabs.h new file mode 100644 index 0000000..3cdc91d --- /dev/null +++ b/gnu-stabs.h @@ -0,0 +1,75 @@ +#error This file is obsolete. + +/* Copyright (C) 1991, 1992, 1994 Free Software Foundation, Inc. +This file is part of the GNU C Library. + +The GNU C Library is free software; you can redistribute it and/or +modify it under the terms of the GNU Library General Public License as +published by the Free Software Foundation; either version 2 of the +License, or (at your option) any later version. + +The GNU C Library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Library General Public License for more details. + +You should have received a copy of the GNU Library General Public +License along with the GNU C Library; see the file COPYING.LIB. If +not, write to the Free Software Foundation, Inc., 675 Mass Ave, +Cambridge, MA 02139, USA. */ + +#ifndef __GNU_STABS_H + +#define __GNU_STABS_H 1 + +#ifdef HAVE_GNU_LD + +/* Alias a function: + function_alias(creat, _creat, int, (file, mode), + DEFUN(creat, (file, mode), + CONST char *file AND int mode)) + Yes, this is very repetitive. Nothing you can do about it, so shut up. */ +#define function_alias(name, _name, type, args, defun) \ + symbol_alias (_name, name); + +#define function_alias_void(name, _name, args, defun) \ + symbol_alias (_name, name); + +#ifdef NO_UNDERSCORES +#define __SYMBOL_PREFIX +#else +#define __SYMBOL_PREFIX "_" +#endif + +/* Make references to ALIAS refer to SYMBOL. */ +#define symbol_alias(symbol, alias) \ + asm(".stabs \"" __SYMBOL_PREFIX #alias "\",11,0,0,0\n"\ + ".stabs \"" __SYMBOL_PREFIX #symbol "\",1,0,0,0") + +/* Issue a warning message from the linker whenever SYMBOL is referenced. */ +#define warn_references(symbol, msg) \ + asm(".stabs \"" msg "\",30,0,0,0\n" \ + ".stabs \"" __SYMBOL_PREFIX #symbol "\",1,0,0,0") + +#define stub_warning(name) \ + warn_references(name, \ + "warning: " #name " is not implemented and will always fail") + +#define text_set_element(set, symbol) \ + asm(".stabs \"" __SYMBOL_PREFIX #set "\",23,0,0," __SYMBOL_PREFIX #symbol) +#define data_set_element(set, symbol) \ + asm(".stabs \"" __SYMBOL_PREFIX #set "\",25,0,0," __SYMBOL_PREFIX #symbol) +#define bss_set_element(set, symbol) \ + asm(".stabs \"" __SYMBOL_PREFIX #set "\",27,0,0," __SYMBOL_PREFIX #symbol) + +#else /* No GNU stabs. */ + +#define function_alias(name, _name, type, args, defun) \ + type defun { return _name args; } + +#define function_alias_void(name, _name, args, defun) \ + void defun { _name args; } + +#endif /* GNU stabs. */ + +#endif /* gnu-stabs.h */ diff --git a/gnu/signal.h b/gnu/signal.h new file mode 100644 index 0000000..3c1dfa2 --- /dev/null +++ b/gnu/signal.h @@ -0,0 +1 @@ +#include diff --git a/gnu/time.h b/gnu/time.h new file mode 100644 index 0000000..9f90588 --- /dev/null +++ b/gnu/time.h @@ -0,0 +1 @@ +#include