fb633ea
From cde99cd2b7b16a6113acb054e89d490047932a9f Mon Sep 17 00:00:00 2001
fb633ea
From: Andreas Schwab <schwab@redhat.com>
fb633ea
Date: Thu, 8 Apr 2010 11:18:26 +0200
fb633ea
Subject: [PATCH] Don't call uname or getrlimit in libpthread init function
fb633ea
fb633ea
* sysdeps/unix/sysv/linux/i386/Versions: Export __uname under
fb633ea
GLIBC_PRIVATE.
fb633ea
* nptl/Versions: Export __getrlimit under GLIBC_PRIVATE.
fb633ea
* sysdeps/unix/sysv/linux/i386/smp.h: Call __uname instead of uname.
fb633ea
* nptl/nptl-init.c: Call __getrlimit instead of getrlimit.
fb633ea
fb633ea
---
fb633ea
 ChangeLog                                  |    8 ++++++++
fb633ea
 nptl/Versions                              |    1 +
fb633ea
 nptl/nptl-init.c                           |    2 +-
Siddhesh Poyarekar 25cc206
 sysdeps/unix/sysv/linux/i386/Versions |    6 ++++++
Siddhesh Poyarekar 25cc206
 sysdeps/unix/sysv/linux/i386/smp.h    |    2 +-
fb633ea
 5 files changed, 17 insertions(+), 2 deletions(-)
Siddhesh Poyarekar 25cc206
 create mode 100644 sysdeps/unix/sysv/linux/i386/Versions
fb633ea
fb633ea
--- a/nptl/Version
fb633ea
+++ b/nptl/Versions
fb633ea
@@ -30,6 +30,7 @@ libc {
Siddhesh Poyarekar 1ea305b
     __libc_pthread_init;
Siddhesh Poyarekar 1ea305b
     __libc_current_sigrtmin_private; __libc_current_sigrtmax_private;
Siddhesh Poyarekar 1ea305b
     __libc_allocate_rtsig_private;
fb633ea
+    __getrlimit;
fb633ea
   }
fb633ea
 }
fb633ea
 
Siddhesh Poyarekar 25cc206
--- a/sysdeps/unix/sysv/linux/i386/Versions
Siddhesh Poyarekar 25cc206
+++ b/sysdeps/unix/sysv/linux/i386/Versions
Siddhesh Poyarekar 25cc206
@@ -53,5 +53,6 @@
Siddhesh Poyarekar 25cc206
   }
Siddhesh Poyarekar 25cc206
   GLIBC_PRIVATE {
Siddhesh Poyarekar 25cc206
     __modify_ldt;
fb633ea
+    __uname;
Siddhesh Poyarekar 25cc206
   }
Siddhesh Poyarekar 25cc206
 }
Siddhesh Poyarekar 25cc206
--- a/sysdeps/unix/sysv/linux/i386/smp.h
Siddhesh Poyarekar 25cc206
+++ b/sysdeps/unix/sysv/linux/i386/smp.h
fb633ea
@@ -36,7 +36,7 @@ is_smp_system (void)
fb633ea
   char *cp;
fb633ea
 
fb633ea
   /* Try reading the number using `sysctl' first.  */
fb633ea
-  if (uname (&u.uts) == 0)
fb633ea
+  if (__uname (&u.uts) == 0)
fb633ea
     cp = u.uts.version;
fb633ea
   else
fb633ea
     {