From: Andreas Schwab Date: Thu, 8 Apr 2010 09:18:26 +0000 (+0200) Subject: Don't call uname or getrlimit in libpthread init function X-Git-Tag: fedora/glibc-2.12.90-3~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cde99cd2b7b16a6113acb054e89d490047932a9f;p=thirdparty%2Fglibc.git Don't call uname or getrlimit in libpthread init function --- diff --git a/ChangeLog b/ChangeLog index 7eff3a83630..b2d74eaf590 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2010-06-10 Andreas Schwab + + * 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. + 2010-05-28 Luis Machado * sysdeps/powerpc/powerpc32/power7/memcpy.S: Exchange srdi for srwi. diff --git a/nptl/Versions b/nptl/Versions index f74941fa92b..52ca0bfee08 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -29,6 +29,7 @@ libc { GLIBC_PRIVATE { # Internal libc interface to libpthread __libc_dl_error_tsd; + __getrlimit; } } diff --git a/nptl/nptl-init.c b/nptl/nptl-init.c index 851bab2bf19..c663f21ba63 100644 --- a/nptl/nptl-init.c +++ b/nptl/nptl-init.c @@ -396,7 +396,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. */ diff --git a/nptl/sysdeps/unix/sysv/linux/i386/Versions b/nptl/sysdeps/unix/sysv/linux/i386/Versions new file mode 100644 index 00000000000..9d53804cb1d --- /dev/null +++ b/nptl/sysdeps/unix/sysv/linux/i386/Versions @@ -0,0 +1,6 @@ +libc { + GLIBC_PRIVATE { + # Internal libc interface to libpthread + __uname; + } +} diff --git a/nptl/sysdeps/unix/sysv/linux/i386/smp.h b/nptl/sysdeps/unix/sysv/linux/i386/smp.h index f68a0c07586..bdff66555ee 100644 --- a/nptl/sysdeps/unix/sysv/linux/i386/smp.h +++ b/nptl/sysdeps/unix/sysv/linux/i386/smp.h @@ -37,7 +37,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 {