2001-08-26 Ulrich Drepper <drepper@redhat.com>
* config.h.in: Add HAVE_Z_COMBRELOC.
* configure.in: Add test for -z combreloc.
* sysdeps/i386/dl-machine.h (elf_machine_rel): Minor cleanups and
optimizations. Use HAVE_Z_COMBRELOC to avoid generaton of
R_386_RELATIVE handling for ld.so startup.
2001-07-06 Paul Eggert <eggert@twinsun.com>
* manual/argp.texi: Remove ignored LGPL copyright notice; it's
not appropriate for documentation anyway.
* manual/libc-texinfo.sh: "Library General Public License" ->
"Lesser General Public License".
2001-07-06 Andreas Jaeger <aj@suse.de>
* All files under GPL/LGPL version 2: Place under LGPL version
2.1.
2000-10-19 H.J. Lu <hjl@gnu.org>
* elf/Makefile (distribute): Add neededtest.c, neededobj1.c,
neededobj2.c and neededobj3.c.
(tests): Add neededtest.
(modules-names): Add neededobj1, neededobj2 and neededobj3.
($(objpfx)neededobj1.so): New target.
($(objpfx)neededobj2.so): Likewise.
($(objpfx)neededobj3.so): Likewise.
($(objpfx)neededtest): Likewise.
($(objpfx)neededtest.out): Likewise.
* elf/neededtest.c: New. Based on the bug report from
Allen Bauer <kylix_rd@hotmail.com>.
* elf/neededobj1.c: Likewise.
* elf/neededobj2.c: Likewise.
* elf/neededobj3.c: Likewise.
2000-10-20 Ulrich Drepper <drepper@redhat.com>
* elf/dl-close.c (_dl_close): Decrement reference counter for all
dependencies even if the DSO does not get unloaded.
* elf/dl-load.c (_dl_map_object_from_fd): Pass pointer to ELF header
to elf_machine_matches_host.
* sysdeps/alpha/dl-machine.h (elf_machine_matches_host): Parameter
is now pointer to ELF header.
* sysdeps/arm/dl-machine.h: Likewise.
* sysdeps/generic/dl-machine.h: Likewise.
* sysdeps/hppa/dl-machine.h: Likewise.
* sysdeps/i386/dl-machine.h: Likewise.
* sysdeps/ia64/dl-machine.h: Likewise.
* sysdeps/m68k/dl-machine.h: Likewise.
* sysdeps/mips/dl-machine.h: Likewise.
* sysdeps/mips/mips64/dl-machine.h: Likewise.
* sysdeps/powerpc/dl-machine.h: Likewise.
* sysdeps/s390/dl-machine.h: Likewise.
* sysdeps/sh/dl-machine.h: Likewise.
* sysdeps/sparc/sparc32/dl-machine.h: Likewise.
* sysdeps/sparc/sparc64/dl-machine.h: Likewise.
Patch by Martin Schwidefsksy <schwidefsky@de.ibm.com>.
2000-10-20 Jakub Jelinek <jakub@redhat.com>
* include/limits.h: Include bits/wordsize.h, use #if __WORDSIZE == 64
check instead of #ifdef __alpha__.
* include/bits/xopen_lim.h (WORD_BIT, LONG_BIT): Don't count on
INT_MAX, __INT_MAX__, LONG_MAX or __LONG_MAX__ being defined when
this is included.
* posix/wordexp-tst.sh (testout): Place output file in build
directory. Patch by Joseph S. Myers <jsm28@cam.ac.uk>.
(profile_fixup): Don't define for __BOUNDED_POINTERS__.
* sysdeps/i386/dl-machine.h: Don't use regparm attribute for
__BOUNDED_POINTERS__.
(ELF_MACHINE_RUNTIME_TRAMPOLINE): Use non-regparm version
for __BOUNDED_POINTERS__.
* iconv/gconv_trans.c: Add #include <stdlib.h> to get malloc decl.
* elf/dl-runtime.c (fixup): Trampoline passes unbounded pointer.
(profile_fixup): Don't define for __BOUNDED_POINTERS__.
* sysdeps/i386/dl-machine.h: Don't use regparm attribute for
__BOUNDED_POINTERS__.
(ELF_MACHINE_RUNTIME_TRAMPOLINE): Use non-regparm version
for __BOUNDED_POINTERS__.
2000-05-05 Ulrich Drepper <drepper@redhat.com>
* elf/dl-load.c (_dl_map_object_from_fd): Little of computation of
parameter to mprotect and for variable assignments.
2000-05-03 Jes Sorensen <jes@linuxcare.com>
* sysdeps/generic/ldsodefs.h (LOOKUP_VALUE_ADDRESS): Check the
validity of map before dereferencing it.
* elf/dl-reloc.c (RESOLVE_MAP): Define.
2000-05-02 Jes Sorensen <jes@linuxcare.com>
* elf/dl-runtime.c (fixup): Add the value returned in the symbol
lookup to the arguments to elf_machine_fixup_plt().
* sysdeps/ia64/dl-machine.h (elf_machine_fixup_plt): Add Link_map
of the symbol being resolved to input argument list and make the
function return the pointer to the reloc.
* sysdeps/alpha/dl-machine.h (elf_machine_fixup_plt): Change
return valuie to lookup_t and return the value.
* sysdeps/arm/dl-machine.h (elf_machine_fixup_plt): Likewise.
* sysdeps/generic/dl-machine.h (elf_machine_fixup_plt): Likewise.
* sysdeps/i386/dl-machine.h (elf_machine_fixup_plt): Likewise.
* sysdeps/m68k/dl-machine.h (elf_machine_fixup_plt): Likewise.
* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_fixup_plt): Likewise.
* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_fixup_plt): Likewise.
* sysdeps/powerpc/dl-machine.h (elf_machine_fixup_plt): Likewise.
Make it an inline function returning value after calling
__elf_machine_fixup_plt().
* elf/dl-sym.c (_dl_vsym): Use DL_SYMBOL_ADDRESS() to obtain the
symbol address.
* elf/dl-symbol.c (_dl_symbol_value): Use LOOKUP_VALUE_ADDRESS to
obtain the symbol address.
* sysdeps/generic/ldsodefs.h: Add generic DL_SYMBOL_ADDRESS() macro
depending on the definition of ELF_FUNCTION_PTR_IS_SPECIAL.
* sysdeps/ia64/dl-machine.h: Add DL_SYMBOL_ADDRESS() macro calling
_dl_symbol_address() - this way DL_SYMBOL_ADDRESS() turns into an
inline on non ia64.
2000-04-28 Jes Sorensen <jes@linuxcare.com>
* elf/dl-runtime.c (fixup): Use the portable macros to get the
symbol address of an object.
* elf/dl-runtime.c (fixup-profile): Use the portable macros to get
the symbol address of an object.
* elf/dl-libc.c (struct do_dlsym_args): Change loadbase to a lookup_t.
* elf/dl-lookup.c (_dl_lookup_symbol): Likewise.
(_dl_lookup_symbol_skip): Likewise.
(_dl_lookup_versioned_symbol): Likewise.
(_dl_lookup_versioned_symbol_skip): Likewise.
2000-04-27 Jes Sorensen <jes@linuxcare.com>
* elf/rtld.c (_dl_start): Get the function pointer return address
via _dl_start_address for architectures that need a function
pointer descriptor rather than just a pointer (ia64).
* sysdeps/generic/dl-lookupcfg.h: New file.
* sysdeps/ia64/dl-lookupcfg.h: New file.
* sysdeps/ia64/dl-machine.h: New file.
* sysdeps/ia64/dl-symaddr.c: New file.
* sysdeps/ia64/dl-fptr.c: New file.
* elf/elf.h: Add IA-64 specific definitions.
here, before we might move the stack.
(posixland_init): Set __libc_argc, __libc_argc, and __environ here.
(init1): And not here.
* sysdeps/i386/dl-machine.h (RTLD_START): Fix code broken by last
change, to restore argc value in call-clobbered register after
RTLD_START_SPECIAL_INIT, which will contain a call.
* elf/dl-deps.c (_dl_map_object_deps): Fix size calculations for
allocating and initializing L->l_initfini.
* resolv/Makefile (headers): Add bits/netdb.h, so it gets installed.
(init1): Don't initialize __environ here, since init already does it.
(first_init): New function, broken out of _init.
(_hurd_stack_setup): Use it.
[SHARED] (_dl_init_first): New function, renamed from old _init.
(init1) [SHARED]: Don't call posixland_init here.
(posixland_init): Take ENVP arg, so signature is usual for initializer.
[SHARED] (_init): Define as alias for posixland_init.
[! SHARED] (__libc_first_init): Define as alias for posixland_init.
* sysdeps/i386/dl-machine.h (RTLD_START): Insert the macro
RTLD_START_SPECIAL_INIT before calling initializers.
(RTLD_START_SPECIAL_INIT): Define to empty if undefined.
* sysdeps/mach/hurd/i386/dl-machine.h: New file.
* sysdeps/mach/hurd/dl-sysdep.c (_dl_init_first): New weak function.
* elf/Versions ({libc,ld.so}: GLIBC_2.2): Add _dl_init_first.
2000-03-31 Ulrich Drepper <drepper@redhat.com>
* sysdeps/i386/dl-machine.h (RTLD_START): Optimize for i686.
* elf/dl-support.c: Define _dl_starting_up.
* elf/dl-init.c (_dl_init): Clear _dl_starting_up at end of function.
* misc/sys/cdefs.h: Don't allow gcc in traditional mode to be used.
elements.
* elf/dl-init.c (_dl_init): Clear _dl_starting_up at end of
with size of dynamic sectionfunction.
* sysdeps/i386/dl-machine.h: Remove code to clear _dl_starting_up.
* misc/sys/cdefs.h: Don't allow gcc in traditional mode to be
with size of dynamic sectionused.
2000-03-30 Ulrich Drepper <drepper@redhat.com>
Implement dynamic determination of constructor/destructor order in
the dynamic linker.
* elf/Versions [ld.so] (GLIBC_2.0): Remove _dl_init_next.
(GLIBC_2.2): Add _dl_init.
* elf/dl-close.c: Also call all destructors in FINI_ARRAY.
r_duplist is not anymore allocated separately. l_initfini is and
therefore free it if necessary.
* elf/dl-deps.c: If a searchlist has to be allocated, put all in one
malloc block. Otherwise allocate l_initfini list only.
Put dependencies for the object in l_initfini list.
Sort dependencies for the object to be loaded topologically.
* elf/dl-fini.c: Before running the destructors sort the topologically.
* elf/dl-init.c (_dl_init): Renamed from _dl_init_next. Rewrite to
call constructors instead of iterating over the pointers. Get list of
objects for which to run constructors from l_initfini element. Accept
argc, argv, and env as parameters and pass them to the constructors.
* elf/ld-load.c (_dl_map_object_from_fd): Initialize l_ldnum member
with size of dynamic section.
* elf/dl-open.c (dl_open_worker): Only call _dl_init instead of
_dl_init_next and calling constructors ourself.
* elf/dl-preinit.c (_dl_preinit): Renamed from _dl_preinit_next.
Take argc, argv, and env as parameters and pass them to the
constructors. Rewrite to call all constructors and not iterate over
the pointers.
* elf/dynamic-link.h: Don't relocate DT_FINI_ARRAY entry. Don't
precompute l_initcount and l_preinitcount.
* elf/link.h (struct link_map): Add l_ldnum member.
Make l_phdr_allocated part of the bitfield. Remove l_runcount,
l_initcount, and l_preinitcount. Add l_initfini.
* sysdeps/generic/ldsodefs.h: Replace _dl_init_next prototype with
one for _dl_init.
* sysdeps/i386/dl-machine (RTLD_START): Rewrite to match new init
function interface.
* sysdeps/unix/sysv/linux/init-first.h: Removed.
* sysdeps/unix/sysv/linux/Dist: Delete file here as well.
* sysdeps/unix/sysv/linux/init-first.c [PIC]: Don't use
SYSDEP_CALL_INIT. Make _init a strong alias of init. The calling
conventions now match.
* sysdeps/generic/libc-start.c: Calling __libc_init_first has no
effect for shared objects. Don't emit message and call only for
static library.
* 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.
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.
1998-04-07 16:18 Ulrich Drepper <drepper@cygnus.com>
* libc.map: Add __asprintf to GLIBC_2.1.
* elf/dlerror.c: Use __asprintf, not asprintf.
* libio/stdio.h: Declare __asprintf.
* stdio-common/asprintf.c: Define as __asprintf and make asprintf
a weak alias.
* elf/dl-minimal.c: Add definition of strtol and strtoul (und friends)
to avoid inclusion from libc_pic.a.
* elf/dl-runtime.c: Undo last patch.
* stdlib/strtod.c: Don't use mbtowc, use btowc.
* sysdeps/i386/dl-machine.h (dl_platform_init): Don't use "i386"
as default, use NULL.
1998-03-06 17:04 Ulrich Drepper <drepper@cygnus.com>
* libc.map: Add _dl_debug_impcalls, _dl_debug_fd, _dl_sysdep_output,
__libc_start_main.
* csu/Makefile (routines): Add libc-start.
* elf/dl-error.c: Remove declaration of _dl_argv. Include <unitsd.h>.
* elf/dl-lookup.c: Likewise.
* elf/dl-version.c: Likewise.
* sysdeps/i386/dl-machine.h: Likewise.
* elf/link.h: Declare _dl_argv, _dl_debug_fd.
Declare _dl_sysdep_output. Make _dl_sysdep_fatal, _dl_sysdep_error and
_dl_sysdep_message macros which use _dl_sysdep_output.
* elf/dl-fini.c: Write out which destructor is called while debugging.
* elf/dl-init.c: Likewise for constructor.
* elf/dl-load.c: Use _dl_debug_message instead of _dl_sysdep_message.
* elf/dl-misc.c: Remove _dl_sysdep_fatal, _dl_sysdep_error and
_dl_sysdep_message. Add _dl_sysdep_output.
* elf/rtld.c: Recognize LD_DEBUG_OUTPUT. Set _dl_debug_fd if
this file can be opened.
For LD_DEBUG=libs also set _dl_debug_impcalls.
* sysdeps/generic/dl-cache.c: Include unistd.h.
* sysdeps/generic/libc-start.c: New file.
* sysdeps/i386/elf/start.S: Don't call main directly, call
* sysdeps/unix/sysv/linux/libc-start.c: New file.
__libc_start_main instead.
* elf/Makefile ($(objpfx)ld.so): Add $(load-map-file) as dependency.
1997-09-27 01:14 Ulrich Drepper <drepper@cygnus.com>
* Makeconfig (extra-objs): Depend in before-compile.
* configure.in: Locate Perl and substitute with complete path.
* config.make.in: Add PERL for substitution.
* elf/Makefile (routines): Add dl-addr.
* elf/dladdr.c: Move the real code into ...
* elf/dl-addr.c: New file.
* elf/link.h: Add prototype for _dl_addr.
* elf/dladdr.c (dladdr): Change address argument to be const.
* elf/dlfcn.h: Likewise.
* locale/C_name.c: Add _nl_POSIX_name.
* locale/localeinfo.h: Add declaration of _nl_POSIX_name.
* locale/findlocale.c (_nl_find_locale): Use _nl_POSIX_name.
(_nl_remove_locale): Free name of data set.
* locale/setlocale.c (clever_copy): Remove.
(new_composite_name): Use _nl_C_name and _nl_POSIX_name in compare.
(setname): Only remove old name when it is for category LC_ALL.
Change malloc, free, realloc, and memalign hooks for glibc to take
another parameter indicating the location of the caller.
* malloc/malloc.c: Change hook functions and variables.
* malloc/malloc.h: Likewise.
* malloc/mcheck.c: Likewise. Make sure later hooked function also
get the original caller address.
* malloc/mtrace.c: Likewise.
(tr_where): If no information in _mtrace_file is given use the
information about the caller.
* malloc/Makefile (distribute): Replace mtrace.awk by mtrace.pl.
Add rules to install mtrace.pl after rewriting.
* malloc/mtrace.pl: New file. Based on the old AWK script but
with extended functionality.
* malloc/mtrace.awk: Removed.
* po/fr.po: New version.
* string/Makefile: Do use builtins for tester.c and inl-tester.c.
* string/tester.c: Rewrite. Split in many small functions to not
exceed gcc's limits.
* sysdeps/unix/sysv/linux/syscalls.list: Add prctl.
1997-09-25 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* string/bits/string2.h (__stpcpy_small): Don't use casts as
lvalues.
1997-09-26 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* manual/time.texi (Formatting Date and Time): Clarify
explanation of strftime flags a bit.
Suggested by Robert Bihlmeyer <robbe@orcus.priv.at>.
1997-09-25 00:13 David S. Miller <davem@tanya.rutgers.edu>
* sysdeps/libm-ieee754/s_exp2f.c: Protect _GNU_SOURCE definition.
Fix typo, it is FLT_MANT_DIG.
1997-09-24 18:52 H.J. Lu <hjl@gnu.ai.mit.edu>
* math/atest-exp2.c: Include <stdlib/gmp.h> instead of <gmp.h>.
1997-08-27 08:10 H.J. Lu <hjl@gnu.ai.mit.edu>
* libio/libio.h, libio/libioP.h: Support libio in libstdc++.
* libio/libio.h (_IO_peekc): Defined as _IO_peekc_unlocked if
_IO_MTSAFE_IO is undefined.
1997-09-24 23:27 Richard Henderson <rth@cygnus.com>
* elf/dl-runtime.c (fixup): Don't go through elf_machine_relplt, but
lookup the value of the target symbol ourselves and call the new
elf_machine_fixup_plt. This kills the ELF_FIXUP_RETURN_VALUE hack.
(profile_fixup): Likewise, but don't fix up the plt.
* elf/rtld.c (_dl_main): ELF_MACHINE_RELOC_NOPLT renamed _JMP_SLOT.
* sysdeps/alpha/dl-machine.h (ELF_MACHINE_RELOC_NOPLT): Renamed.
(elf_alpha_fix_plt): Renamed elf_machine_fixup_plt.
* sysdeps/i386/dl-machine.h (elf_machine_relplt): Killed.
(ELF_MACHINE_JMP_SLOT): Renamed.
(elf_machine_fixup_plt): New function.
* sysdeps/m68k/dl-machine.h: Likewise.
* sysdeps/powerpc/dl-machine.h: Likewise.
(elf_machine_rela): Moved JMP_SLOT fixup out to elf_machine_fixup_plt.
* sysdeps/sparc/sparc32/dl-machine.h: Likewise.
* sysdeps/sparc/sparc64/dl-machine.h: Likewise.
* sysdeps/stub/dl-machine.h: Update, sorta.
* sysdeps/alpha/dl-machine.h (elf_machine_runtime_setup): Do profiling.
(TRAMPOLINE_TEMPLATE): From the carcas of _RUNTIME_TRAMPOLINE, do
both normal and profile code.
(elf_machine_rela): Handle r_addend for .got and .plt too.
1997-09-25 00:23 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-profile.c: Correct implementation.
* io/ftwtest-sh: Don't depend on TMPDIR == /tmp.
* locale/setlocale.c: Rewrite a bit for more clarity.
* math/Makefile (libm-calls): Add w_exp2.
* math/math_private.h: Add prototypes for __ieee754_exp2{,f,l}.
* sysdeps/libm-i387/s_exp2.S: Change name to __ieee754_exp2.
* sysdeps/libm-i387/s_exp2f.S: Likewise.
* sysdeps/libm-i387/s_exp2l.S: Likewise.
* sysdeps/libm-ieee754/k_standard.c: Add error cases for exp2.
* string/bits/string2.h (__strcpy_small): Optimize.
(__stpcpy_small): Likewise.
(strncpy): Use variable for dest argument since it's used more than
once.
(strncat): Likewise.
(strcmp): Add optimization for this function.
* sysdeps/i386/i486/string.h (strlen): Correctly use __builtin_strlen.
(__strcpy_small): Optimize.
(__stpcpy_small): Likewise.
(__stpcpy_c): Correctly use __mempcpy_* macros.
(__mempcpy_by2, __mempcpy_by4, __mempcpy_byn): Return pointer to
byte following last copied.
(strncat): Use variable for dest argument since it's used more than
once.
(strcmp): Add optimization for this function.
* sysdeps/i386/dl-machine.h (ELF_MACHINE_RUNTIME_TRAMPOLINE): Use
.text and .previous to select correct section.
1997-09-23 19:56 Philip Blundell <Philip.Blundell@pobox.com>
* configure.in: Add `--disable-versioning' option to suppress the
use of symbol versions even if binutils claims to support it.
1997-09-24 20:10 Philip Blundell <Philip.Blundell@pobox.com>
* csu/Makefile (before-compile): Don't try to build abi-tags.h if
not using ELF.
1997-09-21 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* elf/sofini.c [HAVE_DWARF2_UNWIND_INFO]: Supply termination for
the frame unwind info section.
* elf/soinit.c [HAVE_DWARF2_UNWIND_INFO]: Register and unregister
the frame unwind info.
* config.h.in (HAVE_DWARF2_UNWIND_INFO): Add #undef.
* configure.in: Check whether gcc supports DWARF2 unwind info.
* libc.map: Export frame handling tables.
1997-09-10 06:56 Geoff Keating <geoffk@ozemail.com.au>
* sysdeps/unix/sysv/linux/powerpc/bits/kernel_termios.h:
Use the size of the kernel's termios structure for ioctls.
* sysdeps/powerpc/dl-machine.h: Prepare for library profiling.
* sysdeps/powerpc/bits/mathinline.h: Add slightly slower versions
of the C9X FP comparison macros. Delete 'fabs' and 'sqrt' inline
routines, because gcc has them as internals.
* sysdeps/powerpc/Makefile (pic-ccflags): Define this instead of
CFLAGS-.os.
* sysdeps/powerpc/bzero.S: New file.
* sysdeps/powerpc/strcat.c: New file.
* sysdeps/powerpc/strcpy.S: New file.
* sysdeps/powerpc/stpcpy.S: New file.
* math/Makefile: Add atest_exp2, test-reduce.
* math/atest_exp2.c: New file.
* math/test-reduce.c: New file.
* sysdeps/libm-ieee754/Dist: New file.
* sysdeps/libm-ieee754/s_exp2.c: New file.
* sysdeps/libm-ieee754/s_exp2f.c: New file.
* sysdeps/libm-ieee754/t_exp2.h: New file.
* sysdeps/libm-ieee754/t_exp2f.h: New file.
* math/libm-test.c (exp2_test): Add some more tests.
* Rules: Use empty.os instead of empty.o, since it gets linked into
libc.so...
* configure.in: Add --disable-static to disable building .a files.
* config.make.in: Substitute the new variable.
* Makeconfig: Don't build .o files if not building .a files.
* elf/dl-runtime.c (fixup): Factor out call to elf_machine_relplt.
(profile_fixup): Likewise.
1997-09-23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* posix/globtest.c (main): Change to directory passed as first
argument.
* posix/globtest.sh: Don't cd before running the program, instead
pass testdir as argument, so that $common_objpfx remains valid.
1997-09-23 18:01 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* nis/nis_call.c (__do_niscall2): Fix multiple Server support.
* nis/nis_findserver.c: Save latest working sockaddr_in.
1997-09-17 22:07 Zack Weinberg <zack@rabi.phys.columbia.edu>
* configure.in: Automatically determine whether as and ld are the
GNU versions.
(options): --with-gnu-{as,ld,binutils} replaced by
single option --with-binutils=PATH specifying a -B option to gcc.
* aclocal.m4: Two new macros defined, LIBC_PROG_FOO_GNU and
LIBC_PROG_BINUTILS.
* configure.in: Allow the user to force configuration for
unsupported platforms with an undocumented option.
1997-09-22 16:55 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* sunrpc/get_myaddr.c (get_myaddress): Avoid loopback interfaces,
return loopback address only if there is no other interface.
* nis/Makefile: Add nis_callback libnsl-routines.
* nis/nis_add.c: Use new __do_niscall* interface.
* nis/nis_cache.c: Likewise.
* nis/nis_checkpoint.c: Likewise.
* nis/nis_lookup.c: Likewise.
* nis/nis_mkdir.c: Likewise.
* nis/nis_modify.c: Likewise.
* nis/nis_ping.c: Likewise.
* nis/nis_remove.c: Likewise.
* nis/nis_rmdir.c: Likewise.
* nis/nis_server.c: Likewise.
* nis/nis_util.c: Likewise.
* nis/rpcsvc/nis.h: Make C++ safe.
* nis/nss_nisplus/nisplus-publickey.c (getsecretkey): Fix use
of variables.
* nis/nis_findserv.c: Make thread safe.
* nis/nis_call.c: Add support for callback, Fix use of variables.
* nis/nis_table.c: Add support for callback, FOLLOW_PATH and
ALL_RESULTS.
* nis/nis_callback.c: New, callback functions.
* nis/nis_intern.h: Add callback declarations.
1997-09-20 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* string/bits/string2.h: Fix logic in preprocessor directive.
(__strsep_1c, __strsep_g): Don't declare __retval as pointing to
const, to save a cast and a possible warning.
1997-09-22 04:12 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/i386/i486/atomicity.h (exchange_and_add): Really address
memory in xadd not %1.
1997-09-21 13:56 Ulrich Drepper <drepper@cygnus.com>
* manual/maint.texi (Supported Configurations): Add SPARC64 to
list of supported platforms.
1997-08-24 12:24 Ulrich Drepper <drepper@cygnus.com>
* configure.in (INSTALL): Quote `$'.
* libc.map: Add __xpg_basename.
* csu/Makefile (initfini.s): Disable optimization.
* elf/dl-deps.c: Implement handling of DL_FILTER.
* elf/dl-load.c (_dl_init_paths): Add error check.
* intl/finddomain.c (_nl_find_domain): Correct comment.
* intl/localealias.c: Include <bits/libc-lock.h> not <libc-lock.h>.
* libio/stdio.h: Make {,v}snprintf available if __USE_BSD.
Change extern inline functions to work correctly in C++.
* locale/iso-4217.def: Update for more recent ISO 4217 version.
* locale/loadlocale.c (_nl_load_locale): Add cast.
* manual/message.texi: Finish gettext section.
* posix/getopt_init.c: Don't use relative #include path.
(__getopt_clean_environment): Change function to take pointer to
environment as argument. Optimize generation of test string a bit.
* sysdeps/unix/sysv/linux/init-first.c: Call __getopt_clean_environment
with additional argument.
* poisx/glob.c: Add prototype for next_brace_sub.
* sysdeps/generic/dl-sysdep.c: Recognize AT_BASE value on auxiliary
vector.
* sysdeps/i386/dl-machine.h (elf_machine_load_address): Rewrite
to not generate relocation entry. Suggested by Richard Henderson.
(ELF_MACHINE_BEFORE_RTLD_RELOC): Removed.
(elf_machine_runtime_setup): Add .aligns.
* sysdeps/i386/fpu/fraiseexcpt.c: Add volatile to asms.
* sysdeps/i386/fpu/bits/mathinline.h: Partially undo change of
1997-08-14 03:14. gcc 2.7.2* is really broken in some aspects.
* sysdeps/standalone/i386/i386.h: Clean up asm statements a bit.
* sysdeps/standalone/i960/i960ca.h: Likewise.
1997-08-22 19:04 Richard Henderson <rth@cygnus.com>
* elf/rtld.c (_dl_start): Init _dl_rtld_map.l_opencount due to
undocumented test addition in _dl_map_object.
Support ET_EXEC versions of ld.so, for debugging at least:
* elf/dl-load.c (_dl_map_object): Add_name_to_object could get
called despite the DT_SONAME != NULL test, segfaulting. Simplify
the code here as well.
* elf/dl-lookup.c (do_lookup): Skip objects with no symtab.
(_dl_setup_hash): Likewise for hash tables.
* elf/dl-version.c (_dl_check_map_versions): Likewise for strtabs.
* elf/rtld.c (_dl_start): Likewise for rpath.
(_dl_rtld_libname2): New variable.
(dl_main): Use it to add an soname for ourselves when we don't have
one of our own. Base it on the target's .interp.
(dl_main): Again, skip printing of objects that don't have strtabs.
Sparc 32 merge:
* elf/dl-runtime.c (ELF_FIXUP_RETURN_VALUE): Provide default value.
(fixup): Simplify code. Use ELF_FIXUP_RETURN_VALUE.
(profile_fixup): Likewise, though this still needs fixing for
Sparc32 and PPC.
* sysdeps/powerpc/dl-machine.h: Transmute ELF_FIXUP_RETURNS_ADDRESS
to ELF_FIXUP_RETURN_VALUE.
* sysdeps/sparc/sparc32/dl-machine.h: Implement lazy relocation.
Fix up _dl_start_user to handle _dl_skip_args properly.
Use _dl_hwcap to determine if "flush" is available/needed.
* sysdeps/sparc/configure.in: Remove. It doesn't actually do
anything anymore, and what it did do is done somewhere else.
* sysdeps/sparc/configure: Likewise.
* sysdeps/sparc/fpu/bits/mathdef.h (FP_ILOGB0, FP_ILOGBNAN): New.
* sysdeps/sparc/fpu/fraiseexcpt.c: Rearrange for smaller code.
* sysdeps/sparc/sparc32/Makefile: Fix sparc->sparc/sparc32 bits
in divrem expansions.
* sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h (END, LOC): New
definitions for assembly syntax differences.
* sysdeps/sparc/sparc32/__longjmp.S: %g6,%g7 are reserved to the
"system". Use %g2,%g3 instead. Use new local label macro.
* sysdeps/sparc/sparc32/add_n.S: Use <sysdep.h> and ENTRY, END,
and LOC for proper assembly headers/footers.
* sysdeps/sparc/sparc32/addmul_1.S: Likewise.
* sysdeps/sparc/sparc32/alloca.S: Likewise.
* sysdeps/sparc/sparc32/dotmul.S: Likewise.
* sysdeps/sparc/sparc32/lshift.S: Likewise.
* sysdeps/sparc/sparc32/mul_1.S: Likewise.
* sysdeps/sparc/sparc32/rshift.S: Likewise.
* sysdeps/sparc/sparc32/sparcv8/addmul_1.S: Likewise.
* sysdeps/sparc/sparc32/sparcv8/mul_1.S: Likewise.
* sysdeps/sparc/sparc32/sparcv8/submul_1.S: Likewise.
* sysdeps/sparc/sparc32/sparcv8/udiv_qrnnd.S: Likewise.
* sysdeps/sparc/sparc32/sub_n.S: Likewise.
* sysdeps/sparc/sparc32/submul_1.S: Likewise.
* sysdeps/sparc/sparc32/udiv_qrnnd.S: Likewise.
* sysdeps/sparc/sparc32/umul.S: Likewise.
* sysdeps/sparc/sparc32/divrem.m4: Likewise.
* sysdeps/sparc/sparc32/rem.S: Regenerate.
* sysdeps/sparc/sparc32/sdiv.S: Regenerate.
* sysdeps/sparc/sparc32/udiv.S: Regenerate.
* sysdeps/sparc/sparc32/urem.S: Regenerate.
* sysdeps/sparc/sparc32/sparcv8/dotmul.S: New file.
* sysdeps/sparc/sparc32/sparcv8/rem.S: New file.
* sysdeps/sparc/sparc32/sparcv8/sdiv.S: New file.
* sysdeps/sparc/sparc32/sparcv8/udiv.S: New file.
* sysdeps/sparc/sparc32/sparcv8/umul.S: New file.
* sysdeps/sparc/sparc32/sparcv8/urem.S: New file.
* sysdeps/sparc/sparc32/bsd-_setjmp.S: Dike out.
* sysdeps/sparc/sparc32/bsd-setjmp.S: Likewise.
* sysdeps/sparc/sparc32/setjmp.S: Add _setjmp and setjmp entry points.
* sysdeps/unix/sysv/linux/sparc/sparc32/__sigtrampoline.S:
Clean up PIC code.
* sysdeps/sparc/sparc32/elf/start.S: New file, slightly modified
from the sparc64 version.
* sysdeps/sparc/sparc32/elf/start.c: Removed.
* sysdeps/unix/sysv/linux/sparc/sparc32/init-first.h: Rewrite in
assembly based on the sparc64 version.
* sysdeps/sparc/sparc32/fpu/bits/fenv.h: Duh. Use proper syntax
for manipulating %fsr.
* sysdeps/sparc/sparc32/fpu/fpu_control.h: Make IEEE conformance
be the default.
* elf/elf.h (HWCAP_SPARC_*): New definitions.
* elf/rtld.c (_dl_hwcap): New variable.
* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Record AT_HWCAP.
* sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize.c: New file.
Attempt to get hold of the page size based on what we might have
been told at startup time in _dl_pagesize. This will be obsolete
when I finish the kernel hooks for a proper sysconf(), stay tuned.
Sparc 64 merge:
* sysdeps/sparc/sparc64/dl-machine.h (ELF_FIXUP_RETURN_VALUE): New.
Figure out the right thing to return based on the .plt format.
* sysdeps/sparc/sparc64/fpu/fpu_control.h: Update comment.
* sysdeps/unix/sysv/linux/sparc/sparc64/bits/types.h (__dev_t):
Should have been 64-bits wide.
* sysdeps/unix/sysv/linux/sparc/sparc64/init-first.h: sll->sllx,
optimize for branch delay slot usage.
1997-08-22 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* csu/Makefile ($(objpfx)crt%.o): Fix a missing *.so -> *.os
change.
1997-08-20 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* math/libm-test.c (identities): Change epsilon.
* sysdeps/i386/fpu/bits/mathinline.h: Correct arguments to fabs,
fabsf, fabsl, __fabsl.
* sysdeps/libm-i387/e_remainderl.S: Pop extra value from FPU stack.
* sysdeps/libm-ieee754/s_csinhl.c: Include <fenv.h>.
1997-07-28 23:35 Ulrich Drepper <drepper@cygnus.com>
* csu/gmon-start.c (__gmon_start__): Call __monstartup not
monstartup.
* gmon/gmon.c: Rename moncontrol to __moncontrol and monstartup
to __monstartup.
* gmon/sys/gmon.h: Fix prototypes.
* gmon/sys/gmon_out.h: Pretty print.
* gmon/bb_exit_func.c (__bb_exit_func): Use memcpy instead of bcopy.
* gmon/gmon.c (__monstartup): Likewise.
(write_hist): Remove dependency on 32 int.
(_mcleanup): Don't call perror, use fprintf.
* elf/dl-load.c: Fix handling of current directory in search path.
* elf/Makefile (dl-routines): Add dl-profile.
* elf/dl-profile.c: New file.
* elf/dl-runtime.c (fixup): Add new parameter with address to store
relocation result in to elf_machine_relplt.
(profile_fixup): New function.
* elf/do-rel.h (elf_dynamic_do_rel): Add new parameter with address
to store relocation result in to elf_machine_relplt.
* elf/dl-support.c: Define _dl_profile and _dl_profile_map.
* elf/dynamic-link.h (ELF_DYNAMIC_RELOCATE): Add new parameter and
call elf_machine_runtime_setup with extra argument.
* elf/dl-reloc.c (_dl_relocate_object): Add new argument to
ELF_DYNAMIC_RELOCATE.
* elf/link.h: Add prototypes for new functions and variables.
* elf/rtld.c: Parse LD_PROFILE and LD_PROFILE_OUTPUT environment
variables and call _dl_start_profile if necessary.
* include/sys/gmon_out.h: New file.
* sysdeps/alpha/dl-machine.h (elf_machine_runtime_setup): Add
new parameter to enable profiling.
(elf_machine_rela): Add new parameter to specify place to store
result in.
* sysdeps/m68k/dl-machine.h: Likewise.
* sysdeps/mips/dl-machine.h: Likewise.
* sysdeps/mips/mips64/dl-machine.h: Likewise.
* sysdeps/powerpc/dl-machine.h: Likewise.
* sysdeps/sparc/dl-machine.h: Likewise.
* sysdeps/sparc64/dl-machine.h: Likewise.
* sysdeps/i386/dl-machine.h: Likewise.
(elf_machine_runtime_setup): Setup got[2] to _dl_runtime_resolve if
we do profiling.
(ELF_MACHINE_RUNTIME_TRAMPOLINE): Add code for _dl_runtime_profile.
* nis/nss_compat/compat-grp.c (internal_setgrent): Set FD_CLOEXEC
for stream on input file.
* nis/nss_compat/compat-pwd.c (internal_setpwent): Likewise.
* nis/nss_compat/compat-spwd.c (internal_setspent): Likewise.
* nss/nss_db/db-XXX.c (internal_setent): Likewise.
* nss/nss_db/db-alias.c (internal_setent): Likewise.
* nss/nss_db/db-netgrp.c (internal_setent): Likewise.
* nss/nss_files/files-XXX.c (internal_setent): Likewise.
* nss/nss_files/files-alias.c (internal_setent): Likewise.
* nss/nss_files/files-netgrp.c (internal_setent): Likewise.
* string/string.h: Pretty print.
* sysdeps/i386/fpu/bits/mathinline.h: Major update by John Bowman.
Add float and long double versions.
1997-07-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* elf/rtld.c (print_unresolved): Replace empty object name by main
program name.
1997-07-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/generic/htons.c (htons): Renamed from __htons.
1997-07-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/bits/byteswap.h: New file.
1997-07-27 23:50 Philip Blundell <Philip.Blundell@pobox.com>
* inet/netinet/icmp6.h: Update for new drafts of POSIX.1g and IPv6
advanced API.
* inet/netinet/in.h: Likewise.
* inet/netinet/ip6.h: Likewise.
* sysdeps/unix/sysv/linux/bits/socket.h: Likewise.
* posix/sys/types.h: Add socklen_t.
* manual/socket.texi: Document some more IPv6 things.
* manual/libc.texinfo: Likewise.
1997-07-26 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* libc.map: Define missing symbol.
1997-07-27 14:31 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* nis/Makefile: Add nis_findserv.
* nis/lckcache.c: Fix typo.
* nis/nis_call.c: Fix problems with multihomed servers.
* nis/nis_findserv.c: New file.
* nis/nis_intern.h: Add more prototypes.
* nis/nis_lookup.c (nis_lookup): Don't try the next server if network
is unreachable.
* nis/nis_table.c (nis_list): Likewise.
* nis/nis_ping.c (nis_ping): Use MASTER_ONLY, don't call abort()
in error case.
* nis/nis_util.c (__nis_finddirectory): Give the right error code
back.
* nis/ypclnt.c: Make sure, that all sockets are closed.
1997-07-26 04:14 Ulrich Drepper <drepper@cygnus.com>
* elf/Makefile (distribute): Add genrtldtbl.awk.
(before-compile): Add rtldtbl.h.
(GAWK): New variable.
(generated): Add trusted-dirs.h and rtldtbl.h.
($(objpfx)rtldtbl.h): New rule. File is needed by dl-load.c.
* elf/dl-load.c: Rewrite. Now use cache and look for shared
objects in machine dependent directories.
* elf/dl-object.c (_dl_new_object): Initialize l_rpath_dirs member.
* elf/dl-support.c: Rename function to non_dynamic_init and add
initialization for _dl_platform, _dl_platformlen, _dl_pagesize
and call to initializer for search path.
* elf/elf.h: Add AT_PLATFORM and AT_HWCAP.
* elf/genrtldtbl.awk: New file.
* elf/link.h: Add type definitions and declarations for search
path cache.
* elf/rtld.c: Add definitions of variables used for search path cache.
* sysdeps/generic/dl-sysdep.c: Let auxiliary vector initialize
_dl_platform. Initialize _dl_pagesize early and use this value.
* sysdeps/i386/dl-machine.h: Add code for _dl_platform handling.
* sysdeps/mach/hurd/dl-sysdep.c: Initialize _dl_pagesize.
* sysdeps/unix/sysv/linux/dl-sysdep.c: Use _dl_pagesize instead
of calling getpagesize.
* elf/dl-error.c (_dl_signal_error): Make message nicer.
* nss/libnss_files.map: Fix typo.
Reported by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>.
* sysdeps/generic/strsep.c: Optimize case where separator set contains
only one character.
* sysdeps/libm-ieee754/s_ccosh.c: Correct sign of result for real
== +-Inf.
* sysdeps/libm-ieee754/s_ccoshf.c: Likewise.
* sysdeps/libm-ieee754/s_ccoshl.c: Likewise.
1997-07-25 09:15 H.J. Lu <hjl@gnu.ai.mit.edu>
* sysdeps/sparc/udiv_qrnnd.S: Check PIC instead of __PIC__.
* sysdeps/unix/sysv/linux/sparc/__sigtrampoline.S: Likewise.
* sysdeps/unix/mips/sysdep.S: Likewise.
* sysdeps/unix/sysv/linux/mips/clone.S: Likewise.
* sysdeps/mips/bsd-_setjmp.S: Remove __PIC__ comment.
* sysdeps/mips/bsd-setjmp.S: Likewise.
* sysdeps/mips/dl-machine.h: Remove extra stuff.
* sysdeps/mips/mips64/dl-machine.h: Likewise.
1997-07-25 18:55 Philip Blundell <Philip.Blundell@pobox.com>
* sysdeps/standalone/arm/sysdep.c: New file.
1997-07-25 13:25 Philip Blundell <Philip.Blundell@pobox.com>
* aout/Makefile: New file.
* Makeconfig (binfmt-subdir): Assume a.out when not ELF.
* sysdeps/generic/machine-gmon.h: Add warning about limitations of
__builtin_return_address().
* sysdeps/arm/machine-gmon.h: New file, use assembly to avoid
above problem.
1997-07-25 16:24 H.J. Lu <hjl@gnu.ai.mit.edu>
* elf/dl-deps.c (_dl_map_object_deps): Fix a typo.
1997-07-22 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/libm-test.c (ccos_test, ccosh_test): Fix sign in some
tests.
1997-07-24 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sunrpc/clnt_udp.c (clntudp_call): Rename cu_wait from timeout to
not shadow the variable in the outer scope.
<1997-06-12 21:22 Ulrich Drepper <drepper@cygnus.com>
* Makefile (libc-map): Define before including Makerules.
* Makerules (lib%.so): Depend on $(lib%-map).
(build-shlib): Adapt rule for above change.
(libc.so): Depend on $(libc-map).
* db/Makefile (libcdb-map): New definition.
* elf/Makefile (libdl-map): New definition.
* elf/dl-lookup.c: Don't use relative include path.
(undefined_msg): New variable. Use single string in all functions.
(do_lookup): Correctly recognize default version.
Return -2 if no version information is available.
Stop processing hash entries when string was found.
Don't bark about missing versioned symbol in file with original
reference if it is a weak symbol.
(_dl_lookup_symbol): Use undefined_msg.
(_dl_lookup_versioned_symbol): Likewise.
Give extra information if no verdef info is available.
* elf/dl-version.c (file_needed): Remove first argument. We must
seek in the whole search list.
(match_symbol): Correct check for available verdef info.
(_dl_check_map_versions): Correct call of find_needed.
* locale/Makefile (libBrokenLocale-map): New definition.
* login/Makefile (libutil-map): New definition.
* math/Makefile (libm-map): New definition.
* md5-crypt/Makefile (libcrypt-map): New definition.
* nis/Makefile (libnsl-map, libnss_compat-map, libnss_nis-map,
libnss_nisplus-map): New definition.
* nss/Makefile (libnss_files-map, libnss_db-map): New definitions.
* resolv/Makefile (libresolv-map, libnss_dns-map): New definitions.
* libc.map: New file.
* db/libdb.map: New file.
* elf/libdl.map: New file.
* locale/libBrokenLocale.map: New file.
* login/libutil.map: New file.
* math/libm.map: New file.
* md5-crypt/libcrypt.map: New file.
* nis/libnss_compat.map: New file.
* nis/libnsl.map: New file.
* nis/libnss_nis.map: New file.
* nis/libnss_nisplus.map: New file.
* nss/libnss_files.map: New file.
* nss/libnss_db.map: New file.
* resolv/libnss_dns.map: New file.
* resolv/libresolv.map: New file.
* sysdeps/i386/dl-machine.h (elf_machine_rel): Don't do anything
for R_386_NONE entries.
* Makefile (manual/dir-add.info): New rule.
* Makerules: Add vpath definition for .x files.
* Makerules (distinfo): Make sure target directory exists.
* argp/argp-help.c (argp_args_usage): Don't modify `fdoc' value
since it is used to distinguish filtered strings from unmodifed
strings.
* elf/dl-lookup.c (do_lookup): Optimize STT_* recognition.
* elf/dl-reloc.c: Fix typo.
* inet/arpa/tftp.h (struct tftphdr): Change type of tu_block to
`unsigned short'.
* manual/Makefile (dir-add.texi): Also emit wrapper text for
info/install-info.
(distribute): Add dir-add.texi and dir-add.info.
(mostlyclean): Add dir-add.info.
(realclean): Add dir-add.texi.
(install): Add entries in `dir' file using install-info.
* manual/libc.texinfo: Add @dircategory and @direntry text.
Reported by Miles Bader <miles@gnu.ai.mit.edu>.
* manual/pattern.texi: Correct description of GLOB_MAGCHAR and
GLOB_NOMAGIC. Changes by Roland McGrath <roland@gnu.ai.mit.edu>.
* nis/nis_addmember.c: Little optimizations.
* nis/nis_call.c: Likewise.
* nis/nis_creategroup.c: Likewise.
* nis/nis_defaults.c: Likewise.
* nis/nis_destroygroup.c: Likewise.
* nis/nis_ismember.c: Likewise.
* nis/nis_local_names.c: Likewise.
* nis/nis_print_group_entry.c: Likewise.
* nis/nis_verifygroup.c: Likewise.
* posix/unistd.h: Fix comment for getcwd.
* stdlib/Makefile (headers): Remove inttypes.h. It's a system
dependent header.
* sysdeps/wordsize-32/Dist: New file.
* sysdeps/wordsize-32/Makefile: New file.
* sysdeps/wordsize-64/Dist: New file.
* sysdeps/wordsize-64/Makefile: New file.
* sunrpc/Makefile: Adopt comment for real situation.
* sysdeps/i386/add_n.S: Add ASM_TYPE_DIRECTIVE and AS_SIZE_DIRECTIVE.
* sysdeps/i386/addmul_1.s: Likewise.
* sysdeps/i386/lshist.s: Likewise.
* sysdeps/i386/rshift.s: Likewise.
* sysdeps/i386/sub_n.s: Likewise.
* sysdeps/i386/submul_1.s: Likewise.
* sysdeps/unix/sysv/linux/i386/sysdep.h (SYSCALL_ERROR_HANDLER):
Add .type and .size.
1997-06-12 13:32 Philip Blundell <Philip.Blundell@pobox.com>
* libc/sysdeps/unix/arm/brk.S: New file.
* libc/sysdeps/unix/arm/sysdep.S: Likewise.
* libc/sysdeps/unix/sysv/linux/arm/sysdep.S: Likewise.
1997-06-11 11:51 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* nis/nss_nisplus/nisplus-spwd.c (_nss_nisplus_parse_spent):
Check if we have shadow information.
1997-06-08 19:33 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* nis/nis_getservlist.c (nis_getservlist): Use calloc instead of
malloc, alloc memory for nis_server struct.
* nis/nis_getservlist.c (nis_freeservlist): Give the memory for
the nis_server struct free, too.
* nis/nis_removemember (nis_removemember): Fix for loop.
1997-06-12 12:45 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/i386/fpu/__math.h (__M_SQRT2): Define here since we
cannot rely on M_SQRT2 being defined. (log1p): Use __M_SQRT2 not
M_SQRT2.
* math/math.h (_Mldbl): Define even if M_* constants are not
defined.
Reported by corsepiu@faw.uni-ulm.de.
1997-06-12 03:08 Philip Blundell <Philip.Blundell@pobox.com>
* nss/getXXbyYY_r.c (do_weak_alias): Remove extra parentheses.
1997-06-11 13:22 Ulrich Drepper <drepper@cygnus.com>
* misc/regexp.h (compile): Allow use of macro INIT for variable
declaration. Add documentation for INIT.
Reported by Robert Bihlmeyer <robbe@orcus.priv.at>.
1997-06-11 10:47 Philip Blundell <Philip.Blundell@pobox.com>
* sysdeps/unix/sysv/linux/net/if_arp.h: Add two new hardware types.
1997-06-10 11:31 H.J. Lu <hjl@gnu.ai.mit.edu>
* sysdeps/powerpc/strlen.s: Use -0x101 instead of 0xfffffeff
for a signed 16-bit value.
1997-06-07 07:54 H.J. Lu <hjl@gnu.ai.mit.edu>
* sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c
(_dl_sysdep_read_whole_file): Deleted.
* sysdeps/powerpc/fenvbits.h (__FE_ALL_INVALID): Changed
to FE_ALL_INVALID.
* sysdeps/powerpc/fraiseexcpt.c (__FE_INVALID_SOFTWARE):
Changed to FE_INVALID_SOFTWARE.
(__FPSCR_STICKY_BITS): Changed to FPSCR_STICKY_BITS.
* sysdeps/libm-ieee754/s_fmin.c: Fix a typo.
1997-06-07 18:48 H.J. Lu <hjl@gnu.ai.mit.edu>
* shlib-versions (.*-.*-linux.*): Set libc to 6.
1997-06-08 15:35 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* nis/nis_add.c (nis_add): Use nis_leaf_of_r instead of nis_name_of_r.
* nis/nis_addmember.c (nis_addmember): Fix a lot of pointer errors.
* nis/nis_clone.c: Likewise.
* nis/nis_removemember.c (nis_removemember): Likewise.
* nis/nis_table.c: Likewise.
* nis/nss_nis/nis-hosts.c: Use addr, not p for inet_pton call.
* nis/nss_nisplus/nisplus-hosts.c: Likewise.
* nis/nss_nis/nis-netgrp.c (_nss_nis_setnetgrent): Check for
group == NULL.
1997-06-08 21:21 Mark Kettenis <kettenis@phys.uva.nl>
* login/login.c, login/utmp_daemon.c, login/utmp_file.c,
login/getutent_r.c, login/utmpname.c: Cleanup `#if _LIBC' and
`#ifndef _LIBC' fragments.
* login/programs/utmpd.c: Define DEFAULT_USER.
(drop_priviliges): Use it.
(main): Set locale and text domain.
* login/programs/utmpd-private.h: Declare proc_utmp_eq.
* login/programs/database.c (proc_utmp_eq): Removed.
* login/programs/request.c (proc_utmp_eq): Made global. Only use
ut_id field if valid.
* login/utmp_file.c (proc_utmp_eq): Restore patch made by Miles
Bader that was lost when adding the daemon backend; Only use ut_id
field if valid.
1997-06-05 23:10 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/Dist: Remove netatalk/atalk.h and
netinet/icmp.h, add netatalk/at.h.
* sysdeps/unix/sysv/linux/powerpc/Dist: Remove termios.h.
* sysdeps/unix/sysv/linux/sparc/Dist: Remove start.c.
1997-06-04 19:22 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* stdlib/testsort.c (compare): Fix parameter types.
1997-06-04 19:05 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* md5-crypt/Makefile (distribute): Fix name of file.
1997-06-04 19:02 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (utmpd-routines): Remove utmpd again, which is
already added implicitly through $(others).
1997-06-05 13:43 Fila Kolodny <fila@filapc.ibi.com>
* sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add netipx/ipx.h.
1997-06-05 13:25 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* md5-crypt/md5-crypt.c: Add prototype for __md5_crypt.
1997-06-05 17:08 Ulrich Drepper <drepper@cygnus.com>
* string/argz-addsep.c: Correct weak alias.
Reported by Ben Pfaff <pfaffben@pilot.msu.edu>.
* locale/setlocale.c (setlocale): Free variable with locale path
before returning.
(setname): Don't test for _nl_current[category] being NULL before
freeing.
Reported by Ben Pfaff <pfaffben@pilot.msu.edu>.
1997-06-04 12:41 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* manual/intro.texi (XPG): Correct some typos.
* manual/libc.texinfo (Program Arguments): Menu updated.
* nis/nis_local_names.c (nis_local_host): Fix pointer errors.
1997-05-25 03:00 Ulrich Drepper <drepper@cygnus.com>
* elf/dynamic-link.h (_dl_verbose): New variable, declare.
* elf/rtld.c (_dl_verbose): New variable, define.
(dl_main): Define _dl-verbose based on DL_WARN environment variable.
* sysdeps/i386/dl-machine.h (elf_machine_rel): Print warning about
changed size in copy relocation only if symbol in shared object
is larger or _dl_verbose is nonzero.
* sysdeps/m68k/dl-machine.h (elf_machine_rel): Likewise.
* sysdeps/powerpc/dl-machine.h (elf_machine_rel): Likewise.
* sysdeps/sparc/dl-machine.h (elf_machine_rel): Likewise.
* nis/nss_nis/nis-ethers.c: Don't use relative include paths, use
<...>.
* nis/nss_nis/nis-grp.c: Likewise.
* nis/nss_nis/nis-hosts.c: Likewise.
* nis/nss_nis/nis-network.c: Likewise.
* nis/nss_nis/nis-proto.c: Likewise.
* nis/nss_nis/nis-pwd.c: Likewise.
* nis/nss_nis/nis-rpc.c: Likewise.
* nis/nss_nis/nis-spwd.c: Likewise.
* sysdeps/unix/sysv/sysd-stdio.c: Likewise.
* wcsmbs/wcscoll.c: Likewise.
* wcsmbs/wcstod.c: Likewise.
* wcsmbs/wcstof.c: Likewise.
* wcsmbs/wcstol.c: Likewise.
* wcsmbs/wcstold.c: Likewise.
* wcsmbs/wcsxfrm.c: Likewise.
Reported by Zack Weinberg <zack@rabi.phys.columbia.edu>.
* time/strftime.c: Implement # flag which changes case of output for
%a, %b, %B, %p, and %Z format.
When printing numbers, the given field width is always respected.
This means that padding happens only up to the given width.
Proposed by Stephen Gildea <gildea@intouchsys.com>.
1997-05-25 00:44 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/i386/fpu/__math.h (logb): Fix thinko, reverse output
values.
Reported by Andreas Jaeger <aj@arthur.rhein-neckar.de>.
1997-05-24 21:03 Philip Blundell <pjb27@cam.ac.uk>
* db/btree/bt_open.c (__bt_open): Only try to use st_blksize (from
struct stat) if it exists for this port.
1997-05-24 20:34 Philip Blundell <pjb27@cam.ac.uk>
* sysdeps/standalone/arm/errnos.h: Add EPERM.
1997-05-23 16:28 Philip Blundell <phil@kings-cross.london.uk.eu.org>
* linewrap.h: New file, needed to compile argp without libio.
1997-05-24 11:59 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* manual/stdio.texi (Formatted Messages): Corrected some typos.
1997-05-24 11:58 Philip Blundell <pjb27@cam.ac.uk>
* sysdeps/stub/start.c: Fix typo.
1997-05-24 03:51 Ulrich Drepper <drepper@cygnus.com>
* stdlib/Makefile (routines): Add strtol_l, strtoul_l, strtoll_l,
strtoull_l, strtof_l, strtod_l, and strtold_l.
* stdlib/stdlib.h: Add prototypes for new functions.
* stdlib/strtod.c: Change for compiling as strtoX_l.
* stdlib/strtol.c: Likewise.
* stdlib/strtof.c: Likewise.
* stdlib/strtold.c: Likewise.
* stdlib/strtod_l.c: New file.
* stdlib/strtof_l.c: New file.
* stdlib/strtold_l.c: New file.
* stdlib/strtol_l.c: New file.
* stdlib/strtoul_l.c: New file.
* stdlib/strtoll_l.c: New file.
* stdlib/strtoull_l.c: New file.
* string/Makefile (routines): Add strcasecmp_l and strncase_l.
* string/string.h: Add prototypes for new functions.
* sysdeps/generic/strcasecmp.c: Change for compiling as strcasecmp_l.
* sysdeps/generic/strncase.c: Change for compiling as strncasecmp_l.
* sysdeps/generic/strcasecmp_l.c: New file.
* sysdeps/generic/strncase_l.c: New file.
* wcsmbs/Makefile (routines): Add wcstol_l, wcstoul_l, wcstoll_l,
wcstoull_l, wcstod_l, wcstold_l, wcstof_l, wcscasecmp_l, and
wcsncase_l.
* wcsmbs/wchar.h: Add prototypes for new functions.
* wcsmbs/wcscasecmp.c: Change for compiling as wcscasecmp_l.
* wcsmbs/wcsncase.c: Change for compiling as wcsncasecmp_l.
* wcsmbs/wcscasecmp_l.c: New file.
* wcsmbs/wcsncase_l.c: New file.
* wcsmbs/wcstof.c: Change for compiling as wcstof_l.c
* wcsmbs/wcstold.c: Change for compiling as wcstold_l.c
* wcsmcs/wcstod_l.c: New file.
* wcsmcs/wcstof_l.c: New file.
* wcsmcs/wcstold_l.c: New file.
* wcsmcs/wcstol_l.c: New file.
* wcsmcs/wcstoul_l.c: New file.
* wcsmcs/wcstoll_l.c: New file.
* wcsmcs/wcstoull_l.c: New file.
* Makeconfig (binfmt-subdir): New variable. Set to `elf' if
$(elf) is defined. More to come later when other binary formats
are supported.
* Makefile (subdirs): Remove elf. Add $(binfmt-subdir).
Suggested by Philip Blundell.
* stdlib/Makefile (headers): Add fmtmsg.h.
(routines): Add fmtmsg.
* stdlib/fmtmsg.c: New file.
* stdlib/fmtmsg.h: New file.
* manual/stdio.texi: Add description of fmtmsg and addseverity.
* manual/examples/fmtmsgexpl.c: Example program for fmtmsg
documentation.
1997-05-23 15:26 Philip Blundell <pjb27@cam.ac.uk>
* resolv/res_query.c (res_querydomain): Avoid potential buffer
overrun. Reported by Dan A. Dickey <ddickey@transition.com>.
1997-05-22 18:36 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* elf/dl-support.c (_dl_sysdep_open_zero_fill,
_dl_sysdep_read_whole_file): Moved functions to ...
* elf/dl-misc.c: This new file.
* sysdeps/generic/dl-sysdepio.c: Delete file and move functions...
* elf/dl-misc.c: ... here.
* sysdeps/generic/dl-sysdep.c (_dl_sysdep_open_zero_fill,
_dl_sysdep_read_whole_file): Delete functions; they now come from
elf/dl-misc.c (dl-support.c had contained identical versions).
* sysdeps/mach/hurd/dl-sysdepio.c: Delete file; move functions...
* sysdeps/mach/hurd/dl-sysdep.c: ... here, but mark them weak so
that the regular ones in dl-misc work once we've initialized.
* elf/Makefile (dl-routines): Remove dl-sysdepio.c. Add dl-misc.c.
1997-05-22 21:55 Philip Blundell <pjb27@cam.ac.uk>
* inet/Makefile (headers): Add netinet/inbits.h.
* inet/netinet/in.h: New file.
* sysdeps/generic/netinet/inbits.h: Likewise.
* sysdeps/unix/sysv/linux/netinet/inbits.h: Likewise.
* sysdeps/generic/netinet/ip6.h: Move to...
* inet/netinet/ip6.h: ... here.
* sysdeps/generic/netinet/icmp6.h: Move to...
* inet/netinet/icmp6.h: ... here.
* sysdeps/unix/sysv/linux/netinet/in.h: Remove.
* sysdeps/generic/netinet/in.h: Remove.
1997-05-22 05:40 Richard Henderson <rth@tamu.edu>
* sysdeps/alpha/dl-machine.h (elf_machine_runtime_setup): If we are
not looking at the new thread-safe .plt, don't be lazy about relocs.
(_dl_runtime_resolve): Fix up arithmetic for new .plt layout.
(elf_alpha_fix_plt): Insert wmb as appropriate to ensure safety.
* elf/dynamic-link.h (ELF_DYNAMIC_RELOCATE): Let
elf_machine_runtime_setup() decide if we can actually be lazy.
* elf/rtld.c (_dl_start): So don't call it.
* elf/dl-reloc.c (_dl_relocate_object): Likewise.
* sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Return lazy.
* sysdeps/m68k/dl-machine.h (elf_machine_runtime_setup): Likewise.
* sysdeps/mips/dl-machine.h (elf_machine_runtime_setup): Likewise.
* sysdeps/powerpc/dl-machine.h (elf_machine_runtime_setup): Likewise.
* sysdeps/sparc/dl-machine.h (elf_machine_runtime_setup): Likewise.
* sysdeps/stub/dl-machine.h (elf_machine_runtime_setup): Update
skeleton definition.
1997-05-22 18:45 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/i386/fpu/__math.h (logb): Remove second value placed on
stack by fxtract.
1997-05-22 13:07 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sunrpc/rpcsvc/rusers.x: Provide and correct prototypes,
add cast to (xdrproc_t) where necessary to prevent warnings.
1997-05-22 12:18 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c: Remove I/O functions.
* sunrpc/rpcinfo.c (get_inet_address): Use INADDR_NONE and INADDR_ANY
* sysdeps/libm-ieee754/s_cexp.c: Fix typo: string_alias ->
* nss/XXX-lookup.c: Add missing explanation.