Use MAP_ANON instead of MAP_ANONYMOUS.
[kopensolaris-gnu/glibc.git] / elf / dlerror.c
index 3edafe4..4716bdd 100644 (file)
    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.  */
 
-#include <link.h>
 #include <dlfcn.h>
 #include <stdio.h>
-#include <string.h>
 #include <stdlib.h>
+#include <string.h>
 #include <bits/libc-lock.h>
+#include <elf/ldsodefs.h>
 
 
 /* Type for storing results of dynamic loading actions.  */
@@ -56,13 +56,8 @@ dlerror (void)
     }
 
   /* Get error string.  */
-  if (__libc_internal_tsd_get != NULL)
-    {
-      result = (struct dl_action_result *) __libc_getspecific (key);
-      if (result == NULL)
-       result = &last_result;
-    }
-  else
+  result = (struct dl_action_result *) __libc_getspecific (key);
+  if (result == NULL)
     result = &last_result;
 
   if (! result->errstring)
@@ -72,8 +67,8 @@ dlerror (void)
     buf = result->errstring;
   else
     {
-      if (asprintf (&buf, "%s: %s",
-                   result->errstring, strerror (result->errcode)) == -1)
+      if (__asprintf (&buf, "%s: %s",
+                     result->errstring, strerror (result->errcode)) == -1)
        buf = NULL;
 
       /* We don't need the error string anymore.  */
@@ -87,6 +82,7 @@ dlerror (void)
 }
 
 int
+internal_function
 _dlerror_run (void (*operate) (void *), void *args)
 {
   __libc_once_define (static, once);