sysdeps/mach version. Implement counting ("recursive") mutexes
on top of cthreads mutexes.
* sysdeps/mach/hurd/bits/stdio-lock.h: File removed; generic now works.
* sysdeps/generic/bits/stdio-lock.h (_IO_lock_initializer): Define to
_LIBC_LOCK_RECURSIVE_INITIALIZER if defined, else do an #error.
(__libc_cleanup_region_start, __libc_cleanup_region_end,
__libc_clean_end): Define these to call the cleanup function after
normal exit when they're supposed to.
* sysdeps/mach/bits/libc-lock.h (__libc_cleanup_region_start):
Take new first arg DOIT, a boolean saying whether to really install
any cleanup handler.
(__libc_cleanup_region_end): Do nothing if start's DOIT arg was zero.
(__libc_cleanup_end): Likewise.
* stdio-common/vfscanf.c (LOCK_STREAM): Pass new arg.
* stdio-common/vfprintf.c (buffered_vfprintf, vfprintf): Likewise.
* sysdeps/mach/hurd/bits/stdio-lock.h (_IO_cleanup_region_start):
Likewise.
* misc/syslog.c (vsyslog, openlog, closelog): Likewise.
* sysdeps/generic/bits/stdio-lock.h
(_IO_cleanup_region_start, _IO_cleanup_region_start_noarg): Likewise.
* misc/error.c (error): Handle wide oriented stderr stream correctly.
* stdio-common/perror.c (perror): Implement according to standard.
The stream orientation must not be changed if the stream was not
oriented before the call.
* stdio-common/Makefile (tests): Add tst-perror.
* stdio-common/tst-perror.c: New file.
See ChangeLog.12 for earlier changes.
2001-08-14 Ulrich Drepper <drepper@redhat.com>
* stdio-common/perror.c (perror): Use _IO_fwide instead of fwide.
* libio/libio.h (_IO_fwide): Handle zero as second parameter more
efficiently in macro.
2001-08-06 Jakub Jelinek <jakub@redhat.com>
* stdlib/strtod.c (STRTOF): Skip whole infinity, not just inf.
* stdio-common/vfscanf.c (__vfscanf): +- can be followed by i in +-Inf.
* stdlib/tst-strtod.c (tests): Add Inf tests.
* stdio-common/tstscanf.c (main): Add tests for +- before Inf.
* locale/weightwc.h (findidx): Change type of i to int32_t.
* libio/stdio_ext.h: Moved to ...
* stdio-common/stdio_ext.h: ... here.
* libio/Makefile (headers): Move stdio_ext.h from here ...
* stdio-common/Makefile (headers): ... to here.
* include/stdio_ext.h: New file.
* stdio/Makefile (routines): Add the stdio_ext.h functions here.
* stdio/Versions (GLIBC_2.2.4): Export the stdio_ext.h functions.
* stdio/__flbf.c: New file.
* stdio/__fbufsize.c: New file.
* stdio/__fpending.c: New file.
* stdio/__fpurge.c: New file.
* stdio/__freadable.c: New file.
* stdio/__freading.c: New file.
* stdio/__fsetlocking.c: New file.
* stdio/__fwritable.c: New file.
* stdio/__fwriting.c: New file.
2001-07-06 Paul Eggert <eggert@twinsun.com>
* manual/argp.texi: Remove ignored LGPL copyright notice; it's
not appropriate for documentation anyway.
* manual/libc-texinfo.sh: "Library General Public License" ->
"Lesser General Public License".
2001-07-06 Andreas Jaeger <aj@suse.de>
* All files under GPL/LGPL version 2: Place under LGPL version
2.1.
2001-02-27 Philip Blundell <pb@futuretv.com>
* elf/elf.h: Add new ARM definitions from latest (B-01)
specification. Correct naming of EF_ARM_ALIGN8 et al.
2001-03-04 Ulrich Drepper <drepper@redhat.com>
* stdio-common/tst-printf.sh: Remove bashisms.
Patch by Matthew Clarke <Matthew_Clarke@mindlink.bc.ca>.
* shlib-versions: Add entry for libanl.
2000-12-26 Andreas Jaeger <aj@suse.de>
* libio/getc_u.c: Include stdio.h via system path to get internal
prototypes.
* libio/getwc_u.c: Likewise.
* stdlib/strfmon.c: Fix prototype of __printf_fp.
* stdio-common/vfprintf.c (process_arg): Move __printf_fphex and
__printf_fp prototypes to ...
* include/printf.h: ...here.
* include/stdio.h: Add some internal prototypes to shut up GCC.
* include/stdlib.h: Likewise.
* sysdeps/posix/sigpause.c (__sigpause): Use ISO C prototype
declaration.
* include/signal.h: Add prototypes for internal sigpause
interfaces.
2000-12-05 Andreas Jaeger <aj@suse.de>
* nss/test-netdb.c: Mark local functions as static to avoid
warnings.
(main): Use return to silence warning.
* stdlib/test-canon.c (check_path): Mark as static to avoid warning.
* stdio-common/test-popen.c: Mark local functions as static to
avoid warnings.
(main): Use return to silence warning.
* stdlib/testsort.c (compare): Mark as static to avoid warning.
* assert/test-assert.c: Mark local functions as static to avoid
warnings.
* assert/test-assert-perr.c: Likewise.
* math/libm-test.inc (main): Use return to silence warnings.
2000-12-04 H.J. Lu <hjl@gnu.org>
* configure.in: Change --with-oldest-abi=ABI to
--enable-oldest-abi=ABI.
2000-12-02 Bruno Haible <haible@clisp.cons.org>
* stdio-common/perror.c (perror): If stderr is wide-oriented, use
fwprintf instead of fprintf.
2000-12-01 H.J. Lu <hjl@gnu.org>
* nss/getXXbyYY_r.c: Fix verioned symbol handling.
* nss/getXXent_r.c: Likewise.
* sysdeps/unix/sysv/linux/i386/chown.c: Likewise.
2000-11-30 H.J. Lu <hjl@gnu.org>
* scripts/abi-versions.awk (oldest_abi): New variable.
Handle the oldest ABI supported.
* Makerules ($(common-objpfx)abi-versions.h): Set oldest_abi
for scripts/abi-versions.awk.
* configure.in: Add --with-oldest-abi=ABI.
* configure: Rebuild.
* config.make.in (oldest-abi): New.
* config.h.in (GLIBC_OLDEST_ABI): New.
* csu/version.c (banner): Support GLIBC_OLDEST_ABI.
2000-11-29 H.J. Lu <hjl@gnu.org>
* stdio-common/vfscanf.c (ORIENT): Swap the COMPILE_WSCANF case.
2000-11-30 Jakub Jelinek <jakub@redhat.com>
* locale/setlocale.c (setname): Free for all categories, not just
LC_ALL.
(setlocale): Store a copy of string passed by user, not the string
itself.
* sysdeps/unix/sysv/linux/hppa/brk.c (__brk): Remove unused variable.
2000-11-20 Jakub Jelinek <jakub@redhat.com>
* iconvdata/bug-iconv2.c (main): Use %zd in format string.
* io/test-lfs.c (do_test): Cast statbuf.st_size to long long.
* malloc/tst-valloc.c (main): Cast valloc return value to long.
* malloc/tst-obstack.c (verbose_malloc): Use %zd in format string.
* math/test-fpucw.c (main): Use %lx in format string, cast
control words to long.
* stdio-common/tst-fmemopen.c (main): Use %td in format strings.
* stdlib/tst-strtol.c (tests): Avoid (bogus?) decimal constant is so
large that it is unsigned warning.
* sysdeps/unix/sysv/linux/sparc/bits/types.h (__ssize_t): Changing
it to long on sparc64.
2000-11-20 Andreas Jaeger <aj@suse.de>
* nscd/nscd.h (termination_handler): Add noreturn attribute.
(receiv_print_stats): Likewise.
* elf/ldconfig.c (path_hwcap): Cast -1 for proper comparison.
* stdio-common/Makefile (tests): Add tst-fmemopen.
* stdio-common/tst-fmemopen.c: New file.
Test case by Ben Collins <bcollins@debian.org>.
* libio/iofopncook.c (_IO_cookie_seek): Correct test for error.
* libio/fmemopen.c (fmemopen_read): Return 0 at end of buffer.
(fmemopen_write): Set errno at end of buffer.
2000-10-04 Jakub Jelinek <jakub@redhat.com>
* stdio-common/vfscanf.c (_IO_vfscanf): For [ conversion do
input_error() if EOF is seen before processing.
* stdio-common/tstscanf.c (main): Add testcase.
2000-09-26 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/gethostid.c (sethostid): Use O_TRUNC to
remove possible garbage at the end of the file.
* stdio-common/tmpnam_r.c: Warn about insecure tmpnam_r.
* stdio-common/tmpnam.c: Warn about insecure tmpnam.
* stdio-common/tempnam.c: Warn about insecure tempnam.
* misc/mktemp.c: Warn about insecure mktemp.
2000-09-24 Ulrich Drepper <drepper@redhat.com>
* libio/genops.c (_IO_doallocbuf): Don't use single byte buffer if
stream is in wide mode.
* stdio-common/vfprintf.c (buffered_vfprintf): Orient stream.
2000-09-21 Bruno Haible <haible@clisp.cons.org>
* iconvdata/iso-2022-cn-ext.c (EMIT_SHIFT_TO_INIT): Shift __count
by 3, not 2.
(INIT_PARAMS, UPDATE_PARAMS): Likewise.
handling.
* stdio/tst-printf.sh: Adjust expected results.
Reported by Joseph S. Myers <jsm28@cam.ac.uk>.
2000-09-24 Ulrich Drepper <drepper@redhat.com>
* stdio-common/vfprintf.c (process_arg): Handle %hhn.
Add missing case in va_arg handling for numbers.
* stdio-common/tst-printf.c (main): Add tests for %hhu and %hhn
handling. Reported by Joseph S. Myers <jsm28@cam.ac.uk>.
2000-09-05 Ulrich Drepper <drepper@redhat.com>
* stdio-common/vfprintf.c (process_string_arg): Handle precision
in wide char case correctly. Don't allocate too long temporary
strings with alloca.
* stdio-common/Makefile (tests): Add tst-swprintf.
(tst-swprintf-ENV): New variable.
* stdio-common/tst-swprintf.c: New file.
* soft-fp/sysdeps/sparc/sparc64/qp_neg.S: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_neg.S: ... to here.
2000-08-29 Bruno Haible <haible@clisp.cons.org>
* stdio-common/vfscanf.c (_IO_vfscanf): Back out last ungetc change.
When comparing a char with an int, always cast the char to
'unsigned char'. New macro ungetc_not_eof, to avoid warnings when
compiling with -funsigned-char. Use UCHAR_MAX+1 instead of UCHAR_MAX.
* stdio-common/vfprintf.c: Handle %F format.
* stdio-common/printf-parse.h (parse_one_spec): Likewise.
Reported by Joseph S. Myers <jsm28@cam.ac.uk>.
* stdio-common/tstdiomisc.c: Add test for %F printf format.
* po/zh.po: New file.
2000-08-17 Ulrich Drepper <drepper@redhat.com>
* stdio-common/printf_fp.c: Fix chars_needed computation.
Patch by Greg McGary <greg@mcgary.org>.
2000-08-17 Jakub Jelinek <jakub@redhat.com>
* elf/dl-load.c (_dl_map_object): Don't crash if both loader and
_dl_loaded are NULL.
2000-08-17 Jakub Jelinek <jakub@redhat.com>
* manual/arith.texi (feholdexcept): Returns 0 on success.
2000-08-17 Andreas Jaeger <aj@suse.de>
* sysdeps/gnu/net/if.h (struct ifreq): Add ifru_newname.
(ifr_newname): New.
Reported by Andi Kleen <ak@suse.de>.
2000-08-17 Jakub Jelinek <jakub@redhat.com>
* sysdeps/alpha/fpu/fedisblxcpt.c: New file.
* sysdeps/alpha/fpu/feenablxcpt.c: New file.
* sysdeps/alpha/fpu/fegetexcept.c: New file.
2000-08-16 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/xstatconv.c (xstat32_conv): Test sizes
of buf->st_ino and kbuf->st_ino, not __st_ino.
If _HAVE_STAT64___ST_INO is not defined, don't use __st_ino at all.
* sysdeps/unix/sysv/linux/getdents64.c: Change path in #include
directive so that only linux/getdents.c is used, not some
architecture specific one.
2000-08-16 Jakub Jelinek <jakub@redhat.com>
* sysdeps/i386/fpu/fegetexcept.c (fegetexcept): Return currently
enabled, not disabled exceptions.
* sysdeps/i386/fpu/fedisblxcpt.c (fedisableexcept): Likewise.
* sysdeps/i386/fpu/feenablxcpt.c (feenableexcept): Likewise.
($(addprefix $(objpfx),$(tests)),
$(addprefix $(objpfx),$(librt-tests))):
* include/link.h: Undo last patches. Hurd now has stat64.
2000-07-28 Ulrich Drepper <drepper@redhat.com>
* stdio-common/_i18n_itoa.c: Removed.
* stdio-common/_i18n_itoa.h: Removed.
* stdio-common/_i18n_itowa.c: Removed.
* stdio-common/_i18n_itowa.h: Removed.
* stdio-common/_i18n_number.h: New file.
* stdio-common/Depend: New file.
* stdio-common/printf-parse.h: Handle I modifier correctly. Optimize.
* stdio-common/vfprintf.c: Rewrite buffer handling for integer
printing. Change printing of numbers with locale specific digits to
use new code in _i18n_number.h.
* stdio-common/bug13.c: Improve messages.
* locale/programs/ld-ctype.c (ctype_read): Improve error message.
(set_class_defaults): Always search also for Uxxxx names.
Detect insufficient number of outdigits.
* locale/Makefile (C-translit.h): Use mv not $(move-if-changed).
2000-07-27 Jakub Jelinek <jakub@redhat.com>
* locale/indigits.h (indigit_value): Correct.
* locale/indigitswc.h (indigitwc_value): Correct.
* stdio-common/vfscanf.c (__vfscanf): Fix I18N number
conversion, add GROUP checking for it, fix GROUP number
conversion with strlen(thousands) > 1.
Honour width correctly in the presence of floating
decimal points and thousands separators.
* stdio-common/tst-sscanf.c: New test.
* stdio-common/Makefile: Add it to tests.
* sysdeps/generic/strtol.c (strtol): Fix conversion if there are
thousands separators and group argument is non-zero.
Reported by Andi Kleen <ak@suse.de>.
according to changes in test program, run also with static only
builds.
($(objpfx)tst-printf.out): Likewise.
* stdio-common/tst-unbputc.sh: Likewise.
* stdio-common/tst-printf.sh: Likewise.
* stdio-common/vfscanf.c: Handle input -- with format %f correctly
(it's no input error).
* stdio-common/tstscanf.c: Add test case for format %f with input --.
* stdio-common/scanf12.c: Correct expected result for first scanf.
2000-07-22 Ulrich Drepper <drepper@redhat.com>
* stdio-common/vfprintf.c (process_string_arg): Correct handling
of multibyte character strings in %s format with precision.
2000-07-20 Ulrich Drepper <drepper@redhat.com>
* libio/Makefile (tests): Add tst_wprintf2.
(tst_wprintf2-ARGS): Define.
* libio/tst_wprintf2.c: New file.
Based on a test case by Yoshito Kawada <KAWADA@jp.ibm.com>.
* libio/wfiledoalloc.c: Only allocate external buffer if this
hasn't happened yet.
* libio/wfileops.c (_IO_wdo_write): Overflow only if there is really
something in the buffer. gconv call can write up to end of the
buffer, not only _IO_write_end.
(_IO_wfile_overflow): Allocate also external buffer.
* stdio-common/vfprintf.c (process_string_arg): Handle multibyte
strings with precision in vfwprintf correctly.
* stdio-common/vfprintf.c: Fix completely broken handling of
unbuffered wide character streams.
Reported by Yoshito Kawada <KAWADA@jp.ibm.com>.
* malloc/Makefile: Run tst-mtrace only with shared libs.
* stdio-common/Makefile: Run unbputc and tst-printf tests only
with shared libs.
2000-07-10 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
* sysdeps/mips/dl-machine.h (elf_machine_runtime_link_map): Verify
that gpreg really points to the GOT section of the calling object.
Scan all PT_LOAD segments of objects for stub_pc, instead of only
checking a start address of first one.
Fix typos.
* sysdeps/mips/mips64/dl-machine.h (elf_machine_runtime_link_map):
Likewise.
* sysdeps/mips/dl-machine.h (__dl_runtime_resolve): Fix a typo.
2000-07-10 Andreas Jaeger <aj@suse.de>
2000-07-07 Ulrich Drepper <drepper@redhat.com>
* stdio-common/Makefile (tests): Remove tst-printf here...
(tests-srcs): ...and add it here.
(distribute): Add tst-unbputc.sh and tst-printf.sh.
Add rules to run tst-printf.sh.
* stdio-common/tst-printf.c: Move code around so that there is really
no further output where it's stated.
* stdio-common/tst-printf.sh: New file.
* stdio-common/vfprintf.c (process_string_arg): Check result of
wcrtomb call and bail out if it failed.
* configure.in: Fix CFLAGS-memprofstat.c definition after
2000-07-03 Ulrich Drepper <drepper@redhat.com>
* libio/genops.c (__overflow): Use _IO_fwide to orient the stream.
(__uflow): Likewise.
(__underflow): Likewise.
* libio/wgenops.c (__wunderflow): Likewise.
* stdio-common/tst-unbputc.c: New file.
* stdio-common/tst-unbputc.sh: New file.
* stdio-common/Makefile: Add rules to build and run tst-unbputc.
* po/en_GB.po: New file.
Contributed by Robert Brady <rwb197@ecs.soton.ac.uk>.
2000-06-29 Ulrich Drepper <drepper@redhat.com>
* stdio-common/printf_fp.c (__printf_fp): Don't clobber pointer which
we later need to calling free().
Patch by Matt Wilson <msw@redhat.com>.
2000-06-27 David Mosberger-Tang <davidm@hpl.hp.com>
* sysdeps/unix/sysv/linux/ia64/bits/ipc.h: New file.
* sysdeps/unix/sysv/linux/ia64/bits/shm.h: New file.
2000-06-28 Jes Sorensen <jes@linuxcare.com>
* sysdeps/ieee754/dbl-64/s_exp2.c: Add include stdlib.h to get
prototype for abs().
* sysdeps/ieee754/flt-32/s_exp2f.c: ditto.
2000-06-28 Ulrich Drepper <drepper@redhat.com>
* stdio-common/vfscanf.c: Finally handle multibyte decimal point and
thousands separator correctly.
* stdio-common/vfscanf.c: Use COMPILE_WSCANF not COMPILE_WPRINTF.
* stdio-common/vfwscanf.c: Likewise.
sequences with first byte 0x8e correctly.
* locale/programs/ld-ctype.c (ctype_finish): Take all characters from
the input charset into account when generating the hash table.
(allocate_arrays): Correct setting default width. Not all empty slots
in the table are filled, only those not covert explicitly by the
locale description and in the charset.
* stdio-common/vfscanf.c: Make sure to always return WEOF and EOF for
wide character version.
For %C handling, test correct pointer variable for NULL.
* wcsmbs/wctob.c: Handle WEOF special.
* wcsmbs/wcwidth.h: 0xff in width array means invalid character.
* wctype/wctype.h: Protect gcc-isms with __extension__. Avoid
always-true test to avoid warning.
2000-05-22 Jakub Jelinek <jakub@redhat.com>
* stdio-common/vfscanf.c (__vfscanf): Remove bogus check if '-' is
not the second character in the range.
* stdio-common/tstscanf.c (main): Add testcase for the above.
Reported by jik@kamens.brookline.ma.us.
since we define the function with the name `tmpfile'.
* mach/Versions: Define SHARED instead of PIC to affect shlib-compat.h.
* hurd/Versions: Likewise.
* elf/dl-runtime.c (fixup): Fix typo in comment.
* resolv/netdb.h (getnameinfo): All length parameters are of type
* elf/dl-init.c: Fix typo in comment.
anymore, update comment.
2000-03-28 Ulrich Drepper <drepper@redhat.com>
* iconvdata/TESTS: Use UCS-2BE instead of UCS2.
* iconv/loop.c: Define get16, get32, put16, and put32 macros to
allow as well reading from/writing to unaligned addresses on machines
which don't support this in hardware. Use FCTNAME macro to define
function name. Include the file a second time for platforms which
need special unaligned handling.
* iconv/skeleton.c: Define get16u, get32u, put16u, and put32u macros
to access potentially unaligned addresses. These macros are intended
to be used only outside the loops.
(unaligned): New definition. In case the machine can handle unaligned
access define as zero. Otherwise as a variable which is initialized
as nonzero in case the buffer passed in at runtime is unaligned with
respect to the character set encoding involved.
Call aligned or unaligned looop functions according to unaligned
variable.
* iconvdata/8bit-gap.c: Use get16, get32, put16, and put32 instead
of direct casting pointer to potentially handle unaligned memory
accesses.
* iconvdata/8bit-generic.c: Likewise.
* iconvdata/ansi_x3.110.c: Likewise.
* iconvdata/big5.c: Likewise.
* iconvdata/euc-cn.c: Likewise.
* iconvdata/euc-jp.c: Likewise.
* iconvdata/euc-kr.c: Likewise.
* iconvdata/euc-tw.c: Likewise.
* iconvdata/gbk.c: Likewise.
* iconvdata/iso-2022-cn.c: Likewise.
* iconvdata/iso-2022-jp.c: Likewise.
* iconvdata/iso-2022-kr.c: Likewise.
* iconvdata/iso646.c: Likewise.
* iconvdata/iso_6937-2.c: Likewise.
* iconvdata/iso_6937.c: Likewise.
* iconvdata/johab.c: Likewise.
* iconvdata/sjis.c: Likewise.
* iconvdata/t.61.c: Likewise.
* iconvdata/uhc.c: Likewise.
* iconvdata/unicode.c: Likewise.
* iconvdata/utf-16.c: Likewise.
* locale/programs/simple-hash.c: Little optimizations. Remove K&R
prototypes.
* malloc/Versions [libc] (GLIBC_2.2): Add mcheck_check_all.
* malloc/mcheck.c (mcheck_check_all): Renamed from check_all and made
public.
* malloc/mcheck.h (mcheck_check_all): Declare.
* stdio-common/Makefile (tests): Add tst-obprintf.