* sysdeps/unix/sysv/linux/bits/time.h (CLOCKS_PER_SEC): Make a long int
constant since this is what clock_t is.
* sysdeps/unix/sysv/linux/alpha/bits/time.h: Likewise.
* sysdeps/unix/sysv/linux/i386/bits/time.h: Likewise.
* sysdeps/unix/sysv/linux/ia64/bits/time.h: Likewise.
* sysdeps/unix/sysv/linux/s390/bits/time.h: Likewise.
2000-09-10 David S. Miller <davem@redhat.com>
* sysdeps/sparc/sparc32/__longjmp.S (__longjmp): Correct %fp
frame pointer offset for non-fast path.
2000-09-10 Ulrich Drepper <drepper@redhat.com>
* locale/programs/3level.h (*_init): Initialize level1, level2,
and level3 as well.
(*_add): Remove a few unnecessary conditionals.
2000-09-10 Ulrich Drepper <drepper@redhat.com>
* shlib-versions: Simplify libm entries. Correct a few Hurd entries.
* sysdeps/generic/initfini.c: Rewrite slightly to get rid of the
ugly GMON_WEAK_START hack.
Patch by Philip Blundell <philb@gnu.org>.
* sysdeps/i386/i486/bits/string.h: Pretty printing.
* sysdeps/ia64/memchr.S: Add .pred.rel to avoid wrong assembler
warnings.
* sysdeps/ia64/memccpy.S: Likewise.
Patches by Jim Wilson <wilson@redhat.com>.
2000-09-09 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/dl-osinfo.h (DL_SYSDEP_OSCHECK): Use uname
before trying to read /proc.
Patch by Matt Wilson <msw@redhat.com>.
* include/sys/utsname.h: Declare __uname.
* sysdeps/generic/uname.c: Make uname a weak alias of __uname.
* sysdeps/mach/hurd/uname.c: Likewise.
* sysdeps/unix/syscalls.list: Likewise.
* iconv/gconv_dl.c (do_release_shlib): Rewrite condition for
unloading a bit.
2000-09-08 Ulrich Drepper <drepper@redhat.com>
* posix/getopt.c (_getopt_internal): When long_only is set always
recognize conflicts just like before.
2000-09-08 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* sysdeps/ia64/Makefile (sysdep-rtld-routines): New variable.
* sysdeps/unix/sysv/linux/arm/fcntl.c: New file.
* sysdeps/unix/sysv/linux/arm/bits/fcntl.h
(F_GETLK64,F_SETLK64,F_SETLKW64): Use values from 2.4.0-test8.
(F_GETLK,F_SETLK,F_SETLKW): Handle __USE_FILE_OFFSET64 correctly.
* sysdeps/unix/opendir.c: If O_DIRECTORY_WORKS is defined don't
use the hack with tryopen_o_directory to determine at runtime
whether it works.
* sysdeps/unix/sysv/linux/opendir.c: New file.
* sysdeps/unix/sysv/linux/kernel-features.h: Define
__ASSUME_O_DIRECTORY if kernel knows O_DIRECTORY.
2000-09-06 Andreas Jaeger <aj@suse.de>
* sysdeps/alpha/soft-fp/Dist: New file.
* sysdeps/i386/soft-fp/Dist: New file.
* sysdeps/mips/mips64/soft-fp/Dist: New file.
* sysdeps/mips/soft-fp/Dist: New file.
* sysdeps/powerpc/soft-fp/Dist: New file.
* sysdeps/sparc/sparc32/soft-fp/Dist: New file.
* sysdeps/sparc/sparc64/soft-fp/Dist: New file.
* sysdeps/sparc/sparc64/soft-fp/Makefile [$(subdir) = soft-fp]:
Use sysdep_routines instead of routines to fix make dist failure.
* sysdeps/sparc/sparc32/soft-fp/Makefile: Likewise (in commented
out code).
* sysdeps/powerpc/soft-fp/Makefile [$(subdir) = soft-fp]: Likewise.
* sysdeps/mips/Makefile [$(subdir) = misc]: Use
sysdep_headers instead of headers for make dist.
* sysdeps/unix/sysv/linux/mips/Makefile [$(subdir) = misc]:
Likewise.
2000-09-06 Andreas Jaeger <aj@suse.de>
* sysdeps/powerpc/Makefile [$(subdir) = elf]: Modify
sysdep-dl-routines and sysdep_routines instead of rtld-routines
and dl-routines.
* soft-fp/ChangeLog: Merged with this file.
2000-06-13 Ulrich Drepper <drepper@redhat.com>
* soft-fp/Makefile (distribute): Add op-8.h and testit.c.
* soft-fp/Makefile (distribute): Add the math functions, too.
* soft-fp/Makefile (distribute): Add ChangeLog, Banner, and configure.
2000-03-03 Geoff Keating <geoffk@cygnus.com>
* soft-fp/soft-fp.h (_FP_ROUND_ZERO): Cast 0 to void before using it
as a statement.
* soft-fp/sysdeps/powerpc/Makefile (routines): New file.
* soft-fp/sysdeps/powerpc/q_*: New files.
2000-09-05 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/mips/bits/stat.h: Use st_pad5.
* sysdeps/unix/sysv/linux/mips/xstatconv.c: Fix assignments.
Patch by Maciej W. Rozycki <macro@ds2.pg.gda.pl>.
2000-09-05 Andreas Jaeger <aj@suse.de>
* sysdeps/sparc/sparc64/soft-fp/Versions: Use version glibc 2.2.
* soft-fp/configure: Remove.
* soft-fp/sysdeps/sparc/sparc64/qp_neg.S: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_neg.S: ... to here.
* soft-fp/sysdeps/sparc/sparc32/Makefile: Move from here...
* sysdeps/sparc/sparc32/soft-fp/Makefile: ... to here.
* soft-fp/sysdeps/powerpc/Makefile: Move from here...
* sysdeps/powerpc/soft-fp/Makefile: ... to here.
* soft-fp/sysdeps/sparc/sparc64/Makefile: Move from here...
* sysdeps/sparc/sparc64/soft-fp/Makefile: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_neg.S: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_neg.S: ... to here.
* soft-fp/sysdeps/powerpc/q_add.c: Move from here...
* sysdeps/powerpc/soft-fp/q_add.c: ... to here.
* soft-fp/sysdeps/powerpc/q_cmp.c: Move from here...
* sysdeps/powerpc/soft-fp/q_cmp.c: ... to here.
* soft-fp/sysdeps/powerpc/q_cmpe.c: Move from here...
* sysdeps/powerpc/soft-fp/q_cmpe.c: ... to here.
* soft-fp/sysdeps/powerpc/q_div.c: Move from here...
* sysdeps/powerpc/soft-fp/q_div.c: ... to here.
* soft-fp/sysdeps/powerpc/q_dtoq.c: Move from here...
* sysdeps/powerpc/soft-fp/q_dtoq.c: ... to here.
* soft-fp/sysdeps/powerpc/q_feq.c: Move from here...
* sysdeps/powerpc/soft-fp/q_feq.c: ... to here.
* soft-fp/sysdeps/powerpc/q_fge.c: Move from here...
* sysdeps/powerpc/soft-fp/q_fge.c: ... to here.
* soft-fp/sysdeps/powerpc/q_fgt.c: Move from here...
* sysdeps/powerpc/soft-fp/q_fgt.c: ... to here.
* soft-fp/sysdeps/powerpc/q_fle.c: Move from here...
* sysdeps/powerpc/soft-fp/q_fle.c: ... to here.
* soft-fp/sysdeps/powerpc/q_flt.c: Move from here...
* sysdeps/powerpc/soft-fp/q_flt.c: ... to here.
* soft-fp/sysdeps/powerpc/q_fne.c: Move from here...
* sysdeps/powerpc/soft-fp/q_fne.c: ... to here.
* soft-fp/sysdeps/powerpc/q_itoq.c: Move from here...
* sysdeps/powerpc/soft-fp/q_itoq.c: ... to here.
* soft-fp/sysdeps/powerpc/q_lltoq.c: Move from here...
* sysdeps/powerpc/soft-fp/q_lltoq.c: ... to here.
* soft-fp/sysdeps/powerpc/q_mul.c: Move from here...
* sysdeps/powerpc/soft-fp/q_mul.c: ... to here.
* soft-fp/sysdeps/powerpc/q_neg.c: Move from here...
* sysdeps/powerpc/soft-fp/q_neg.c: ... to here.
* soft-fp/sysdeps/powerpc/q_qtod.c: Move from here...
* sysdeps/powerpc/soft-fp/q_qtod.c: ... to here.
* soft-fp/sysdeps/powerpc/q_qtoi.c: Move from here...
* sysdeps/powerpc/soft-fp/q_qtoi.c: ... to here.
* soft-fp/sysdeps/powerpc/q_qtoll.c: Move from here...
* sysdeps/powerpc/soft-fp/q_qtoll.c: ... to here.
* soft-fp/sysdeps/powerpc/q_qtos.c: Move from here...
* sysdeps/powerpc/soft-fp/q_qtos.c: ... to here.
* soft-fp/sysdeps/powerpc/q_qtou.c: Move from here...
* sysdeps/powerpc/soft-fp/q_qtou.c: ... to here.
* soft-fp/sysdeps/powerpc/q_qtoull.c: Move from here...
* sysdeps/powerpc/soft-fp/q_qtoull.c: ... to here.
* soft-fp/sysdeps/powerpc/q_sqrt.c: Move from here...
* sysdeps/powerpc/soft-fp/q_sqrt.c: ... to here.
* soft-fp/sysdeps/powerpc/q_stoq.c: Move from here...
* sysdeps/powerpc/soft-fp/q_stoq.c: ... to here.
* soft-fp/sysdeps/powerpc/q_sub.c: Move from here...
* sysdeps/powerpc/soft-fp/q_sub.c: ... to here.
* soft-fp/sysdeps/powerpc/q_ulltoq.c: Move from here...
* sysdeps/powerpc/soft-fp/q_ulltoq.c: ... to here.
* soft-fp/sysdeps/powerpc/q_util.c: Move from here...
* sysdeps/powerpc/soft-fp/q_util.c: ... to here.
* soft-fp/sysdeps/powerpc/q_utoq.c: Move from here...
* sysdeps/powerpc/soft-fp/q_utoq.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_add.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_add.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_cmp.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_cmp.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_cmpe.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_cmpe.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_div.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_div.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_dtoq.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_dtoq.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_feq.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_feq.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_fge.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_fge.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_fgt.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_fgt.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_fle.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_fle.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_flt.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_flt.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_fne.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_fne.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_itoq.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_itoq.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_mul.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_mul.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_neg.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_neg.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_qtod.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_qtod.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_qtoi.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_qtoi.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_qtos.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_qtos.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_qtoui.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_qtoui.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_qtoux.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_qtoux.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_qtox.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_qtox.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_sqrt.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_sqrt.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_stoq.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_stoq.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_sub.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_sub.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_uitoq.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_uitoq.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_util.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_util.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_uxtoq.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_uxtoq.c: ... to here.
* soft-fp/sysdeps/sparc/sparc32/q_xtoq.c: Move from here...
* sysdeps/sparc/sparc32/soft-fp/q_xtoq.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_add.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_add.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_cmp.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_cmp.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_cmpe.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_cmpe.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_div.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_div.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_dtoq.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_dtoq.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_feq.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_feq.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_fge.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_fge.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_fgt.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_fgt.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_fle.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_fle.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_flt.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_flt.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_fne.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_fne.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_itoq.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_itoq.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_mul.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_mul.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_qtod.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_qtod.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_qtoi.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_qtoi.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_qtos.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_qtos.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_qtoui.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_qtoui.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_qtoux.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_qtoux.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_qtox.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_qtox.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_sqrt.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_sqrt.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_stoq.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_stoq.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_sub.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_sub.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_uitoq.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_uitoq.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_util.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_util.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_uxtoq.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_uxtoq.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/qp_xtoq.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/qp_xtoq.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/s_frexpl.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/s_frexpl.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/s_ilogbl.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/s_ilogbl.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/s_scalblnl.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/s_scalblnl.c: ... to here.
* soft-fp/sysdeps/sparc/sparc64/s_scalbnl.c: Move from here...
* sysdeps/sparc/sparc64/soft-fp/s_scalbnl.c: ... to here.
* soft-fp/sysdeps/alpha/sfp-machine.h: Move from here...
* sysdeps/alpha/soft-fp/sfp-machine.h: ... to here.
* soft-fp/sysdeps/i386/sfp-machine.h: Move from here...
* sysdeps/i386/soft-fp/sfp-machine.h: ... to here.
* soft-fp/sysdeps/mips/mips64/sfp-machine.h: Move from here...
* sysdeps/mips/mips64/soft-fp/sfp-machine.h: ... to here.
* soft-fp/sysdeps/mips/sfp-machine.h: Move from here...
* sysdeps/mips/soft-fp/sfp-machine.h: ... to here.
* soft-fp/sysdeps/powerpc/sfp-machine.h: Move from here...
* sysdeps/powerpc/soft-fp/sfp-machine.h: ... to here.
* soft-fp/sysdeps/sparc/sparc32/sfp-machine.h: Move from here...
* sysdeps/sparc/sparc32/soft-fp/sfp-machine.h: ... to here.
* soft-fp/sysdeps/sparc/sparc64/sfp-machine.h: Move from here...
* sysdeps/sparc/sparc64/soft-fp/sfp-machine.h: ... to here.
* soft-fp/sysdeps/powerpc/Versions: Move from here...
* sysdeps/powerpc/soft-fp/Versions: ... to here.
* soft-fp/sysdeps/sparc/sparc64/Versions: Move from here...
* sysdeps/sparc/sparc64/soft-fp/Versions: ... to here.
* libio/oldiofsetpos64.c: iofsetpos was introduced in glibc 2.1,
change symbol version.
* libio/oldiofgetpos64.c: Likewise.
Reported by Martin v. Loewis <martin@loewis.home.cs.tu-berlin.de>.
* locale/programs/ld-ctype.c (charclass_charcode_ellipsis): Fix
typo.
Reported by dyky@kondara.org, closes PR libc/1886.
* stdlib/tst-strtod.c: Add testcases for denormal numbers from PR
libc/1880.
* stdlib/Makefile (headers): Add bits/wchar.h.
* sysdeps/unix/sysv/linux/i386/bits/wchar.h: New file.
* sysdeps/generic/bits/wchar.h: New file.
* sysdeps/generic/stdint.h: Include <bits/wchar.h>. Use values in this
file to define WCHAR_MIN and WCHAR_MAX.
Change UINT*8_MAX and UIN*16_MAX value to type int.
* wcsmbs/wchar.h: Include <bits/wchar.h>. Use values in this
file to define WCHAR_MIN and WCHAR_MAX.
* sysdeps/alpha/fpu/bits/mathdef.h: Make FP_ILOGB0 and FP_ILOGBNAN
int values.
* sysdeps/arm/fpu/bits/mathdef.h: Likewise.
* sysdeps/generic/bits/mathdef.h: Likewise.
* sysdeps/i386/fpu/bits/mathdef.h: Likewise.
* sysdeps/m68k/fpu/bits/mathdef.h: Likewise.
* sysdeps/powerpc/fpu/bits/mathdef.h: Likewise.
* sysdeps/sparc/fpu/bits/mathdef.h: Likewise.
* locale/locale.h (struct lconv): Add __ prefix to the new members
if not C99.
* sysdeps/generic/inttypes.h: Remove unnecessary imaxabs and
imaxdiv optimizations.
* sysdeps/wordsize-32/lldiv.c: Add hack to make alias work.
* sysdeps/wordsize-64/ldiv.c: Likewise.
* sysdeps/alpha/fpu/bits/fenv.h: Change type of FE_*_ENV macros to
const fenv_t*.
* sysdeps/generic/bits/fenv.h: Likewise.
* sysdeps/i386/fpu/bits/fenv.h: Likewise.
* sysdeps/ia64/bits/fenv.h: Likewise.
* sysdeps/m68k/fpu/bits/fenv.h: Likewise.
* sysdeps/mips/bits/fenv.h: Likewise.
* sysdeps/s390/fpu/bits/fenv.h: Likewise.
* sysdeps/sparc/fpu/bits/fenv.h: Likewise.
Reported by Joseph S. Myers <jsm28@cam.ac.uk>.
* catgets/open_catalog.c: Likewise.
* sysdeps/generic/ldsodefs.h: Add declaration for _dl_all_dirs and
_dl_all_init_dirs.
* include/link.h (struct r_search_path_struct): New.
(struct link_map): Use it for l_rpath_dirs and l_runpath_dirs.
* elf/Versions [ld] (GLIBC_2.2): Add _dl_all_dirs and
_dl_all_init_dirs.
* elf/dl-close.c (_dl_close): Free l_rpath_dirs and l_runpath_dirs.
* elf/dl-libc.c (free_mem): Free _dl_all_dirs list except elements
added at startup time.
* elf/dl-load.c: Fix memory handling. r_search_path_struct
contains element to remember fact that we can free memory.
(all_dirs): Renamed to _dl_all_dirs. Made global.
(_dl_init_all_dirs): New variable.
(fillin_rpath): Save one malloc call.
(decompose_rpath): Change interface. New first parameter points to
r_search_path_struct.
(_dl_init_paths): Adjust for changes. Mark all memory as not
deletable. Set _dl_init_all_paths value.
(open_path): Remove may_free_dirs parameter. r_search_path_elem ***
parameter replaced with r_search_path_struct *. Information about
freeing now contained in r_search_path_struct.
(_dl_map_object): Adjust for above changes.
* elf/dl-open.c (dl_open_worker): Change format of debug info a bit.