diff options
author | Carlos O'Donell <carlos@systemhalted.org> | 2013-08-16 14:57:59 -0400 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2014-02-08 09:21:06 -0500 |
commit | a5760bbb50f3dbfd1e4051a54aae35060cdd639b (patch) | |
tree | 87050392c0d80ee6b56edf4e945e144c9521a62a /nptl/pthread_attr_setstack.c | |
parent | 6a714e48586aa7f21d2eeef9195cee57c9ebaa60 (diff) | |
download | glibc-a5760bbb50f3dbfd1e4051a54aae35060cdd639b.tar glibc-a5760bbb50f3dbfd1e4051a54aae35060cdd639b.tar.gz glibc-a5760bbb50f3dbfd1e4051a54aae35060cdd639b.tar.bz2 glibc-a5760bbb50f3dbfd1e4051a54aae35060cdd639b.zip |
nptl: support thread stacks that grow up
http://bugs.gentoo.org/301642
Diffstat (limited to 'nptl/pthread_attr_setstack.c')
-rw-r--r-- | nptl/pthread_attr_setstack.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/nptl/pthread_attr_setstack.c b/nptl/pthread_attr_setstack.c index 19a5b54981..4785501d5d 100644 --- a/nptl/pthread_attr_setstack.c +++ b/nptl/pthread_attr_setstack.c @@ -48,7 +48,11 @@ __pthread_attr_setstack (attr, stackaddr, stacksize) #endif iattr->stacksize = stacksize; +#if _STACK_GROWS_DOWN iattr->stackaddr = (char *) stackaddr + stacksize; +#else + iattr->stackaddr = (char *) stackaddr; +#endif iattr->flags |= ATTR_FLAG_STACKADDR; return 0; @@ -81,7 +85,11 @@ __old_pthread_attr_setstack (pthread_attr_t *attr, void *stackaddr, # endif iattr->stacksize = stacksize; +#if _STACK_GROWS_DOWN iattr->stackaddr = (char *) stackaddr + stacksize; +#else + iattr->stackaddr = (char *) stackaddr; +#endif iattr->flags |= ATTR_FLAG_STACKADDR; return 0; |