diff --git a/htl/Makefile b/htl/Makefile
index d9faf5080c..445c0af8ae 100644
--- a/htl/Makefile
+++ b/htl/Makefile
@@ -31,7 +31,6 @@ libpthread-routines := \
pt-attr-setscope \
pt-attr-setstack \
pt-attr-setstackaddr \
- pt-attr-setstacksize \
pt-barrier-destroy \
pt-barrier-init \
pt-barrier-wait \
@@ -206,6 +205,7 @@ routines := \
pt-attr-setdetachstate \
pt-attr-setinheritsched \
pt-attr-setschedpolicy \
+ pt-attr-setstacksize \
pt-getschedparam \
pt-nthreads \
pt-pthread_self \
diff --git a/htl/Versions b/htl/Versions
index 05b7765efa..096b1c32ff 100644
--- a/htl/Versions
+++ b/htl/Versions
@@ -19,6 +19,7 @@ libc {
pthread_attr_getstacksize;
pthread_attr_getstackaddr;
pthread_attr_getstack;
+ pthread_attr_setstacksize;
}
GLIBC_2.21 {
@@ -53,6 +54,7 @@ libc {
pthread_attr_getstacksize;
pthread_attr_getstackaddr;
pthread_attr_getstack;
+ pthread_attr_setstacksize;
}
@@ -67,6 +69,7 @@ libc {
__pthread_attr_getstacksize;
__pthread_attr_getstackaddr;
__pthread_attr_getstack;
+ __pthread_attr_setstacksize;
}
}
@@ -99,7 +102,6 @@ libpthread {
pthread_attr_setguardsize;
pthread_attr_setschedparam;
pthread_attr_setscope; pthread_attr_setstack; pthread_attr_setstackaddr;
- pthread_attr_setstacksize;
pthread_barrier_destroy; pthread_barrier_init; pthread_barrier_wait;
pthread_barrierattr_destroy; pthread_barrierattr_getpshared;
diff --git a/sysdeps/htl/pt-attr-setstacksize.c b/sysdeps/htl/pt-attr-setstacksize.c
index 256f058854..5526f7a25b 100644
--- a/sysdeps/htl/pt-attr-setstacksize.c
+++ b/sysdeps/htl/pt-attr-setstacksize.c
@@ -17,6 +17,7 @@
. */
#include
+#include
#include
int
@@ -25,4 +26,9 @@ __pthread_attr_setstacksize (pthread_attr_t *attr, size_t stacksize)
attr->__stacksize = stacksize;
return 0;
}
-weak_alias (__pthread_attr_setstacksize, pthread_attr_setstacksize)
+libc_hidden_def (__pthread_attr_setstacksize)
+versioned_symbol (libc, __pthread_attr_setstacksize, pthread_attr_setstacksize, GLIBC_2_41);
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_12, GLIBC_2_41)
+compat_symbol (libpthread, __pthread_attr_setstacksize,pthread_attr_setstacksize, GLIBC_2_12);
+#endif
diff --git a/sysdeps/htl/pthreadP.h b/sysdeps/htl/pthreadP.h
index 6cdafe7315..f54c9490df 100644
--- a/sysdeps/htl/pthreadP.h
+++ b/sysdeps/htl/pthreadP.h
@@ -89,6 +89,7 @@ int __pthread_attr_getstacksize (const pthread_attr_t *__restrict __attr,
size_t *__restrict __stacksize);
libc_hidden_proto (__pthread_attr_getstacksize)
int __pthread_attr_setstacksize (pthread_attr_t *__attr, size_t __stacksize);
+libc_hidden_proto (__pthread_attr_setstacksize)
int __pthread_attr_setstack (pthread_attr_t *__attr, void *__stackaddr,
size_t __stacksize);
int __pthread_attr_getstack (const pthread_attr_t *, void **, size_t *);
diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist
index 5ecf2a0a50..d7946ed96a 100644
--- a/sysdeps/mach/hurd/i386/libc.abilist
+++ b/sysdeps/mach/hurd/i386/libc.abilist
@@ -42,6 +42,7 @@ GLIBC_2.12 pthread_attr_getstacksize F
GLIBC_2.12 pthread_attr_setdetachstate F
GLIBC_2.12 pthread_attr_setinheritsched F
GLIBC_2.12 pthread_attr_setschedpolicy F
+GLIBC_2.12 pthread_attr_setstacksize F
GLIBC_2.12 pthread_equal F
GLIBC_2.12 pthread_getschedparam F
GLIBC_2.12 pthread_self F
@@ -2492,6 +2493,7 @@ GLIBC_2.41 pthread_attr_getguardsize F
GLIBC_2.41 pthread_attr_getstack F
GLIBC_2.41 pthread_attr_getstackaddr F
GLIBC_2.41 pthread_attr_getstacksize F
+GLIBC_2.41 pthread_attr_setstacksize F
GLIBC_2.5 __readlinkat_chk F
GLIBC_2.5 inet6_opt_append F
GLIBC_2.5 inet6_opt_find F
diff --git a/sysdeps/mach/hurd/i386/libpthread.abilist b/sysdeps/mach/hurd/i386/libpthread.abilist
index 2f50e32937..1c0610c527 100644
--- a/sysdeps/mach/hurd/i386/libpthread.abilist
+++ b/sysdeps/mach/hurd/i386/libpthread.abilist
@@ -28,7 +28,6 @@ GLIBC_2.12 pthread_attr_setschedparam F
GLIBC_2.12 pthread_attr_setscope F
GLIBC_2.12 pthread_attr_setstack F
GLIBC_2.12 pthread_attr_setstackaddr F
-GLIBC_2.12 pthread_attr_setstacksize F
GLIBC_2.12 pthread_barrier_destroy F
GLIBC_2.12 pthread_barrier_init F
GLIBC_2.12 pthread_barrier_wait F
diff --git a/sysdeps/mach/hurd/x86_64/libc.abilist b/sysdeps/mach/hurd/x86_64/libc.abilist
index 3e829c3b8f..46b8694afc 100644
--- a/sysdeps/mach/hurd/x86_64/libc.abilist
+++ b/sysdeps/mach/hurd/x86_64/libc.abilist
@@ -1527,6 +1527,7 @@ GLIBC_2.38 pthread_attr_setinheritsched F
GLIBC_2.38 pthread_attr_setschedparam F
GLIBC_2.38 pthread_attr_setschedpolicy F
GLIBC_2.38 pthread_attr_setscope F
+GLIBC_2.38 pthread_attr_setstacksize F
GLIBC_2.38 pthread_cond_broadcast F
GLIBC_2.38 pthread_cond_destroy F
GLIBC_2.38 pthread_cond_init F
@@ -2192,6 +2193,7 @@ GLIBC_2.41 pthread_attr_getguardsize F
GLIBC_2.41 pthread_attr_getstack F
GLIBC_2.41 pthread_attr_getstackaddr F
GLIBC_2.41 pthread_attr_getstacksize F
+GLIBC_2.41 pthread_attr_setstacksize F
HURD_CTHREADS_0.3 __cthread_getspecific F
HURD_CTHREADS_0.3 __cthread_keycreate F
HURD_CTHREADS_0.3 __cthread_setspecific F
diff --git a/sysdeps/mach/hurd/x86_64/libpthread.abilist b/sysdeps/mach/hurd/x86_64/libpthread.abilist
index e3c04abe73..9626176f6d 100644
--- a/sysdeps/mach/hurd/x86_64/libpthread.abilist
+++ b/sysdeps/mach/hurd/x86_64/libpthread.abilist
@@ -45,7 +45,6 @@ GLIBC_2.38 pthread_attr_setschedparam F
GLIBC_2.38 pthread_attr_setscope F
GLIBC_2.38 pthread_attr_setstack F
GLIBC_2.38 pthread_attr_setstackaddr F
-GLIBC_2.38 pthread_attr_setstacksize F
GLIBC_2.38 pthread_barrier_destroy F
GLIBC_2.38 pthread_barrier_init F
GLIBC_2.38 pthread_barrier_wait F