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.
* iconvdata/big5hkscs.c: Rewritten. Regenerate data from the
official file.
* iconvdata/TESTS: Add BIG5HKSCS entry.
* iconvdata/testdata/BIG5HKSCS: New file.
* iconvdata/testdata/BIG5HKSCS..UTF8: New file.
* iconvdata/big5.c (BODY for FROM_LOOP): Remove condition which is
always true.
2000-08-29 Akira Higuchi <a@kondara.org>
* iconv/gconv_db.c (increment_counter): Reset __init_fct, __fct,
and __end_fct fields of struct __gconv_step.
* iconv/Makefile (tests): Add iconv-bug2.
* iconv/iconv-bug2.c: New file.
* iconvdata/euc-kr.c (BODY for FROM_LOOP): Pass 'inend - inptr'
instead of 'inptr - inend' to ksc5601_to_ucs4.
* iconvdata/sjis.c (BODY for FROM_LOOP): Allow 0x7f character.
* iconvdata/iso-2022-cn.c (BODY for FROM_LOOP): If an incomplete
character or shift sequence is found at the end of the input
string, return__GCONV_INCOMPLETE_INPUT instead of
__GCONV_EMPTY_INPUT.
* iconvdata/iso-2022-jp.c (BODY for FROM_LOOP): Likewise.
* iconvdata/iso-2022-kr.c (BODY for FROM_LOOP): Likewise.
* iconvdata/iso-2022-jp.c (BODY for FROM_LOOP): Return
__GCONV_ILLEGAL_INPUT for 8bit characters.
2000-08-29 Ulrich Drepper <drepper@redhat.com>
* inet/rcmd.c (__checkhost_sa): If getnameinfo succeeds but the
names don't match don't return.
Patch by Olaf Kirch <okir@flash.lst.de>.
2000-08-28 Ulrich Drepper <drepper@redhat.com>
* locale/localeinfo.h (LIMAGIC): Change base number to 0x20000828
to avoid crashing statically linked applications.
2000-08-27 Bruno Haible <haible@clisp.cons.org>
* string/strxfrm.c (strxfrm, wcsxfrm): Include <sys/param.h>.
If nrules == 0 and srclen < n, copy only srclen + 1 characters.
* sysdeps/generic/getdomain.c (getdomainname): Include <sys/param.h>.
If the result is fits in the buffer, copy only as many bytes as needed.
* sysdeps/generic/_strerror.c (__strerror_r): Don't zero-fill the
buffer after copying numbuf into it.
* sysdeps/mach/_strerror.c (__strerror_r): Likewise.
2000-08-27 Bruno Haible <haible@clisp.cons.org>
* posix/confstr.c (confstr): When string_len > len, NUL-terminate
the result. When string_len < len, don't clear the rest of the buffer.
2000-08-27 Bruno Haible <haible@clisp.cons.org>
Support for new LC_COLLATE format.
* locale/coll-lookup.h: New file.
* locale/weightwc.h (findidx): When size == 0, call
collidx_table_lookup.
* wcsmbs/wcscoll.c: Include coll-lookup.h.
* wcsmbs/wcsxfrm.c: Likewise.
* posix/fnmatch.c: Likewise.
* posix/fnmatch_loop.c (internal_fnwmatch): When size == 0, call
collseq_table_lookup.
* locale/programs/3level.h: New file.
* locale/programs/ld-ctype.c: (wcwidth_table, wctrans_table): Define
by including "3level.h".
* locale/programs/ld-collate.c (wchead_table, collidx_table,
collseq_table): New types, defined by including "3level.h".
(locale_collate_t): New wcheads_3level, wcseqorder_3level fields.
(encoding_mask, encoding_byte): Remove.
(utf8_encode): Use simple shifts instead.
(collate_finish): When !oldstyle_tables, set plane_size and plane_cnt
to 0, and initialize and fill wcheads_3level and wcseqorder_3level.
(collate_output): New local variable tablewc_3level. When
!oldstyle_tables, set table_size to 0 and names to NULL and fill
tablewc_3level instead of tablewc. Change format of TABLEWC and
COLLSEQWC entries written to the file.
* locale/C-collate.c (collseqwc): Change format.
(_nl_C_LC_COLLATE): Set HASH_SIZE and HASH_LAYERS to 0, change format
of COLLSEQWC.
* locale/Makefile (distribute): Add coll-lookup.h, programs/3level.h.
2000-08-27 Bruno Haible <haible@clisp.cons.org>
* locale/programs/ld-ctype.c (MAX_CHARNAMES_IDX): New macro.
(locale_ctype_t): New charnames_idx field.
(ctype_startup): Initialize charnames_idx field.
(find_idx): Speed up dramatically by using charnames_idx inverse table.
2000-08-27 Bruno Haible <haible@clisp.cons.org>
* locale/C-ctype.c: Switch to new locale format.
(_nl_C_LC_CTYPE_names): Remove array.
(STRUCT_CTYPE_CLASS): New macro.
(_nl_C_LC_CTYPE_class_{upper,lower,alpha,digit,xdigit,space,print,
graph,blank,cntrl,punct,alnum}, _nl_C_LC_CTYPE_map_{toupper,tolower}):
New three-level tables.
(_nl_C_LC_CTYPE_width): Change from array to three-level table.
(_nl_C_LC_CTYPE): Fix nstrings value. Set HASH_SIZE and HASH_LAYERS
to 0. Change WIDTH format. Set CLASS_OFFSET and MAP_OFFSET. Add
12 class tables and 2 map tables at the end.
* ctype/ctype-info.c (_nl_C_LC_CTYPE_names): Remove declaration.
(_nl_C_LC_CTYPE_class_{upper,lower,alpha,digit,xdigit,space,print,
graph,blank,cntrl,punct,alnum}, _nl_C_LC_CTYPE_map_{toupper,tolower}):
New declarations.
(b): Remove trailing semicolon.
(__ctype_names, __ctype_width): Don't initialize.
(__ctype32_wctype, __ctype32_wctrans, __ctype32_width): Initialize.
2000-08-27 Bruno Haible <haible@clisp.cons.org>
* elf/dl-load.c (open_path): Add a argument telling whether *dirsp
is guaranteed to be allocated with the same malloc() and may be
passed to free().
(_dl_map_object): Update open_path calls. If rtld_search_dirs has
been set to empty by an earlier open_path call, don't pass it again.
2000-08-28 Ulrich Drepper <drepper@redhat.com>
* stdio-common/vfscanf.c (ungetc): Cast c to signed char first to
really match EOF.
Patch by Franz Sirl <Franz.Sirl-kernel@lauterbach.com>.
2000-08-28 Mark Kettenis <kettenis@gnu.org>
* sysdeps/mach/hurd/getpeername.c (__getpeername): Renamed from
getpeername. Use ISO C style function definition.
(getpeername): Provide weak alias.
* sysdeps/mach/hurd/setrlimit.c (__setrlimit): Renamed from
setrlimit. Use ISO C style function definition.
(setrlimit): Provide weak alias.
2000-08-28 Martin Schwidefsky <schwidefsky@de.ibm.com>
* shlib-versions: Add a rule for S/390 to the libm version list.
* sysdeps/s390/Versions: New file.
* sysdeps/unix/sysv/linux/s390/Dist: Add oldgetrlimit64.c.
* sysdeps/unix/sysv/linux/s390/Makefile: Add oldgetrlimit64.
* sysdeps/unix/sysv/linux/s390/Versions: New file.
* sysdeps/unix/sysv/linux/s390/alphasort64.c: New file.
* sysdeps/unix/sysv/linux/s390/chown.c: New file.
* sysdeps/unix/sysv/linux/s390/fxstat.c: New file.
* sysdeps/unix/sysv/linux/s390/getdents64.c: New file.
* sysdeps/unix/sysv/linux/s390/getrlimit.c: New file.
* sysdeps/unix/sysv/linux/s390/getrlimit64.c: New file.
* sysdeps/unix/sysv/linux/s390/lxstat.c: New file.
* sysdeps/unix/sysv/linux/s390/oldgetrlimit64.c: New file.
* sysdeps/unix/sysv/linux/s390/readdir64.c: New file.
* sysdeps/unix/sysv/linux/s390/readdir64_r.c: New file.
* sysdeps/unix/sysv/linux/s390/scandir64.c: New file.
* sysdeps/unix/sysv/linux/s390/setrlimit.c: New file.
* sysdeps/unix/sysv/linux/s390/syscalls.list: New file.
* sysdeps/unix/sysv/linux/s390/versionsort64.c: New file.
* sysdeps/unix/sysv/linux/s390/xstat.c: New file.
* elf/Versions [ld] (GLIBC_2.2): Export _dl_debug_files.
* elf/dl-close.c (_dl_close): Print debug message if object is not
unloaded.
* elf/dl-open.c (dl_open_worked): Print message about opencount before
returning to caller.
* sysdeps/powerpc/fpu/feenablxcpt.c: New file.
* sysdeps/powerpc/fpu/fegetexcept.c: New file.
* sysdeps/unix/sysv/linux/powerpc/fe_nomask.c: New file.
2000-08-27 Geoff Keating <geoffk@cygnus.com>
* sysdeps/powerpc/fpu/fedisblxcpt.c: New file.
* sysdeps/powerpc/fpu/feenablxcpt.c: New file.
* sysdeps/powerpc/fpu/fegetexcept.c: New file.
* sysdeps/unix/sysv/linux/powerpc/fe_nomask.c: New file.
* locale/programs/ld-collate.c (insert_weights): Also update
backpointer of next element.
(collate_read): Allow definition of new collation symbols in stage 2.
Symbol after reorder-after can be UCS4 value.
Allow reordering of collation symbols and elements.
Do not only move reorder entry in new position. Instead call
insert_weight to do this and read the weights.
2000-08-26 Ulrich Drepper <drepper@redhat.com>
* elf/Makefile (distribute): Add unloadmod.c, reldepmod1.c,
reldepmod2.c, reldepmod3.c, and reldepmod4.c.
(tests): Add unload, reldep, reldep2, and reldep3.
(modules-names): Add unloadmod, reldepmod1, reldepmod2, reldepmod3,
and reldepmod4.
Add rules to build and run unload, reldep, reldep2, and reldep3.
* elf/dl-lookup.c (_dl_lookup_symbol): Add new parameter explicit.
Don't create relocation dependency if it is nonzero.
(_dl_lookup_symbol_skip): Remove relocation dependency stuff. This
can never happen here.
(_dl_lookup_versioned_symbol): Add new parameter explicit.
Don't create relocation dependency if it is nonzero.
(_dl_lookup_versioned_symbol_skip): Remove relocation dependency
stuff. This can never happen here.
* sysdeps/generic/ldsodefs.h: Change prototypes.
* elf/dl-reloc.c (RESOLVE_MAP): Pass 0 in explicit parameter to
_dl_lookup_up and _dl_lookup_versioned_symbol.
(RESOLV): Likewise.
* elf/dl-runtime.c (fixup): Likewise.
(profile_fixup): Likewise.
* elf/dl-libc.c (do_dlsym): Pass 1 in explicit parameter to
_dl_lookup_symbol.
* elf/dl-symbol.c (_dl_symbol_value): Likewise.
* elf/rtld.c (dl_main): Likewise.
* elf/dl-sym.c (_dl_sym): Pass 1 in explicit parameter to
_dl_lookup_symbol if handle is not RTLD_DEFAULT. Always compute
and pass down the caller map.
(_dl_vsym): Likewise.
* elf/reldep.c: New file.
* elf/reldep2.c: New file.
* elf/reldep3.c: New file.
* elf/reldepmod1.c: New file.
* elf/reldepmod2.c: New file.
* elf/reldepmod3.c: New file.
* elf/reldepmod4.c: New file.
* elf/unload.c: New file.
* elf/unloadmod.c: New file.
* elf/do-lookup.h: Remove unused undef_name parameter.
* elf/dl-lookup.c: Adjust callers.
2000-08-25 Ulrich Drepper <drepper@redhat.com>
* iconv/gconv_trans.c (__gconv_transliterate): Pass NULL instead of
irreversible in recursive call of conversion function to signal that
no error handling is wanted.
* iconv/loop.c (ignore_errors_p): irreversible must be != NULL, too.
(STANDARD_ERR_HANDLER): Don't do anything if irreversible == NULL.
* iconv/skeleton.c (lirreversiblep): New variable. Set to NULL is
recursive error handling call, otherwise to &lirreversible. Use it
for calls to conversion functions.
* iconv/gconv_simple.c (ucs4_internal_loop): Don't handle errors when
transliterating.
(ucs4_internal_loop_unaligned): Likewise.
(ucs4le_internal_loop): Likewise.
(ucs4le_internal_loop_unaligned): Likewise.
2000-08-25 Greg McGary <greg@mcgary.org>
* sysdeps/i386/memchr.S: Check high bound against chars
actually scanned.
* sysdeps/i386/memcmp.S: Likewise.
* sysdeps/i386/stpncpy.S: Adjust high-bound check to
account for pointers that lie one beyond end-of-buffer.
2000-08-25 Ulrich Drepper <drepper@redhat.com>
* elf/Makefile (LDFLAGS-nodelete): Add -rdynamic.
* elf/nodelete.c (fini_ran): New global variable.
(do_test): Before every dlclose call clear fini_ran and test
afterwards that it is not set by the destructors.
* elf/nodelmod1.c: Add destructor which sets fini_ran.
* elf/nodelmod2.c: Likewise.
* elf/nodelmod4.c: Likewise.
2000-08-21 Jes Sorensen <jes@linuxcare.com>
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Add getrlimit and
getrlimit to the list.
2000-08-18 Jes Sorensen <jes@linuxcare.com>
* sysdeps/ia64/Implies: gcc now has support for the Intel 80 bit
long double format so use ldbl-96 instead of ldbl-128.
* sysdeps/unix/sysv/linux/i386/mmap.S (__mmap): Return -EINVAL
even if bits 10 a 11 are non-zero.
* sysdeps/unix/sysv/linux/i386/mmap64.S (__mmap64): Likewise.
* Makeconfig: Ensures the soversions.mk part of Makefile gets
included before building gnu/lib-names.h
Patch by Maciej W. Rozycki <macro@ds2.pg.gda.pl>.
2000-08-25 Ulrich Drepper <drepper@redhat.com>
* sysdeps/posix/system.c (__libc_system): We cannot use vfork here
since we call sigaction in the child.
2000-08-24 Ulrich Drepper <drepper@redhat.com>
* resolv/res_send.c (res_ourserver_p): Cleanup the type mess to avoid
problems with now restrict parameter types.
(convaddr4to6): Likewise.
2000-08-24 Denis Joseph Barrow <djbarrow@de.ibm.com>
2000-08-24 Denis Joseph Barrow <djbarrow@de.ibm.com>
* sysdeps/s390/fpu/fedisblxcpt.c: New file.
* sysdeps/s390/fpu/feenablxcpt.c: New file.
* sysdeps/s390/fpu/fegetexcept.c: New file.
* sysdeps/s390/fpu/fenv_libc.h: Some reordering, new definition
FPC_VALID_MASK.
* sysdeps/unix/sysv/linux/i386/sys/io.h (_EXTERN_INLINE): Remove.
Use static __inline instead of _EXTERN_INLINE.
* misc/sys/select.h: Move prototypes of __select from here ...
* include/sys/select.h: ... to here.
* socket/sys/socket.h: Move prototypes of __send and __connect
from here....
* include/sys/socket.h: ... to here.
2000-08-23 Ulrich Drepper <drepper@redhat.com>
* stdio-common/vfscanf.c: Add %F format support.
* locale/programs/ld-ctype.c (ctype_output): Make sure
_NL_CTYPE_TRANSLIT_DEFAULT_MISSING_LEN and
_NL_CTYPE_TRANSLIT_IGNORE_LEN are aligned.
(ctype_read): Enable returning of wide character strings for reading
transliteration information.
2000-08-23 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: Use
__setrlimit as strong name. Takes only 2 arguments.
* sysdeps/unix/sysv/linux/sh/syscalls.list: __syscall_setrlimit
takes only 2 arguments.
2000-08-23 Martin Schwidefsky <schwidefsky@de.ibm.com>
* sysdeps/s390/bits/setjmp.h: Add __ to JB_GPR* defines.
only for !SHARED case. Get the code from dl-osinfo.h.
2000-08-21 Martin Schwidefsky <schwidefsky@de.ibm.com>
2000-08-21 Martin Schwidefsky <schwidefsky@de.ibm.com>
2000-08-23 Ulrich Drepper <drepper@redhat.com>
* locale/programs/ld-ctype.c (ctype_read): Allow more than one
default_missing character being specified, pick the first
representable.
2000-08-23 Andreas Jaeger <aj@suse.de>
* include/wchar.h: Add some pure attributes.
* time/time.h: Add const attribute for dysize.
* include/stdlib.h: Add malloc attribute to __posix memalign.
* stdlib/stdlib.h: Add some pure and malloc attributes.
* wcsmbs/wchar.h: Likewise.
* dirent/dirent.h: Add some pure attributes.
* include/dirent.h: Likewise.
2000-08-23 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/dl-osinfo.h: Include "kernel-features.h",
otherwise __LINUX_KERNEL_VERSION might not be defined.
(MIN): Define if not already defined.
* 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.
* iconvdata/sjis.c: In conversion from UCS4, correct test for
enough room in target buffer.
Patch by KUSANO Takayuki <AE5T-KSN@asahi-net.or.jp> [PR libc/1865].
* iconvdata/bug-iconv1.c: New file.
* iconvdata/Makefile (tests): Add bug-iconv1.
2000-08-22 Mark Kettenis <kettenis@gnu.org>
* hurd/hurdsig.c: Rearrange headers a bit.
(_hurdsig_init): Block until _hurd_msgport_thread is initialized
when cthreads is being used.
* elf/Makefile (distribute): Add dl-osinfo.h.
* sysdeps/generic/dl-osinfo.h: New file.
* sysdeps/unix/sysv/linux/dl-osinfo.h: New file.
* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Use DL_SYSDEP_OSCHECK
if defined.
* sysdeps/unix/sysv/linux/init-first.c: Perform kernel version test
only for !SHARED case. Get the code from dl-osinfo.h.
* stdlib/random_r.c (__setstate_r): Also compute end_ptr
correctly.
(__initstate_r): Set errno on error.
(__random_r): Likewise.
(__setstate_r): Correct offset when computing
new rptr and fptr. Test for arg_state being NULL.
Reported by Michael Fischer <fischer@cs.yale.edu>.
* stdlib/random_r.c (__setstate_r): Correct offset when computing
new rptr and fptr. Reported by Michael Fischer <fischer@cs.yale.edu>.
* posix/regex.h: Add macro definitions to allow compiling outside
glibc.
* sysdeps/i370/Implies: Removed.
* sysdeps/mvs/Implies: Removed.
* catgets/catgets.c (catopen): Filter out env_var values with / if
necessary.
* locale/findlocale.c (_nl_find_locale): Move test for unusable
locale name after all getenvs.
2000-08-21 Martin Schwidefsky <schwidefsky@de.ibm.com>
* sysdeps/s390/__longjmp.c: Removed unused variable result.
* sysdeps/s390/fpu/bits/fenv.h: Moved FPC_* definitions to fenv_libc.h.
* sysdeps/s390/fpu/fclrexcpt.c: Include fenv_libc.h instead of fenv.h.
* sysdeps/s390/fpu/fegetenv.c: New file.
* sysdeps/s390/fpu/fegetround.c: Include fenv_libc.h instead of fenv.h.
* sysdeps/s390/fpu/feholdexcpt.c: New file.
* sysdeps/s390/fpu/fenv_libc.h: New file.
* sysdeps/s390/fpu/fesetenv.c: New file.
* sysdeps/s390/fpu/fesetround.c: Include fenv_libc.h instead of fenv.h.
* sysdeps/s390/fpu/feupdateenv.c: New file.
* sysdeps/s390/fpu/fgetexcptflg.c: Reformatted.
* sysdeps/s390/fpu/fpu_control.h: Corrected header.
* sysdeps/s390/fpu/fraiseexcpt.c: New file.
* sysdeps/s390/fpu/fsetexcptflg.c: New file.
* sysdeps/s390/fpu/ftestexcept.c: New file.
* sysdeps/s390/fpu/libm-test-ulps: New file.
* sysdeps/s390/gmp-mparam.h: Add end of comment.
* sysdeps/s390/initfini.c: New file.
* sysdeps/unix/sysv/linux/s390/Dist: Add sys/procfs.h.
* sysdeps/unix/sysv/linux/s390/Makefile: Remove sys/reg.h.
* sysdeps/unix/sysv/linux/s390/bits/stat.h: New file.
* sysdeps/unix/sysv/linux/s390/lchown.c: New file.
* sysdeps/unix/sysv/linux/s390/sys/elf.h: Moved elf definitions to
sys/procfs.h as proposed by Mark Kettenis.
* sysdeps/unix/sysv/linux/s390/sys/procfs.h: New file.
2000-08-20 Ulrich Drepper <drepper@redhat.com>
* time/tst-getdate.c (main): Make error messages more human readable.
* sysdeps/powerpc/fpu_control.h (_FPU_GETCW): Allow gcc to generic
postinc/postdec instruction.
(_FPU_SETCW): Likewise.
Patch by Franz Sirl <Franz.Sirl-kernel@lauterbach.com>.
* ctype/ctype.h (isblank): Make available if ISO C99.
* wctype/wctype.h (iswblank): Make available if ISO C99.
* math/math.h (signgam): Don't make available if ISO C99.
* math/tgmath.h (tgamma): Renamed from gamma.
Patches by Joseph S. Myers <jsm28@cam.ac.uk>.
2000-08-20 Ulrich Drepper <drepper@redhat.com>
* intl/loadmsgcat.c (_nl_unload_domain): Also free conv_tab element.
Pretty printing.
* intl/plural.y (new_exp): Take number of optional parameters in
second parameter. Test for correct number of parameters and free
correctly in case of failure. Adjust all callers.
(yylex): Allow ';' as terminator character.