summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rw-r--r--Versions1
-rw-r--r--libc_pthread_init.c1
-rw-r--r--pthread/alloca_cutoff.c27
-rw-r--r--shlib-versions2
-rw-r--r--sysdeps/pthread/bits/libc-lockP.h4
-rw-r--r--sysdeps/pthread/pthread-functions.h2
7 files changed, 34 insertions, 5 deletions
diff --git a/Makefile b/Makefile
index f4db283..d5f6d67 100644
--- a/Makefile
+++ b/Makefile
@@ -191,7 +191,7 @@ headers := \
ifeq ($(IN_GLIBC),yes)
distribute :=
-routines := forward libc_pthread_init
+routines := forward libc_pthread_init alloca_cutoff
shared-only-routines = forward
vpath %.c
diff --git a/Versions b/Versions
index fb92b40..cf4ab5a 100644
--- a/Versions
+++ b/Versions
@@ -18,6 +18,7 @@ libc {
__pthread_get_cleanup_stack;
}
GLIBC_PRIVATE {
+ __libc_alloca_cutoff;
__libc_pthread_init;
__register_atfork;
}
diff --git a/libc_pthread_init.c b/libc_pthread_init.c
index bc808cb..f7997da 100644
--- a/libc_pthread_init.c
+++ b/libc_pthread_init.c
@@ -21,6 +21,7 @@
#include <pthread-functions.h>
void
+internal_function
__libc_pthread_init (functions)
const struct pthread_functions *functions;
{
diff --git a/pthread/alloca_cutoff.c b/pthread/alloca_cutoff.c
new file mode 100644
index 0000000..ec54d8f
--- /dev/null
+++ b/pthread/alloca_cutoff.c
@@ -0,0 +1,27 @@
+/* Allocate a new thread structure.
+ Copyright (C) 2015-2016 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with the GNU C Library; see the file COPYING.LIB. If not,
+ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+#include <alloca.h>
+
+int
+__libc_alloca_cutoff (size_t size)
+{
+ return size <= 65536;
+}
+libc_hidden_def (__libc_alloca_cutoff)
diff --git a/shlib-versions b/shlib-versions
index b320be0..98e07a6 100644
--- a/shlib-versions
+++ b/shlib-versions
@@ -1 +1 @@
-.*-.*-.* libpthread=0.3
+libpthread=0.3
diff --git a/sysdeps/pthread/bits/libc-lockP.h b/sysdeps/pthread/bits/libc-lockP.h
index 6c5db09..2631e0c 100644
--- a/sysdeps/pthread/bits/libc-lockP.h
+++ b/sysdeps/pthread/bits/libc-lockP.h
@@ -129,7 +129,7 @@ weak_extern (__pthread_getspecific)
weak_extern (__pthread_once)
weak_extern (__pthread_initialize)
weak_extern (__pthread_atfork)
-weak_extern (pthread_setcancelstate)
+weak_extern (__pthread_setcancelstate)
# else
# pragma weak __pthread_mutex_init
# pragma weak __pthread_mutex_destroy
@@ -151,7 +151,7 @@ weak_extern (pthread_setcancelstate)
# pragma weak __pthread_once
# pragma weak __pthread_initialize
# pragma weak __pthread_atfork
-# pragma weak pthread_setcancelstate
+# pragma weak __pthread_setcancelstate
# endif
#endif
diff --git a/sysdeps/pthread/pthread-functions.h b/sysdeps/pthread/pthread-functions.h
index 7fc4a53..d985dc3 100644
--- a/sysdeps/pthread/pthread-functions.h
+++ b/sysdeps/pthread/pthread-functions.h
@@ -133,7 +133,7 @@ struct pthread_functions
extern struct pthread_functions __libc_pthread_functions attribute_hidden;
extern int __libc_pthread_functions_init attribute_hidden;
-void __libc_pthread_init (const struct pthread_functions *functions);
+void __libc_pthread_init (const struct pthread_functions *functions) internal_function;
# define PTHFCT_CALL(fct, params) \
__libc_pthread_functions.fct params