fb633eaa14
remaining patches into distinct patchfiles. Thanks to Dmitry V. Levin for identifying them! Drop ia64 specific patches and specfile fragments
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
|
|
{
|