2000-06-09 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/shm_open.c (where_is_shmfs): Try harder
to find correct mount point despite wrong information from the
kernel.
2000-06-09 Jes Sorensen <jes@linuxcare.com>
* elf/dl-libc.c (__libc_dlsym): Use DL_SYMBOL_ADDRESS() to obtain
the address of a symbol so function pointers are handled properly.
2000-06-08 Andreas Jaeger <aj@suse.de>
* libio/genops.c (_IO_list_lock): Only compile body if we're
thread safe.
(_IO_list_unlock): Likewise.
(_IO_list_resetlock): Likewise.
* dlfcn/dlfcn.h: Pretty print dladdr declaraction.
* elf/rtld.c (process_envvars): Recognize LD_DYNAMIC_WEAK.
(_dl_dynamic_weak): New variable.
* elf/dl-support.c: Likewise.
* sysdeps/generic/ldsodefs.h: Declare _dl_dynamic_weak.
* elf/do-lookup.h: If we find a weak definition treat it like a
normal symbol unless _dl_dynamic_weak is nonzero. In the latter
case treat it like before.
2000-06-04 Kaz Kylheku <kaz@ashi.footprints.net>
Lock for stdio stream list becomes global, for use in LinuxThreads.
* libio/genops.c (_IO_iter_begin, _IO_iter_end,
_IO_iter_next, _IO_iter_file, _IO_list_lock, _IO_list_unlock,
_IO_list_resetlock): New interface for iterating global list of
streams without accessing the _IO_list_all global variable,
and for manipulating the lock which protects this list.
* libio/libioP.h: Likewise.
* libio/Version: Add entries for the new functions.
* libio/libioP.h (_IO_ITER): New typedef, just an alias for
pointer to _IO_FILE.
2000-06-07 Andreas Jaeger <aj@suse.de>
* elf/Makefile: Build ldconfig only when building shared libraries.
2000-06-07 Jakub Jelinek <jakub@redhat.com>
* sysdeps/alpha/fpu/bits/mathinline.h (__fdimf): Only declare if
__USE_ISOC99.
(fdimf, __fdim, fdim): Likewise.
Use C comments throughout. Line up operands column with tabs.
* sysdeps/powerpc/strchr.S: Likewise.
* sysdeps/powerpc/strcmp.S: Likewise.
* sysdeps/powerpc/strcpy.S: Likewise.
* sysdeps/powerpc/strlen.S: Likewise.
* sysdeps/powerpc/memset.S: Define & use symbolic register names.
Use C comments throughout. Line up operands column with tabs.
* sysdeps/powerpc/strchr.S: Likewise.
* sysdeps/powerpc/strcmp.S: Likewise.
* sysdeps/powerpc/strcpy.S: Likewise.
* sysdeps/powerpc/strlen.S: Likewise.
Get low part of &__curbrk with @l.
2000-06-06 Greg McGary <greg@mcgary.org>
* sysdeps/unix/sysv/linux/powerpc/brk.S [!PIC]:
Get low part of &__curbrk with @l.
* 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>.
2000-06-04 Ulrich Drepper <drepper@redhat.com>
* iconvdata/big5hkscs.c: New file.
Modified from big5.c by Roger So <rogerso@sis.dhs.org>.
* iconvdata/gconv-modules: Add entry for new module.
2000-06-01 Jakub Jelinek <jakub@redhat.com>
* libc/sysdeps/alpha/fpu/bits/mathinline.h: Add __THROW to all
inlines to match prototypes in mathcalls.h.
* libc/sysdeps/i386/fpu/bits/mathinline.h: Likewise.
* libc/sysdeps/m68k/fpu/bits/mathinline.h: Likewise.
* libc/sysdeps/powerpc/fpu/bits/mathinline.h: Likewise.
* libc/sysdeps/sparc/fpu/bits/mathinline.h: Likewise.
* sysdeps/powerpc/dl-start.S: Close open comment.
2000-06-03 Andreas Jaeger <aj@suse.de>
* sysdeps/powerpc/dl-start.S: Close open comment.
2000-06-03 Jakub Jelinek <jakub@redhat.com>
* inet/Versions: Fix typo in rresvport_af export.
2000-06-01 Ulrich Drepper <drepper@redhat.com>
* sysdeps/i386/elf/setjmp.S: Work around change is recent
binutils. gas now emits a jump through the PLT instead of a
relative jump if the jump target is an exported symbol.
2000-05-31 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/mips/sys/ucontext.h: Use array for
gregset_t.
* sysdeps/unix/sysv/linux/mips/Versions: Export _flush_cache.
Patches by Maciej W. Rozycki <macro@ds2.pg.gda.pl>.
* sysdeps/unix/sysv/linux/mips/ftruncate64.c: Fix prototype of
syscall.
* sysdeps/unix/sysv/linux/mips/truncate64.c: Likewise.
2000-05-29 Jakub Jelinek <jakub@redhat.com>
* inet/rcmd.c (rresvport_af): Use correct port number.
2000-05-26 Andreas Schwab <schwab@suse.de>
* Makeconfig ($(common-objpfx)soversions.mk): Prepend `$lib=' to
entries in all-sonames.
($(common-objpfx)gnu/lib-names.h): Use it for the CPP symbol,
preserving the old name if different for compatibility.
2000-05-28 Ulrich Drepper <drepper@redhat.com>
* manual/arith.texi (Rounding Functions): Fix documentation of trunc.
Patch by Steven G. Johnson <stevenj@gil-galad.mit.edu>.
2000-05-27 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/i386/pread.c: Removed, we can use the
normal version now.
* sysdeps/unix/sysv/linux/i386/pwrite.c: Likewise.
* sysdeps/unix/sysv/linux/i386/pwrite64.c: Likewise.
* sysdeps/unix/sysv/linux/mips/pread.c: Likewise.
* sysdeps/unix/sysv/linux/mips/pwrite.c: Likewise.
* sysdeps/unix/sysv/linux/arm/pread.c: Likewise.
* sysdeps/unix/sysv/linux/arm/pwrite.c: Likewise.
* sysdeps/unix/sysv/linux/pread.c (__libc_pread): Check
endianness to decide how to pass arguments.
* sysdeps/unix/sysv/linux/pwrite.c (__libc_pwrite): Likewise.
* elf/vismain.c: Use test-skeleton interface.
(TEST_FUNCTION): New macro.
(do_test): Renamed from main.
2000-05-27 Ulrich Drepper <drepper@redhat.com>
* sysdeps/posix/getaddrinfo.c (gaih_inet): If req->ai_family ==
AF_UNSPEC don't allow the IPv6 lookup to return mapped IPv4 addresses.
* nss/nss_files/files-hosts.c (LINE_PARSER): Simplify. Correct
handling of AI_V4MAPPED flag.
* resolv/nss_dns/dns-host.c (_nss_dns_gethostbyname2_r): If lookup
of IPv6 address failed and RES_USE_INET6 bit in _res.options is set,
perform lookup for T_A type and tell getanswer_r to convert the
result with new argument.
(_nss_dns_gethostbyaddr_r): Pass zero as new argument to getanswer_r.
Don't convert addresses from IPv4 to IPv6 here.
(getanswer_r): Take new parameter indicating if mapping from IPv4 to
IPv6 is wanted. Allow qtype and type from reply to disagree if
IPv4 mapping has to be done. Perform mappings if required by the
caller and not if RES_USE_INET6 bit in _res.options is set.
Add several __builtin_expect.
* sysdeps/unix/sysv/linux/ftruncate64.c (ftruncate64): Make order
of arguments dependend on endianness.
* sysdeps/unix/sysv/linux/truncate64.c: Likewise.
2000-05-26 Ulrich Drepper <drepper@redhat.com>
* posix/tst-preadwrite.c: Alloc file being used also for testing
pread64 and pwrite64.
* posix/tst-preadwrite64.c: New file.
* sysdeps/unix/sysv/linux/i386/pread64.c: Removed, we can use the
normal version now.
* sysdeps/unix/sysv/linux/arm/pread64.c: Likewise.
* sysdeps/unix/sysv/linux/arm/pwrite64.c: Likewise.
* sysdeps/unix/sysv/linux/mips/pread64.c: Likewise.
* sysdeps/unix/sysv/linux/mips/pwrite64.c: Likewise.
* sysdeps/unix/sysv/linux/pwrite64.c (__libc_pwrite64): Check
endianness to check how to pass argument.
* sysdeps/unix/sysv/linux/pread64.c (__libc_pread64): Likewise.
2000-05-26 Andreas Jaeger <aj@suse.de>
* elf/ldconfig.h: Update parameter list for process_elf_file.
* sysdeps/unix/sysv/linux/sparc/readelflib.c (process_elf_file):
Add parameter file_length and pass it ot process_elf*file.
* sysdeps/generic/readelflib.c (check_ptr): New.
(process_elf_file): Use check_ptr to check all accesses to the
mmapped file. Add parameter file_length.
* elf/readlib.c (known_libs): Use <gnu/lib-names.h> to specify
library names.
* sunrpc/xdr_intXX_t.c (xdr_uint8_t): Fix conversion.
Closes PR libc/1573, reported by Bradley White
<bww@laurelnetworks.com>.
2000-05-22 Andreas Jaeger <aj@suse.de>
* math/Makefile: Add -D__FAST_MATH__ to CFLAGS-test-ifloat.c,
CFLAGS-test-idouble.c, CFLAGS-test-ildoubl.c.
* manual/math.texi (FP Function Optimizations): Document gcc
-ffast-math behaviour with mathinlines.
* sysdeps/i386/fpu/bits/mathinline.h: Only use save inline
functions unless -ffast-math is given to gcc.
2000-05-24 Ulrich Drepper <drepper@redhat.com>
* locale/programs/ld-collate.c (struct element_t): Add mbseqorder
and wcseqorder members.
(struct locale_collate_t): Likewise.
(collate_finish): Assign collation sequence value to each character.
Create tables for output.
(collate_output): Write out tables with collation sequence information.
* locale/C-collate.c: Provide C locale data for collation sequence
table.
* locale/langinfo.h: Add _NL_COLLATE_COLLSEQMB and
_NL_COLLATE_COLLSEQWC.
* locale/categories.def: Add entries for _NL_COLLATE_COLLSEQMB and
_NL_COLLATE_COLLSEQWC.
* posix/fnmatch.c: Define SUFFIX and WIDE_CHAR_VERSION before
include fnmatch_loop.c.
* posix/fnmatch_loop.c: Don't use strcoll while determining whether
character is matched by range expression. Use collation sequence
table. Outside glibc fall back on simple character value comparison.
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.
2000-05-21 H.J. Lu <hjl@gnu.org>
* elf/do-lookup.h (do_lookup_versioned): Replace reloc_type parameter
with noexec and noplt parameter.
(do_lookup): Likewise.
* elf/dl-lookup.c (_dl_lookup_symbol): Change for new parameters of
do_lookup. Support STV_PROTECTED.
(_dl_lookup_symbol_skip): Likewise.
(_dl_lookup_versioned_symbol): Likewise.
(_dl_lookup_versioned_symbol_skip): Likewise.
* elf/dl-reloc.c (RESOLVE): Check STB_LOCAL instead of ST_VISIBILITY.
* elf/dl-runtime.c (profile_fixup): Fix a typo in comment.
* 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.
2000-05-19 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/i386/i686/sysdep.h
(SYSCALL_ERROR_HANDLER): Remove unneeded syscall_error which
breaks compilation without linuxthreads.
* sysdeps/ia64/memccpy.S: New file.
* sysdeps/ia64/memchr.S: New file.
* sysdeps/ia64/memcmp.S: New file.
* sysdeps/ia64/memcpy.S: New file.
* sysdeps/ia64/memmove.S: New file.
* sysdeps/ia64/memset.S: New file.
* sysdeps/ia64/strcat.S: New file.
* sysdeps/ia64/strchr.S: New file.
* sysdeps/ia64/strcmp.S: New file.
* sysdeps/ia64/strcpy.S: New file.
* sysdeps/ia64/strlen.S: New file.
* sysdeps/ia64/strncmp.S: New file.
* sysdeps/ia64/strncpy.S: New file.
* sysdeps/ia64/softpipe.h: New file.
Patches by Dan Pop <Dan.Pop@cern.ch>.
* manual/memory.texi: Document memory handling functions (mlock,
munlock, mlockall, munlockall, brk, and sbrk)
* 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-17 Andreas Jaeger <aj@suse.de>
* string/envz.h: Add pure attributes if possible.
* string/argz.h: argz_count is a pure function.
* string/strings.h: Add pure and const attributes if possible.
2000-05-17 Jakub Jelinek <jakub@redhat.com>
* sysdeps/generic/dl-cache.h (_DL_CACHE_DEFAULT_ID): Only define if
not yet defined.
(_dl_cache_check_flags): Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/dl-cache.h: include_next
dl-cache.h.
2000-05-17 Andreas Jaeger <aj@suse.de>
* manual/creature.texi (Feature Test Macros): Remove paragraph
since the description is wrong.
Closes PR libc/1691, reported by Geoff Clare <gwc@unisoft.com>.
2000-05-17 Andreas Jaeger <aj@suse.de>
* time/test_time.args: Removed.
* time/Makefile (test_time-ARGS): Added contents here instead.
* posix/tstgetopt.args: Removed.
* posix/Makefile (tstgetopt-ARGS): Added contents here instead.
* Rules: Allow arguments for test files to be specified in
Makefile with testname-ARGS; remove rules with .args in it.
* dirent/Makefile (opendir-tst1-ARGS): Use this for opendir-tst1,
remove old bogus rule for opendir-tst1.args.
* stdlib/test-canon.c: Rewrite to use test-skeleton.c.
* stdlib/Makefile (test-canon-ARGS): New, supply argument to chdir
into objdir. This allows a readonly sourcetree.
Reported by lrgallardo@yahoo.com, closes PR libc/1421.
2000-05-16 Andreas Jaeger <aj@suse.de>,
David Huggins-Daines <dhd@linuxcare.com>
* sysdeps/generic/dl-cache.c (_dl_load_cache_lookup): Set
cache_data in case of only new cache format correctly.
* sysdeps/generic/dl-cache.c (_dl_load_cache_lookup): Align struct
cache_file_new.
* sysdeps/generic/dl-cache.h (ALIGN_CACHE): New macro to align
struct cache_file_new.
* elf/cache.c (save_cache): Fix str_offset if only new cache is
present.
* elf/cache.c (save_cache): Align struct new_file_cache.
(print_cache): Likewise.
2000-05-13 Jakub Jelinek <jakub@redhat.com>
* elf/soinit.c (__libc_global_ctors): Move
__pthread_initialize_minimal call out of HAVE_DWARF2_* defines.
* resolv/resolv.h (__res_state): Added __attribute__((const)).
(_res): If __RES_PTHREAD_INTERNAL is defined, declare it as
variable, don't define it to __res_state call.
2000-05-11 Jan Hubicka <jh@suse.cz>
* misc/sys/cdefs.h: Add support for pure attribute.
* include/string.h: Add __attribute_pure__ to various functions.
* string/string.h: Likewise.
2000-05-09 Jakub Jelinek <jakub@redhat.com>
* elf/dl-sym.c (_dl_sym): Test ref not result for non-zero.
(_dl_vsym): Likewise.
Reported by Owen Taylor <otaylor@redhat.com>.
* elf/dl-deps.c (_dl_map_object_deps): Zero terminate L->l_initfini
always.
2000-05-08 Jakub Jelinek <jakub@redhat.com>
* elf/dl-fini.c (_dl_fini): Bump l_opencount of all objects so that
they are not dlclose'd from underneath us.
2000-05-08 Jakub Jelinek <jakub@redhat.com>
* elf/dl-lookup.c (add_dependency): Reallocate l_reldeps in
sizeof(struct link_map *) chunks, not in bytes.
2000-05-07 Ulrich Drepper <drepper@redhat.com>
* locale/Makefile (locale-CPPFLAGS): Renamed from CPPFLAGS. It's
only needed for locale.
* catgets/Makefile (catgets-CPPFLAGS): Renamed from CPPFLAGS.
It's only needed for catgets.
Patches by Greg McGary <gkm@eng.ascend.com>.
2000-05-07 Mark Kettenis <kettenis@gnu.org>
* nss/nss_db/db-open.c: Cleanup and add comments. Pretty print.
Remove duplicate <errno.h> include. Remove inclusion of
<libintl.h> and "nsswitch.h".
(set_cloexec_flag): New function, broken out of dbopen.
(dbopen): Changed return type to `enum
nss_status'. Mostly rewritten to make sure that we do not report
NSS_STATUS_SUCCESS if something went wrong. Remove unnecessary casts.
(internal_setent): Change return type to nss_status.
Document, and make sure that the function
behaves accordingly. Make dynamically loading the database
library really thread-safe and return NSS_STATUS_UNAVAIL if it
failed.
(db_cursor): Return ENOMEM is memory allocation failed. Remove
unecessary casts.
* nss/nss_db/dummy-db.h: Add copyright notice. Improve
documentation.
(struct dbc24, struct dbc27): Use DBT type in parameter lists for
c_get function member.
* nss/nss_db/nss_db.h: Add and tweak some comments.
(DBT): Move typedef before NSS_DBC typedef.
(NSS_DBC, NSS_DB): Use DBT in function member parameter lists.
2000-05-07 H.J. Lu <hjl@gnu.org>
* csu/initfini.c: Moved to ....
* sysdeps/generic/initfini.c: ...here.
* csu/Makefile (initfini.c): Set vpath to $(full_config_sysdirs).
* sysdeps/generic/memccpy.c (__memccpy): Don't use reg_char type
for x since promotion in comparison might leads to unexpected
results. Reported by Dan Pop <Dan.Pop@cern.ch>.
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.