1999-06-17 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* elf/dl-load.c (_dl_init_paths): Add one more element to aelem
to not write beyond allocated memory.
Reported by John Reiser <jreiser@BitWagon.com>, closes PR libc/1167.
1999-06-17 Ulrich Drepper <drepper@cygnus.com>
* malloc/mtrace.c: Keep lock while printing output lines.
Patch by carsten.zimmermann@mediaways.net [PR libc/1166].
1999-06-07 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/if_index.c: Use SIGIOCGIFINDEX and fix
another SIOGIFNAME typo.
1999-06-07 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-lookup.c: Remove duplicated assert.h inclusion.
* sysdeps/generic/printf_fphex.c (__printf_fphex): Optimize a little
bit.
1999-06-05 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* sysdeps/generic/printf_fphex.c (__printf_fphex): Don't ignore
the precision if the mantissa is zero.
1999-06-05 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* manual/lang.texi (Floating Point Parameters): GCC already
supports long double for a long time.
1999-06-05 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* math/libm-test.c (j0_test, j1_test, jn_test, y0_test, y1_test,
yn_test): Increase some epsilons.
* sysdeps/unix/sysv/linux/kernel-features.h: Define
__ASSUME_SIOCGIFNAME for kernel >= 2.1.50.
* sysdeps/unix/sysv/linux/if_index.c: Correct typo (SIOGIFNAME ->
SIOCGIFNAME) and use __ASSUME_SIOCGIFNAME.
* sysdeps/libm-ieee754/w_j0.c: Remove __ from symbol definitions.
* sysdeps/libm-ieee754/w_j0f.c: Likewise.
* sysdeps/libm-ieee754/w_j0l.c: Likewise.
* sysdeps/libm-ieee754/w_j1.c: Likewise.
* sysdeps/libm-ieee754/w_j1f.c: Likewise.
* sysdeps/libm-ieee754/w_j1l.c: Likewise.
* sysdeps/libm-ieee754/w_jn.c: Likewise.
* sysdeps/libm-ieee754/w_jnf.c: Likewise.
* sysdeps/libm-ieee754/w_jnl.c: Likewise.
* stdio-common.c: Correct typos.
* math/libm-test.c (jn_test): Adjust delta.
(y1_test): Likewise.
(yn_test): Likewise.
* elf/do-lookup.h: It should never happen that if we expect a versioned
symbol from a file the file has no version table. This should have
been checked in dl-version.c.
* elf/dl-lookup.c: Include assert.h.
1999-05-11 Ulrich Drepper <drepper@cygnus.com>
* elf/Versions (ld.so) [GLIBC_2.1.1]: Add _dl_lazy.
* elf/dl-open.c (_dl_open_worker): Only relocate newly loaded objects
lazily if LD_BIND_NOW is not set.
* elf/dl-support.c (_dl_lazy): New variable.
(non_dynamic_init): Set _dl_lazy according to LD_BIND_NOW envvar.
* elf/rtld.c (_dl_lazy): new global variable.
( dl_main): Remove lazy, replace it by _dl_lazy.
1999-05-06 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* locale/setlocale.c (new_composite_name): Check also whether the
first category name differs.
1999-05-11 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* sysdeps/unix/sysv/linux/ftime.c: Use the bsd implementation, not
the generic one.
1999-05-11 Philip Blundell <pb@nexus.co.uk>
* sysdeps/generic/bits/socket.h (struct sockaddr_storage): New
structure; storage suitable for any socket address.
* sysdeps/unix/sysv/linux/bits/socket.h (struct sockaddr_storage):
Likewise.
* sysdeps/unix/sysv/linux/mips/bits/socket.h (struct
sockaddr_storage): Likewise.
* inet/netinet/in.h: Use ULONG_MAX not ~0 to test for a 64-bit
platform.
* elf/link.h (struct link_map): New field l_phdr_allocated.
* elf/dl-load.c (_dl_map_object_from_fd): Don't depend on having
the program header being part of any loaded segment. If it is not
allocate memory and set l_phdr_allocated flag.
* elf/dl-close.c (_dl_close): Free l_phdr if necessary.
* Versions.def (ld.so): Add GLIBC_2.1.1.
* elf/Makefile (routines): Add dl-origin.
(tests): Add origtest. Add dependencies for the program.
* elf/Versions (ld.so) [GLIBC_2.1.1]: Add _dl_origin_path,
_dl_platformlen, _dl_dst_count and _dl_dst_substitute.
* elf/dl-deps.c (expand_dst): New macro. Expand DSTs in filename.
(_dl_map_object_deps): Use expand_dst to expand DSTs in DT_NEEDED,
DT_AUXILIARY, and DT_FILTER filenames.
* elf/dl-load.c (expand_dynamic_string_token): Explode into
two functions and three macros.
(_dl_dst_count, _dl_dst_substitute): New functions.
* elf/dl-dst.h: New file.
* elf/dl-open.c (_dl_open): Take extra parameter with address of
caller. Pass address in args structure.
(dl_open_worker): Recognize and expand DSTs in filename.
* elf/ldsodefs.h (_dl_open): Adapt prototype.
* elf/dlopen.c (dlopen_doit): Pass caller address to _dl_open.
(__dlopen_check): Pass caller address to dlopen_doit in args.
* elf/dlopendoit.c: Likewise.
* iconv/gconv_dl.c: Adapt call of _dl_open.
* nss/nsswitch.c: Likewise.
* elf/origtest.c: New file.
* sysdeps/generic/dl-origin.h: Moved to...
* sysdeps/generic/dl-origin.c: ...here.
* sysdeps/unix/sysv/linux/dl-origin.h: Moved to...
* sysdeps/unix/sysv/linux/dl-origin.c: ...here.
* elf/Makefile (trusted-dirs.st): Use gen-trusted-dirs.awk.
* elf/gen-trusted-dirs.awk: New file.
* elf/dl-load.c (systems_dirs): Moved into file scope. Initialize
from SYSTEM_DIRS macro.
(system_dirs_len): New variable. Contains lengths of system_dirs
strings.
(fillin_rpath): Rewrite for systems_dirs being a simple string.
Improve string comparisons. Change parameter trusted to be a flag.
Change all callers.
(_dt_init_paths): Improve using new format for system_dirs.
1999-05-02 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* sunrpc/Makefile: Generate dependencies for all flavors of
librpcsvc objects.
(rpcgen-cmd): Pass -Y flag here and remove it from the macro
invocations.
1999-05-02 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* elf/dlopenold.c: Move #if down after includes to get
dependencies right.
1999-05-01 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* sysdeps/generic/bzero.c: Undefine __bzero.
1999-04-12 Philip Blundell <philb@gnu.org>
* elf/elf.h: Update ARM definitions to match current gas2.
* sysdeps/arm/bits/endian.h: Support big endian operation.
* sysdeps/unix/sysv/linux/arm/ioperm.c (_outw, _outb, _outl):
Don't bother range checking the port number.
* sysdeps/unix/sysv/linux/arm/vfork.S: New file.
* sysdeps/unix/sysv/linux/arm/sysdep.h (INLINE_SYSCALL): Include
the syscall name in assembler output for ease of debugging.
* sysdeps/unix/sysv/linux/arm/sigaction.c: Don't rely on undefined
compiler behaviour.
* sysdeps/unix/sysv/linux/arm/sigrestorer.S: New file.
* sysdeps/unix/sysv/linux/arm/Makefile [$(subdir) = signal]
(sysdep_routines): Add sigrestorer.
* string/tester.c (test_strcpy): Add new tests for unaligned
arguments.
* sysdeps/arm/bits/string.h: Delete inline implementations of
strcpy and stpcpy.
1999-04-02 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* elf/Makefile (CFLAGS-multiload.c): Change to allow building in
the source directory. Fixes PR libc/1059.
* sysdeps/unix/sysv/linux/ttyname.c (ttyname): Terminate the string.
1999-03-29 Ulrich Drepper <drepper@cygnus.com>
* elf/rtld.c (process_envvars): Do not automatically prevent lazy
relocation for SUID binaries.
* misc/regexp.h (compile): Cast some pointers to (char *) to avoid
$(inst_slibdir)/$(rtld-installed-name), ldso_install): Disable
targets if not building shared libraries.
1999-03-22 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* elf/Makefile ($(inst_slibdir)/$(rtld-version-installed-name),
$(inst_slibdir)/$(rtld-installed-name), ldso_install): Disable
targets if not building shared libraries.
install-info. Remove autoconf bug workaround and require autoconf
2.13.
Mon Mar 22 15:48:06 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* configure.in: Also look in $PATH when searching for
install-info. Remove autoconf bug workaround and require autoconf
2.13.
1999-02-25 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* manual/libc.texinfo: Wrap @top node inside @ifnottex instead of
@ifinfo.
1999-02-25 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* iconvdata/Makefile: Always include iconv-rules, but disable rule
to regenerate it if avoid-generated.
* Makeconfig: Always include sys-dirs, but disable rule to
regenerate it when avoid-generated.
* sysdeps/unix/Makefile: Put `ifndef avoid-generated' only around
rule to generate sysd-syscalls.
* elf/Makefile (generated): Remove $(objpfx) from names.
1999-02-23 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* malloc/malloc.c (mALLOC_SET_STATe): Handle the case where a
non-checked heap is restored when malloc checking was requested by
the user.
(struct malloc_state): Add using_malloc_checking.
(MALLOC_STATE_VERSION): Increment minor.
(using_malloc_checking, disallow_malloc_check): New variables.
(__malloc_check_init): Use them.
(mALLOC_GET_STATe): Use mALLOc to allocate the malloc_state, so
that it can the chunk is properly instrumented when malloc
checking is enabled. Set the new using_malloc_checking field.
(malloc_hook_ini): Correct signature when _LIBC is not defined.
1999-02-23 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* sysdeps/unix/sysv/linux/i386/dl-librecon.h
(DISTINGUISH_LIB_VERSIONS): Don't relocate DT_STRTAB a second
time.
* elf/rtld.c (dl_main): Rename paths_initialized to rtld_is_main.
Don't call elf_get_dynamic_info and _dl_setup_hash a second time
if ld.so is the main program.
* stdio-common/vfprintf.c (vfprintf): If precision or width is too
* elf/dl-deps.c (_dl_map_object_deps): Don't add dummy objects created
for tracing to the scope lists.
* elf/do-lookup.h: Remove test for l_opencount == 0 after above change.
DT_SYMTAB is always available according to ELF spec.
* elf/dl-lookup.c (_dl_lookup_symbol_skip): Before first do_lookup
call test whether there is any scope left.
(_dl_lookup_versioned_symbol_skip): Likewise.
* elf/Makefile (distribute): Add do-lookup.h.
* elf/do-lookup.h: New file. Split out from dl-lookup.c.
* elf/dl-lookup.c: Move do_lookup function in separate file and
include the file twice, for handling versioning and without it.
* elf/dynamic-link.h (elf_get_dynamic_info): Take new argument with
load address. Relocate d_ptr in DT_DTRTAB, DT_SYMTAB, DT_RELA, DT_REL,
DT_JMPREL, DT_PLTGOT, and DT_VERSYM l_info entry.
(_ELF_DYNAMIC_DO_RELOC): Take extra argument which specifies whether
rel and rela relocations can both happen and skip one test if this
is not possible.
(ELF_DYNAMIC_DO_RELA, ELF_DYNAMIC_DO_REL): Call _ELF_DYNAMIC_DO_RELOC
appropriately.
* elf/dl-addr.c (_dl_addr): DT_SYMTAB and DT_STRTAB entries are
already relocated.
* elf/dl-deps.c (_dl_map_object_deps): DT_STRTAB entry is already
relocated.
* elf/dl-load.c (_dl_init_paths): DT_STRTAB entry is already relocated.
(_dl_map_object_from_fd): Call elf_get_dynamic_info with new argument.
(_dl_map_object): DT_STRTAB entry is already relocated.
* elf/dl-lookup.c (do_lookup): DT_STRTAB and DT_SYMTAB entries are
already relocated.
* elf/dl-reloc.c (_dl_relocate_object): DT_STRTAB entry is already
relocated.
* elf/dl-runtime.c (fixup): DT_SYMTAB, DT_STRTAB, DT_JMPREL, and
DT_VERSYM entries are already relocated.
(profile_fixup): Likewise.
* elf/dl-version.c: Rename VERSTAG macro into VERSYMIDX. Replace
all users.
(match_symbol): DT_STRTAB entry is already relocated.
(_dl_check_map_versions): Likewise. Also fo DT_VERSYM.
* elf/do-rel.h (elf_dynamic_do_rel): reladdr is now assumed to be
relocated already. DT_SYMTAB and DT_VERSYM entries are also relocated.
* elf/rtld.c (_dl_start): Pass extra argument to elf_get_dynamic_info.
(find_needed): DT_STRTAB entry is already relocated.
(dl_main): Pass extra argument to elf_get_dynamic_info.
DT_STRTAB entry is already relocated.
* sysdeps/alpha/dl-machine.h (elf_machine_fixup_plt): DT_JMPREL and
DT_PLTGOT entries are already relocated.
(elf_machine_rela): Likewise for DT_SYMTAB.
* sysdeps/arm/dl-machine.h (elf_machine_rel): DT_STRTAB is already
relocated.
* sysdeps/i386/dl-machine.h (elf_machine_rel): Likewise.
* sysdeps/m68k/dl-machine.h (elf_machine_rela): Likewise.
* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Likewise.
* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela): Likewise.
* sysdeps/powerpc/dl-machine.c (__process_machine_rela): Likewise.
* sysdeps/mips/dl-machine.h (elf_machine_got_rel): Likewise.
(elf_machine_got_rel): Likewise for DT_SYMTAB and DT_STRTAB.
* grp/initgroups.c (initgroups): If function in current module was
successful don't stop but continue to process to get all the groups.
1999-02-20 Ulrich Drepper <drepper@cygnus.com>
* elf/dynamic-link.h (elf_get_dynamic_info): Use memset instead of
loop to clear `info'.
* sysdeps/i386/i486/bits/string.h: If fill byte is constant let gcc
do the work and don't use inline assembler.
1999-02-19 Ulrich Drepper <drepper@cygnus.com>
* elf/ldsodefs.h (_dl_signal_error): Mark as __noreturn__.
* elf/dl-load.c (lose): Make it a function at the toplevel, mark as
noreturn, and prevent it from being inlined.
Define LOSE appropriately.
(_dl_map_object_from_fd): Compare all bytes in e_ident at once.
Optimize decoding of p_flags for certain platforms.
* elf/link.h (link_map): Add l_dev and l_ino.
* elf/dl-load.c (_dl_map_object_from_fd): Test dev/ino of newly
loaded shared object with all laoded objects. Initialize l_ino
and l_dev in case it's new.
* elf/rtld.c (dl_main): Explain situation is l_dev/l_ino with main
object.
* elf/Makefile: Compile and run new test.
* elf/multiload.c: New file.
* po/el.po: New file.
1999-02-07 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* elf/dl-load.c (_dl_map_object_from_fd): Replace magic constant
when processing DT_SYMBOLIC objects.
1999-02-07 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* elf/dl-load.c (_dl_map_object_from_fd): When looking for the
program headers without PT_PHDR only require that they are
contained within one of the loaded segments. Don't use assert,
since that would be a bug in the object, not the dynamic linker.
1999-02-08 Richard Henderson <rth@cygnus.com>
* sysdeps/alpha/dl-machine.h (TRAMPOLINE_TEMPLATE): Save and
restore all call-clobbered fp regs.
1999-02-08 Ulrich Drepper <drepper@cygnus.com>
1999-02-07 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-lookup.c: Increment _dl_num_relocations in the four entry
point functions, not do_lookup since the later can be called more
than once.
1999-02-06 Ulrich Drepper <drepper@cygnus.com>
* Versions.def: Add versions for ld.so.
* csu/Versions: Remove __libc_stack_end here.
* elf/Versions: Split libc definitions in libc and ld.so definitions.
* elf/Makefile (ld-map): Change to ld.so.map.
* scripts/versions.awk: Recognize dot in library names.
* ctype/ctype.h: Remove definitions of __tolower and __toupper.
Don't use __tolower and __toupper in inline functions.
Add optimizing macros for tolower and toupper.
* ctype/ctype-extn.c (_tolower): Don't use __tolower.
(_toupper): Don't use __toupper.
* ctype/ctype.c (tolower): Don't use __tolower.
(toupper): Don't use toupper.
* nscd/cache.c (prune_cache): Correct printing of debugging messages.
* resolv/Versions (libresolv): Export __ns_name_unpack and
__ns_name_ntop.
* resolv/res_comp.c: Rename ns_name_unpack to __ns_name_unpack and
make it global. Change all users. Similar for ns_name_ntop.
* resolv/nss_dns/dns-host.c: Don't use dn_expand when extracting in
user-provided buffer. Use __ns_name_unpack and __ns_name_ntop
directly to detect too small buffer.
* stdio-common/Makefile (tests): Add scanf12.
* stdio-common/scanf12.c: New file.
* stdio-common/scanf12.input: New file.
* stdio-common/vfscanf.c (__vfscanf): Handle +/- at beginning of
floating-point correctly if the number is invalid.
* stdio-common/vfscanf.c: Don't use non-reentrant multibyte conversion
* stdio-common/printf_fphex.c: Likewise.
* stdio-common/vfprintf.c: Likewise.
See ChangeLog.9 for earlier changes.
1999-02-03 Ulrich Drepper <drepper@cygnus.com>
* elf/dlsym.c (dlsym_doit): If no symbol for RTLD_NEXT is found
initialize ref element of args object so that dlsym does not dump
a core.
* elf/dlvsym.c (dlvsym_doit): Likewise.
* time/strptime.c (strptime_internal, case 's'): Initialize secs
to zero. Patch by Bruce Elliott <bde@nwlink.com>.
1999-01-27 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* elf/Makefile (extra-objs): Add test modules objects.
1999-01-27 Ulrich Drepper <drepper@cygnus.com>
1998-12-29 Geoff Keating <geoffk@ozemail.com.au>
* sunrpc/Versions: Include _authenticate, it's defined in a user
header (in fact, it's the whole contents of rpc/svc_auth.h).
1999-01-23 Ulrich Drepper <drepper@cygnus.com>
* io/ftw.c (process_entry): Initialize flag since not all gcc
versions are smart enough to see that this is no problem.
* elf/dl-open.c (_dl_init_paths): Check malloc result.
* csu/Versions: Add __frame_state_for.
1999-01-20 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* elf/Makefile: Make dependencies between test modules explicit.
(preloadtest-preloads): New variable.
($(objpfx)preloadtest.out): Use it.
(preloadtest-ENV): Use it.
1999-01-22 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* sysdeps/unix/sysv/linux/arm/Dist: Undo last change. Not needed.
* elf/Makefile: Add missing dependency for preloadtest binary.
1999-01-21 Ulrich Drepper <drepper@cygnus.com>
1999-01-21 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-close.c: Rewrite the way adding to the global scope works
to handle error cases better than the last change.
The l_global flag is now only set when the object is actually
counted in the global scope list.
* elf/dl-deps.c: Likewise.
* elf/dl-open.c: Likewise.
* elf/Makefile (tests): Add loadfail.
Add rules to build failobj.so.
* elf/loadfail.c: New file. Test of failing to load object with
RTLD_GLOBAL set.
* elf/failobj.c: New file. Object which will fail to load.
* elf/dl-close.c: Handle failed loads which would have gone in the
global scope correctly.
* elf/testobj1.c: Include stdlib.h to get NULL defined.
* elf/testobj2.c: Likewise.
* elf/testobj3.c: Likewise.
* elf/testobj4.c: Likewise.
* elf/testobj5.c: Likewise.
* iconvdata/sami-ws2.c: New file.
1999-01-18 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* sysdeps/unix/sysv/linux/Makefile ($(objpfx)syscall-%.d): Fix
generation of dependency list to make it work with newer versions
of gcc.
1999-01-18 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* Makerules (build-module): New macro, moved from...
* elf/Makefile (build-module): ... here.
* iconvdata/Makefile (build-module): ... and here.
1999-01-20 Ulrich Drepper <drepper@cygnus.com>
* elf/Makefile (tests): Add preloadtest. Add rules to build more test
modules and the preloadtest binary.
* elf/loadtest.c (TEST_ROUNDS): Increase to 1000.
(testobjs): Add more modules.
(tests): Add entries for new modules.
* elf/preloadtest.c: New file. Test for LD_PRELOAD.
* elf/testobj1.c: Add 'preload' function.
* elf/testobj2.c: Likewise.
* elf/testobj3.c: Likewise.
* elf/testobj4.c: New file.
* elf/testobj5.c: New file.
* elf/testobj6.c: New file.
* elf/restest1.c: New file. Symbol resolution test.
* elf/testobj1_1.c: New file. Module used in this test.
* elf/Makefile: Add rules for restest1 generation and execution.
1999-01-04 Ulrich Drepper <drepper@cygnus.com>
* catgets/gencat.c: Update year in copyright message text.
* db2/makedb.c: Likewise.
* debug/catchsegv.sh: Likewise.
* elf/ldd.bash.in: Likewise.
* iconv/iconv_prog.c: Likewise.
* locale/programs/locale.c: Likewise.
* locale/programs/localedef.c: Likewise.
* malloc/mtrace.pl: Likewise.
* nscd/nscd.c: Likewise.
1999-01-02 Philip Blundell <philb@gnu.org>
* sunrpc/Makefile: Ensure that we really use the right path for cpp.
1999-01-03 Philip Blundell <philb@gnu.org>
* Makefile (tests-clean): New test output files.
* Makerules (do-tests-clean): New rule to support the above.
* Rules (subdir_testclean): Likewise.
1999-01-03 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* iconv/Makefile: Use install-others instead of explicit
dependency on subdir_install.
1999-01-02 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* iconv/gconv_db.c (find_derivation): Release lock before
returning.
(__gconv_find_transform): Likewise.
1999-01-01 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* inet/ether_ntoa.c (ether_ntoa): Make `asc' static since that's
what we return.
1999-01-01 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* Makerules: Remove all references to obsolete variables
tests-static and test-srcs-static.
* Make-dist: Likewise.
* Rules: Likewise. Remove rules to generate obsolete
empty.{c,o*}.
1999-01-03 Philip Blundell <philb@gnu.org>
* sysdeps/unix/sysv/linux/arm/pread.c: Use the i386 implementation.
* sysdeps/unix/sysv/linux/arm/pread64.c: Likewise.
* sysdeps/unix/sysv/linux/arm/pwrite.c: Likewise.
* sysdeps/unix/sysv/linux/arm/pwrite64.c: Likewise.
1998-12-27 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-lookup.c (_dl_num_relocations): New variable.
(do_lookup): Increment _dl_num_relocations for every call.
* elf/rtld.c (print_statistics): New function.
(_dl_debug_statistics): New variable. Set when statistics are asked
for.
(rtld_total_time, relocate_time, load_time): New variables. Used
in print_statistics.
(_dl_start): Record start and end time of startup. Call
print_statistics if needed.
(dk_main): Record times for relocations and loading.
(process_dl_debug): Recognize statistics.
Low-level, low-overhead, high-precision timing funcationality.
* sysdeps/generic/hp-timing.h: New file.
* sysdeps/i386/i686/Makefile: New file.
* sysdeps/i386/i686/hp-timing.h: New file.
* sysdeps/i386/i686/hp-timing.c: New file.
* sysdeps/i386/dl-machine.h (elf_machine_rel): Reverse order of OR
clauses to avoid accessing global variables during rtld relocation.
* sunrpc/rpc_main.c: Unify messages.
* sysdeps/unix/sysv/linux/arm/Dist: Add ioperm.c and sys/io.h.
* elf/dl-lookup.c (do_lookup): If looking up an unversioned symbol
but the object file only contains versioned definitions than
accept the definition if there is exactly one even if the version
number is not the default version. This helps dlsym() to find
newly introduced symbols.
1998-12-02 Ulrich Drepper <drepper@cygnus.com>
* elf/elf.h: Add R_MIPS_JALR and adjust R_MIPS_NUM appropriately.
1998-12-02 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* inet/Versions: Remove inet6_isipv4mapped.
1998-12-02 Philip Blundell <pb@nexus.co.uk>
* inet/in6_addr.c (inet6_isipv4mapped): Obsolete, deleted.
1998-11-30 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* manual/time.texi (Formatting Date and Time): Fix typo.
1998-11-30 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* sysdeps/unix/sysv/linux/configure.in: Only check for symlinks
when configuring natively. Use autoconf macros instead of rolling
our own. Handle defaulted prefix.
1998-11-30 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* nscd/nscd_getpw_r.c: Include nscd_proto.h for prototypes.
* sysdeps/generic/errno-loc.c: Include <errno.h> for prototype,
undefine errno to get variable.
* sysdeps/unix/sysv/linux/i386/setfsuid.c: Include <sys/fsuid.h>
instead of <unistd.h> for prototype.
* sysdeps/unix/sysv/linux/i386/setfsgid.c: Likewise.
1998-11-30 Ulrich Drepper <drepper@cygnus.com>
* misc/err.h: Correct comments and use protected attribute keywords.
Reported by Joseph Myers <jsm28@cam.ac.uk>.
1998-11-29 Roland McGrath <roland@baalperazim.frob.com>
* malloc/thread-m.h [_LIBC]: Include <bits/libc-tsd.h>, and
remove tsd stuff from pthreads/cthreads libc sections.
Use __libc_tsd_define for MALLOC key.
[_LIBC] (tsd_key_t, tsd_key_create): Define to a zero-size type and a
no-op, respectively.
[_LIBC] (tsd_setspecific, tsd_getspecific): Use __libc_tsd_get/set.
* elf/dl-error.c: Include <bits/libc-tsd.h>.
Use __libc_tsd_define for DL_ERROR key.
(tsd_setspecific, tsd_getspecific): Rewritten using __libc_tsd_get/set.
* sysdeps/mach/hurd/bits/libc-tsd.h: New file.
* sysdeps/generic/bits/libc-tsd.h: New file.
* Makefile (distribute): Add bits/libc-tsd.h.
1998-10-12 Roland McGrath <roland@baalperazim.frob.com>
* elf/dl-error.c: Remove kludge to check for ld.so load address.
There is no need if weak undefined symbols are not used in ld.so;
see linuxthreads/ChangeLog for changes to files
linuxthreads/sysdeps/pthread/bits/libc-lock.h and
linuxthreads/sysdeps/pthread/bits/libc-tsd.h.
1998-11-30 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/i386/bits/string.h (__memset_cc): Fix typo (s->__s).
* sysdeps/i386/i486/bits/string.h: Add prototypes for all new
inline functions.
* sysdeps/i386/bits/string.h: Likewise.
1998-11-30 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/alpha/bits/ipc.h: Remove ipc_kludge.
1998-11-30 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* db2/progs/db_load/db_load.c (main): Avoid -Wparentheses warning.
1998-11-05 1998 H.J. Lu <hjl@gnu.org>
* libio/iofgets.c (_IO_fgets): Don't report error
if something was read in and errno is set to
EAGAIN.
* libio/iofgets_u.c (fgets_unlocked): Likewise.
1998-11-05 Philip Blundell <philb@gnu.org>
* sysdeps/unix/sysv/linux/net/if_packet.h: Don't include kernel
header; it defines too much. Provide a local definition of struct
sockaddr_pkt and a comment advising against its use.
1998-11-06 1998 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* extra-lib.mk: Avoid empty include list.
1998-11-04 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* extra-lib.mk: Add support for $(lib)-shared-only-routines.
* elf/Makefile (libdl-routines): Add dlopenold only if doing
versioning.
(libdl-shared-only-routines): New variable.
1998-11-06 Paul Eggert <eggert@twinsun.com>
Don't invoke localtime_r or gmtime_r unless it's the GNU C
library's localtime_r and gmtime_r; there are too many buggy
implementations of localtime_r and gmtime_r out there, and
it's not worth keeping track of all the different bugs.
* time/mktime.c (__EXTENSIONS__): Remove.
(<unistd.h>): No need to include.
* time/strftime.c: Likewise.
* time/mktime.c (_POSIX_THREAD_SAFE_FUNCTIONS, HAVE_LOCALTIME_R):
Remove.
(my_mktime_localtime_r): Renamed from localtime_r; all uses changed.
Base it on localtime unless _LIBC.
* time/strftime.c (my_strftime_gmtime_r): Renamed from gmtime_r;
all uses changed.
(my_strftime_localtime_r): Renamed from localtime_r; all uses changed.
Base them on localtime/gmtime if not _LIBC.
1998-11-07 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/generic/isastream.c: Always return 0 unless it is an invalid
file descriptor. This makes this function actually usable.
Proposed by Mark Kettenis <kettenis@phys.uva.nl>.
* elf/rtld.c: Add a few __builtin_expects where they will improve
a lot.
1998-11-05 Ulrich Drepper <drepper@cygnus.com>
1998-11-04 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* libio/genops.c (_IO_least_marker): Add additional parameter
end_p replacing fp->_IO_read_end.
(save_for_backup): Likewise. All callers changed. Use _IO_size_t
and _IO_ssize_t instead of int.
(_IO_switch_to_main_get_area): Remove use of _IO_save_ptr.
(_IO_switch_to_backup_area): Likewise. Fix comments.
(_IO_seekmark): Undo last change.
(_IO_default_pbackfail): Correct use of backup area.
* libio/libio.h (_IO_FILE_complete): Remove _IO_save_ptr.
1998-11-04 Ulrich Drepper <drepper@cygnus.com>
* misc/efgcvt_r.c (fcvt_r): Remove code which tries to use libm
functions. Reduce error in computing normalized value by multiplying
factor in loop and compute result in one step.
* elf/Makefile (libdl-routines): Add dlopenold.
* elf/Versions [libdl, GLIBC_2.1]: Add dlopen.
* elf/dl-open.c (_dl_open): Check whether RTLD_LAZY or RTLD_GLOBAL
is set and bounce otherwise.
* elf/dlopen.c: Rename function to __dlopen_check and make version
named dlopen.
* elf/dlopenold.c: New file.
1998-11-02 Ulrich Drepper <drepper@cygnus.com>
* elf/Versions [libc, GLIBC_2.01]: Add _dl_global_scope_alloc.
* elf/dl-open.c (_dl_global_scope_alloc): Move definition to
* elf/dl-deps.c: ...here.
* elf/dl-open.c (dl_open_worker): Call _dl_map_object_deps with
new parameter and expect result. Remove code handling RTLD_GLOBAL.
Add return value of _dl_map_object_deps to
_dl_main_searchlist->r_nlist.
* elf/dl-deps.c (_dl_map_object_deps): Change to return value.
If we parameter GLOBAL is nonzero add object and dependencies to
the global scope.
* elf/ldsodefs.h: Adapt prototype for _dl_map_object_deps.
* elf/rtld.c (dl_main): Call _dl_map_object_deps with new parameter.
Mark all objects as in global scope.
* elf/dl-object.c (_dl_new_object): Initialize l_global to zero.
* sysdeps/unix/sysv/linux/bits/sockunion.h: Add Econet support.
* sysdeps/unix/sysv/linux/i386/sysdep.h: Add .L prefix to symbols
used in macro magic.
1998-11-02 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/netatalk/at.h: Include <linux/atalk.h>
before <sys/socket.h> to make sockaddr_at available to
<sys/socket.h>.
* posix/glob.h: Remove __P from parameter lists of declarations.
1998-11-02 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* time/tzset.c (tz_compute): Remove unused parameter timer.
Change caller.
1998-11-02 Mark Kettenis <kettenis@phys.uva.nl>
* sysdeps/generic/bits/types.h (__ipc_pid_t): New typedef.
1998-11-02 Ulrich Drepper <drepper@cygnus.com>
1998-10-07 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-open.c (_dl_global_scope_alloc): Make global.
(dl_open_worker): Use realloc, not malloc to resize array.
* elf/rtld.c (_dl_initial_searchlist): New variable.
(_dl_main): Copy content of _dl_main_searchlist to
_dl_initial_searchlist.
* elf/ldsodefs.h: Add declarations for _dl_initial_searchlist and
_dl_global_scope_alloc.
* elf/Versions [libc, GLIBC_2.1]: Add _dl_initial_searchlist.
* elf/dl-close.c (_dl_close): When removing object with global
scope remove allocated searchlist if no dynamically loaded object
is on it anymore.
* elf/dl-support.c (_dl_initial_searchlist): Renamed from fake_scope.
(_dl_global_scope, _dl_main_searchlist): Use _dl_initial_searchlist.
* malloc/mtrace.c (tr_where): Don't print space in location string,
print it afterwards. Print better symbol name information.
1998-09-22 19:58 -0400 Zack Weinberg <zack@rabi.phys.columbia.edu>
* posix/execvp.c: Don't give up searching the PATH if execve
returns ENOTDIR.
1998-09-22 12:53 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/init-first.c (init): Don't call setfpucw only
if _dl_fpu_control_set is set.
* sysdeps/generic/dl-sysdep.c: Don't set _dl_fpu_control_set.
* elf/rtld.c: Don't define _dl_fpu_control_set.
* elf/Versions: Remove _dl_fpu_control_set.
1998-09-22 11:51 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/alpha/bits/sigaction.h (SA_ONSTACK): Define.
* sysdeps/unix/sysv/linux/sparc/bits/sigaction.h: Likewise.
* sysdeps/unix/sysv/linux/mips/bits/sigaction.h: Likewise.
Correct values of other SA_* macros according to kernel headers.
1998-09-22 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* elf/dl-load.c (_dl_init_paths): Avoid warning about unused
variable l.
* elf/dl-error.c (_dl_catch_error): Avoid warning about clobbering
old.
1998-09-21 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* elf/ldsodefs.h: Fix typo in comment.
1998-09-21 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* libio/genops.c (_IO_default_pbackfail): Add cast to unsigned
char when comparing buffer contents with putback character.
1998-09-21 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* elf/Makefile (dl-routines, elide-routines.os, rtld-routines):
Undo last change.
* elf/Versions: Undo last change. Export _dl_fpu_control and
_dl_fpu_control_set.
* elf/rtld.c (_dl_fpu_control, _dl_fpu_control_set): New
variables. Include <fpu_control.h>.
* sysdeps/generic/dl-sysdep.c: Store AT_FPUCW value in
_dl_fpu_control instead of __fpu_control, set _dl_fpu_control_set
to indicate that is was seen.
* sysdeps/unix/sysv/linux/init-first.c: Omit call to __setfpucw
only if _dl_fpu_control was set and is equal to desired value.
* math/Makefile (aux): Undo last change.
* math/Versions: Export __fpu_control with version GLIBC_2.0.
1998-09-14 11:26 Ulrich Drepper <drepper@cygnus.com>
* wcsmbs/wcsmbs-tst1.c: Include stdlib.h.
1998-09-14 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* libc-work/nis/nss_nisplus/nisplus-service.c
(_nss_nisplus_parse_servent): Convert port in network byte order.
1998-09-14 07:53 -0400 Zack Weinberg <zack@rabi.phys.columbia.edu>
* stdlib/stdlib.h: Add a switch, __need_malloc_and_calloc,
to provide only malloc and calloc.
* include/stdlib.h: Support the above.
* string/bits/string2.h: Use __need_malloc_and_calloc when
including stdlib.h.
(__string2_1bptr_p): Avoid -Wbad-function-cast warnings.
* iconvdata/iso-2022-jp.c: Include <stdlib.h>.
* iconvdata/iso646.c: Include <stdlib.h>.
1998-09-14 07:51 -0400 Zack Weinberg <zack@rabi.phys.columbia.edu>
* sunrpc/rpc_cout.c: Add braces around ambiguous else.
* sysdeps/libm-ieee754/w_pow.c: Likewise.
* sysdeps/libm-ieee754/w_powf.c: Likewise.
* sysdeps/libm-ieee754/w_powl.c: Likewise.
1998-09-14 07:57 -0400 Zack Weinberg <zack@rabi.phys.columbia.edu>
* stdio-common/stdio_lim.h.in: New file. All parameters
are adjustable at build time.
* Rules: Add a rule to build bits/stdio_lim.h from
stdio-common/stdio_lim.h.in. (It has to be in Rules so that
all subdirectories know how to make the file. It can't be
in Makerules because then it gets built at top level and the
dependencies are wrong.)
* stdio-common/Makefile (distribute): Add stdio_lim.h.in.
* sysdeps/unix/sysv/linux/Makefile: Delete rules to make
stdio_lim.h.
* sysdeps/unix/sysv/linux/stdio_lim.h.in: Removed.
* sysdeps/unix/sysv/linux/Dist: Take out stdio_lim.h.in.
* sysdeps/posix/Makefile: Removed.
* sysdeps/posix/mk-stdiolim.c: Removed.
* sysdeps/generic/bits/stdio_lim.h: Removed.
1998-09-12 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* argp/argp-help.c: Fixup indentation.
* nss/nss_files/files-alias.c: Quiet -Wparentheses warning.
* resolv/nss_dns/dns-network.c: Likewise.
* resolv/res_send.c: Likewise.
* rt/aio_cancel.c: Likewise.
* rt/aio_misc.c: Likewise.
1998-09-12 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile (install-symbolic-link): Remove the link list file at last.
* Makerules (install-clean-symbolic-link-list): Removed.
1998-09-12 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* timezone/tst-timezone.c: Print time in UTC to get consistent
output.
1998-09-12 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* elf/rtld.c (_dl_rpath): Removed.
* elf/dl-support.c (_dl_path): Removed.
* elf/Makefile ($(objpfx)ld.so): Don't pass -rpath.
(CFLAGS-dl-support.c): Removed.
* elf/dl-load.c (env_path_list): Renamed from fake_path_list. All
uses changed.
(_dl_init_paths): Always set env_path_list from LD_LIBRARY_PATH,
instead of appending it to the main map's rpath info.
(_dl_map_object): Consistently use LD_LIBRARY_PATH after all
DT_RPATHs. This makes it effective again.
(decompose_rpath): Remove second parameter, callers changed.
(fillin_rpath): Allocate enough space in curwd.
(expand_dynamic_string_token): Cope with get_origin returning -1.
1998-09-14 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* libc-work/nis/nss_compat/compat-pwd.c: Add support for
passwd.adjunct.
* nis/nss_nis/nis-pwd.c (_nss_nis_getpwent_r): Correct test for
invalid password.
1998-09-13 18:06 Ulrich Drepper <drepper@cygnus.com>
* locale/programs/locale.c: Update dates.
* time/strftime.c (my_strftime): Delay use of *tp values until
latest possible point to allow partly initialized structures
(e.g., from strptime).
* sysdeps/unix/sysv/linux/init-first.c [!PIC]: Define __libc_init_first
using init-first.h.
1998-04-30 18:20 H.J. Lu <hjl@gnu.org>
* elf/dl-load.c (_dl_init_paths): Don't check the dynamic
loader if PIC is not defined.
1998-09-11 Ulrich Drepper <drepper@cygnus.com>
1998-09-06 15:13 Ulrich Drepper <drepper@cygnus.com>
* elf/dlsym.c (dlsym_doit): Use new RTLD_DEFAULT macro to test
for use of global scope.
* elf/dlvsym.c (dlvsym_doit): Likewise.
1998-09-02 Paul Eggert <eggert@twinsun.com>
* strftime.c (my_strftime): When mbrlen returns (size_t) -2,
copy the redundant bytes at the end of the format as-is; don't
just copy their first byte and then rescan, as that might get
us an encoding error.
Account correctly for the length of multibyte sequences in the
format.
1998-09-03 20:14 Tim Waugh <tim@cyberelk.demon.co.uk>
* posix/wordexp-test.c: Add tests for different IFS values.
Change unquoted-newline test so that newline is not in IFS.
* posix/wordexp.c (wordexp): Correct null/unset mix-up when
determining IFS characters. Return WRDE_BADCHAR for unquoted
special characters _except_ if they are separators.
1998-09-06 10:56 Ulrich Drepper <drepper@cygnus.com>
* include/tgmath.h: New file.
* libio/stdio.h: Correct reversed #ifs.
Patch by Zack Weinberg.
* manual/creature.texi: Better explain reason for feature select
macros.
Patch by Michael Deutschmann <michael@talamasca.wkpowerlink.com>.
1998-09-06 10:25 -0400 Zack Weinberg <zack@rabi.phys.columbia.edu>
* include/alloca.h: Add multiple-inclusion guard.
* include/db.h: Likewise.
* include/db_185.h: Likewise.
* include/fcntl.h: Likewise.
* include/grp.h: Likewise.
* include/libintl.h: Likewise.
* include/mntent.h: Likewise.
* include/pwd.h: Likewise.
* include/sched.h: Likewise.
* include/search.h: Likewise.
* include/setjmp.h: Likewise.
* include/shadow.h: Likewise.
* include/signal.h: Likewise.
* include/stdio.h: Likewise.
* include/stdlib.h: Likewise.
* include/string.h: Likewise.
* include/termios.h: Likewise.
* include/time.h: Likewise.
* include/ulimit.h: Likewise.
* include/utmp.h: Likewise.
* include/wchar.h: Likewise.
* include/sys/file.h: Likewise.
* include/sys/gmon.h: Likewise.
* include/sys/ioctl.h: Likewise.
* include/sys/mman.h: Likewise.
* include/sys/resource.h: Likewise.
* include/sys/select.h: Likewise.
* include/sys/socket.h: Likewise.
* include/sys/statfs.h: Likewise.
* include/sys/time.h: Likewise.
* include/sys/times.h: Likewise.
* include/sys/wait.h: Likewise.
* include/dlfcn.h: Declare dladdr only for __USE_GNU.
Define RTLD_DEFAULT.