* iconv/gconv_dl.c: Add __builtin_expect in many places.
* iconv/skeleton.c: Add more __builtin_expect.
* iconv/gconv_simple.c: Add __builtin_expect in many places.
2000-06-04 Ulrich Drepper <drepper@redhat.com>
* iconv/gconv_dl.c (do_release_shlib): Don't reset reference
counter for the object we are releasing, just decrement it.
Patch by Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>.
* iconv/tst-iconv1.c (main): Remove const from inbuf to follow
change in iconv.h.
2000-05-22 Andreas Jaeger <aj@suse.de>
* iconv/tst-iconv1.c (main): Remove const from inbuf to follow
change in iconv.h.
* locale/locale.h (struct lconv): Add new elements from ISO C99.
* locale/localeconv.c: Initialize new elements from ISO C99.
* iconv/iconv_prog.c (process_block): Remove const from second
parameter.
(main): Remove const from addr definition.
2000-05-06 Bruno Haible <haible@clisp.cons.org>
* iconv/gconv_open.c (__gconv_open): If __gconv_find_transform
returned != __GCONV_OK, there is nothing to clean up.
2000-05-06 Bruno Haible <haible@clisp.cons.org>
* intl/tst-gettext.c (main): Disable possibly existing LC_CTYPE and
OUTPUT_CHARSET environment variables.
2000-05-06 Andreas Jaeger <aj@suse.de>
* sysdeps/generic/dl-cache.h (struct file_entry_new): New.
(struct cache_file_new): New.
(struct file_entry): New (moved from cache.c).
(struct cache_file): New (moved from cache.c).
* sysdeps/generic/dl-cache.c (SEARCH_CACHE): New macro, broken out
from _dl_load_cache_lookup.
(_dl_load_cache_lookup): Move search to SEARCH_CACHE macro, handle
the different cache formats.
New variable cache_new for new format.
* elf/ldconfig.h: Change according to changes in cache.c and
ldconfig.c; remove cache_libcmp; add opt_format.
* elf/ldconfig.c: Include "dl-cache.h" and "dl-procinfo.h"; remove
stuff that's defined in those headers.
Add hwcap to struct lib_entry.
(opt_format): New variable to select cache format.
(options): Add format parameter.
(is_hwcap): New function.
(path_hwcap): New function.
(parse_opt): Handle new format parameter.
(search_dir): Handle hwcap, search also subdirectories with hwcap.
* elf/cache.c (_GNU_SOURCE): Removed. Not needed anymore since
ldconfig is part of glibc.
Include dl-cache.h and remove stuff that's defined there.
(struct cache_entry): Add new member hwcap.
(print_entry): Print hwcap, cleanup a bit.
(print_cache): Print new and old formats.
(compare): Use _dl_cache_libcmp from dl-cache.h; handle hwcap.
(save_cache): Save new and old formats.
(add_to_cache): Handle hwcap.
* sysdeps/generic/dl-cache.c (_dl_cache_libcmp): Moved from here...
* sysdeps/generic/dl-cache.h (_dl_cache_libcmp): ...to here.
* sysdeps/generic/dl-cache.c (LD_SO_CACHE): Moved from here...
* sysdeps/generic/dl-cache.h (LD_SO_CACHE): ...to here.
* sysdeps/generic/dl-cache.c (CACHEMAGIC): Moved from here...
* sysdeps/generic/dl-cache.h (CACHEMAGIC): ...to here.
2000-05-05 Bruno Haible <haible@clisp.cons.org>
* intl/dcigettext.c (alignof): New macro.
(_nl_find_msg): Use it instead of __alignof__. Pass correct output
buffer length to __gconv/iconv. If malloc (freemem_size) fails, set
freemem_size to 0.
2000-05-05 Bruno Haible <haible@clisp.cons.org>
* intl/dcigettext.c (dcigettext): Fix interpretation of tsearch
return value.
2000-05-04 Jakub Jelinek <jakub@redhat.com>
* sysdeps/generic/bits/confname.h (_SC* enum): Avoid comma at the
end of enum.
2000-05-04 Jakub Jelinek <jakub@redhat.com>
* iconv/gconv.h (__gconv_t): Add __extension__ to make gcc -pedantic
happy.
* libio/stdio.h: Make fseeko and ftello prototypes available is
__USE_LARGEFILE. Patch by Paul Eggert <eggert@twinsun.com>.
* sysdeps/generic/dl-environ.c (unsetenv): Follow change to the
real unsetenv implementation from 1999-07-29 [PR libc/1714].
2000-05-03 Bruno Haible <haible@clisp.cons.org>
* intl/dcigettext.c (dcigettext): Do the defaulting of 'domainname'
before calling tfind.
2000-03-05 Jakub Jelinek <jakub@redhat.com>
* resolv/resolv.h (res_querydomain): Remove redefinition to
__res_querydomain (reported by Owen Taylor <otaylor@redhat.com>).
2000-05-03 Ulrich Drepper <drepper@redhat.com>
* po/gl.po: Update from translation team.
* manual/intro.texi (Program Basics): Change section title.
* manual/process.texi: Fix reference.
(Executing a File): Add reference exec in other section.
* manual/signal.texi: Fix reference.
* manual/startup.texi: Document syscall function.
Patches by Bryan Henderson <bryanh@giraffe-data.com>.
2000-04-29 Bruno Haible <haible@clisp.cons.org>
* intl/libintl.h (bind_textdomain_codeset): New declaration.
* intl/bindtextdom.c (set_binding_values): New function.
(bindtextdomain): Call it.
(bind_textdomain_codeset): New function.
* intl/dcigettext.c (dcigettext): Pass binding to _nl_find_domain.
(free_mem): Free each binding's codeset.
* intl/gettextP.h (struct binding): Add codeset field.
(_nl_find_domain): Add domainbinding argument.
* intl/finddomain.c (_nl_find_domain): Add domainbinding argument.
Pass it to _nl_make_l10nflist.
* intl/loadinfo.h (struct loaded_l10nfile): Add domainbinding field.
(_nl_make_l10nflist): Add domainbinding argument.
* intl/l10nflist.c (_nl_make_l10nflist): Add domainbinding argument.
* intl/loadmsgcat.c (_nl_load_domain): Look at the domainbinding's
codeset when determining outcharset. If !_LIBC && HAVE_ICONV, call
locale_charset().
* manual/message.texi: New node "Charset conversion in gettext".
2000-04-30 Bruno Haible <haible@clisp.cons.org>
* catgets/open_catalog.c (__open_catalog): Use __builtin_expect where
appropriate. Handle possible __read error.
2000-04-29 Bruno Haible <haible@clisp.cons.org>
* intl/gettextP.h (__builtin_expect): Define as empty if not a
compiler builtin.
* intl/loadinfo.h (__builtin_expect): Likewise.
* intl/dcigettext.c (dcigettext, _nl_find_msg): Use
__builtin_expect where appropriate.
* intl/loadmsgcat.c (_nl_load_domain): Likewise.
* intl/localealias.c (extend_alias_table): Return an error indicator.
(read_alias_file): Bail out if extend_alias_table fails.
2000-04-29 Bruno Haible <haible@clisp.cons.org>
* intl/loadmsgcat.c: Define _GNU_SOURCE as early as possible.
* intl/localealias.c: Likewise.
2000-05-01 Bruno Haible <haible@clisp.cons.org>
* intl/loadmsgcat.c (_nl_load_domain): Initialize domain->conv_tab.
Initialize domain->plural and domain->nplurals even if there is no
nullentry.
2000-05-01 Bruno Haible <haible@clisp.cons.org>
* intl/dcigettext.c (_nl_find_msg): Terminate __gconv loop if return
value is == __GCONV_OK or == __GCONV_EMPTY_INPUT, not != __GCONV_OK.
In case of failure, goto converted.
2000-05-01 Bruno Haible <haible@clisp.cons.org>
* wcsmbs/wcsmbsload.c (norm_add_slashes): Move away.
* iconv/gconv_int.h (norm_add_slashes): Move to here.
* intl/loadmsgcat.c (_nl_load_domain): Normalize strings passed to
__gconv_open.
2000-04-29 Bruno Haible <haible@clisp.cons.org>
* intl/dcigettext.c (transcmp): Compare the domains as well.
(dcigettext): Call strlen (msgid1) after testing msgid1 against NULL,
not before.
* intl/loadmsgcat.c (_nl_load_domain): Deal with EINTR. Include
<errno.h>.
2000-05-03 Ulrich Drepper <drepper@redhat.com>
* iconv/iconv_prog.c (main): Handle input file name "-" correctly.
Recognize option -s, -c, and -l.
2000-04-20 Thorsten Kukuk <kukuk@suse.de>
* nscd/nscd.c: Start new session for nscd, drop privilegs
to configured user if requested and no -S parameter are used.
* nscd/nscd.conf: Add new option "server-user".
* nscd/nscd_conf.c: Add support for new "server-user" option.
* nscd/nscd.h: Add declaration for server_user variable.
Based on patch by Chris Wing <wingc@engin.umich.edu>
2000-04-29 Mark Kettenis <kettenis@gnu.org>
* sysdeps/unix/sysv/linux/i386/sigaction.c: Add comment explaining
that changing the __restore and __restore_rt signal return code
will break GDB.
2000-04-29 Mark Kettenis <kettenis@gnu.org>
* sysdeps/unix/sysv/linux/i386/sys/ucontext.h: Do not include
<sys/user.h>.
2000-04-29 Mark Kettenis <kettenis@gnu.org>
* conform/data/ucontext.h-data: Allow ss_* instead of SS_*.
2000-04-29 Ulrich Drepper <drepper@redhat.com>
2000-04-26 Ulrich Drepper <drepper@redhat.com>
* iconv/gconv_simple.c (utf8_internal_loop): Correctly reconstruct
stored character in state in UNPACK_BYTES macro.
* iconv/loop.c (SINGLE(LOOPFCT)): Make it actually work. Correct
test for available characters, handle result of BODY code correctly.
* localedata/Makefile (test-srcs): Add tst-mbswcs1.
(distribute): Add tst-mbswcs.sh.
Add rule to run tst-mbswcs.sh.
* localedata/tst-mbswcs.sh: New file.
* localedata/tst-mbswcs1.c: New file.
2000-04-26 Jakub Jelinek <jakub@redhat.com>
* nis/nis_callback.c (__nis_create_callback): Do failed memory
allocation fixups centrally, fix __builtin_expect call, return NULL
on failure, not NIS_NOMEMORY.
2000-04-27 Bruno Haible <haible@clisp.cons.org>
2000-04-21 Ulrich Drepper <drepper@redhat.com>
* iconv/iconv.c (iconv): Add __builtin_expect where useful.
* iconv/iconv_close.c (iconv_close): Likewise.
* iconv/iconv_open.c (iconv_open): Likewise.
* grp/putgrent.c (putgrent): Unlock steam if fprintf failed. Add
__builtin_expect where useful.
* grp/initgroups.c (initgroups): Test for result of memory
allocation and punt if it fails.
* dirent/scandir.c (scandir): Add __builtin_expect where useful.
* grp/fgetgrent.c (fgetfrent): Likewise.
* grp/fgetgrent_r.c (__fgetgrent_r): Likewise.
* iconv/gconv_simple.c: Define separate functions to convert from
UCS4/UCS4-LE to the internal encoding.
* iconv/gconv_builtin.h: Use separate functions to convert from
UCS4/UCS4-LE to the internal encoding.
* iconv/gconv_int.h: Declare __gconv_transform_ucs4_internal and
__gconv_transform_ucs4le_internal.
* iconv/gconv_simple.c (internal_utf8_loop): Correct check for
output buffer overflow. Reported by Ulrich.Brink@sap.com.
2000-04-09 Ulrich Drepper <drepper@redhat.com>
Implement handling of restartable conversion functions according to
ISO C.
* iconv/gconv.h (__gconv_fct): Add additional parameter.
* iconv/gconv_int.h (__BUILTIN_TRANS): Likewise.
* iconv/gconv.c: Pass additional parameter to conversion function.
* iconv/gconv_simple.c (internal_ucs4_loop_single): New function.
(internal_ucs4le_loop_single): New function.
(__gconv_transform_ascii_internal): Define ONE_DIRECTION.
(__gconv_transform_internal_ascii): Likewise.
(__gconv_transform_internal_utf8): Likewise.
(__gconv_transform_utf8_internal): Likewise.
(__gconv_transform_ucs2_internal): Likewise.
(__gconv_transform_internal_ucs2): Likewise.
(__gconv_transform_ucs2reverse_internal): Likewise.
(__gconv_transform_internal_ucs2reverse): Likewise.
(internal_ucs4le_loop_unaligned): Before return
__GCONV_INCOMPLETE_INPUT check that the remaining bytes really form
a valid character. Otherwise return __GCONV_ILLEGAL_INPUT.
(__gconv_transform_utf8_internal): Define STORE_REST and UNPACK_BYTES.
* iconv/loop.c: Fit in definition of function to convert one character
for processing of left-over bytes from the state object.
* iconv/skeleton.c (gconv): Rename inbuf to inptrp and inbufend to
inend to match names in loop functions.
(RESET_INPUT_BUFFER): Change apprpriately.
(gconv): If needed, call function to process bytes from the state
object. Similar at the end: store left over bytes if input is
incomplete.
Take extra argument and add new argument to all calls of the
conversion function.
* iconvdata/iso-2022-cn.c: Adjust numeric values used to store
information in the state object to not conflict with length count.
* iconvdata/iso-2022-jp.c: Likewise.
* iconvdata/iso-2022-kr.c: Likewise.
* iconvdata/unicode.c: Adjust for change change in parameters of
skeleton function.
* iconvdata/utf-16.c: Likewise.
* libio/iofwide.c: Add new parameter to all calls of conversion
function.
* wcsmbs/btowc.c: Likewise.
* wcsmbs/mbrtowc.c: Likewise.
* wcsmbs/mbsnrtowcs.c: Likewise.
* wcsmbs/mbsrtowcs.c: Likewise.
* wcsmbs/wcrtomb.c: Likewise.
* wcsmbs/wcsnrtombs.c: Likewise.
* wcsmbs/wcsrtombs.c: Likewise.
* wcsmbs/wctob.c: Likewise.
* iconvdata/gbgbk.c: Always define MAX_NEEDED_OUTPUT and
MAX_NEEDED_INPUT.
2000-04-05 Cristian Gafton <gafton@redhat.com>
* ctype/ctype.h (__isctype_l): Define even if not __OPTIMIZE__
because it is used in generic code.
* wctype/wctrans.c: Define __ctype32_toupper and __ctype32_tolower.
* wcsmbs/wcwidth.h: Declare __ctype32_b.
* intl/gettext.c: Include <locale.h>.
* intl/ngettext.c: Likewise.
2000-04-05 Jakub Jelinek <jakub@redhat.com>
* resolv/inet_ntop.c (inet_ntop4, inet_ntop6, inet_ntop): Use
socklen_t type for size.
* sysdeps/sparc/sparc32/dl-machine.h (RTLD_START): Rewrite for new
init function interface.
* sysdeps/sparc/sparc64/dl-machine.h (RTLD_START): Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/setjmp.h: Don't include
sys/ucontext.h.
(__jmp_buf): Declare the whole type structure here, don't use
ucontext.
* iconv/skeleton.c (put16u): Fix typo.
Reported by Bruno Haible <haible@ilog.fr>.
2000-04-04 Ulrich Drepper <drepper@redhat.com>
* iconv/skeleton.c (FUNCTION_NAME): Reorder initialization of
unaligned so that it compiles for system which need unaligned
access handling.
* iconv/skeleton.c: Define access macros with u suffix. Adjust
#if expression for use of unaligned function to the one used in
the definition of these functions.
* iconv/gconv_simple.c (internal_ucs4_loop_unaligned): New function.
(internal_ucs4le_loop_unaligned): New function.
Ralf Baechle <ralf@uni-koblenz.de>
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.
2000-03-23 Bruno Haible <haible@clisp.cons.org>
* iconv/gconv_int.h (__gconv_transform_ucs2little_internal,
__gconv_transform_internal_ucs2little): Remove declarations.
* iconv/gconv_simple.c (__gconv_transform_ucs2_internal,
__gconv_transform_internal_ucs2): Never need to bswap_16.
(__gconv_transform_ucs2reverse_internal,
__gconv_transform_internal_ucs2reverse): Always need to bswap_16.
2000-03-14 Ulrich Drepper <drepper@redhat.com>
* iconv/skeleton.c: Increment __invocation_counter in inner loop
since modules depend on it counting the number of times the conversion
function got called.
* iconv/gconv_open.c: Optimize loop to setup step data structure.
* iconv/gconv.h: Pretty print.
2000-03-04 Ulrich Drepper <drepper@redhat.com>
* posix/wordexp-test.c: Correct one of the tests added in the last
change. Really get the root passwd entry to check again ~root.
2000-02-28 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/start.c: Initialize __errno and add comment
explaining why. Remove K&R compatibility.
* sysdeps/powerpc/fpu/s_isnan.c: Avoid using asm statement to
declare aliases.
* sysdeps/powerpc/Makefile: Always pass flags to compile for ppc
and not rs6000.
[$(subdir)=misc] (sysdep_routines): Add gprsave0, gprrest0,
gprsave1 , and gprrest1.
Don't pass special flags to compiler for init and gmon-start if
this is no ELF platform.
* sysdeps/mach/hurd/bits/statfs.h: Define _STATFS_F_NAMELEN.
* sysdeps/unix/sysv/linux/bits/statfs.h: Likewise.
* sysdeps/unix/sysv/linux/mips/bits/statfs.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/statfs.h: Likewise.
* sysdeps/posix/fpathconf.c: Don't unconditionally use f_namelen
in statfs. Check feature macro and use f_name_max or NAME_MAX
instead.
* sysdeps/posix/pathconf.c: Likewise.
* dlfcn/dlfcn.h: Remove DL_CALL_FCT definition here.
* sysdeps/generic/bits/dlfcn.h: Define DL_CALL_FCT here.
* sysdeps/mips/bits/dlfcn.h: Define DL_CALL_FCT here.
* iconv/skeleton.c: If DL_CALL_FCT is not yet defined, add dumy
definition here.
* sysdeps/generic/libc-start.c: Fix typo in comment.
* include/set-hooks.h: Allow systems to not define
symbol_set_define.
* configure.in: Unify machine names rs6000 and powerpc.
2000-02-13 Ulrich Drepper <drepper@redhat.com>
* iconvdata/Makefile (modules): Add UTF-16.
(distribute): Add utf-16.c.
* iconvdata/gconv-modules: Add entries for UTF-16, UTF-16BE, and
UTF-16LE.
* iconvdata/utf-16.c: New file.
* iconv/gconv_builtin.h: Remove UTF-16 entries here.
* iconv/gconv_simple.c: Remove conversion functions to and from UTF-16.
* iconv/skeleton.c: Increment __invocation_coounter after every call
to the loops.
1999-12-21 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/i386/getmsg.c: New file.
* sysdeps/unix/sysv/linux/i386/getpmsg.c: New file.
* sysdeps/unix/sysv/linux/i386/putmsg.c: New file.
* sysdeps/unix/sysv/linux/i386/putpmsg.c: New file.
* sysdeps/unix/sysv/linux/m68k/getmsg.c: New file.
* sysdeps/unix/sysv/linux/m68k/getpmsg.c: New file.
* sysdeps/unix/sysv/linux/m68k/putmsg.c: New file.
* sysdeps/unix/sysv/linux/m68k/putpmsg.c: New file.
* sysdeps/unix/sysv/linux/mips/getmsg.c: New file.
* sysdeps/unix/sysv/linux/mips/getpmsg.c: New file.
* sysdeps/unix/sysv/linux/mips/putmsg.c: New file.
* sysdeps/unix/sysv/linux/mips/putpmsg.c: New file.
* sysdeps/unix/sysv/linux/powerpc/getmsg.c: New file.
* sysdeps/unix/sysv/linux/powerpc/getpmsg.c: New file.
* sysdeps/unix/sysv/linux/powerpc/putmsg.c: New file.
* sysdeps/unix/sysv/linux/powerpc/putpmsg.c: New file.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Add getpmsg and
putpmsg.
1999-12-20 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/lxstat64.c: Include "kernel-features.h"
before testing for __ASSUME_STAT64_SYSCALL.
* sysdeps/unix/sysv/linux/fxstat64.c: Likewise.
* sysdeps/unix/sysv/linux/xstat64.c: Likewise.
1999-12-20 Andreas Schwab <schwab@suse.de>
* manual/install.texi (Running make install): Clearify that
install_root should be an absolute file name.
* iconv/gconv.c (__gconv): Deal with outbuf being NULL.
* iconv/iconv.c (iconv): Allow omitting output buffer if no input
buffer is given to place conversion descriptor in initial state.
* iconvdata/gconv-modules: Correct aliases CSPC850MULTILINGUAL and
CSPC862LATINHEBREW.
* iconvdata/gconv-modules: Add aliases GB2312 and csGB2312
(according to IANA registry).
Reported by Bruno Haible <haible@ilog.fr>.
* iconvdata/johab.c: Correct completely broken conversion to JOHAB.
1999-12-07 Ulrich Drepper <drepper@cygnus.com>
* iconv/gconv_db.c (gen_steps): Set __counter initialy to 1.
(increment_counter): New function. Broken out of find_derivation.
(find_derivation): No need for a lock. Increment counter only when
the derivation was already available.
* iconv/gconv_dl.c: Add debugging functions.
(known_compare): We have to use strcmp.