* stdio/linewrap.c: New file.
* stdio/Makefile (routines): Add linewrap.
* stdio/stdio.h [__USE_GNU]: Declare line_wrap_stream,
line_unwrap_stream.
Mon May 6 14:53:26 1996 Ulrich Drepper <drepper@cygnus.com>
* time/strftime.c (week): Add third parameter telling how
many days must be in new year so that it is called week 1.
(Following ISO 8601).
Correct computation for %U and %V formats when day was first
day of the week.
(strftime): Implement %V format according to Spec1170.
* hurd/hurd/sigpreempt.h (struct hurd_signal_preempter): Change
prototype of `preempter' elt to use struct hurd_signal_detail.
* hurd/hurd/signal.h (struct hurd_signal_detail): New type.
(struct hurd_sigstate): Make `pending_data' member an array of that.
Use the new type in several decls.
* locale/C_name.c: New file.
(_nl_C_name): Put it here instead.
* locale/Makefile (aux): Add C_name.
* sysdeps/mach/hurd/dl-sysdep.c (open): Don't pass io port in
auth_user_authenticate rpc.
(open): Avoid using strtol in digit conversion for "fd/N" magic.
(_dl_sysdep_start): Likewise for memobj name in magic switches.
* elf/Makefile (reloc-link): New variable.
(dl-allobjs.so): New target, link together $(rtld-routines).
(librtld.so): Depend on that instead of the rtld components.
(generated): Add dl-allobjs.so.
* hurd/hurd-raise.c (_hurd_raise_signal): Pass sigcode in msg_sig_post
rpc.
* hurd/hurdmsg.c (_S_msg_set_environment): Use argz.h functions
instead of _hurd_split_args.
(_S_msg_*_exec_flags): Functions removed.
(_S_msg_startup_dosync): Stub removed.
Sat May 4 02:11:55 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* sysdeps/mach/hurd/ptrace.c: Set _hurdsig_traced instead of
EXEC_TRACED bit in _hurd_exec_flags.
Pass sigcode arg in msg_sig_post_untraced rpc.
* sysdeps/mach/hurd/access.c: Don't pass io port in
auth_user_authenticate rpc.
* posix/sched.h: Fix typos.
* sysdeps/mach/hurd/fork.c: Use new critical section lock.
Clear _hurdsig_traced instead of EXEC_TRACED.
* sysdeps/stub/nanosleep.c (nanosleep): Fix typo.
* wcsmbs/wcstol.c: Find strtol.c in ../stdlib.
* wcsmbs/wcstof.c: Find strtod.c in ../stdlib.
* wcsmbs/wcstod.c: Likewise.
* wcsmbs/wcstold.c: Likewise.
* wcsmbs/wcwidth.h: Find cname-lookup.h in ../wctype.
* string/envz.c (envz_entry): Use const.
(envz_get, envz_remove): Likewise.
(envz_entry): Return char *, not const char *.
* string/envz.h: Fix decl.
* string/argz-create.c: Use const in prototype.
* string/argz-next.c: Likewise.
* sysdeps/mach/hurd/sigprocmask.c: Pass sigcode arg to msg_sig_post.
* sysdeps/mach/hurd/i386/sigreturn.c: Likewise.
* sysdeps/mach/hurd/sigsuspend.c: Likewise.
* sysdeps/mach/hurd/kill.c: Likewise.
* hurd/hurdexec.c (_hurd_exec): Use new critical section lock.
* hurd/catch-exc.c (_S_catch_exception_raise): Likewise.
* hurd/sigunwind.c (_hurdsig_longjmp_from_handler): Likewise.
* hurd/thread-cancel.c (hurd_thread_cancel, hurd_check_cancel):
Likewise.
* sysdeps/mach/hurd/jmp-unwind.c (_longjmp_unwind): Likewise.
* sysdeps/mach/hurd/sigaction.c: Likewise.
* sysdeps/mach/hurd/errnos.awk: Don't use ARGV in comment; it can
change meaninglessly.
* hurd/hurd/signal.h (struct hurd_sigstate): Replace critical section
flag with a spin lock.
(_hurd_critical_section_lock): Use spin_try_lock on that to see if we
get it. No need to take SS->lock at all.
(_hurd_critical_section_unlock): Unlock SS->critical_section_lock
instead of clearing the old flag member.
* hurd/hurdsig.c (_hurd_internal_post_signal): Use spin_lock_locked to
test the critical section state.
* hurd/hurdinit.c (_hurd_init): Set _hurdsig_traced from the intarray.
* hurd/hurdkill.c (_hurd_sig_post): Pass 0 sigcode in msg_sig_post.
* hurd/hurdsig.c (_hurd_internal_post_signal): Test _hurdsig_traced
instead of testing (_hurd_exec_flags & EXEC_TRACED).
(_S_msg_sig_post): Take sigcode arg and pass it through.
(_S_msg_sig_post_untraced): Likewise.
(reauth_proc): Don't pass proc port in auth_user_authenticate.
* hurd/setauth.c (_hurd_setauth): Don't pass object ports in
auth_user_authenticate RPCs, just the one-off rendezvous port.
* hurd/dtable.c (reauth_dtable): Likewise.
* hurd/hurdlookup.c (__hurd_file_name_lookup_retry): Likewise.
* hurd/hurdexec.c (_hurd_exec): Pass 0 flags to file_exec.
Pass sigcode arg to msg_sig_post.
* string/argz.h (argz_create): Use const in prototype.
* hurd/hurdinit.c (_hurd_proc_init): Test _hurdsig_traced instead of
testing (_hurd_exec_flags & EXEC_TRACED).
Pass sigcode arg to msg_sig_post.
* hurd/hurd.h: Declare _hurdsig_traced.
* string/argz.h (__argz_next): Cast ENTRY before returning it.
* hurd/hurd/signal.h (_hurd_critical_section_unlock): Pass sigcode arg
to msg_sig_post.
* hurd/path-lookup.c: New file.
* hurd/Makefile (routines): Add path-lookup.
* hurd/hurd/lookup.h: Declare file_name_path_scan,
hurd_file_name_path_lookup.
* hurd/hurd.h: Declare file_name_path_lookup.
* sysdeps/mach/hurd/select.c: The io_select rpc no longer has a TAG_ID
argument. Instead, use a separate reply port for each RPC and put them
all in a port set to wait for slow replies.
* intl/Makefile (CPPFLAGS): Change $(nlsdir) to $(i18ndir) in
LOCALE_ALIAS_PATH.
Fri May 3 03:14:02 1996 Ulrich Drepper <drepper@cygnus.com>
* intl/Makefile (routines): Add l10nflist and explodename.
(distribute): Add loadinfo.h and locale.alias.
(install-others): New variable to install locale.alias.
* intl/dcgettext.c, intl/finddomain.c, intl/gettextP.h,
intl/loadmsgcat.c: Adapt for upcoming gettext-0.10.13. Some code
is now shared with the locale implementation.
* intl/explodename.c, intl/l10nflist.c, intl/loadinfo.h: New file.
Extracted from finddomain.c. This is also used in the locale
implementation.
* intl/locale.alias: New file. Locale alias database compatible
with X Window System's locale alias file. Can now be used in
locale and gettext code.
* libio/stdio.h: Add prototypes for asprint and vasprintf.
* locale/C-collate.c, locale/C-ctype.c, locale/C-messages.c,
locale/C-monetary.c, locale/C-numeric.c, locale/C-time.c: Add new
field in structure with name of locale ("C" in this case).
* locale/Makefile (routines): Add findlocale.
* locale/findlocale.c: New file. Instead of trying to load the
directly described file we now try to be much smarter when this
fails. Use the same code as gettext does.
* locale/loadlocale.c, locale/setlocale.c: Rewrite to know about
new loading scheme.
* locale/localeinfo.h: Adapt prototypes and declarations for new
setlocale implementation. Remove definition of u32_t type. We
now use u_int32_t from <sys/types.h>.
* locale/programs/charset.h (ILLEGAL_CHAR_VALUE): Provide type
with constant.
* locale/programs/config.h, locale/lc-collate.c,
locale/localeinfo.h, locale/programs/ld-collate.c,
locale/programs/ld-ctype.c, locale/programs/ld-messages.c,
locale/programs/ld-monetary.c, locale/programs/ld-numeric.c,
locale/programs/ld-time.c, locale/weight.h, string/strcoll.c:
Change to use u_int32_t and u_int16_t.
* locale/programs/localedef.c (construct_output_path): Change name
of output locale to contain normalized form of the character set
portion.
* string/Makefile (routines): Add agrz-ctsep and argz-next.
(tests): Add tst-strlen.
* string/argz-ctsep.c: New file. Implement reverse operation
from argz-stringify.
* string/argz-next.c: Non-inline version of function from argz.h.
* string/argz.h, string/envz.h: Make usable as global header file.
* string/envz.c: Fix declarations to use size_t where prototypes
say so.
* string/tst-strlen.c: New file. Another test for critical
situation in strlen implementations.
* sysdeps/i386/i586/strlen.S: Fix bug with highest byte in word
being zero.
* wctype/test_wctype.c: Fix controlling comparison after change to
32 bit character class array.
Fri May 3 12:53:12 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* sysdeps/unix/sysv/linux/sys/socket.h: Remove spurious doubled line.
Thu May 2 22:50:52 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/getpriority.c: New file.
* sysdeps/unix/sysv/linux/syscalls.list: Add s_getpriority.
Thu May 2 22:41:31 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/m68k/fpu_control.h (_FPU_DEFAULT):
Disable all exceptions.
Thu May 2 22:33:14 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/e_acos.c, sysdeps/m68k/fpu/e_acosf.c,
sysdeps/m68k/fpu/e_fmod.c, sysdeps/m68k/fpu/e_fmodf.c,
sysdeps/m68k/fpu/isinfl.c, sysdeps/m68k/fpu/isnanl.c,
sysdeps/m68k/fpu/s_atan.c, sysdeps/m68k/fpu/s_atanf.c,
sysdeps/m68k/fpu/s_frexp.c, sysdeps/m68k/fpu/s_frexpf.c,
sysdeps/m68k/fpu/s_ilogb.c, sysdeps/m68k/fpu/s_ilogbf.c,
sysdeps/m68k/fpu/s_isinf.c, sysdeps/m68k/fpu/s_isinff.c,
sysdeps/m68k/fpu/s_ldexp.c, sysdeps/m68k/fpu/s_ldexpf.c,
sysdeps/m68k/fpu/s_modf.c, sysdeps/m68k/fpu/s_modff.c: Don't
define __NO_MATH_INLINES, which is already defined on command
line.
Thu May 2 22:18:28 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/libm-ieee754/e_j0f.c (__ieee754_j0f, __ieee754_y0f):
Replace 0x80000000 by 0x48000000.
* sysdeps/libm-ieee754/e_j1f.c (__ieee754_j1f): Likewise.
Thu May 2 21:30:33 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sunrpc/svc_simple.c: Make global variable pl local to
registerrpc.
Thu May 2 00:24:04 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* time/Makefile (tz-cflags): New variable.
(CFLAGS-tzfile.c): New variable.
(CFLAGS-zic.c): Add $(tz-cflags).
(tz-cc): Remove variable.
($(objpfx)tzfile.o, $(objpfx)zic.o): Remove targets.
* sysdeps/mach/hurd/getcwd.c: Jump out of both loops when we find a
name, instead of checking for reaching end of buffer, which happens
when the match is the last entry in the buffer.
* time/strftime.c: Use canonical autoconf nugget for time.h+sys/time.h
include.
Mon Apr 29 02:48:26 1996 Ulrich Drepper <drepper@cygnus.com>
* ctype/ctype-info.c: (__ctype_width): New variable.
(__ctype_names): Initialize correctly without offset.
* locale/C-collate.c, locale/C-ctype.c,
locale/C-messages.c, locale/C-monetary.c,
locale/C-numeric.c, locale/C-time.c: Change copyright.
* locale/C-ctype.c (_nl_C_LC_CTYPE_class32): Correct
endianess for initialization value.
* locale/lc-ctype.c (current): Add parameter for offset.
(__ctype32_b, __ctype_width): Add initialization for these
variables.
* locale/programs/charmap.c: Finish support for WIDTH information.
(new_width): New function.
* locale/programs/charset.h (width_rule): new data structure.
(charset_t): Add elements for width information.
* locale/programs/ld-ctype.c (locale_ctype_t): Add element
for width information.
(allocate_arrays): Add new argument for charset.
(ctype_finish): Make sure all characters named in charset
width table are known to name table.
(ctype_output): Correct handling of class and map name
information and write out width information.
(find_idx): Prepare for being called with NULL pointer as
TABLE argument. This means only allocate name entry.
(allocate_arrays): Correct handling of array element -1.
Because EOF == -1 the value of element 127 must *not* be
mirrored here.
Fill width information from charset tables.
* locale/programs/localedef.c (main): Correct loop over all
categories after change of order from Thu Mar 28 14:22:51 1996.
Add new charset argument to call of `write_all_categories'.
* locale/programs/locales.h (ctype_finish, ctype_output): New
charset argument.
* locale/programs/locfile.c (write_all_categories): Call
`ctype_output' with additional argument charset.
* posix/getconf.c (vars): Add _POSIX_SYNC_IO, _POSIX_ASYNC_IO,
and _POSIX_PRIO_IO definitions.
* posix/posix2_lim.h: Add definition of _POSIX2_CHARCLASS_NAME_MAX
and CHARCLASS_NAME_MAX.
* posix/unistd.h: Document _POSIX_SYNC_IO, _POSIX_ASYNC_IO,
and _POSIX_PRIO_IO.
* stdlib/grouping.h: Prepare for use in wide string functions.
* stdlib/stdlib.h: Correct prototypes for __strto*_internal
functions.
* stdlib/strtod.c: Extend for use as `wcsto{f,d,ld}'.
* stdlib/strtol.c: Extend for use as `wcsto{l,ul,q,uq}'.
* string/strcoll.c: Extend for use as `wcscoll'.
* string/strxfrm.c: Extend for use as `wcsxfrm'.
* sysdeps/generic/confname.h: Add definition of _PC_SYNC_IO,
_PC_ASYNC_IO, _PC_PRIO_IO and _SC_CHARCLASS_NAME_MAX.
* sysdeps/generic/stpncpy.c: Correct return value.
* sysdeps/posix/fpathconf.c: Add handling of _PC_SYNC_IO,
_PC_ASYNC_IO, and _PC_PRIO_IO.
* sysdeps/posix/sysconf.c: Add handling of _SC_REALTIME_SIGNALS,
_SC_PRIORITY_SCHEDULING, _SC_TIMERS, _SC_ASYNCHRONOUS_IO,
_SC_PRIORITIZED_IO, _SC_SYNCHRONIZED_IO, _SC_FSYNC,
_SC_MAPPED_FILES, _SC_MEMLOCK, _SC_MEMLOCK_RANGE,
_SC_MEMORY_PROTECTION, _SC_MESSAGE_PASSING, _SC_SEMAPHORES,
_SC_SHARED_MEMORY_OBJECTS, and _SC_CHARCLASS_NAME_MAX.
* sysdeps/stub/sysconf.c: Ditto.
* sysdeps/unix/sysv/sysv4/sysconf.c: Ditto.
* sysdeps/unix/sysv/linux/Dist: Add sys/sysctl.h.
* sysdeps/unix/sysv/linux/Makefile [subdir == misc]
(sysdep_routines): Add s_sysctl and sysctl.
* sysdeps/unix/sysv/linux/sys/mman.h: Add declaration of mremap.
* sysdeps/unix/sysv/linux/sys/socket.h: New file. Wrapper
around kernel header.
* sysdeps/unix/sysv/linux/sys/sysctl.h: New file. Define
interface to `sysctl' function.
* sysdeps/unix/sysv/linux/syscalls.list: Add mremap and _sysctl.
* sysdeps/unix/sysv/linux/sysconf.c: Add handling of
_SC_CHARCLASS_NAME_MAX.
* sysdeps/unix/sysv/linux/sysctl.c: new file. Implement caller
of _sysctl system call.
* sysvipc/Makefile (routines): Add ftok.
* sysvipc/ftok.c: use variable `proj_id' not `id'. Patch by
David Mosberger-Tang.
* wcsmbs/Makefile (routines): Add wcpcpy, wcpncpy, wcstol,
wcstoul, wcstoq, wcstouq, wcstod, wcstold, wcstof, wcscoll,
wcsxfrm, wcwidth, and wcswidth.
* wcsmbs/wchar.h: Add declarations for wcpcpy, wcpncpy, wcstol,
wcstoul, wcstoq, wcstouq, wcstod, wcstold, wcstof, wcscoll,
wcsxfrm, wcwidth, and wcswidth.
Declare internal interfaces for wcsto* functions.
[OPTIMIZE]: Define inline functions for wcsto* functions to
call internal interface functions.
* wcsmbs/wcpcpy.c, wcsmbs/wcpncpy.c: New files. Implement non-
standard function equivalent to stpcpy/stpncpy.
* wcsmbs/wcscoll.c: Implement `wcscoll' function by using
`strcoll' implementation.
* wcsmbs/wcscpy.c, wcsmbs/wcsncpy.c: Use wint_t instead of
wchar_t.
* wcsmbs/wcstod.c: Implement `wcstod' function by using `strtod'
implementation.
* wcsmbs/wcstof.c: Same for `wcstof'.
* wcsmbs/wcstold.c: Same for `strtold'.
* wcsmbs/wcstol.c: Implement `wcstol' function by using `strtol'
implementation.
* wcsmbs/wcstoq.c: Same for `wcstoq'.
* wcsmbs/wcstoul.c: Same for `wcstoul'.
* wcsmbs/wcstouq.c: Same for `wcstouq'.
* wcsmbs/wcswidth.c: Implement `wcswidth' function from X/Open
CAE.
* wcsmbs/wcwidth.c: Ditto for `wcwidth'.
* wcsmbs/wcwidth.h: Common function for definitions of above two
functions.
* wcsmbs/wcsxfrm.c: Implement `wcsxfrm function by using
`strxfrm implementation.
* wctype/wctype.c: Remove case for `wctype_t' being 16 bit type.
* wctype/wctype.h (wint_t): Protect against multiple definition.
(wctype_t): Always define as `unsigned long int'.
* wctype.h: New file. Wrapper around wctype/wctype.h.
* hurd/hurdstartup.c (_hurd_split_args): Function removed.
(_hurd_startup): Use argz functions.
* hurd/hurdexec.c: Use argz functions.
* hurd/hurdsig.c (_hurdsig_abort_rpcs): Add timeout argument to
interrupt_operation call.
(_hurdsig_interrupt_timeout): New variable.
* hurd/report-wait.c (describe_number): Correctly allocate space
in DESCRIPTION for the digits in I.
* sysdeps/mach/hurd/getcwd.c (__getcwd): When we find a match in
the scan for a name, avoid doing another readdir (which overwrites
NENTRIES, and was resulting in a bogus ENOENT).
* sysdeps/mach/hurd/fcntl.c (__fcntl): Add missing break after F_SETFL.
* malloc/mcheck.c (mabort): Use __libc_fatal only #ifdef _LIBC.
Wed Apr 24 00:22:42 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* stdio/internals.c (seek_to_target): Set errno if seek function
returns the wrong offset.
* wcsmbs/wcsrtombs.c [! EILSEQ] (EILSEQ): Define to EINVAL.
* wcsmbs/wcrtomb.c: Likewise.
* stdio-common/vfprintf.c: Include errno.h.
Wed Apr 10 14:13:45 1996 Miles Bader <miles@gnu.ai.mit.edu>
* hurd/sigunwind.c (_hurdsig_longjmp_from_handler): Store
MACH_PORT_DEAD in the thread reply-port variable before destroying
the signal handler's reply port, to avoid infinite recursion.
* sysdeps/mach/gettimeofday.c (__gettimeofday): Don't fail if the
user passes in TZ, just zero it (emacs passes in a dummy variable,
and rms says the hurd should be the one to change).
Fri Apr 5 17:43:41 1996 Miles Bader <miles@gnu.ai.mit.edu>
* sysdeps/mach/hurd/i386/sigreturn.c (__sigreturn): Store
MACH_PORT_DEAD in the thread reply-port variable before destroying
the signal handler's reply port to avoid infinite recursion.
* sysdeps/mach/hurd/mig-reply.c (__mig_dealloc_reply_port): Only
attempt to destroy PORT if it's a valid port name.
* extra-lib.mk: Put libs in $(common-objpfx) instead of $(objpfx).
* Makerules ($(install-lib) rules): Find libs with $(common-objpfx)
instead of $(objpfx).
* posix/glob.c (glob_pattern_p): Avoid scanning past eos if
the pattern ends with a backslash and quoting is enabled.
* posix/fnmatch.c (fnmatch): Likewise; return FNM_NOMATCH for such
patterns.
* stdio-common/tst-printf.c (main): Add new test case.
* sysdeps/generic/setenv.c (unsetenv): Use old-style definition.
Mon Apr 1 11:39:10 Ulrich Drepper <drepper@gnu.ai.mit.edu>
* stdlib/strtod.c (STRTOD): Fix handling of American style FP
numbers.
* stdio-common/vfprintf.c (vfprintf): Don't increment format
string pointer twice after seeing `*'.
Sun Mar 31 17:31:54 1996 Roland McGrath <roland@whiz-bang.gnu.ai.mit.edu>
* MakeTAGS (po/SYS_libc.pot): Prepend header processed from
po/header.pot.
Sun Mar 31 18:07:32 1996 Ulrich Drepper <drepper@gnu.ai.mit.edu>
* locale/Makefile (others, install-bin): Compiling locale works
again.
(locale-modules): locale has no --dump option anymore. Remove
ctypedump.
* locale/programs/config.h: Don't declare euidaccess.
Use #include_next to get libc's config.h.
* locale/programs/ctypedump.c: Not needed anymore. Dump option
of locale is removed.
* locale/programs/locale.c: Adapt for new locale implementation.
* stdio-common/_itoa.h (_itoa_word): Define as inline function.
* stdio-common/_itoa.c (_itoa_lower_digits, _itoa_upper_digits):
Don't declare static because used in _itoa_word inline function.
* stdio-common/printf-parse.h: Prepare for use in wide-char
stdio implementation.
(find_spec): Take additional argument to work with mbrlen instead
of mblen.
(parse_one_spec): Ditto.
* stdio-common/printf-prs.c: Prepare for use in wide-char
stdio implementation.
* stdio-common/printf.h: Mark change for wide-char handling.
Changing it now would result in incompatibilities.
* stdio-common/vfprintf.c: New and fast implementation.
* wcsmbs/Makefile (routines): Remove pre-ISO C multibyte functions
mbsadvance, mbscat, mbschr, mbscmp, mbscpy, mbsdup, mbslen,
mbsncat, mbsncmp, mbsncpy, mbsrchr, mbstomb.
Change wcswcs to wcsstr.
Add wmemchr, wmemcmp, wmemcpy, wmemmove, wmemset, btowc, wctob,
mbsinit, mbrlen, mbrtowc, wcrtomb, mbsrtowcs, wcsrtombs.
* wcsmbs/btowc.c, wcsmbs/mbrlen.c, wcsmbs/mbrtowc.c,
wcsmbs/mbsinit.c, wcsmbs/mbsrtowcs.c, wcsmbs/wchar.h,
wcsmbs/wcrtomb.c, wcsmbs/wcsrtombs.c, wcsmbs/wcsstr.c,
wcsmbs/wctob.c, wcsmbs/wmemchr.c, wcsmbs/wmemcmp.c,
wcsmbs/wmemcpy.c, wcsmbs/wmemmove.c, wcsmbs/wmemset.c: New
function according to ISO C amendment 1.
* wchar.h: Wrapper around "wcsmbs/wchar.h".
* wcsmbs/wcscat.c, wcsmbs/wcschr.c, wcsmbs/wcscmp.c,
wcsmbs/wcscpy.c, wcsmbs/wcscspn.c, wcsmbs/wcsdup.c,
wcsmbs/wcslen.c, wcsmbs/wcsncat.c, wcsmbs/wcsncmp.c,
wcsmbs/wcsncpy.c, wcsmbs/wcspbrk.c, wcsmbs/wcsrchr.c,
wcsmbs/wcsspn.c, wcsmbs/wcstok.c: Changed to conform with ISO C
amendment 1.
* wcsmbs/mbsadvance.c, wcsmbs/mbscat.c, wcsmbs/mbschr.c,
wcsmbs/mbscmp.c, wcsmbs/mbscpy.c, wcsmbs/mbsdup.c,
wcsmbs/mbslen.c, wcsmbs/mbsncat.c, wcsmbs/mbsncmp.c,
wcsmbs/mbsncpy.c, wcsmbs/mbsrchr.c, wcsmbs/mbstomb.c,
wcsmbs/mbstr.h, wcsmbs/wcstr.h, wcsmbs/wcswcs.c: Removed.
Implement functions from early drafts, not part of final standard.
Sun Mar 31 16:50:41 1996 Roland McGrath <roland@whiz-bang.gnu.ai.mit.edu>
* setjmp/setjmp.h (jmp_buf): Change gratuitous struct tag name to
__jmp_bug_tag so its C++ implicit typedef does not conflict with the
__jmp_buf typedef.
* Makerules (BUILD_CFLAGS) [! objdir]: Use $(..)config.h when
compiling in the source directories.
Fri Mar 29 16:26:35 1996 Roland McGrath <roland@whiz-bang.gnu.ai.mit.edu>
* sysdeps/libm-ieee754/w_gamma.c: Use signgam instead of __signgam.
* sysdeps/libm-ieee754/s_signgam.c: Undo last change.
* locale/nl_langinfo.c (nl_langinfo): Use DATA->values instead of
DATA->strings.
* Makerules (BUILD_CFLAGS): Remove $(common-objpfx) from config.h.
* configure.in (.weakext check): Fix asm code to use .weakext instead
of .weak! Fix bogus test calls.
* configure: Regenerated.
* intl/Makefile (copysrc): Add missing > in sed cmd.
Sat Mar 23 17:52:49 1996 Ulrich Drepper <drepper@gnu.ai.mit.edu>
* Makeconfig: Rename Makefile variable nlsdir to i18ndir and
change value to $(datadir)/i18n. `nls' is not an appropriate
name.
* Makefile (subdirs): Add new subdir wctype.
* ctype/ctype-info.c: Add new global variable __ctype_names
and initialize from _nl_C_LC_CTYPE.
* ctype/ctype.h: In P1003.3b/D11 `alnum' is a separate character
class. Use bit 11.
[_ISbit]: Protect definition of bitmasks because they are also
used in wctype.h.
* libio/genops.c (_IO_sputbackc, _IO_sungetc): Clear EOF flag
after successfully pushing back a character.
Fundamental changes in locale implementation. Almost nothing
from the old code is used anymore.
* locale/charmap.c, locale/collate.c, locale/config.h,
locale/ctypedump.c, locale/hash.h, locale/keyword.gperf,
locale/keyword.h, locale/loadlocale.c, locale/locale-ctype.c,
locale/locale.c locale/localeconv.c, locale/localedef.c,
locale/localedef.h, locale/locfile-hash.c, locale/locfile-lex.c,
locale/locfile-parse.c, locale/messages.c, locale/monetary.c,
locale/numeric.c, locale/setlocale.c, locale/token.h,
locale/xmalloc.c: Removed.
* locale/Makefile: Update for new locale implementation with
program source code distributed in subdir.
* locale/categories.def, locale/iso-4217.def: Updated file
for new locale implementation.
* locale/langinfo.h: Updated for new locale implementation.
(ERA_D_T_FMT, ERA_T_FMT): New official values according to
P1003.2b/D11.
(_NL_COLLATE_NRULES, _NL_COLLATE_RULES, _NL_COLLATE_HASH_SIZE,
_NL_COLLATE_HASH_LAYERS, _NL_COLLATE_TABLE_EB,
_NL_COLLATE_TABLE_EL, _NL_COLLATE_UNDEFINED, _NL_COLLATE_EXTRA_EB,
_NL_COLLATE_EXTRA_EL, _NL_CTYPE_NAMES_EB, _NL_CTYPE_NAMES_EL,
_NL_CTYPE_HASH_SIZE, _NL_CTYPE_HASH_LAYERS, _NL_CTYPE_CLASS_NAMES,
_NL_CTYPE_MAP_NAMES, _NL_CTYPE_WIDTH): New internal values for
extended LC_CTYPE and LC_COLLATE implementation.
* locale/simple-hash.c, locale/simple-hash.h, locale/xmalloc.c,
locale/xstrdup.c: Helper functions for locale related programs.
* locale/C-collate.c, locale/C-ctype.c,
locale/C-messages.c, locale/C-monetary.c,
locale/C-numeric.c, locale/C-time.c,
locale/lc-collate.c, locale/lc-ctype.c,
locale/lc-messages.c, locale/lc-monetary.c,
locale/lc-numeric.c, locale/lc-time.c: New implementation of locale
functions, and new generated "C" locale data.
* locale/loadlocale.c: Now handles word fields in locale binary
automatically by changing the endianess if necessary.
* locale/localeinfo.h (LIMAGIC): Changed magic number because
of incompatible changes.
(locale_data): Changed definition to allow word as a value type.
(coll_sort_rule): Values for collation sorting mode.
(_NL_CURRENT_WORD): New macro to access word value of locale entry.
(__collate_table, __collate_extra): Declare new global variables
for collation tables.
* locale/programs/charmap-kw.gperf, locale/programs/charmap-kw.h,
locale/programs/charmap.c, locale/programs/charset.c,
locale/programs/charset.h, locale/programs/config.h,
locale/programs/ctypedump.c, locale/programs/ld-collate.c,
locale/programs/ld-ctype.c, locale/programs/ld-messages.c,
locale/programs/ld-monetary.c, locale/programs/ld-numeric.c,
locale/programs/ld-time.c, locale/programs/linereader.c,
locale/programs/linereader.h, locale/programs/locale.c,
locale/programs/localedef.c, locale/programs/locales.h,
locale/programs/locfile-kw.gperf, locale/programs/locfile-kw.h,
locale/programs/locfile-token.h, locale/programs/locfile.c,
locale/programs/locfile.h, locale/programs/stringtrans.c,
locale/programs/stringtrans.h: Implementation of locale related
programs.
* locale/weight.h: Functions to access collation tables.
* posix/unistd.h: Define _POSIX2_LOCALEDEF.
* stdio-common/printf_fp.c: Fix bug with printing certain numbers
< 10^-1. Reported by Bill Metzenthen.
* stdio-common/tfformat.c: Add new test for above bug.
* string/strcoll.c, string/strxfrm.c: Real implementation of
string collation according to ISO C.
* wctype/Makefile, wctype/cname-lookup.h, wctype/iswctype.c,
wctype/test_wctype.c, wctype/towctrans.c, wctype/wcfuncs.c,
wctype/wctrans.c, wctype/wctype.c, wctype/wctype.h: New files.
Implementation of wide character classes and mapping.
* elf/rtld.c (dl_main): Call _dl_sysdep_start_cleanup after
_dl_relocate_object loop. Avoid relocating RTLD_MAP in that loop, and
do it individually if necessary after _dl_sysdep_start_cleanup call.
* stdlib/Makefile (mpn-routines): Add divrem.
Tue Mar 26 22:54:14 Ulrich Drepper <drepper@gnu.ai.mit.edu>
* stdio-common/printf_fp.c (__printf_fp): Use mpn_divmod
instead of __mpn_divmod.
Wed Mar 27 10:26:21 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sysdeps/alpha/setjmp.S: Must establish global pointer before
address of __sigsetjmp_aux can be loaded.
Wed Mar 27 02:23:19 1996 Ulrich Drepper <drepper@gnu.ai.mit.edu>
* sysdeps/i386/i586/memset.S: New file. Highly optimized
version for i586 contributed by Torbjorn Granlund.
Adapted for use as bzero.
* sysdeps/i386/i586/bzero.S: Use sysdeps/i386/i586/memset.S
code to implement bzero().
Tue Mar 26 20:01:17 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
* stdlib/Makefile (mpn-routines): Remove divmod.
wrapped with #ifndef, to avoid config.h defining it.
Tue Mar 26 15:40:14 1996 Brendan Kehoe <brendan@zen.org>
* sysdeps/unix/sysv/sysv4/solaris2/sparc/sysdep.h (NO_UNDERSCORES): Use
wrapped with #ifndef, to avoid config.h defining it.
* stdio-common/printf.h, stdio-common/printf_fp.c,
stdio-common/vfprintf.c: Place const in parameter list at
correct place.
Wed Mar 20 23:58.12 1996 Ulrich Drepper <drepper@gnu.ai.mit.edu>
* sysdeps/i386/ldbl2mpn.c: Copy of former version of
sysdeps/ieee754/ldbl2mpn.c.
* sysdeps/ieee754/ldbl2mpn.c: Remove i386 specific unification.
Reported by Andreas Schwab.
Wed Mar 20 19:58:43 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
* version.c: Include version.h to define RELEASE and VERSION macros.
(__libc_release, __libc_version): Use them.
* locale/SYS_libc.c (_libc_intl_domainname): Include ../version.h and
use VERSION to define domainname as `SYS_GNU_libc-VERSION'.
* Make-dist (rel+vers): Snarf the macro values from version.h.
* MakeTAGS (extract): Pass $(XGETTEXTFLAGS-$(@F)).
(XGETTEXTFLAGS-siglist.pot, XGETTEXTFLAGS-errlist.pot): New variables;
pass -a for these files.
* Makerules (po/%.pot): Depend on FORCE target so recursive make is
always run.
* elf/dl-load.c (_dl_map_object_from_fd): Always set L->l_type; if not
lt_executable, then lt_library.
* elf/rtld.c (dl_main): Don't set NEW->l_type after _dl_map_object.
Wed Mar 20 00:08:23 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/syscalls.list: Remove gtty and stty.
Tue Mar 19 16:31:06 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/termbits.h (CRTSCTS, CBAUDEX, VEOL,
VEOL2, VMIN, VTIME): Corrected.
(PAGEOUT, WRAP, VDSUSP): Deleted.
* sysdeps/unix/readdir.c: Test [! _DIRENT_HAVE_D_RECLEN] instead of
(sizeof (DP->d_name) > 1) to detect fixed-size dir entries.
* math/math.h: Move M_* constants before __math.h include.
[__NO_MATH_INLINES || __OPTIMIZE__]: Include __math.h only #if this.
* misc/efgcvt_r.c (ecvt_r): Declare floor, log10, fabs as weak extern.
If log10 is not defined (i.e. no -lm), use stupid loop instead.
* sysdeps/unix/bsd/pause.c: Moved to sysdeps/unix/common/pause.c.
Mon Mar 4 20:17:28 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sysdeps/unix/sysv/linux/adjtime.c: Use INT_MAX instead of LONG_MAX.
* sysdeps/unix/sysv/Makefile (sysdep_routines): Don't add s_getdents.
* sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Don't add mount,
umount.
* sysdeps/alpha/__math.h (atan, cabs): New functions.
* sysdeps/unix/sysv/linux/alpha/sigsuspend.S: new file (syscall
expects set-value, not pointer to it).
Sun Feb 25 22:36:10 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sysdeps/unix/sysv/linux/alpha/profil-counter.h: New file.
* gmon/gmon.c (__bb_head): new variable.
(write_hist, write_call_graph, write_bb_counts): new functions.
(_mcleanup): modified to call above functions instead of directly
writing out gmon.out.
* gmon/sys/gmon.h (struct __bb): New type.
(struct gmonhdr): Type removed.
(struct gmonparam): New member `log_hashfraction'.
(GMONVERSION): Macro removed.
* gmon/sys/gmon_out.h, gmon/bb_exit_func.c,
sysdeps/generic/bb_init_func.c, sysdeps/alpha/bb_init_func.S: new
files.
* gmon/Makefile (headers): Add sys/gmon_out.h.
(routines): Add bb_init_func, bb_exit_func.
* gmon/mcount.c: Avoid integer division.
Wed Feb 21 23:56:41 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sysdeps/alpha/setjmp.S: switched order in which sp and fp are
passed to match what __sigsetjmp_aux() expects.
Tue Feb 20 11:33:46 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sysdeps/unix/sysv/linux/alpha/syscalls.list (select, bind,
connect, getpeername, getsockname, listen, recv, recvfrom,
recvmsg, send, sendmsg, sendto, setsockopt, shutdown, socketpair):
added to override same-name assembly file in the parent directory.
* stdlib/stdlib.h: add include of sys/types.h in front of random
etc declarations to ensure int32_t is declared.
* stdlib/random.c, stdlib/random_r.c: replaced "long int" by int32_t
where 32 bit integers are required. Also change LONG_MAX into
0x7fffffff since the intent is to turn off the sign bit in a
32 bit integer.
* time/offtime.c (__offtime): Use Paul Eggert's code to deal
with very large values for "days" (e.g., 64 bit values).
Mon Feb 19 22:22:12 1996 David Mosberger-Tang <davidm@azstarnet.com>
* stdlib/stdlib.h (__random, __random_r, random_r, struct
random_data): use int32_t instead of `long int'.
Sat Feb 17 11:29:29 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sysdeps/unix/sysv/linux/alpha/ioperm.c: new file.
* sysdeps/alpha/ffs.S: new file.
* sysdeps/alpha/fabs.c: File removed.
* time/tzfile.c (__tzfile_read): counter variable is i, *not*
num_transitions!
* time/offtime.c: make capable of dealing with very large (64 bit)
time_t values. Use old algorithm until a year is reached that
is an integer multiple of 400, then use DAYS_PER_400_YEARS to
do the remainder in a single division.
* sysdeps/generic/ffs.c (ffs): fix variable declarations to
be unsigned int, not unsigned long.
* string/test-ffs.c (main): add test case with all upper bits
set.
* stdlib/tst-strtol.c: add tests cases for machines where
sizeof(long)==8.
* stdlib/testrand.c (main): disallow rand() to return negative
integers.
* stdlib/testmb.c (main): fix format to use %lx instead of %x.
* stdlib/stdlib.h: on 64 bit machines, declare
struct random_data, __random(), __random_r, and random_r to
return "int" instead of "long int".
* stdlib/random_r.c: 64 bit machines use "int" instead of "long
int". Similarly, use INT_MAX instead of LONG_MAX.
* stdlib/random.c: on 64 bit machines, randtbl[] and __random[]
need to operate on "int" instead of "long int".
* locale/locfile-hash.c (compute_hashval): make shifted constant
a long to avoid loosing bits on 64 bit machines.
* dirent/tst-seekdir.c (main): fix confusing comment; print
a line to mark point where directory is rewound.
Fri Feb 16 15:01:49 1996 David Mosberger-Tang <davidm@azstarnet.com>
* time/strftime.c (strftime): any hour > 11 is PM (not > 12!).
Wed Feb 14 00:21:17 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sysdeps/unix/sysv/linux/alpha/Makefile,
sysdeps/unix/sysv/linux/alpha/brk.S,
sysdeps/unix/sysv/linux/alpha/fpu_control.c,
sysdeps/unix/sysv/linux/alpha/fpu_control.h,
sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S,
sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S,
sysdeps/unix/sysv/linux/alpha/pipe.S,
sysdeps/unix/sysv/linux/alpha/setfpucw.c,
sysdeps/unix/sysv/linux/alpha/sigprocmask.c,
sysdeps/unix/sysv/linux/alpha/speed.c,
sysdeps/unix/sysv/linux/alpha/start.S,
sysdeps/unix/sysv/linux/alpha/syscall.S,
sysdeps/unix/sysv/linux/alpha/syscalls.list,
sysdeps/unix/sysv/linux/alpha/alpha/regdef.h,
sysdeps/unix/sysv/linux/alpha/sysdep.S,
sysdeps/unix/sysv/linux/alpha/sysdep.h: New files.
* sysdeps/alpha/setjmp_aux.c (__sigsetjmp_aux): restore return
address register before returning (gcc 2.7.1 doesn't do it,
presumably because $26 is declared as a global variable).
* sysdeps/unix/sysv/linux/sys/mman.h: msync was missing "flags"
argument.
* sysdeps/unix/alarm.c (alarm): do roundup using test & increment
instead of multiplication.
* sysdeps/posix/sleep.c (sleep): initialize sa_mask to mask of
currently blocked signals instead of the empty mask to ensure
that execution of alarm handler occurs with none of the currently
blocked signals enabled.
* sysdeps/unix/alpha/sysdep.h: new file (adapted from OSF/1 version).
* sysdeps/unix/bsd/osf/alpha/sysdep.h: include
sysdeps/unix/alpha/sysdep.h and removed definitions now in that file.
* sysdeps/alpha/divrem.S, sysdeps/alpha/htonl.S,
sysdeps/alpha/htons.S, sysdeps/alpha/machine-gmon.h,
sysdeps/alpha/_mcount.S, sysdeps/alpha/ntohl.s, sysdeps/alpha/ntohs.s,
sysdeps/alpha/strlen.S: New files.
* sysdeps/alpha/divl.S, sysdeps/alpha/divlu.S, sysdeps/alpha/divq.S,
sysdeps/alpha/divqu.S, sysdeps/alpha/divrem.m4,
sysdeps/alpha/macros.m4, sysdeps/alpha/reml.S, sysdeps/alpha/remlu.S,
sysdeps/alpha/remq.S, sysdeps/alpha/remqu.S, sysdeps/alpha/strlen.c:
Removed.
* sysdeps/generic/sbrk.c (__sbrk): argument is of type ptrdiff_t, not
int.
* sysdeps/alpha/__longjmp.c (__longjmp): moved dummy while loop
to end of function to avoid a jump across NOPs.
* sysdeps/alpha/Makefile (sysdep_routines): Removed all rules
pertaining to integer division/remainder routines since new code
doesn't require them.
* sunrpc/xdr_mem.c, sunrpc/xdr_stdio.c: Use 4 instead of sizeof(long)
where 32 bit quantities are consumed/stored. Various other minor
64-bit cleanups (casting).
* sunrpc/xdr.c (xdr_int): test for sizeof(int)==4 to determine
whether xdr_long or xdr_short should be used to encode an int.
Notice that an xdr_long is 4 bytes independent of the architecture
(otherwise no Alpha could interoperate with existing NFS servers,
for example). Ditto for enums.
* sunrpc/svc_udp.c (svcudp_recv): changed test from 4*sizeof(u_long)
to 16 since it really wants 16 bytes.
* sunrpc/svc.c (maskp): changed from u_long* to u_int32*.
* sunrpc/rpc_cmsg.c (xdr_callmsg), sunrpc/svc_authux.c: increment
"buf" pointer by casting it to a char* first since a long* may be 8
bytes or more and oa->oa_length may be any multiple of 4.
* sunrpc/rpc/xdr.h (IXDR_GET_LONG, IXDR_PUT_LONG): change casts to
u_int32_t (instead of u_long).
* sunrpc/clnt_udp.c (clntudp_call): replaced sizeof(u_long) by 4
since it really is testing for 32 bits. Fixed casts to use
u_int32 instead of u_long.
* sunrpc/xdr_rec.c: Likewise.
* sunrpc/clnt_tcp.c (clnttcp_call): replaced u_long by u_int32.
* sunrpc/rpc/auth.h: Likewise.
* limits.h (LONG_MAX, LONG_MIN, ULONG_MAX): use 64 bit values
for Alpha.
Tue Mar 19 13:27:49 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
* sysdeps/i386/fpu/__math.h: New file.
Contributed by John C. Bowman <bowman@hagar.ph.utexas.edu>.
Sun Mar 17 00:28:16 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/posix/clock.c: Don't multiply the return value by
CLOCKS_PER_SEC or CLK_TCK.
* sysdeps/mach/hurd/getcwd.c: Fail with ENOENT if a parent directory
scan finds no match.
* posix/unistd.h (setpgrp): Declare no-arg version unless __FAVOR_BSD.
* misc/bsd-compat.c (setpgrp): New function, two arg version.
* sysdeps/stub/setpgid.c: Remove setpgrp alias.
* sysdeps/mach/hurd/setpgid.c: Likewise.
* sysdeps/unix/sysv/sysv4/setpgid.c: Likewise.
* sysdeps/unix/common/syscalls.list (setpgid): Remove setpgrp alias.
* sysdeps/unix/sysv/irix4/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/setpgrp.c: Obsolete file removed.
* posix/setpgrp.c (setpgrp): New file.
* posix/Makefile (routines): Add setpgrp.
Tue Feb 6 12:46:29 1996 David Mosberger-Tang <davidm@azstarnet.com>
* libc-symbols.h (weak_alias, weak_symbol): added definitions
for ECOFF (HAVE_ECOFF).
* elf/Makefile (rtld-link): New canned sequence.
(ld.so, ld-linux.so.1): Use it. Pass -soname option.
* sysdeps/i386/setjmp.S (__setjmp): Define compatibility entry point.
Sun Mar 17 23:15:32 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/tcgetpgrp.c,
sysdeps/unix/sysv/linux/tcsetpgrp.c: New files.
* string/strnlen.c: New file.
* string/Makefile (routines): Add strnlen.
* string/string.h [__USE_GNU] (strnlen): Declare new function.
[__OPTIMIZE__]: Define extern inline implementation of it.
* stdlib/erand48_r.c: Use __mpn_construct_double instead of ldexp and
addition, to avoid using anything from -lm.
Mon Mar 4 21:57:14 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/m68k/Makefile: New file.
* sysdeps/unix/sysv/linux/m68k/sysdep.h (SYS_ify): Redefine.
(CALL_MCOUNT): New macro, empty unless [PROF].
(ENTRY): Do CALL_MCOUNT just after the label.
(JUMPTARGET): New macro.
(SYSCALL_ERROR_HANDLER): Fix syntax.
Thu Mar 14 04:20:48 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
* sysdeps/unix/sysv/linux/init-first.c (init): Call `__personality'
function instead of using inline asm i386 syscall.
* sysdeps/unix/sysv/linux/syscalls.list: Add personality syscall.
* posix/unistd.h [__USE_BSD]: Declare usleep.
* misc/efgcvt.c (MAXDIG): New macro computed from <floats.h> constants.
(fcvt, ecvt): Use it for buffer size.
* stdlib/drand48-iter.c (__drand48_iterate): Use u_int64_t instead of
conditionalizing long vs long long.
* stdlib/drand48-iter.c (__drand48_iterate): Don't check for null
pointers; never return EFAULT.
* stdlib/drand48_r.c (drand48_r): Likewise.
* stdlib/erand48_r.c (erand48_r): Likewise.
* sysdeps/sparc/jmp_buf.h: Rewritten; use array of ints, not struct.
* sysdeps/sparc/setjmp.S: Rewritten; store %fp value as well.
* sysdeps/sparc/__longjmp.S: Rewritten; unwind frames one by one with
`restore' until the target frame is hit.
Sun Mar 10 20:29:40 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/sigsuspend.c: New file.
* sysdeps/unix/sysv/linux/syscalls.list: Remove sigsuspend, add
s_sigsuspend.
Thu Mar 7 21:30:58 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules (+make-deps, sed-remove-objpfx): Quote periods on the
left side of sed substitutions.
Sun Mar 10 16:58:10 1996 Ulrich Drepper <drepper@gnu.ai.mit.edu>
* stdio-common/printf_fp.c (hack_digit): __mpn_normal_size
is not available anymore. Do it ourselves.
* sysdeps/unix/sysv/linux/i386/fpu_control.h (_FPU_SETCW):
Correct GCC `asm' syntax.
* stdio-common/Makefile (tests): Add tst-ungetc.
* stdio-common/tst-ungetc.c: New test from drepper.
* stdio-common/tstscanf.c (main): New %[ test case from drepper.
* sysdeps/libm-ieee754/s_scalbn.c (scalbn): Rename to __scalbn;
somehow this was missed, though the weak alias is already there.
* Makeconfig ($(common-objpfx)config.make): Depend on config.h.in.
Mon Mar 4 17:35:09 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
* hurd/catch-signal.c (hurd_safe_memmove): New function.
(hurd_safe_copyin, hurd_safe_copyout): New functions.
* hurd/hurd/sigpreempt.h: Declare them.
Sun Mar 3 08:43:44 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
Replace math code with fdlibm from Sun as modified for netbsd by
JT Conklin and Ian Taylor, including x86 FPU support.
* sysdeps/libm-ieee754, sysdeps/libm-i387: New directories.
* math/math_private.h: New file.
* sysdeps/i386/fpu/Implies: New file.
* sysdeps/ieee754/Implies: New file.
* math/machine/asm.h, math/machine/endian.h: New files.
* math/Makefile, math/math.h: Rewritten.
* mathcalls.h, math/mathcalls.h: New file, broken out of math.h.
* math/finite.c: File removed.
* sysdeps/generic/Makefile [$(subdir)=math]: Frobnication removed.
* math/test-math.c: Include errno.h and string.h.
* sysdeps/unix/bsd/dirstream.h: File removed.
* sysdeps/unix/bsd/readdir.c: File removed.
Mon Mar 4 17:35:35 1996 Miles Bader <miles@gnu.ai.mit.edu>
* sysdeps/mach/hurd/select.c (__select):
Don't increment GOT only because READ/WRITE/EXCEPTFDS is 0!
Don't return without frobbing the bitmasks after a timeout.
When clearing the bitmasks, only loop from FIRSTFD to LASTFD.
including <sysdeps/unix/bsd/sun/sparc/sigcontext.h>.
* sysdeps/unix/sysv/sysv4/solaris2/sparc/profil-counter.h: New file,
same as linux/m68k/profil-counter.h except the comment.
Fri Mar 1 17:11:59 1996 Brendan Kehoe <brendan@zen.org>
* sysdeps/unix/sysv/sysv4/solaris2/sparc/sigcontext.h: New file,
including <sysdeps/unix/bsd/sun/sparc/sigcontext.h>.
* sysdeps/unix/sysv/sysv4/solaris2/sparc/profil-counter.h: New file,
same as linux/m68k/profil-counter.h except the comment.
* sysdeps/unix/dirstream.h: Rewritten.
* sysdeps/unix/readdir.c: Rewritten.
* sysdeps/unix/telldir.c: Rewritten.
* sysdeps/unix/closedir.c: Use <...> instead of "..." for dirstream.h.
Remove __ from DIR struct member names.
* sysdeps/unix/dirfd.c: Likewise.
* sysdeps/unix/seekdir.c: Likewise.
* sysdeps/unix/rewinddir.c: Likewise.
* sysdeps/unix/opendir.c: Likewise. Don't allocate extra space after
DIR structure.
* sysdeps/stub/direct.h: File removed.
* sysdeps/unix/bsd/bsd4.4/direct.h: File removed.
* sysdeps/unix/bsd/direct.h: File removed.
* sysdeps/unix/common/direct.h: File removed.
* sysdeps/unix/sysv/irix4/direct.h: File removed.
* sysdeps/unix/sysv/isc3/direct.h: File removed.
* sysdeps/unix/sysv/sco3.2.4/direct.h: File removed.
* sysdeps/unix/sysv/sysv4/solaris2/direct.h: File removed.
* sysdeps/unix/common/direntry.h: New file.
* sysdeps/unix/bsd/direntry.h: New file.
* sysdeps/unix/bsd/bsd4.4/direntry.h: New file.
* sysdeps/unix/sysv/direntry.h: New file.
* sysdeps/stub/direntry.h: New file.
* dirent/dirent.h (struct dirent): Type removed. Include <direntry.h>
to define it.
(_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New macros.
* dirent/Makefile (headers): Add direntry.h.
(distribute): Remove direct.h.
* sysdeps/posix/getcwd.c: Use new macros instead of d_namlen.
* dirent/scandir.c: Likewise.
* io/fts.c (fts_build): Likewise.
* io/ftw.c (ftw_dir): Likewise.
* sysdeps/posix/ttyname.c: Likewise.
* sysdeps/unix/sysv/sysv4/solaris2/syscalls.list: New file.
* sysdeps/mach/hurd/profil.c (MAX_PC_SAMPLES): New macro.
(collector_timeout): New static variable.
(update_waiter): Actually call __task_enable_pc_sampling.
Set collector_timeout based on the `tick' count returned.
(profile_waiter): Use MAX_PC_SAMPLES. Set nsamples before RPC.
Use collector_timeout in __mach_msg call.
* gmon/Makefile (noprof): New variable containing mcount.
Append profil unless it is in $(unix-syscalls).
(mcount.po): Use $(noprof) for list of targets in this rule.
* libc-symbols.h: Define _LIBC before #include <config.h>.
Sun Feb 25 12:29:23 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
* config.h.in [_LIBC] (HAVE_STRERROR): Define it.
Protect 2nd page of #undef's for generator programs with #ifndef _LIBC.
* time/zic.c, time/zdump.c, time/private.h: Updated from ADO's latest.
Fri Feb 9 12:40:19 1996 Brendan Kehoe <brendan@lisa.cygnus.com>
* libio/cleanup.c (_IO_cleanup_registration_needed)
[!_G_HAVE_ATEXIT]: Init to NULL.
* libio/filedoalloc.c (_IO_cleanup_registration_needed): Remove decl.
Thu Feb 8 08:12:50 1996 Brendan Kehoe <brendan@cygnus.com>
* libio/filedoalloc.c (_IO_cleanup_registration_needed): Revert
previous change, since cleanup.c only defines it if _G_HAVE_ATEXIT.
Wed Feb 7 15:10:17 1996 Brendan Kehoe <brendan@lisa.cygnus.com>
* libio/filedoalloc.c (_IO_cleanup_registration_needed): Declare as
extern.
Sat Feb 24 11:34:13 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
* sysdeps/i386/memcmp.S: Fix argument %esp offsets.
* time/sys/time.h (timeradd, timersub): New macros; BSD has these.
* Rules (others): Depend on $(extra-objs), $(install-lib),
$(install-bin), $(install-sbin), in object directory.
* Makeconfig (link-libc): Don't pass -rpath option with default
path, since ld.so should use the same default.
* Makerules (build-shlib): Likewise.
* Makerules (make-target-directory): Use mkinstalldirs.
* sysdeps/mach/i386/sysdep.h: Include unix/i386/sysdep.h to
redefine ENTRY et al.
* sysdeps/unix/sysv/linux/i386/sysdep.h (NO_UNDERSCORES, ENTRY):
Macros removed. The code in unix/i386/sysdep.h should now suffice.
* sysdeps/unix/i386/sysdep.h (ALIGNARG): New macro, defns for
[HAVE_ELF] and not.
(ENTRY): Use it in .align directive.
(CALL_MCOUNT): New macro, empty unless [PROF].
(ENTRY): Do CALL_MCOUNT just after the label.
* Makeconfig (CPPFLAGS-.po): New variable, use -DPROF so assembly
code can call mcount.
Tue Feb 20 23:05:16 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
* time/private.h, time/zdump.c, time/zic.c: Updated verbatim from ADO;
translation markings are now integrated in his distribution.
* stdlib/strtod.c (round_and_return): Add missing (mp_limb) 1 cast.
* po: New directory where `LANG.po' files for message translations
will reside.
* po/SYS_libc.pot: New file, template of message strings as in source.
* MakeTAGS: New rules to build po/SYS_libc.pot automatically from
the source using xgettext.
* Makerules ($(..)po/%.pot): New rule.
* manual/Makefile (../po/manual.pot): New target, make it empty.
* sysdeps/unix/bsd/alarm.c: Moved to sysdeps/unix/alarm.c.
* sysdeps/unix/bsd/nice.c: Moved to sysdeps/unix/nice.c.
* sysdeps/unix/bsd/stime.c: Moved to sysdeps/unix/stime.c.
* sysdeps/unix/bsd/time.c: Moved to sysdeps/unix/time.c.
* sysdeps/unix/bsd/utime.c: Moved to sysdeps/unix/utime.c.
* csu/initfini.c (_init): Remove bogus volatile declarations and
extra variable, take the address of __gmon_start__ only implicitly
to avoid the test being optimized out.
* sysdeps/posix/utimes.c (__utimes): There are 1000000 usecs in a
sec.
Sun Feb 18 13:56:00 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* elf/Makefile, time/Makefile: Make `all' the default target.
Mon Feb 19 18:09:04 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
* misc/sys/ptrace.h: Moved to ...
* sysdeps/generic/sys/ptrace.h: ... here.
* sys/ptrace.h: File removed.
Sun Feb 18 12:13:07 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/Makefile (headers): Add fpu_control.h.
* sysdeps/unix/sysv/linux/i386/sysdep.S (errno): Put it into .bss
so that the symbol alias works.
* sysdeps/unix/sysv/linux/m68k/fpu_control.h (_FPU_SETCW): Corrected.
* sysdeps/unix/sysv/linux/resourcebits.h: New file.
* sysdeps/unix/sysv/linux/sys/ptrace.h: New file.
* sysdeps/unix/sysv/linux/syscalls.list: Add getegid, geteuid,
getppid and reboot.
* sysdeps/unix/sysv/linux/sysconf.c: Special version that does not
use getdtablesize.
Sat Feb 17 10:30:21 1996 David Mosberger-Tang <davidm@AZStarNet.com>
* stdio-common/printf_fp.c, stdlib/strtod.c, sysdeps/ieee754/dbl2mpn.c,
sysdeps/ieee754/ldbl2mpn.c, sysdeps/ieee754/mpn2dbl.c,
sysdeps/ieee754/mpn2ldbl.c: Cast left operands of shift instructions
to `long' where necessary.
Thu Feb 15 20:04:50 1996 Ulrich Drepper <drepper@gnu.ai.mit.edu>
* stdlib/fpioconst.h: Introduce new constant _FPIO_CONST_OFFSET.
* stdio-common/printf_fp.c, stdlib/strtod.c: Use _FPIO_CONST_OFFSET
to correctly access MPN array depending on architecture.
Mon Feb 19 15:30:26 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
* stdio-common/tstscanf.c (main): Add check for "0" as %d.
* sysdeps/stub/msync.c: Undo change of Jan 29; just two args.
Only some systems have three args; let them define their own stub.
* sysdeps/generic/dl-sysdep.c: Declare _dl_secure.
* sysdeps/generic/machine-gmon.h: New file.
* gmon/Makefile (distribute): Add machine-gmon.h.
* gmon/mcount.c: Undo changes of Feb 13.
Include "machine-gmon.h".
Sun Feb 18 13:24:06 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
* sysdeps/unix/sysv/linux/direct.h: File removed, since it is
identical to unix/common/direct.h.
* sysdeps/unix/Makefile [no_deps]: Don't include s-proto.d.
* sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Don't add ipc.
* stdio-common/Makefile (tests): Remove scanf6.
* sysdeps/unix/sysv/linux/Makefile (non-lib.a): Append libieee.a.
* time/mktime.c (mktime): Move static variable localtime_offset to
file scope.
* stdio-common/vfscanf.c: Put '0' in buffer before scanning for %i
base indicator.
Thu Feb 15 16:56:17 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/dl-machine.h (elf_machine_load_address): Corrected.
(ELF_MACHINE_BEFORE_RTLD_RELOC): Define.
(_dl_runtime_resolve): Save %a1 as well.
(ELF_MACHINE_RUNTIME_FIXUP_ARGS): Add second dummy arg.
(elf_machine_relplt): Define.
* elf/dl-runtime.c: Include possible extra args in declaration of
fixup.
* mach/Machrules: Use -include for $(*.ir).
* hurd/hurd/ioctl.h (_HURD_HANDLE_IOCTLS): Mask off type bits in
request values.
* sysdeps/mach/hurd/ioctls.h (_IOC_NOTYPE): New macro.
(_IOT_COUNT2): Field is 3 bits, not 2.
* sysdeps/mach/hurd/ioctl.c: Ignore handler if it fails with ENOTTY.
* hurd/hurdioctl.c (_hurd_lookup_ioctl_handler): Mask off type
bits before looking up handler.
(fioctl): Use __hurd_dfail.
(fioctl, fioclex): Use ENOTTY for bogus request instead of EGRATUITOUS.
Wed Feb 14 00:21:17 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sysdeps/alpha/memchr.c (memchr): loop searching for matching
character bailed out one too early; changed constant 6 to
7 to fix this.
* sysdeps/unix/sysv/linux/Makefile [$(subdir)=math]
(sysdep_routines): Append setfpucw.
(extra-objs): Append ieee-fpucw.o.
(install-lib): Append libieee.a.
(libieee.a): New target.
* sysdeps/unix/sysv/linux/ieee-fpucw.c: New file.
* sysdeps/unix/sysv/linux/i386/fpu_control.h
(_FPU_GETCW, _FPU_SETCW): New macros.
(fpu_control_t): New typedef.
(__setfpucw): Use fpu_control_t for argument type.
* sysdeps/unix/sysv/linux/fpu_control.c: Moved from linux/i386.
* sysdeps/unix/sysv/linux/init-first.c: Moved from linux/i386.
* sysdeps/unix/sysv/linux/Makefile [$(subdir)=math]
(sysdep_routines): Append setfpucw.
(extra-objs): Append ieee-fpucw.o.
(install-lib): Append libieee.a.
(libieee.a): New target.
* sysdeps/unix/sysv/linux/ieee-fpucw.c: New file.
* sysdeps/unix/sysv/linux/i386/fpu_control.h
(_FPU_GETCW, _FPU_SETCW): New macros.
(fpu_control_t): New typedef.
(__setfpucw): Use fpu_control_t for argument type.
* sysdeps/unix/sysv/linux/fpu_control.c: Moved from linux/i386.
* sysdeps/unix/sysv/linux/init-first.c: Moved from linux/i386.
* sysdeps/unix/sysv/linux/sys/mman.h: Define MAP_ANON and
MAP_FILE if not already defined.
* elf/elf.h: Add m68k reloc definitions.
* sysdeps/m68k/dl-machine.h, sysdeps/m68k/elf/start.S: New files.
Sat Feb 10 13:09:03 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/sys/mman.h: Define MAP_ANON and
MAP_FILE if not already defined.
* elf/elf.h: Add m68k reloc definitions.
* sysdeps/m68k/dl-machine.h, sysdeps/m68k/elf/start.S: New files.
* gmon/Makefile (headers): Remove machine-gmon.h.
* sysdeps/stub/machine-gmon.h, sysdeps/i386/machine-gmon.h: Removed.
* gmon/mcount.c [! NO_UNDERSCORES] (_mcount): Specify "mcount" as
the asm name.
(_mcount): Define normally, taking no args.
Use __builtin_return_address to fetch PC values of caller and caller's
caller.
Tue Feb 13 00:12:12 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
* gmon/Makefile (headers): Remove machine-gmon.h.
* sysdeps/stub/machine-gmon.h, sysdeps/i386/machine-gmon.h: Removed.
* gmon/mcount.c [! NO_UNDERSCORES] (_mcount): Specify "mcount" as
the asm name.
(_mcount): Define normally, taking no args.
Use __builtin_return_address to fetch PC values of caller and caller's
caller.
* Makerules: Rewrote rules to update libc archives of all flavors.
Define separate specific rules for each flavor using o-iterator.
* sysdeps/unix/Makefile: Include s-proto.d only ifdef subdir.
Sat Feb 10 11:35:16 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules (ar-symtab-name): New macro. Replace all occurences
of __.SYMDEF by $(ar-symtab-name).
* sysdeps/unix/sysv/Makefile (ar-symtab-name): Define as empty.
* Makefile (configure, %/configure): Depend on aclocal.m4.
* Make-dist (configure, %/configure): Likewise.
* sysdeps/unix/Makefile: Include s-proto.d for its deps.
* gmon/sys/gmon.h: Don't include machine-gmon.h; those defns are
only needed in the implementation, not for any users.
* time/northamerica: Updated from ADO 96c, new rules for Mexico in
1996.
so real syscalls override unix/sysv/*.c on sysv-derived systems
that have them.
* sysdeps/unix/common/syscalls.list: Add settimeofday here, to
override unix/sysv/settimeofday.c since that overrides
unix/syscalls.list.
* Makeconfig (+link): Put $(link-libc) after deps from $^,
regardless of where libc.a appears in the deps.
* posix/execvp.c: If execv fails with ENOEXEC, run the shell on
the file.
Fri Feb 9 11:46:45 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* time/Makefile (CFLAGS-zdump.c, CFLAGS-zic.c, CFLAGS-ialloc.c,
CFLAGS-scheck.c): Use -DNOID instead of -Wno-unused.
* hurd/Makefile (user-interfaces): Added hurd/tioctl.
* hurd/hurdmsg.c (_S_msg_report_wait): Function removed.
* hurd/report-wait.c: New file.
* hurd/Makefile (routines): Added report-wait.
* sysdeps/mach/hurd/Makefile (inhibit-unix-syscalls): New variable.
* sysdeps/mach/hurd/i386/intr-msg.h (struct mach_msg_trap_args):
New type.
(SYSCALL_EXAMINE, MSG_EXAMINE): New inline functions.
* sysdeps/mach/hurd/i386/trampoline.c (struct mach_msg_trap_args):
Structure moved to intr-msg.h; include that.
* time/Makefile (CFLAGS-ialloc.c): Add -Wno-unused.
(CFLAGS-scheck.c): New variable.
* sysdeps/mach/hurd/dl-sysdep.c (__hurd_sigthread_stack_base,
__hurd_sigthread_stack_end, __hurd_sigthread_variables,
__hurd_threadvar_stack_mask): New variables.
* sysdeps/mach/hurd/fork.c: Set the new task's exception port to
its new message port.
* misc/init-misc.c: Put __init_misc in the __libc_subinit set.
* configure.in (uname): Add quoting.
* sysdeps/mach/hurd/fchdir.c: Don't consult errno unless lookup fails.
* hurd/fchroot.c: Likewise.
* posix/sys/types.h [GCC >= 2.7]: Define intN_t/u_intN_t using
__attribute__ ((__mode__ (__XX__))).
Wed Feb 7 03:24:05 1996 Torbjorn Granlund <tege@tmg.se>
* sysdeps/i386/i586/memcopy.h (WORD_COPY_FWD): Manually allocate
destination cache lines.
(WORD_COPY_BWD): Likewise.
Wed Feb 7 14:16:36 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/generic/Makefile (make_siglist): Get signum.h absolute
file name first thing, before $(native-compile) changes directories.
From Gord Matzigkeit <gord@enci.ucalgary.ca>:
* sysdeps/unix/make_errlist.c: Use strerror if available.
* sysdeps/unix/configure.in: New file
* sysdeps/unix/bsd/sun/syscalls.list: Added sigvec.
* sysdeps/unix/bsd/sun/sigvec.S: File removed.
* sysdeps/stub/sendto.c: Make sockaddr arg pointer to const.
* sysdeps/stub/connect.c: Likewise.
* sysdeps/stub/bind.c: Likewise.
* hurd/hurdlookup.c (__hurd_file_name_lookup_retry): RETRYNAME of
"" is only special for FS_RETRY_NORMAL; for FS_RETRY_REAUTH, do
another dir_lookup of "".
* dirent/scandir.c: Allocate dirents with correct size for name, and
copy with correct size.
* hurd/hurdinit.c [! PIC] (map0): New function, on _hurd_preinit_hook.
* stdio-common/vfscanf.c (TYPEMOD): New macro of all type modifier
flag bits.
(__vfscanf): Fix checking of extra type modifiers.
* time/asia, time/australasia, time/backward: Updated from ADO 96b.
Tue Jan 30 12:17:26 1996 Ulrich Drepper <drepper@ipd.info.uni-karlsruhe.de>
* stdlib/strtod.c: Only negate exponent when there really is one.
* stdio-common/vfscanf.c: Accept type modifiers on %n.
Fix FP number parsing.
* sysdeps/stub/msync.c (msync): Declare third arg FLAGS.
* resolv/Makefile (+cflags): Append to this instead of CFLAGS.
Mon Jan 29 16:29:16 1996 Miles Bader <miles@gnu.ai.mit.edu>
* sysdeps/mach/hurd/select.c (__select): Recalculate GOT to
include an increment for each operation allowed on each fd.
Mon Jan 29 11:44:38 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/unix/sysv/linux/configure: Set $inhibit_glue.
* Makefile: Use -include for sysd-dirs.
* configure.in (uname): Check for uname in syscalls.list files.
* sysdeps/unix/sysv/syscalls.list: Remove uname.
* sysdeps/unix/syscalls.list: Add uname.
* stdlib/strtol.c (weak1): New macro, to get the right name declared
weak.
* sysdeps/posix/getcwd.c (size_t): Don't define #ifdef __GNU_LIBRARY__.
* db/hash/ndbm.c: Change all uses of `errno' struct member to `errnum'.
(dbm_open): Use dynamic allocation for file name buffer, instead of
limitting its size to MAXPATHLEN.
* db/btree/bt_open.c (tmp): Use dynamic allocation for file name
buffer, instead of limitting its size to MAXPATHLEN.
* db/hash/hash.h (HTAB): Rename member `errno' to `errnum'.
* db/hash/hash.c: Change all uses of `errno' struct member to `errnum'.
* time/Makefile: Fix check for cross compiling.
Sun Jan 28 19:42:04 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* time/Makefile: Fix check for cross compiling.
* setjmp/setjmp.h (jmp_buf): Give a tag in the struct defn, to
make C++ happy.
* alpha/jmp_buf.h: Likewise.
* m68k/jmp_buf.h: Likewise.
* mips/jmp_buf.h: Likewise.
* sparc/jmp_buf.h: Likewise.
* vax/jmp_buf.h: Likewise.
Sun Jan 28 17:25:38 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* setjmp/setjmp.h (jmp_buf): Give a tag in the struct defn, to
make C++ happy.
* alpha/jmp_buf.h: Likewise.
* m68k/jmp_buf.h: Likewise.
* mips/jmp_buf.h: Likewise.
* sparc/jmp_buf.h: Likewise.
* vax/jmp_buf.h: Likewise.
* sysdeps/generic/memmem.c: Fix return value in case where
NEEDLE_LEN==0.
* hurd/hurdlookup.c (__file_name_lookup_under,
__file_name_lookup): Restrict mode with umask.
* sysdeps/mach/hurd/xmknod.c: Restrict mode with umask.
* sysdeps/mach/hurd/mkdir.c: Restrict mode with umask.
* stdio-common/scanf[1-9].c: New files. Bug tests from hjl.
Wed Jan 24 03:22:07 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* stdio-common/Makefile (tests): Add scanf[1-9].
* stdio-common/scanf[1-9].c: New files. Bug tests from hjl.
* strftime.c (strftime):
When invoking self, check whether the subsidiary invocation failed.
Use "???" (not "") to denote unknown time zone information.
Make this source file portable to standalone contexts (e.g. GNU Emacs).
<config.h>: Include if HAVE_CONFIG_H is defined.
(HAVE_LIMITS_H, HAVE_MBLEN, HAVE_TM_ZONE, STDC_HEADERS): New symbols,
defined if _LIBC or if <config.h> defines them.
<ansidecl.h>, "../locale/localeinfo.h": Include only if _LIBC.
<sys/types.h>: New include; some hosts require it for `time_t'.
<ctype.h>: Include only if HAVE_MBLEN (since it's only needed then).
<limits.h>: Include only if HAVE_LIMITS_H.
<stddef.h, stdlib.h, string.h>: Include only if STDC_HEADERS.
(memcpy): Define in terms of bcopy if !STDC_HEADERS.
(__P, PTR): Define if not already defined.
(__tzname, __daylight, __timezone): Remove macros; no longer needed.
(add, strftime): Don't use NULL, for portability to some weird hosts.
(fmt): If !_LIBC, don't assume sprintf returns a count.
(week, strftime): Use old-style function declarations.
(weekday_name, month_name): New constants.
(strftime): Use traditional C values if locale support isn't available.
Use `const' instead of CONST. For time zones, use tm_zone if
possible, then fall back on tzname. Don't check for multibyte
characters unless mblen is supported. Use formats like %02d instead
of %.2d, for portability to older hosts.
Wed Jan 24 04:18:36 1996 Paul Eggert <eggert@twinsun.com>
* strftime.c (strftime):
When invoking self, check whether the subsidiary invocation failed.
Use "???" (not "") to denote unknown time zone information.
Make this source file portable to standalone contexts (e.g. GNU Emacs).
<config.h>: Include if HAVE_CONFIG_H is defined.
(HAVE_LIMITS_H, HAVE_MBLEN, HAVE_TM_ZONE, STDC_HEADERS): New symbols,
defined if _LIBC or if <config.h> defines them.
<ansidecl.h>, "../locale/localeinfo.h": Include only if _LIBC.
<sys/types.h>: New include; some hosts require it for `time_t'.
<ctype.h>: Include only if HAVE_MBLEN (since it's only needed then).
<limits.h>: Include only if HAVE_LIMITS_H.
<stddef.h, stdlib.h, string.h>: Include only if STDC_HEADERS.
(memcpy): Define in terms of bcopy if !STDC_HEADERS.
(__P, PTR): Define if not already defined.
(__tzname, __daylight, __timezone): Remove macros; no longer needed.
(add, strftime): Don't use NULL, for portability to some weird hosts.
(fmt): If !_LIBC, don't assume sprintf returns a count.
(week, strftime): Use old-style function declarations.
(weekday_name, month_name): New constants.
(strftime): Use traditional C values if locale support isn't available.
Use `const' instead of CONST. For time zones, use tm_zone if
possible, then fall back on tzname. Don't check for multibyte
characters unless mblen is supported. Use formats like %02d instead
of %.2d, for portability to older hosts.
Wed Jan 24 00:07:52 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* stdio-common/vfscanf.c (GROUP, MALLOC): New flag macros.
(__vfscanf): Eliminate flag vars that were redundant with FLAGS bits.
Fix bug in recognition of %ll flag for long long.
Fix overeager checks for conflicting type modifiers.
With ' flag, match thousands separators for decimal numbers.
Tue Jan 23 22:02:40 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* locale/Makefile (CFLAGS-locfile-lex.c): New variable.
* resolv/Makefile (CFLAGS): Disable some warnings.
* sysdeps/generic/Makefile (elided-routines): Removed hypot.
(+gccwarn): Set with override.
* stdio-common/Makefile (CFLAGS-tst-printf.c): New variable.
* posix/Makefile (CFLAGS-regex.c): New variable.
* malloc/Makefile (CFLAGS-obstack.c): New variable.
* io/Makefile (CFLAGS-fts.c): New variable.
* io/fts.c (fts_open): Use prototypes for COMPAR decl.
Tue Jan 23 21:35:32 1996 Miles Bader <miles@gnu.ai.mit.edu>
* sysdeps/mach/hurd/bind.c (bind): Ensure NAME for the AF_LOCAL
case is '\0'-terminated.
Tue Jan 23 19:49:54 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* elf/rtld.c (dl_main): Support additional args in --list mode for
debugging: look them up as symbol names and print values.
* misc/getttyent.c (skip, value): Declare with prototypes in file
scope.
* csu/initfini.c (_init): Explicitly set a variable that is
pointer to volatile with the address of __gmon_start__, to avoid
the test being optimized out.
* sysdeps/posix/getcwd.c [__GNU_LIBRARY__]: Include unistd.h.
* io/fts.h (FTSENT): Define fts_compar member with prototype.
* hurd/hurd.h: Use prototype in getcttyid decl.
* stdlib/l64a.c: Fix typo in last change.
* stdlib/drand48-iter.c: Test limits.h macros instead of sizeof
for determining size of types.
* stdlib/srand48_r.c: Likewise.
* misc/utmp.h: Declare login, logout, logwtmp.
* misc/logout.c: Declare argument as pointer to const.
* misc/login.c: Likewise.
* misc/logwtmp.c: Likewise.
Include time.h, string.h.
* misc/efgcvt_r.c: Include stdlib.h.
* io/mknod.c: Include sys/types.h.
* gmon/sys/gmon.h: Declare monstartup, _mcleanup.
* csu/gmon-start.c (_start, etext): Declare with prototypes.
* stdio-common/vfscanf.c (%[): Fix range handling.
* sysdeps/unix/sysv/linux/shmat.c: Include sys/shm.h instead of
sys/sem.h.
* stdlib/stdlib.h [__USE_SVID]: Declare a64l, l64a.
* stdlib/l64a.c: Use 6-bit numbers as indices in CONV_TABLE, not
literal byte values.
* misc/bsd-compat.c (getpgrp): Define with prototype.
* misc/init-misc.c (__progname_full): New variable.
(program_invocation_name, program_invocation_short_name): New aliases.
(__init_misc): Define with prototype. Set __progname_full.
* misc/progname.c: File removed.
* misc/Makefile (aux): Remove progname.
* misc/hsearch_r.c (isprime): Define with prototype.
* sysdeps/unix/sysv/linux/seteuid.c: Just include unix/bsd version.
* sysdeps/unix/bsd/seteuid.c: Disallow arg of -1.
* sysdeps/unix/bsd/setegid.c: Likewise.
* sysdeps/unix/mkdir.c, syspdep/unix/rmdir.c: Moved from unix/sysv.
They will be overridden with syscalls if extant by unix/syscalls.list.
Fri Jan 19 13:28:59 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/unix/mkdir.c, syspdep/unix/rmdir.c: Moved from unix/sysv.
They will be overridden with syscalls if extant by unix/syscalls.list.
* Makeconfig (+gccwarn): Add -Wstrict-prototypes.
* stdio-common/printf_fp.c (__printf_fp): Define with prototype.
* stdio-common/vfprintf.c (_IO_helper_overflow): Likewise.
* sysdeps/unix/sysv/linux/ptrace.c: Use ... decl, and stdarg.h to
get args.
* posix/glob.c (_GNU_SOURCE): Define if undefined, so glob.h
defines GNU extensions.
* posix/fnmatch.c: Likewise.
* Makerules (COMPILE.s): New variable.
* sysdeps/unix/Makefile (sysd-syscalls): New target; generate with
make-syscalls.sh and include it.
[$(subdir)=misc] (sysdep_routines): Append extra syscalls from
sysd-syscalls.
* sysdeps/unix/make-syscalls.sh: New file.
* Makerules (COMPILE.S): New variable.
_STAT_VER_SVR4, _STAT_VER): New macros.
(_MKNOD_VER_LINUX, _MKNOD_VER_SVR4, _MKNOD_VER): New macros.
* sysdeps/unix/sysv/sysv4/i386/statbuf.h (_STAT_VER, _MKNOD_VER):
New macros.
* sysdeps/mips/bytesex.h: Add default byte sex. By Ralf Baechle.
* sysdeps/unix/sysv/linux/adjtime.c [! MOD_OFFSET]: Use `mode'
member of `struct timex' instead of `modes'. From Andreas Schwab.
* sysdeps/unix/sysv/linux/mknod.c: New file. Generic C version.
* sysdeps/unix/sysv/linux/i386/mknod.S: Remove assembler version.
* sysdeps/unix/sysv/linux/Makefile (inhibit-glue): New variable.
[$(subdir) = misc] (sysdep_routines): Add mount, umount, and s_ptrace.
[$(subdir) = misc] (headers): Append sys/mount.h.
* sysdeps/unix/sysv/linux/mount.S, sysdeps/unix/sysv/linux/umount.S:
New files. Implement system calls.
* sysdeps/unix/sysv/linux/sys/mount.h: New header file.
* sysdeps/unix/sysv/linux/ptrace.c: New file. Wrapper around
ptrace system call.
* sysdeps/unix/sysv/linux/s_ptrace.S: New file: ptrace system call.
* sysdeps/unix/sysv/linux/i386/gnu/types.h: New file with correct
types for i386/Linux.
Sun Jan 14 01:01:10 1996 Ulrich Drepper <drepper@ipd.info.uni-karlsruhe.de>
* sysdeps/mips/bytesex.h: Add default byte sex. By Ralf Baechle.
* sysdeps/unix/sysv/linux/adjtime.c [! MOD_OFFSET]: Use `mode'
member of `struct timex' instead of `modes'. From Andreas Schwab.
* sysdeps/unix/sysv/linux/mknod.c: New file. Generic C version.
* sysdeps/unix/sysv/linux/i386/mknod.S: Remove assembler version.
* sysdeps/unix/sysv/linux/Makefile (inhibit-glue): New variable.
[$(subdir) = misc] (sysdep_routines): Add mount, umount, and s_ptrace.
[$(subdir) = misc] (headers): Append sys/mount.h.
* sysdeps/unix/sysv/linux/mount.S, sysdeps/unix/sysv/linux/umount.S:
New files. Implement system calls.
* sysdeps/unix/sysv/linux/sys/mount.h: New header file.
* sysdeps/unix/sysv/linux/ptrace.c: New file. Wrapper around
ptrace system call.
* sysdeps/unix/sysv/linux/s_ptrace.S: New file: ptrace system call.
* sysdeps/unix/sysv/linux/i386/gnu/types.h: New file with correct
types for i386/Linux.
* sysdeps/unix/sysv/time.S: Moved from sysv4.
* sysdeps/unix/sysv/irix4/time.S: File removed.
* sysdeps/unix/sysv/linux/signum.h: Moved from
sysdeps/unix/sysv/linux/i386.
(_NSIG): Move inside #ifdef _SIGNAL_H.
Wed Jan 17 11:04:58 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/unix/sysv/time.S: Moved from sysv4.
* sysdeps/unix/sysv/irix4/time.S: File removed.
* sysdeps/unix/sysv/linux/signum.h: Moved from
sysdeps/unix/sysv/linux/i386.
(_NSIG): Move inside #ifdef _SIGNAL_H.
* MakeTAGS (all-sources, all-headers): Always search the
current directory first.
* db/btree/bt_seq.c (__bt_first): Return RET_SPECIAL when key not
found.
* MakeTAGS (all-sources, all-headers): Always search the
current directory first.
* db/btree/bt_seq.c (__bt_first): Return RET_SPECIAL when key not
found.
* csu/Makefile [have-initfini=yes] (CPPFLAGS): Append -DHAVE_INITFINI.
(initfini): Compile initfini.c with -fPIC.
Sun Jan 14 17:51:09 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* stdio-common/vfscanf.c (inchar, conv_error, input_error,
memory_error): Add cast to void to avoid gcc warning.
(vfscanf): Rewrite character class parsing to make it more efficient.
* stdlib/strtol.c: Return correct pointer for strings
like "0xyz" and base 0 or 16.
* string/strxfrm.c: Handle case for LENGTH == 0 correct.
* sunrpc/etc.rpc: Add some more known protocols.
Sun Jan 14 01:01:10 1996 Ulrich Drepper <drepper@ipd.info.uni-karlsruhe.de>
* stdlib/strtol.c: Return correct pointer for strings
like "0xyz" and base 0 or 16.
* string/strxfrm.c: Handle case for LENGTH == 0 correct.
* sunrpc/etc.rpc: Add some more known protocols.
* posix/gnu/types.h: Moved to sysdeps/generic/gnu/types.h.
* posix/glob.c (glob): Add parens in glob call flags arg for
GLOB_BRACE case.
* string/string.h (strdupa): New macro.
* stdio-common/vfscanf.c (%[): Grok ] as first char in set, not
terminator on empty set. From drepper.
* elf/dl-load.c (_dl_map_object_from_fd): After mapping first
segment to find location, mprotect excess region to no access,
don't munmap it.
* sysdeps/mach/hurd/dl-sysdep.c (mmap): If vm_map returns
KERN_NO_SPACE for fixed location, deallocate it and try again.
* Makefile (subdirs): Added db.
* resolv/Makefile (routines): Add res_data.
* resolv/res_data.c, resolv/res_debug.c, resolv/resolv.h:
Updated from BIND 4.9.3 final release.
* elf/dynamic-link.h (elf_get_dynamic_info): Handle
processor-specific tags.
(ELF_DYNAMIC_DO_REL, ELF_DYNAMIC_DO_RELA): Handle absent DT_PLTREL tag.
* elf/elf.h (DT_MIPS_NUM, DT_PROCNUM): New macros.
* elf/link.h (struct link_map): Extend `l_info' by DT_PROCNUM.
* sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Take new
arg LAZY. Only do our work if LAZY and there is a DT_JMPREL record.
* elf/dl-reloc.c (_dl_relocate_object): Call
elf_machine_runtime_setup unconditionally, and pass it LAZY flag.
* elf/dl-load.c: Fixed ELFMAG check to work for either byte order.
Align end of load segment only to page size, not to segment alignment.
* sysdeps/mach/hurd/setitimer.c: Code rearranged a bit to use new
preemption interface.
* sysdeps/mach/hurd/i386/trampoline.c (_hurd_setup_sighandler):
Use _hurdsig_catch_memory_fault.
* hurd/Makefile (headers): Add hurd/sigpreempt.h.
(sig): Add catch-signal.
* hurd/hurdfault.c (_hurdsig_fault_catch_exception_raise):
Rewritten using a preempter in new interface.
* hurd/hurdfault.h (_hurdsig_catch_fault): Likewise.
(_hurdsig_catch_memory_fault): New macro.
* hurd/catch-signal.c: New file.
* hurd/intr-msg.c: When restarting RPC, fetch a new reply port.
* hurd/hurdsig.c: Use new hurdfault.h interface.
(abort_all_rpcs): Mutate return value to EINTR in threads whose
replies we will wait for.
* hurd/hurdkill.c (_hurd_sig_post): When doing pgrp, make sure we
do ourselves last.
Wed Jan 3 19:17:10 1996 Miles Bader <miles@gnu.ai.mit.edu>
* sysdeps/mach/hurd/access.c (__access): Put the uid/gid arguments
to auth_makeauth() in the right order.
Wed Jan 3 17:19:04 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/generic/strsep.c: Rewritten.
* sysdeps/mach/hurd/fork.c: Use a different workaround for the
suspended page fault deadlock kernel bug: thread_abort our signal
thread first thing after proc_dostop.
* sysdeps/mach/hurd/setgid.c: Rewrote gid frobnication to
recognize rootness properly.
* hurd/hurdsig.c: Use new signal preemption interface.
(hurd_preempt_signals, hurd_unpreempt_signals): Decls removed.
* hurd/hurd/sigpreempt.h: New file.
* hurd/preempt-sig.c: Rewritten with new interface.
* sysdeps/mach/hurd/jmp-unwind.c (_longjmp_unwind): Remove local signal
preempters being unwound past.
* db: New directory, 4.4 BSD db package incorporated from BSD db-1.85
release.
* sysdeps/unix/sysv/linux/sys/param.h: Several new macros for BSD
compatibility.
* sysdeps/generic/confname.h: Define all names as self-referential
macros so #ifdef works.
* hurd/preempt-sig.c (hurd_unpreempt_signals): Remove bogus asgnmt
of _hurd_signal_preempters[SIGNO].
* sysdeps/mach/hurd/bind.c: Translate EEXIST from dir_link into
EADDRINUSE. If translated node doesn't grok ifsock protocol,
return EADDRINUSE.
* sysdeps/mach/hurd/connect.c: Make address arg
`const struct sockaddr_un *'.
The redecl is kosher and avoids another variable for AF_LOCAL case.
* sysdeps/mach/hurd/sendto.c: Likewise.
* sysdeps/mach/hurd/bind.c: Likewise.
* socket/sys/socket.h (__SOCKADDR_ARG): Enable transparent_union
code for GCC >= 2.7; use __transparent_union__ for name safety;
add several sockaddr flavors.
(__SOCKADDR_ALLTYPES, __SOCKADDR_ONETYPE): New macros used in
constructing the transparent union declarations.
(__CONST_SOCKADDR_ARG): New type (or macro if not GCC 2.7).
(bind, connect, sendto): Make the sockaddr argument use that.
* stdio-common/vfscanf.c: Correctly handle white space skipping.
* stdio-common/Makefile (tests): Add bug11.
* stdio-common/bug11.c: New file.
Fri Dec 22 00:38:00 1995 H.J. Lu <hjl@nynexst.com>
* stdio-common/vfscanf.c: Correctly handle white space skipping.
* stdio-common/Makefile (tests): Add bug11.
* stdio-common/bug11.c: New file.
* sysdeps/mach/hurd/setuid.c: Rewrote ID frobnication to do the
right thing.
* sysdeps/mach/hurd/setgid.c: Likewise.
* sysdeps/mach/hurd/setreuid.c: Likewise.
* sysdeps/mach/hurd/setregid.c: Likewise.
* sysdeps/mach/hurd/setegid.c: Likewise.
* sysdeps/mach/hurd/seteuid.c: Likewise.
* sysdeps/mach/hurd/fork.c: Peek __mach_task_self_ value before
proc_dostop call to work around kernel paging bug.
Thu Dec 21 12:19:32 1995 Miles Bader <miles@gnu.ai.mit.edu>
* sysdeps/mach/hurd/setuid.c (__setuid): Actually add the new uid
instead of putting it (and other uids) in the gids and leaving the
old uids as is.