Add changes which were in this form in the original patch by
Eric Norum <eric.norum@usask.ca>.
* include/rpc/rpc.h: Remove svc_fdset, rpc_createerr, svc_pollfd, and
svc_max_pollfd.
* sunrpc/rpc/rpc.h: Declare __rpc_thread_svc_fdset,
__rpc_thread_createerr, __rpc_thread_svc_pollfd, and
__rpc_thread_svc_max_pollfd.
Define svc_fdset, get_rpc_createerr, svc_pollfd, and
svc_max_pollfd.
* sunrpc/rpc_thread.c: Handle first thread special, it uses the
global variables.
Define __rpc_thread_svc_fdset, __rpc_thread_createerr,
__rpc_thread_svc_pollfd, and __rpc_thread_svc_max_pollfd.
* sunrpc/Versions [libc] (GLIBC_2.2.3): Export __rpc_thread_svc_fdset,
__rpc_thread_createerr, __rpc_thread_svc_pollfd, and
__rpc_thread_svc_max_pollfd.
* sunrpc/clnt_gen.c: Replace use of rpc_createerr by call to
get_rpc_createerr.
* sunrpc/clnt_perr.c: Likewise.
* sunrpc/clnt_simp.c: Likewise.
* sunrpc/clnt_tcp.c: Likewise.
* sunrpc/clnt_udp.c: Likewise.
* sunrpc/clnt_unix.c: Likewise.
* sunrpc/pm_getport.c: Likewise.
* posix/tst-fnmatch.input: Add test case for FNM_PERIOD handling with
FNM_EXTMATCH.
* posix/fnmatch_loop.c: Optimize handling of ?() and @().
* posix/fnmatch.c: Define STRLEN and STRCAT appropriately.
* posix/Versions [libc] (GLIBC_2.2.3): Add fnmatch.
* posix/fnmatch.c: Define with new default version GLIBC_2.2.3 to
avoid running binaries with libc versions without FNM_EXTMATCH support.
* include/wchar.h: Add prototype for __wcscat.
* wcsmbs/wcscat.c: Define __wcscat and make wcscat weak alias.
2001-02-23 Andreas Jaeger <aj@suse.de>
* string/tester.c (test_strtok_r): Add testcase.
(test_strtok_r): Always initialize cp for proper checking.
* sysdeps/generic/strtok.c (strtok): Handle case of first strtok
returning NULL correctly.
Patch by Fumitoshi UKAI <ukai@debian.or.jp>.
* sysdeps/generic/strtok_r.c (__strtok_r): Likewise.
2001-02-23 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/aix/bits/types.h: Define __need_NULL before
including <stddef.h>.
* sysdeps/unix/sysv/aix/write.c: Define alias __libc_write.
* include/libc-symbols.h (weak_alias): Don't use .weak if
HAVE_ASM_GLOBAL_DOT_NAME is defined.
Patches by Michael Keezer <mkeezer@redhat.com>.
* sysdeps/generic/ftime.c: Don't include <sys/time.h> at all.
Patch by Michael Keezer <mkeezer@redhat.com>.
* sysdeps/unix/sysv/aix/Dist: Remove restf.S and savef.S.
* sysdeps/unix/sysv/aix/Makefile [$(subdir) == misc]
(sysdep_routines): Remove restf.S and savef.S.
* sysdeps/unix/sysv/aix/restf.S. Removed.
* sysdeps/unix/sysv/aix/savef.S. Removed.
* sysdeps/powerpc/fprrest.S: Use C_TEXT to define label. Also define
alternative names used on some platforms.
* sysdeps/powerpc/fprsave.S: Likewise.
* sysdeps/powerpc/gprrest0.S: Likewise.
* sysdeps/powerpc/gprrest1.S: Likewise.
* sysdeps/powerpc/gprsave0.S: Likewise.
* sysdeps/powerpc/gprsave1.S: Likewise.
Patch by Michael Keezer <mkeezer@redhat.com>.
* sysdeps/generic/getsysstat.c: Change return value of get_phys_pages
and get_avphys_page to long int.
* sysdeps/unix/sysv/linux/getsysstat.c: Likewise.
* include/sys/sysinfo.h: Likewise.
* sysdeps/generic/sys/sysinfo.h: Likewise.
* sysdeps/unix/sysv/linux/sys/sysinfo.h: Likewise.
2001-02-06 Andreas Jaeger <aj@suse.de>
* include/pthread.h: New file.
* wctype/wctype.h: Move internal interfaces from here to...
* include/wctype.h: ...here.
* wcsmbs/wchar.h: Move __wcslen from here to...
* include/wchar.h: ...here.
* posix/sys/wait.h: Move __wait from here to...
* include/sys/wait.h: ...here.
* string/string.h: Move __ffs and __strerror_r from here to...
* include/string.h: ...here.
* stdlib/stdlib.h: Move __on_exit from here to...
* include/stdlib.h: ...here.
* libio/stdio.h: Move __vsnprintf from here to...
* include/stdio.h: ...here.
2000-12-28 Andreas Jaeger <aj@suse.de>
* sunrpc/rpc_hout.c (print_funcdef): Add break statement to shut
up GCC's warning about "deprecated use of label at end of compound
statement."
* sunrpc/rpc_cout.c (emit_inline): Likewise.
* include/argp.h (_argp_unlock_xxx): Add declaration.
* gmon/bb_exit_func.c: Include <sys/gmon.h> for internal
prototypes.
Remove struct bb and __bb_head since those are declared by
sys/gmon.h.
2000-12-26 Andreas Jaeger <aj@suse.de>
* libio/getc_u.c: Include stdio.h via system path to get internal
prototypes.
* libio/getwc_u.c: Likewise.
* stdlib/strfmon.c: Fix prototype of __printf_fp.
* stdio-common/vfprintf.c (process_arg): Move __printf_fphex and
__printf_fp prototypes to ...
* include/printf.h: ...here.
* include/stdio.h: Add some internal prototypes to shut up GCC.
* include/stdlib.h: Likewise.
* sysdeps/posix/sigpause.c (__sigpause): Use ISO C prototype
declaration.
* include/signal.h: Add prototypes for internal sigpause
interfaces.
* inet/ether_hton.c: Likewise
* inet/ether_ntoh.c: Likewise.
* nis/nss_nis/nis-ethers.c (_nss_nis_getntohost_r): Fix
declaration to match prototype.
* include/netinet/ether.h (struct etherent): Declare here so that
all implementations use the same struct.
* nis/nss_nis/nis-ethers.c: Include netinet/ether.h to get
prototypes.
(struct ether): Removed.
Use struct etherent instead of ether everywhere.
* include/rpc/auth.h (DECLARE_NSS_PROTOTYPES): New.
* include/rpc/auth_des.h (DECLARE_NSS_PROTOTYPES): New.
* sunrpc/publickey.c: Include auth_des.h for prototypes.
2000-12-05 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/aix/Makefile [$(subdir)==misc]
(sysdep_routines): Add restf and savef.
* sysdeps/unix/sysv/aix/restf.c: New file.
* sysdeps/unix/sysv/aix/savef.c: New file.
Patches by Michael Keezer <mkeezer@redhat.com>.
* sysdeps/unix/opendir.c (__opendir): Don't use o_directory_works
if O_DIRECTORY is not defined.
Patch by Michael Keezer <mkeezer@redhat.com>.
* include/libc-symbols.h (C_SYMBOL_DOT_NAME): Define.
Patch by Michael Keezer <mkeezer@redhat.com>.
* locale/programs/linereader.c (get_toplvl_escape): Recognize more
than 4 bytes in escape sequence.
Patch by Shinya Hanataka <hanataka@abyss.rim.or.jp>.
* include/link.h (struct link_map): New bit field l_faked.
* elf/dl-deps.c: Use l_faked field in struct link_map instead of
the magic l_opencount==0.
* elf/dl-load.c: Likewise.
* elf/dl-version.c: Likewise.
* elf/rtld.c: Likewise.
* include/link.h (struct link_map): Add l_soname_added bitfield.
* elf/dl-load.c (_dl_map_object): Remember when we added the
SONAME to the l_libname list and don't try it again.
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>.
2000-10-14 Ulrich Drepper <drepper@redhat.com>
* math/libm-test.inc (frexp_test): Add L suffix also to parameters.
(hypot_test): Likewise.
* sysdeps/generic/printf_fphex.c: Compute width of decimal point
string correctly. Handle padding correctly.
* sysdeps/ia64/fpu/printf_fphex.c: Use sizeof in _itowa parameters
correctly.
* sysdeps/ieee754/ldbl-128/printf_fphex.c: Likewise.
* sysdeps/ieee754/ldbl-96/printf_fphex.c: Likewise.
2000-10-12 Alan Modra <alan@linuxcare.com.au>
* FAQ.in: Add --start-group and --end-group.
2000-10-12 Alan Modra <alan@linuxcare.com.au>
* malloc/memusage.c: Conditionalize stack usage calculation on
stack direction.
2000-10-12 Alan Modra <alan@linuxcare.com.au>
* config.h.in: Add ASM_LINE_SEP.
* configure.in: Add test for comment and line separators.
* include/libc-symbols.h: Define and use ASM_LINE_SEP, and add tabs to
placate some hppa assemblers.
* sysdeps/hppa/sysdep.h: Likewise.
* sysdeps/gnu/siglist.c: Insert \n and \t into inline asm.
* sysdeps/unix/sysv/linux/errlist.c: Likewise.
2000-10-12 David Huggins-Daines <dhd@linuxcare.com>
* sysdeps/unix/sysv/linux/Makefile: Include <bits/initspin> in
$(sysdep_headers).
* sysdeps/unix/sysv/linux/bits/initspin.h: Dummy version for
non-threaded platforms.
2000-10-12 David Huggins-Daines <dhd@linuxcare.com>
* configure.in: Add definitions for hppa.
* elf/elf.h: Add PLABEL32 relocation for hppa ELF32, comments
for IPLT and EPLT relocations.
* shlib-versions: Version symbol definitions for hppa-linux.
* sysdeps/unix/sysv/linux/configure.in: Define $arch_minimum_kernel
for hppa.
2000-10-12 David Huggins-Daines <dhd@linuxcare.com>
* sysdeps/hppa/Makefile: New file.
* sysdeps/hppa/Versions: New file.
* sysdeps/hppa/setjmp.S: New file.
* sysdeps/hppa/__longjmp.S: New file.
* sysdeps/hppa/bits/setjmp.h: New file.
* sysdeps/hppa/frame.h: New file.
* sysdeps/hppa/add_n.s: Don't use %r19 (linkage table pointer).
* sysdeps/hppa/sub_n.s: Likewise.
* sysdeps/hppa/lshift.s: Likewise.
* sysdeps/hppa/rshift.s: Likewise.
* sysdeps/hppa/udiv_qrnnd.s: Likewise.
* sysdeps/hppa/hppa1.1/addmul_1.s: Likewise.
* sysdeps/hppa/hppa1.1/submul_1.s: Likewise.
* sysdeps/hppa/hppa1.1/mul_1.s: Likewise.
* sysdeps/hppa/hppa1.1/udiv_qrnnd.s: Likewise.
* sysdeps/hppa/dl-machine.h: New file.
* sysdeps/hppa/dl-fptr.c: New file (note that this is almost
identical to the IA-64 one).
* sysdeps/hppa/dl-lookupcfg.h: Likewise.
* sysdeps/hppa/dl-symaddr.c: Likewise.
* sysdeps/hppa/elf/initfini.c: New file.
* sysdeps/hppa/elf/start.S: New file.
* sysdeps/hppa/fpu/bits/fenv.h: New file.
* sysdeps/hppa/fpu/fclrexcpt.c: New file.
* sysdeps/hppa/fpu/fedisblxcpt.c: New file.
* sysdeps/hppa/fpu/feenablxcpt.c: New file.
* sysdeps/hppa/fpu/fegetenv.c: New file.
* sysdeps/hppa/fpu/fegetexcept.c: New file.
* sysdeps/hppa/fpu/fegetround.c: New file.
* sysdeps/hppa/fpu/feholdexcpt.c: New file.
* sysdeps/hppa/fpu/fesetenv.c: New file.
* sysdeps/hppa/fpu/fesetround.c: New file.
* sysdeps/hppa/fpu/feupdateenv.c: New file.
* sysdeps/hppa/fpu/fegetexcptflg.c: New file.
* sysdeps/hppa/fpu/fraiseexcpt.c: New file.
* sysdeps/hppa/fpu/fsetexcptflg.c: New file.
* sysdeps/hppa/fpu/ftestexcept.c: New file.
* sysdeps/unix/sysv/linux/hppa/Makefile: New file.
* sysdeps/unix/sysv/linux/hppa/Versions: New file.
* sysdeps/unix/sysv/linux/hppa/syscalls.list: New file.
* sysdeps/unix/sysv/linux/hppa/sysdep.c: New file.
* sysdeps/unix/sysv/linux/hppa/sysdep.h: New file.
* sysdeps/unix/sysv/linux/hppa/bits/fcntl.h: New file.
* sysdeps/unix/sysv/linux/hppa/bits/ioctls.h: New file.
* sysdeps/unix/sysv/linux/hppa/bits/mman.h: New file.
* sysdeps/unix/sysv/linux/hppa/bits/sigaction.h: New file.
* sysdeps/unix/sysv/linux/hppa/bits/signum.h: New file.
* sysdeps/unix/sysv/linux/hppa/brk.c: New file.
* sysdeps/unix/sysv/linux/hppa/clone.S: New file.
* sysdeps/unix/sysv/linux/hppa/socket.S: New file.
* sysdeps/unix/sysv/linux/hppa/syscall.S: New file.
* sysdeps/unix/sysv/linux/hppa/setrlimit.c: New file.
* sysdeps/unix/sysv/linux/hppa/getrlimit.c: New file.
* sysdeps/unix/sysv/linux/hppa/getrlimit64.c: New file.
* sysdeps/unix/sysv/linux/hppa/kernel_sigaction.h: New file.
* sysdeps/unix/sysv/linux/hppa/kernel_stat.h: New file.
* sysdeps/unix/sysv/linux/hppa/mmap.c: New file.
* sysdeps/unix/sysv/linux/hppa/profil-counter.h: New file.
* sysdeps/unix/sysv/linux/hppa/procfs.h: New file.
* sysdeps/unix/sysv/linux/hppa/ucontext.h: New file.
* sysdeps/unix/sysv/linux/hppa/umount.c: New file.
2000-10-12 Alan Modra <alan@linuxcare.com.au>
* sysdeps/hppa/hppa1.1/Implies: New file.
* sysdeps/hppa/memusage.h: New file.
2000-10-07 Ulrich Drepper <drepper@redhat.com>
* include/features.h (__STDC_ISO_10646__): Set to correct date.
Patch by Markus Kuhn <Markus.Kuhn@cl.cam.ac.uk>.
2000-10-06 Jes Sorensen <jes@linuxcare.com>
* sysdeps/ia64/fpu/fraiseexcpt.c (feraiseexcept): Implement
overflow generation by adding DBL_MAX to DBL_MAX instead of
setting the bits manually in the fpsr and generating the exception
with kill() if necessary.
(feraiseexcept): Implement underflow by dividing DBL_MIN by
DBL_MIN - similar to the overflow change described above.
2000-08-27 H.J. Lu <hjl@gnu.org>
* sysdeps/unix/sysv/linux/ia64/clone.S: Make it a dummy as clone
is not supported under Linux/ia64, use clone2.
2000-10-06 Jakub Jelinek <jakub@redhat.com>
* malloc/malloc.h (__THROW): Define to nothing if not gcc.
* misc/sys/cdefs.h (__THROW): Likewise.
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/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.
2000-08-23 Andreas Jaeger <aj@suse.de>
* include/wchar.h: Add some pure attributes.
* time/time.h: Add const attribute for dysize.
* include/stdlib.h: Add malloc attribute to __posix memalign.
* stdlib/stdlib.h: Add some pure and malloc attributes.
* wcsmbs/wchar.h: Likewise.
* dirent/dirent.h: Add some pure attributes.
* include/dirent.h: Likewise.
* include/link.h: Include sysd-link.h.
* sysdeps/generic/sysd-link.h: New file.
* sysdeps/unix/sysv/linux/sysd-link.h: New file.
* elf/Makefile (distribute): Add sysd-link.h.
* elf/dl-load.c: Use definitions from sysd-link.h instead of stat
types and functions directly.
* elf/dl-misc.c: Likewise.
* elf/dl-profile.c: Likewise.
* elf/loadfail.c (main): Close all successfully loaded objects.
2000-08-12 Andreas Jaeger <aj@suse.de>
* include/features.h (__STDC_ISO_10646__): Define.
Reported by Markus Kuhn <Markus.Kuhn@cl.cam.ac.uk>.
* include/features.h (__USE_ISOC99): Define for _XOPEN_SOURCE >= 600.
* locale/langinfo.h: Define YESSTR and NOSTR also for XPG4 (but not
for revision 6 and up).
* posix/sys/types.h: Define __need_timer_t and __need_clockid_t before
including <time.h>.
* time/time.h: Allow __need_timer_t and __need_clockid_t to be defined
to get definitions of just these types.
* signal/signal.h: Define thread signal handling functions also for
POSIX95.
* sysdeps/unix/sysv/linux/bits/types.h: Define thread types also for
POSIX95.
* sysdeps/unix/sysv/linux/alpha/bits/types.h: Likewise.
* sysdeps/unix/sysv/linux/ia64/bits/types.h: Likewise.
* sysdeps/unix/sysv/linux/mips/bits/types.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/types.h: Likewise.
* sysvipc/sys/shm.h: Define pid_t for XPG.
* wcsmbs/wchar.h: Make the various wide char string and stream
functions available for the respective XPG versions.
2000-08-02 Mark Kettenis <kettenis@gnu.org>
* sysdeps/mach/hurd/socketpair.c (__socketpair): Renamed from
socketpair. Made socketpair a weak alias.
* sysdeps/mach/hurd/pipe.c (__pipe): Reimplemented using
__socketpair. Use S_IFIFO protocol to make pipes POSIX
conforming, but fall back on the old protocol if the socket server
doesn't support it.
* include/sys/socket.h: Add prototype for __socketpair.
2000-08-01 Ulrich Drepper <drepper@redhat.com>
Joseph S. Myers <jsm28@cam.ac.uk>
* math/tgmath.h: Make standard compliant. Don't ask how.
2000-07-04 H.J. Lu <hjl@gnu.org>
* elf/Makefile ($(inst_slibdir)/$(rtld-version-installed-name)):
Use $(do-install-program) instead of "$(INSTALL_PROGRAM) $< $@.new".
($(inst_slibdir)/$(rtld-installed-name)): Use $(make-shlib-link) only.
2000-07-30 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
* include/features.h (_XOPEN_SOURCE): Update the explanation.
(__USE_LARGEFILE): Add an explanation.
(_POSIX_C_SOURCE): Define to 2 only if _XOPEN_SOURCE < 500.
(__USE_XOPEN2K): Define whenever _XOPEN_SOURCE >= 600.
2000-08-01 Ulrich Drepper <drepper@redhat.com>
* libio/Makefile: Enable exception handling for genops, wgenops,
fileops, and wfileops.
2000-07-27 Jes Sorensen <jes@linuxcare.com>
* sysdeps/unix/sysv/linux/ia64/fork.c: Make __libc_fork the strong
name and add weak alias for __fork.
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Change llseek, pread
& pwrite to use __libc_<name> as strong names instead of
__syscall_<name>.
* include/sched.h: Add clone2 prototype.
2000-07-26 Jes Sorensen <jes@linuxcare.com>
* sysdeps/unix/sysv/linux/ia64/sysdep.h (ENTRY): Don't declare the
procedure name twice.
2000-07-27 Philip Blundell <philb@gnu.org>
* malloc/malloc.c (HAVE_MREMAP): Undo change of 1997-12-04.
2000-07-23 Ulrich Drepper <drepper@redhat.com>
* locale/iso-639.def: Some errors corrected.
Patch by Keld Simonsen.
* include/limits.h: Update non-gcc portion.
Patch by Joseph S. Myers <jsm28@cam.ac.uk>.
* elf/Makefile (tests): Add nodlopen. Add rules to generate nodlopen.
* include/dlfcn.h: Define __RTLD_DLOPEN.
* elf/dl-load.c (_dl_map_object_from_fd): If DF_1_NOOPEN is set
and this is a dlopen() call, do not load the binary.
* dlfcn/dlopen.c: Add __RTLD_DLOPEN to mode passed down to _dl_open.
* dlfcn/dlopenold.c: Likewise.
* configure.in: Add test for -z nodelete option.
* config.make.in: Define have-z-nodelete with libc_cv_z_nodelete.
2000-07-20 Mark Kettenis <kettenis@gnu.org>
Make Hesiod NSS module thread-safe.
* hesiod/README.hesiod: Update.
* hesiod/Versions [GLIBC_2.2]: Add _nss_hesiod_getservbyport_r,
_nss_hesiod_setprotoent, _nss_hesiod_endprotoent,
_nss_hesiod_getprotobyname_r, and _nss_hesiod_getprotobynumber_r.
* hesiod/Makefile (libnss_hesiod-routines): Add hesiod-init and
hesiod-proto.
* hesiod/nss_hesiod/hesiod-init.c: New file.
* hesiod/nss_hesiod/hesiod-pwd.c: Rewritten for thread-safeness.
* hesiod/nss_hesiod/hesiod-grp.c: Likewise.
* hesiod/nss_hesiod/nss_hesiod.h: New file.
* hesiod/nss_hesiod/hesiod-service.c
(_nss_hesiod_getservbyport_r): New function. Provide support for
looking up services by port number.
* hesiod/nss_hesiod/hesiod-proto.c: New file.
* hesiod/hesiod.c: Update from BIND 8.2.3-T5B.
* hesiod/hesiod.h: Likewise.
* hesiod/hesiod_p.h: Likewise.
2000-07-20 Mark Kettenis <kettenis@gnu.org>
Fix problems with `struct __res_state' getting too big.
* resolv/resolv.h (struct __sockaddr_in): New definition.
(struct __res_state): Use __sockaddr_in instead of sockaddr_in in
the private parts of the structure to save some space.
* resolv/res_send.c (res_nsend): Cast &EXT(statp).nsaddrs[ns] to
(struct sockaddr_in *) in call to sock_eq.
Use memcpy to copy statp->nsaddr_list[ns] to &EXT(statp).nsaddrs[ns].
2000-07-20 Ulrich Drepper <drepper@redhat.com>
* sysdeps/mach/hurd/dl-sysdep.c: Likewise.
* elf/elf.h: Add various DF_1_*, DTF_1_*, and DF_P1_* entries.
* elf/dl-close.c (_dl_close): Don't close an object if it is marked
with nodelete.
* elf/dl-open.c (dl_open_worker): Pass RTLD_NOLOAD as new parameter
to _dl_map_object. Return immediately if no object loaded.
Set DF_1_NODELETE bit in l_flags_1 if RTLD_NODELETE was passed.
* elf/dynamic-link.h (elf_get_dynamic_info): Copy DT_FLAGS_1 entry
if it exists into l_flags_1 word.
* elf/dl-load.c (_dl_map_object_from_fd): Take no parameter and use
it to determine whether loading is wanted or not.
(_dl_map_object): Likewise.
Call _dl_map_object_from_fd with new parameter.
* sysdeps/generic/ldsodefs.h: Update prototype.
* elf/dl-deps.c: Add new parameter to _dl_map_object calls.
* elf/rtld.c: Likewise.
* elf/Makefile (tests): Add noload. Add rules to generate noload.
* elf/noload.c: New file.
* include/link.h (struct link_map): Add l_feature_1 and l_flags_1.
* sysdeps/generic/bits/dlfcn.h: Define RTLD_NOLOAD and RTLD_NODELETE.
* sysdeps/mips/bits/dlfcn.h: Likewise.
Add extra level of macro expansion.
[!__ASSEMBLER__ && HAVE_WEAK_SYMBOLS] (weak_alias): nLikewise.
* sysdeps/generic/bp-thunks.h: Ensure `struct timeval' definition
is available at the time `select' prototype is declared.
* sysdeps/unix/make-syscalls.sh: Remove unused variables.
Collect non-versioned weak aliases. Consider only non-versioned
aliases for the user-visible systemcall name. Do checks inline with
call to primitive system call.
* sysdeps/unix/sysv/linux/ptrace.c (ptrace): Add void cast to
stand-alone bounds checks to suppress unused value warnings.
* sysdeps/unix/sysv/linux/sysctl.c (__sysctl): Likewise.
2000-07-11 Greg McGary <greg@mcgary.org>
* include/libc-symbols.h [!__ASSEMBLER__] (strong_alias):
Add extra level of macro expansion.
[!__ASSEMBLER__ && HAVE_WEAK_SYMBOLS] (weak_alias): nLikewise.
* sysdeps/generic/bp-thunks.h: Ensure `struct timeval' definition
is available at the time `select' prototype is declared.
* sysdeps/unix/make-syscalls.sh: Remove unused variables.
Collect non-versioned weak aliases. Consider only non-versioned
aliases for the user-visible systemcall name. Do checks inline with
call to primitive system call.
* sysdeps/unix/sysv/linux/ptrace.c (ptrace): Add void cast to
stand-alone bounds checks to suppress unused value warnings.
* sysdeps/unix/sysv/linux/sysctl.c (__sysctl): Likewise.
2000-07-09 Mark Kettenis <kettenis@gnu.org>
* elf/rtld.c (dl_main): Move call to __libc_check_standard_fds...
* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): ... to here.
2000-07-10 Ulrich Drepper <drepper@redhat.com>
* include/features.h: Include ISO C99 features if the compiler used
is an ISO C99 compiler.
Patch by Joseph S. Myers <jsm28@cam.ac.uk>.
2000-07-08 Mark Kettenis <kettenis@gnu.org>
* iconv/gconv_conf.c: Include <bits/libc-lock.h>.
* include/libc-symbols.h (weak_extern): Add extra level of expansion.
(symbol_version, default_symbol_version): Factor redundant
definitions out of conditional.
* linuxthreads/sysdeps/pthread/bits/libc-lock.h:
Wrap BP_SYM () around weak extern declarations of pthread
functions that have pointers in their return+arg signatures.
2000-06-27 Greg McGary <greg@mcgary.org>
* elf/dl-open.c (_dl_sysdep_start): Wrap weak_extern decl in BP_SYM ().
* include/libc-symbols.h (weak_extern): Add extra level of expansion.
(symbol_version, default_symbol_version): Factor redundant
definitions out of conditional.
* linuxthreads/sysdeps/pthread/bits/libc-lock.h:
Wrap BP_SYM () around weak extern declarations of pthread
functions that have pointers in their return+arg signatures.
* csu/Makefile (extra-objs, omit-deps, install-lib): Add
BP-flavored startup object.
($(objpfx)b$(start-installed-name)): New rule.
* include/libc-symbols.h (symbol_set_declare): Change type
of `__start_##set' and `__stop_##set' to pointer-to-function.
(symbol_set_declare): Change type of `set' to array of
pointer-to-function.
* include/set-hooks.h (RUN_HOOK): Change type of `ptr' to
pointer-to-function.
* Makeconfig: Add missing comment.
* csu/Makefile (extra-objs, omit-deps, install-lib): Add
BP-flavored startup object.
($(objpfx)b$(start-installed-name)): New rule.
* include/libc-symbols.h (symbol_set_declare): Change type
of `__start_##set' and `__stop_##set' to pointer-to-function.
(symbol_set_declare): Change type of `set' to array of
pointer-to-function.
* include/set-hooks.h (RUN_HOOK): Change type of `ptr' to
pointer-to-function.
2000-06-14 Kazumoto Kojima <kkojima@rr.iij4u.or.jp>
* sysdeps/sh/sh4/fpu/fclrexcpt.c: Remove definitions for backward
compatibility.
* sysdeps/sh/sh4/fpu/fegetenv.c: Likewise.
* sysdeps/sh/sh4/fpu/fesetenv.c: Likewise.
* sysdeps/sh/sh4/fpu/fraiseexcpt.c: Likewise.
* sysdeps/sh/sh4/fpu/fsetexcptflg.c: Likewise.
2000-06-14 Jakub Jelinek <jakub@redhat.com>
* include/libc-symbols.h (link_warning): If HAVE_SECTION_QUOTES is
defined, terminate quotes and read them after the comment char.
* configure.in (HAVE_SECTION_QUOTES): Test whether
__attribute__((section ("x"))) puts quotes around x or not.
* config.h.in (HAVE_SECTION_QUOTES): Add.
* configure: Rebuilt.
2000-06-12 Ulrich Drepper <drepper@redhat.com>
* include/libc-symbols.h (link_warning): Work around a change in
GAS which wrns about changing section attributes.
Proposed by Nich Clifton <nickc@redhat.com>.
2000-05-11 Jan Hubicka <jh@suse.cz>
* misc/sys/cdefs.h: Add support for pure attribute.
* include/string.h: Add __attribute_pure__ to various functions.
* string/string.h: Likewise.
* include/netdb.h: Change type of first parameter of __getnetbyaddr_r.
* inet/getnetbyad.c: Likewise.
* inet/getnetbyad_r.c: Likewise.
* nis/nss_nis/nis-network.c: Likewise.
* nis/nssplus_nis/nisplus-network.c: Likewise.
* nss/nss_files/files-network.c: Likewise.
* resolv/netdb.h: Define uint32_t if not already happened.
Include bits/netdb.h. Remove definition of struct netent.
Change type of first parameter of getnetbyaddr_r and getnetbyaddr.
* sysdeps/generic/stdint.h: Allow definition of uint32_t elsewhere.
* sysdeps/generic/bits/netdb.h: New file.
* sysdeps/unix/sysv/linux/alpha/bits/netdb.h: New file.
* include/shlib-compat.h (SHLIB_COMPAT): Take a third argument,
indicating the first version set to obsolete the conditionalized code.
* scripts/abi-versions.awk: For subsumed versions, make ABI_* defn's
rhs be the ABI_* macro for the subsuming version. Assign increasing
integer values to the ABI_* macros for supported versions.
2000-03-21 Ulrich Drepper <drepper@redhat.com>
* include/shlib-compat.h (versioned_symbol): Give preprocessor the
chance to expand VERSION_##lib##_##version.
supported version for libc 0.2.90.libio to GLIBC_2.2.
* Makeconfig (soversions.mk): Grok new third column in shlib-versions,
and use it to emit new variable `map-firstversions'.
* scripts/firstversions.awk: New file.
* Makerules (Versions.all): Use scripts/firstversions.awk and
the $(map-firstversions) value to generate a modified versions list
that includes renames in "A = B" syntax for each version set earlier
than the "earliest symbol version" named in shlib-versions.
* scripts/versions.awk: Recognize "A = B" lines in the input to mean
rename version set A to B in the output to the intermediate file.
* scripts/abi-versions.awk: New file.
* Makerules (abi-versions.h): New target, generated by that script.
[$(versioning) = yes] (before-compile): Prepend abi-versions.h.
* include/shlib-compat.h: New file, uses that generated header.
2000-02-28 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/start.c: Initialize __errno and add comment
explaining why. Remove K&R compatibility.
* sysdeps/powerpc/fpu/s_isnan.c: Avoid using asm statement to
declare aliases.
* sysdeps/powerpc/Makefile: Always pass flags to compile for ppc
and not rs6000.
[$(subdir)=misc] (sysdep_routines): Add gprsave0, gprrest0,
gprsave1 , and gprrest1.
Don't pass special flags to compiler for init and gmon-start if
this is no ELF platform.
* sysdeps/mach/hurd/bits/statfs.h: Define _STATFS_F_NAMELEN.
* sysdeps/unix/sysv/linux/bits/statfs.h: Likewise.
* sysdeps/unix/sysv/linux/mips/bits/statfs.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/statfs.h: Likewise.
* sysdeps/posix/fpathconf.c: Don't unconditionally use f_namelen
in statfs. Check feature macro and use f_name_max or NAME_MAX
instead.
* sysdeps/posix/pathconf.c: Likewise.
* dlfcn/dlfcn.h: Remove DL_CALL_FCT definition here.
* sysdeps/generic/bits/dlfcn.h: Define DL_CALL_FCT here.
* sysdeps/mips/bits/dlfcn.h: Define DL_CALL_FCT here.
* iconv/skeleton.c: If DL_CALL_FCT is not yet defined, add dumy
definition here.
* sysdeps/generic/libc-start.c: Fix typo in comment.
* include/set-hooks.h: Allow systems to not define
symbol_set_define.
* configure.in: Unify machine names rs6000 and powerpc.
2000-01-03 Andreas Jaeger <aj@suse.de>
* include/resolv.h: Remove declarations for __ns_name_ntop and
__ns_name_unpack since those are available in resolv/arpa/nameser.h.
2000-01-03 Andreas Jaeger <aj@suse.de>
* time/tst-strptime.c (test_tm): Add tests for all fields of
struct tm.
2000-01-03 Ulrich Drepper <drepper@cygnus.com>
* string/bits/string2.h (__strsep_g): Don't handle empty __S special.
2000-01-03 Andreas Jaeger <aj@suse.de>
* string/tester.c (test_strsep): Add one more test.
2000-01-03 Philip Blundell <philb@gnu.org>
* string/tester.c (test_mempcpy): New function.
(main): Call it.
(test_memcpy): Test unaligned cases too.
* sysdeps/arm/bits/string.h (_HAVE_STRING_ARCH_mempcpy): Define.
* sysdeps/arm/fpu/bits/mathdef.h: New file.
* nss/Makefile: Add rules to build makedb.
1999-12-19 Andreas Jaeger <aj@suse.de>
* sysdeps/generic/libc-start.c: Remove declaration of
__libc_open. Move declaration of __libc_fcntl to ...
* include/fcntl.h: ...here.
* include/unistd.h: Move __libc_open and __libc_open64 to ...
* include/fcntl.h: ...here.
* malloc/malloc.h (__attribute_malloc__): Only define if hasn't
happened yet.
* malloc/Versions: __libc_freeres was exported with glibc 2.1.3,
rename label.
* misc/sys/cdefs.h: Define __attribute_malloc__ according to
available gcc version.
* string/string.h: Mark strdup, __strdup, and strndup with
__attribute_malloc__.
* stdlib/stdlib.h: Make malloc, calloc, realloc, and valloc with
__attribute_malloc__.
* malloc/malloc.h: Make malloc, calloc, realloc, valloc, pvallc,
__morecore, and __default_morecore with __attribute_malloc__.
Provide default definition for __attribute_malloc__.
* libio/stdio.h: Make tempnam with __attribute_malloc__.
1999-12-03 Andreas Jaeger <aj@suse.de>
* nss/getXXbyYY.c: Include <resolv.h>
(FUNCTION_NAME): Use res_ninit instead of res_init.
* nss/getXXbyYY_r.c [NEED__RES]: Include <resolv.h> for _res
declaration and prototypes.
Remove extra _res declaration.
(INTERNAL): Use thread aware res_ninit function.
* inet/gethstbyad_r.c: Include <resolv.h>.
* resolv/res_data.c: Update from Bind 8.2.2-P5. Moved res_init to
res_libc.c. Disabled unneeded functions.
* resolv/res_libc.c: New file.
* Versions.def: Add version GLIBC_2.2 for libpthread.
Add versions GLIBC_2.1 and GLIBC_2.2 for libresolv.
* include/resolv.h: Add internal interfaces.
* resolv/Makefile (routines): Add new files.
(libresolv-routines): Likewise.
(distribute): Likewise.
* resolv/gethnamaddr.c: Use thread safe resolver functions.
* resolv/nss_dns/dns-host.c: Likewise.
* resolv/nss_dns/dns-network.c: Likewise.
* resolv/arpa/nameser.h: Update from Bind 8.2.2-P5.
* resolv/nsap_addr.c: Likewise.
* resolv/res_comp.c: Likewise.
* resolv/res_debug.c: Likewise.
* resolv/res_init.c: Likewise.
* resolv/res_mkquery.c: Likewise.
* resolv/res_query.c: Likewise.
* resolv/res_send.c: Likewise.
* resolv/resolv.h: Likewise.
* resolv/Versions: Add __res_state and __res_ninit with version
GLIBC_2.2 to libc.
Add new interfaces with version GLIBC_2.2 to libresolv.
* resolv/Banner: Update.
* include/arpa/nameser_compat.h: New file.
* resolv/ns_name.c: New file from Bind 8.2.2-P5.
* resolv/ns_netint.c: Likewise.
* resolv/ns_parse.c: Likewise.
* resolv/ns_print.c: Likewise.
* resolv/ns_samedomain.c: Likewise.
* resolv/ns_ttl.c: Likewise.
* resolv/arpa/nameser_compat.h: Likewise.
* resolv/res_debug.h: Likewise.
Some patches are based on work done by Adam D. Bradley
<artdodge@cs.bu.edu>.
* sysdeps/unix/sysv/linux/configure.in: Remove check for ldconfig,
set always use_ldconfig instead.
1999-11-25 H.J. Lu <hjl@gnu.org>
* stdlib/exit.c (exit): Run funtions only if
__exit_funcs->idx > 0.
1999-11-25 Ulrich Drepper <drepper@cygnus.com>
* manual/charset.texi (iconv Examples): Add iconv call to flush
state. Reported by Andrew Clausen <clausen@alphalink.com.au>.
1999-11-25 Andreas Jaeger <aj@suse.de>
* manual/install.texi (Running make install): Better describe
update from libc5.
Patch by Michael Deutschmann <michael@talamasca.wkpowerlink.com>.
1999-11-25 Andreas Jaeger <aj@suse.de>
* include/sys/mman.h: Remove K&R compatibility.
1999-11-15 Andreas Jaeger <aj@suse.de>
* misc/sys/mman.h: Use __REDIRECT for mmap, correct prototype to
use __off64_t.
1999-11-25 Ulrich Drepper <drepper@cygnus.com>
* iconv/iconv_prog.c (process_block): For stateful charsets write
out byte sequence to get to initial state at the end of the file.
which was reported to not work (which proofed to be wrong).
* include/aio.h: Remove __THROW from internal interfaces. __THROW
is only need in external header files that might be compiled by a
C++ compiler.
* include/alloca.h: Likewise.
* include/db.h: Likewise.
* include/dirent.h: Likewise.
* include/execinfo.h: Likewise.
* include/fpu_control.h: Likewise.
* include/glob.h: Likewise.
* include/grp.h: Likewise.
* include/libintl.h: Likewise.
* include/math.h: Likewise.
* include/math.h: Likewise.
* include/mntent.h: Likewise.
* include/mntent.h: Likewise.
* include/netdb.h: Likewise.
* include/pwd.h: Likewise.
* include/sched.h: Likewise.
* include/shadow.h: Likewise.
* include/stdlib.h: Likewise.
* include/sys/file.h: Likewise.
* include/sys/gmon.h: Likewise.
* include/sys/ioctl.h: Likewise.
* include/sys/socket.h: Likewise.
* include/sys/stat.h: Likewise.
* include/sys/sysinfo.h: Likewise.
* include/sys/time.h: Likewise.
* include/sys/times.h: Likewise.
* include/sys/uio.h: Likewise.
* include/sys/wait.h: Likewise.
* include/termios.h: Likewise.
* include/time.h: Likewise.
* include/ulimit.h: Likewise.
* include/utmp.h: Likewise.
* include/wchar.h: Likewise.
1999-11-22 Andreas Jaeger <aj@suse.de>
* sunrpc/rpc_clntout.c (printbody): Fix -CLMNab output.
Patch by Jerry Perkins <jrperkins@iname.com>, closes PR
libc/1456+1457.
1999-11-22 Jakub Jelinek <jakub@redhat.com>
* sysdeps/generic/siglist.h: Avoid declaring the same field
twice if SIGPWR is defined to SIGLOST.
* sysdeps/sparc/sparc32/memcpy.S: bcopy takes size_t argument,
not signed, so we should not special case it for negative args.
* sysdeps/sparc/sparc32/sparcv9/memmove.c: Don't use generic
memmove, use the one provided in memcpy.S.
* sysdeps/sparc/sparc64/memcpy.S: bcopy should handle overlapping
copies like memmove, while the previous version worked like memcpy.
Implement optimized assembly memmove.
* sysdeps/sparc/sparc64/memmove.c: New file.
1999-11-23 Ulrich Drepper <drepper@cygnus.com>
* po/cs.po: Update from translators.
1999-11-23 Andreas Jaeger <aj@suse.de>
1999-10-27 Andreas Jaeger <aj@suse.de>
* sysdeps/generic/ifreq.h: New file.
* resolv/res_hconf.c: Add missing includes to get all prototypes.
(_res_hconf_reorder_addrs): Rewrite. This never worked before.
Reported by John DiMarco <jdd@cs.toronto.edu>.
(_res_hconf_reorder_addrs): Made thread safe.
(free_mem): New function, needed for malloc debugging.
1999-10-29 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/if_index.c (opensock): Move function to ...
* sysdeps/generic/opensock.c (__opensock): ...here in a new file.
* sysdeps/unix/sysv/linux/if_index.c: Change all callers of
opensock to use __opensock.
* socket/Makefile (routines): Add opensock.
* include/sys/socket.h (__opensock): Add prototype declaration.
1999-10-26 Andreas Jaeger <aj@suse.de>
* stdlib/msort.c: Include <alloca.h> for prototype.
Remove K&R compatibility and _quicksort prototype.
* stdlib/qsort.c: Make code and comments 64 bit clean; clarify
some comments.
Reported by Bernd Löchner <loechner@informatik.uni-kl.de>.
Remove K&R compatibility.
Move prototype declaration to include/stdlib.h.
Include <alloca.h> for prototype; include <limits.h> for CHAR_BIT.
* include/stdlib.h: Prototype declaration for _quicksort.
1999-10-04 Ulrich Drepper <drepper@cygnus.com>
* include/string.h: Add __memrchr declaration.
* string/string.h: Moce __memrchr declaration to include/string.h.
1999-10-03 Ulrich Drepper <drepper@cygnus.com>
* string/Makefile (routines): Add memrchr.
* sysdeps/generic/memrchr.c: Don't undef memchr, undef memrchr.
Correct order of tests for matching bytes.
* string/tester.c: Add tests for memrchr.
* sysdeps/i386/i486/bits/string.h (__memrchr): Correct implementation.
Start from the last character and take decrement not increment
into account for correction in return line. Add memrchr alias.
* sysdeps/i386/bits/string.h: Likewise.
1999-08-21 Mark Kettenis <kettenis@gnu.org>
* stdio-common/vfscanf.c [! USE_IN_LIBIO]: Add necessary
definitions for MEMCPY, ISSPACE, ISDIGIT, ISXDIGIT, TOLOWER, L_,
CHAR_T, UCHAR_T and WIN_T to make the code compile again when
stdio is used instead of libio.
* stdio-common/vfprintf.c [! USE_IN_LIBIO]: Add necessary
definitions for CHAR_T, UCHAR_T, INT_T, L_, ISDIGIT, PAD and PUTC
to make the code compile again when stdio is used instead of
libio.
(vfprintf): Only check for correct orientation if ORIENT is
defined.
* stdio-common/Makefile (routines): Only add vfwprintf and
vfwscanf if we're using libio.
1999-08-21 Mark Kettenis <kettenis@gnu.org>
* include/stdio.h [! USE_IN_LIBIO && __need_FILE]: Avoid defining
any additional prototype just as we do for libio.
1999-08-21 Mark Kettenis <kettenis@gnu.org>
* include/bits/xopen_lim.h: Do not define STREAM_MAX and
TZNAME_MAX. These limits are not X/Open specific.
* stdio-common/stdio_lim.h.in: Allow inclusion when __need_IOV_MAX
is defined.
1999-08-21 Mark Kettenis <kettenis@gnu.org>
* Rules: When generated stdio_lim.h, avoid defining IOV_MAX if
UIO_MAXIOV is left undefined in sys/uio.h.
* stdio-common/stdio_lim.h.in: Adapt for change above.
1999-08-21 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/mips/bits/sigaction.h (SA_RESETHAND): Add it.
* sysdeps/mips/bits/dlfcn.h: Remove SGI specific calls, add RTLD_LOCAL.
Patches by Ralf Baechle <ralf@uni-koblenz.de>