Update.
authorUlrich Drepper <drepper@redhat.com>
Thu, 11 Mar 2004 06:06:12 +0000 (06:06 +0000)
committerUlrich Drepper <drepper@redhat.com>
Thu, 11 Mar 2004 06:06:12 +0000 (06:06 +0000)
* sysdeps/generic/errno.c: Include <dl-sysdep.h>.  Use
RTLD_PRIVATE_ERRNO to decide whether errno compat symbols are needed.

ChangeLog
elf/dl-sym.c
sysdeps/generic/errno.c

index bf2e494..dfc4ce1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2004-03-10  Ulrich Drepper  <drepper@redhat.com>
 
+       * sysdeps/generic/errno.c: Include <dl-sysdep.h>.  Use
+       RTLD_PRIVATE_ERRNO to decide whether errno compat symbols are needed.
+
        * elf/dl-sym.c: Unify _dl_sym and _dl_vsym code and make the entry
        points wrappers around the unified code.
 
index e3447d9..c7c7378 100644 (file)
@@ -60,8 +60,8 @@ _dl_tls_symaddr (struct link_map *map, const ElfW(Sym) *ref)
 
 static void *
 internal_function
-do_sym (void *handle, const char *name, struct r_found_version *vers,
-       int flags, void *who)
+do_sym (void *handle, const char *name, void *who,
+       struct r_found_version *vers, int flags)
 {
   const ElfW(Sym) *ref = NULL;
   lookup_t result;
@@ -128,7 +128,6 @@ RTLD_NEXT used in code not dynamically loaded"));
 }
 
 
-
 void *
 internal_function
 _dl_vsym (void *handle, const char *name, const char *version, void *who)
@@ -142,7 +141,7 @@ _dl_vsym (void *handle, const char *name, const char *version, void *who)
   /* We don't have a specific file where the symbol can be found.  */
   vers.filename = NULL;
 
-  return do_sym (handle, name, &vers, 0, who);
+  return do_sym (handle, name, who, &vers, 0);
 }
 
 
@@ -150,5 +149,5 @@ void *
 internal_function
 _dl_sym (void *handle, const char *name, void *who)
 {
-  return do_sym (handle, name, NULL, DL_LOOKUP_RETURN_NEWEST, who);
+  return do_sym (handle, name, who, NULL, DL_LOOKUP_RETURN_NEWEST);
 }
index 88e84d3..10dbabe 100644 (file)
@@ -1,5 +1,5 @@
 /* Definition of `errno' variable.  Canonical version.
-   Copyright (C) 2002 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -19,6 +19,7 @@
 
 #include <errno.h>
 #include <tls.h>
+#include <dl-sysdep.h>
 #undef errno
 
 #if USE___THREAD
@@ -36,7 +37,7 @@ strong_alias (errno, _errno)
    link time.  Programs must use the accessor functions.  RTLD is special,
    since it's not exported from there at any time.  */
 # if defined HAVE_ELF && defined SHARED && defined DO_VERSIONING \
-     && !defined IS_IN_rtld
+     && !RTLD_PRIVATE_ERRNO
 #  include <shlib-compat.h>
 compat_symbol (libc, errno, errno, GLIBC_2_0);
 compat_symbol (libc, _errno, _errno, GLIBC_2_0);