62 lines
2.0 KiB
Diff
62 lines
2.0 KiB
Diff
|
From cde99cd2b7b16a6113acb054e89d490047932a9f Mon Sep 17 00:00:00 2001
|
||
|
From: Andreas Schwab <schwab@redhat.com>
|
||
|
Date: Thu, 8 Apr 2010 11:18:26 +0200
|
||
|
Subject: [PATCH] Don't call uname or getrlimit in libpthread init function
|
||
|
|
||
|
* sysdeps/unix/sysv/linux/i386/Versions: Export __uname under
|
||
|
GLIBC_PRIVATE.
|
||
|
* nptl/Versions: Export __getrlimit under GLIBC_PRIVATE.
|
||
|
* sysdeps/unix/sysv/linux/i386/smp.h: Call __uname instead of uname.
|
||
|
* nptl/nptl-init.c: Call __getrlimit instead of getrlimit.
|
||
|
|
||
|
---
|
||
|
ChangeLog | 8 ++++++++
|
||
|
nptl/Versions | 1 +
|
||
|
nptl/nptl-init.c | 2 +-
|
||
|
nptl/sysdeps/unix/sysv/linux/i386/Versions | 6 ++++++
|
||
|
nptl/sysdeps/unix/sysv/linux/i386/smp.h | 2 +-
|
||
|
5 files changed, 17 insertions(+), 2 deletions(-)
|
||
|
create mode 100644 nptl/sysdeps/unix/sysv/linux/i386/Versions
|
||
|
|
||
|
--- a/nptl/Version
|
||
|
+++ b/nptl/Versions
|
||
|
@@ -30,6 +30,7 @@ libc {
|
||
|
__libc_alloca_cutoff;
|
||
|
# Internal libc interface to libpthread
|
||
|
__libc_dl_error_tsd;
|
||
|
+ __getrlimit;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
--- a/nptl/nptl-init.c
|
||
|
+++ b/nptl/nptl-init.c
|
||
|
@@ -414,7 +414,7 @@ __pthread_initialize_minimal_internal (void)
|
||
|
/* Determine the default allowed stack size. This is the size used
|
||
|
in case the user does not specify one. */
|
||
|
struct rlimit limit;
|
||
|
- if (getrlimit (RLIMIT_STACK, &limit) != 0
|
||
|
+ if (__getrlimit (RLIMIT_STACK, &limit) != 0
|
||
|
|| limit.rlim_cur == RLIM_INFINITY)
|
||
|
/* The system limit is not usable. Use an architecture-specific
|
||
|
default. */
|
||
|
--- a/nptl/sysdeps/unix/sysv/linux/i386/Versions
|
||
|
+++ b/nptl/sysdeps/unix/sysv/linux/i386/Versions
|
||
|
@@ -0,0 +1,6 @@
|
||
|
+libc {
|
||
|
+ GLIBC_PRIVATE {
|
||
|
+ # Internal libc interface to libpthread
|
||
|
+ __uname;
|
||
|
+ }
|
||
|
+}
|
||
|
--- a/nptl/sysdeps/unix/sysv/linux/i386/smp.h
|
||
|
+++ b/nptl/sysdeps/unix/sysv/linux/i386/smp.h
|
||
|
@@ -36,7 +36,7 @@ is_smp_system (void)
|
||
|
char *cp;
|
||
|
|
||
|
/* Try reading the number using `sysctl' first. */
|
||
|
- if (uname (&u.uts) == 0)
|
||
|
+ if (__uname (&u.uts) == 0)
|
||
|
cp = u.uts.version;
|
||
|
else
|
||
|
{
|