* stdlib/strtol.c [!QUAD] (ULONG_MAX, LONG_MAX): Define these
macros if they are not available.
(WEAKNAME): New macro to declare argument as weak.
Define function with __ prefix and add normal name as weak alias.
* sysdeps/posix/euidaccess.c (S_IROTH, S_IWOTH, S_IXOTH): Defines
these macros if not already available based on R_OK, W_OK, and
X_OK.
Tue May 21 18:48:46 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* misc/sys/syslog.h (__need___va_list): Define this instead of
__need_va_list before including <stdarg.h>.
* Makerules (o-iterator): Use $(object-suffixes-left) instead
of $(object-suffixes) to produce repetitions; this is used for other
lists than just that one.
[versioned]: Use $(o-iterator) properly.
* sysdeps/unix/sysv/linux/Implies: Include `gnu'.
* sysdeps/mach/hurd/Implies: Likewise.
Sat May 18 02:57:46 1996 Ulrich Drepper <drepper@cygnus.com>
* login/Makefile: New file. This directory contains functions
for user administration.
* Makefile (subdirs): Add login.
* misc/Makefile (headers): Remove utmp.h. Now in login/utmp.h.
(extra-libs, libutil-routines): Ditto.
* misc/login.c, misc/login_tty.c, misc/logout.c, misc/logwtmp.c,
misc/utmp.h: Moved to misc/.
* login/login.c, login/login_tty.c, login/logout.c,
login/logwtmp.c, login/utmp.h: Moved to here from misc/.
* login/utmp.h: Split file. Definitions of data structures
and constants are now in the system dependent utmpbits.h file.
* login/setutent_r.c, login/setutent.c, login/endutent_r.c,
login/endutent.c, login/getutent_r.c, login/getutent.c,
login/getutid_r.c, login/getutid.c, login/getutline_r.c,
login/getutline.c, login/pututline_r.c, login/pututline.c:
New files. Routines to handle utmp-style files.
* sysdeps/gnu/utmpbits.h: New file. Contains GNU/Linux
specific definitions of utmp data structures and constants.
* sysdeps/unix/sysv/utmpbits.h: Renamed from sysdeps/unix/sysv/utmp.h.
* sysdeps/generic/utmpbits.h: New file. Generic (BSDish) version of
definitions of utmp data structures and constants.
Fri May 17 00:01:31 1996 Ulrich Drepper <drepper@cygnus.com>
* locale/C-monetary.c: Default value for mon_decimal_point should be
'.'.
* stdio-common/printf.h: Remove Linux libc compatibility stuff.
Add `extra' flag. Currently used in __printf_fp.
* stdio-common/printf_fp.c (__guess_grouping): Renamed from
`guess_grouping' and extend visibility to extern. This function
is now used in `strfmon'.
(__printf_fp): Recognize new bit flag in info struct. This
triggers to use the grouping information and decimal point from
the LC_MONETARY category instead of the LC_NUMERIC category.
* stdio-common/vfprintf.c (process_arg): Correct major bug. In
`complicated' loop we must not use the varargs because the args
are already available in the ARGS_VALUE array.
* stdlib/Makefile (headers): Add monetary.h.
(routines): Add strfmon.
* stdlib/monetary.h: New file. Header for strfmon function.
* stdlib/strfmon.c: New file. Implement strfmon function to print
monetary amounts according to current locale's rules.
* sysdeps/unix/sysv/linux/i386/sys/vm86.h: The kernel header is
now (>= Linux-1.3.100) called <asm/vm86.h>.
* stdio-common/vfprintf.c: Correct handling of unsigned short
values.
* extra-lib.mk (alltype-$(lib)): Put libs in $(objpfx) instead of
$(common-objpfx).
* Makerules [install-lib.a]: Find them there.
* locale/programs/ld-ctype.c (struct locale_ctype_t): Use u_int32_t
instead of unsigned int for map_collection_max and map_collection_act.
* stdio-common/vfprintf.c [USE_IN_LIBIO] (flockfile, funlockfile):
Macros removed; they are in <stdio.h>.
* stdio-common/vfscanf.c: Likewise.
`-include' to not complain before they exist.
* mach/Machrules (%.udeps rule): Write deps for %_server.[ch] too.
(%_server.[ch] rule): Don't depend on %.defs; use #include to get
installed .defs file.
* stdio-common/vfprintf.c (flockfile, funlockfile): Define to
nothing for stdio. Fix fUNlockfile -> funlockfile for libio.
* stdio-common/vfscanf.c: Likewise.
Sat May 11 13:43:41 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* hurd/hurdfault.c: Include faultexc_server.h instead of faultexc.h.
* mach/Machrules (%.ir rule): Don't produce deps for imports.
* elf/dl-fini.c (_dl_fini): Clear L->l_init_called after calling fn.
* Makerules (install): Depend on $(slibdir)/libc.so$(libc.so-version).
[!subdir] ($(libdir)/libc.so, $(common-objpfx)/libc-syms.so): Protect
these targets and install dep on $(libdir)/libc.so with this.
* hurd/Makefile: Removed all rules and defns for using code from Hurd
sources and installing headers from there.
* sysdeps/mach/hurd/errnos.awk: Set in_mach_errors to FILENAME when we
set it. In Mach error matching clause, only match if FILENAME is
still the same value.
* sysdeps/mach/hurd/Makefile: Don't include sysdeps/mach/Makefile;
$(mach-srcdir) no longer exists.
(hurd-srcdir): Variable removed.
(includes): Don't append -I$(hurd-srcdir).
(last-includes): Variable removed.
Remove vpath specs using $(hurd-srcdir).
(mach-errno-h): New canned sequence.
($(common-objpfx)errnos.d): New target, generated included makefile
to determine absolute file names of Mach headers to search for error
codes and set variable mach-errnos-deps.
($(common-objpfx)stamp-errnos): Depend on $(mach-errnos-deps) instead
of prior explicit list.
(generated): Add errnos.d, stamp-errnos.
* mach/Machrules (some-if-rtn): New variable and target; compute deps
of some if routine and make all if routines depend on that .d file
instead of static list of .h files.
* mach/Makefile (mach/mach_interface.defs,
mach/memory_object_user.defs): Targets removed.
($(objpfx)mach-syscalls.mk): Tweak this kludge so it doesn't depend
directly on Mach sources.
* sysdeps/mach/Makefile (mach-srcdir): Variable removed.
(includes): Don't append -I$(mach-srcdir).
Remove vpath specs using $(mach-srcdir).
* hurd/Makefile (server-interfaces): Add faultexc.
(sig): Remove it from here.
(fault%.[ch]): Rule removed.
(MIGFLAGS-faultexc): New variable.
* hurd/faultexc.defs: New file.
* mach/Machrules (%.ustamp rule): Pass $(MIGFLAGS-$*) to mig.
(%_server.[ch] rule): Likewise.
* mach/Makefile: Removed all rules and defns for using code from Mach
sources and installing headers from there.
* Makeconfig [$(build-shared)=yes] (link-libc): Append
$(libc.so-version) to libc.so.
* mach/Machrules (%.ustamp rule): Don't depend on %.defs.
(%.udeps): New rule parallel to that one, generating included
makefiles with -M output from `#include <%.defs>'.
* Makerules (sed-remove-objpfx): Remove space before \ at eol.
* 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/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.
* 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.
* libio/Makefile [routines]: Remove iofscanf, add iopopen, pclose.
* libio/iofscanf.c: Remove file.
* libio/iogetdelim.c (_IO_getdelim): Correct stupid bug at string
termination.
* libio/iopopen.c: New file from GNU libio.
* libio/memstream.c: Fixed bug in fclose handling. Instead of
providing a close callback we need a finish callback.
* libio/pclose.c: New file. Derived from popen.c in GNU libio.
* posix/gnu/types.h: Fixed typo.
* stdio-common/errnobug.c: fputs returns EOF in error case. Do
not test for != 0.
* stdio-common/printf-parse.h (parse_one_spec): Do not force
padding with ' ' if precision is given. Fix by HJ Lu.
* stdio-common/printf_fp.c: Fix comment.
* stdio-common/tfformat.c, stdio-common/tiformat.c,
stdio-common/tstdiomisc.c: New files from GNU libio test suite.
* stdio-common/tstgetln.c: Provide ssize_t type when testing
libio.
* stdio-common/vfprintf.c (outchar): Use PUTC instead of putc.
(vfprintf): Cleasr args_type array before using it.
When printing 0 as an integer with precision 0 nothing must be
written for the number.
Based on patch by HJ Lu.
* stdio-common/vfscanf.c: Remove fixed input buffer. Now we
have a dynamically extended buffer.
* stdlib/strtod.c: Merge with version in Linux libc. This fixes
some bugs with handling of very small numbers and has different
solution for formaer patches.
* sysdeps/i386/i586/add_n.S, sysdeps/i386/i586/sub_n.S: Rename
macros r1 and r2 to t1, and t2 resp. This is necessary because
glibc headers also define r1.
Tue Dec 5 02:27:32 1995 Ulrich Drepper <drepper@gnu.ai.mit.edu>
* libio/Makefile [routines]: Remove iofscanf, add iopopen, pclose.
* libio/iofscanf.c: Remove file.
* libio/iogetdelim.c (_IO_getdelim): Correct stupid bug at string
termination.
* libio/iopopen.c: New file from GNU libio.
* libio/memstream.c: Fixed bug in fclose handling. Instead of
providing a close callback we need a finish callback.
* libio/pclose.c: New file. Derived from popen.c in GNU libio.
* posix/gnu/types.h: Fixed typo.
* stdio-common/errnobug.c: fputs returns EOF in error case. Do
not test for != 0.
* stdio-common/printf-parse.h (parse_one_spec): Do not force
padding with ' ' if precision is given. Fix by HJ Lu.
* stdio-common/printf_fp.c: Fix comment.
* stdio-common/tfformat.c, stdio-common/tiformat.c,
stdio-common/tstdiomisc.c: New files from GNU libio test suite.
* stdio-common/tstgetln.c: Provide ssize_t type when testing
libio.
* stdio-common/vfprintf.c (outchar): Use PUTC instead of putc.
(vfprintf): Cleasr args_type array before using it.
When printing 0 as an integer with precision 0 nothing must be
written for the number.
Based on patch by HJ Lu.
* stdio-common/vfscanf.c: Remove fixed input buffer. Now we
have a dynamically extended buffer.
* stdlib/strtod.c: Merge with version in Linux libc. This fixes
some bugs with handling of very small numbers and has different
solution for formaer patches.
* sysdeps/i386/i586/add_n.S, sysdeps/i386/i586/sub_n.S: Rename
macros r1 and r2 to t1, and t2 resp. This is necessary because
glibc headers also define r1.
* configure.in: Grok arg --enable-libio.
($stdio = libio): Define USE_IN_LIBIO.
* config.h.in (USE_IN_LIBIO): Add #undef.
* config.make.in (stdio): New variable, set by configure.
* Makeconfig (stdio): New variable.
* stdio.h [USE_IN_LIBIO]: Include libio/stdio.h instead of
stdio/stdio.h.
* stdio-common/Makefile: New file.
* stdio/Makefile: Half the contents moved to stdio-common/Makefile.
* stdio/_itoa.c: Moved to stdio-common.
* stdio/_itoa.h: Moved to stdio-common.
* stdio/asprintf.c: Moved to stdio-common.
* stdio/bug1.c: Moved to stdio-common.
* stdio/bug1.input: Moved to stdio-common.
* stdio/bug2.c: Moved to stdio-common.
* stdio/bug3.c: Moved to stdio-common.
* stdio/bug4.c: Moved to stdio-common.
* stdio/bug5.c: Moved to stdio-common.
* stdio/bug6.c: Moved to stdio-common.
* stdio/bug6.input: Moved to stdio-common.
* stdio/bug7.c: Moved to stdio-common.
* stdio/dprintf.c: Moved to stdio-common.
* stdio/errnobug.c: Moved to stdio-common.
* stdio/getline.c: Moved to stdio-common.
* stdio/getw.c: Moved to stdio-common.
* stdio/perror.c: Moved to stdio-common.
* stdio/printf-parse.h: Moved to stdio-common.
* stdio/printf-prs.c: Moved to stdio-common.
* stdio/printf.c: Moved to stdio-common.
* stdio/printf.h: Moved to stdio-common.
* stdio/printf_fp.c: Moved to stdio-common.
* stdio/psignal.c: Moved to stdio-common.
* stdio/putw.c: Moved to stdio-common.
* stdio/reg-printf.c: Moved to stdio-common.
* stdio/scanf.c: Moved to stdio-common.
* stdio/snprintf.c: Moved to stdio-common.
* stdio/sprintf.c: Moved to stdio-common.
* stdio/sscanf.c: Moved to stdio-common.
* stdio/tempnam.c: Moved to stdio-common.
* stdio/temptest.c: Moved to stdio-common.
* stdio/test-fseek.c: Moved to stdio-common.
* stdio/test-fwrite.c: Moved to stdio-common.
* stdio/test-popen.c: Moved to stdio-common.
* stdio/test_rdwr.c: Moved to stdio-common.
* stdio/tmpfile.c: Moved to stdio-common.
* stdio/tmpnam.c: Moved to stdio-common.
* stdio/tst-fileno.c: Moved to stdio-common.
* stdio/tst-printf.c: Moved to stdio-common.
* stdio/tstgetln.c: Moved to stdio-common.
* stdio/tstgetln.input: Moved to stdio-common.
* stdio/tstscanf.c: Moved to stdio-common.
* stdio/tstscanf.input: Moved to stdio-common.
* stdio/vfprintf.c: Moved to stdio-common.
* stdio/vfscanf.c: Moved to stdio-common.
* stdio/vprintf.c: Moved to stdio-common.
* stdio/xbug.c: Moved to stdio-common.
* sysdeps/generic/Makefile (siglist.c rules): Do this in subdir
stdio-common instead of stdio.
* sysdeps/unix/Makefile (errlist.c rules): Likewise.
* stdio-common/asprintf.c [USE_IN_LIBIO]: Call libio primitive
function.
* stdio-common/dprintf.c: Likewise.
* stdio-common/printf.c: Likewise.
* stdio-common/scanf.c: Likewise.
* stdio-common/snprintf.c: Likewise.
* stdio-common/sprintf.c: Likewise.
* stdio-common/sscanf.c: Likewise.
* stdio-common/vprintf.c: Likewise.
* Makerules: Include $(+depfiles) directly instead of generating
depend-$(subdir).
(depend-$(subdir)): Target removed.
(common-clean): Don't remove depend-$(subdir).