diff options
author | Mike Frysinger <vapier@gentoo.org> | 2015-07-29 22:53:28 -0400 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2015-08-05 04:27:03 -0400 |
commit | 3fad53ec87945e61015913f2d09271573504a1e9 (patch) | |
tree | b4c032af8702d5ae5f228af9ff3d29b415331293 /nptl | |
parent | 1b15ff4810748abee11b949e6faa115f3f2d20f4 (diff) | |
download | glibc-3fad53ec87945e61015913f2d09271573504a1e9.tar.gz glibc-3fad53ec87945e61015913f2d09271573504a1e9.tar.xz glibc-3fad53ec87945e61015913f2d09271573504a1e9.zip |
nptl: fix set-but-unused warning w/_STACK_GROWS_UP
On arches that set _STACK_GROWS_UP, the stacktop variable is declared and set, but never actually used. Refactor the code a bit so that the variable is only declared/set under _STACK_GROWS_DOWN settings.
Diffstat (limited to 'nptl')
-rw-r--r-- | nptl/allocatestack.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/nptl/allocatestack.c b/nptl/allocatestack.c index c56a4df12c..753da61b76 100644 --- a/nptl/allocatestack.c +++ b/nptl/allocatestack.c @@ -353,7 +353,6 @@ allocate_stack (const struct pthread_attr *attr, struct pthread **pdp, struct pthread *pd; size_t size; size_t pagesize_m1 = __getpagesize () - 1; - void *stacktop; assert (powerof2 (pagesize_m1 + 1)); assert (TCB_ALIGNMENT >= STACK_ALIGN); @@ -717,19 +716,23 @@ allocate_stack (const struct pthread_attr *attr, struct pthread **pdp, /* We place the thread descriptor at the end of the stack. */ *pdp = pd; -#if TLS_TCB_AT_TP +#if _STACK_GROWS_DOWN + void *stacktop; + +# if TLS_TCB_AT_TP /* The stack begins before the TCB and the static TLS block. */ stacktop = ((char *) (pd + 1) - __static_tls_size); -#elif TLS_DTV_AT_TP +# elif TLS_DTV_AT_TP stacktop = (char *) (pd - 1); -#endif +# endif -#ifdef NEED_SEPARATE_REGISTER_STACK +# ifdef NEED_SEPARATE_REGISTER_STACK *stack = pd->stackblock; *stacksize = stacktop - *stack; -#elif _STACK_GROWS_DOWN +# else *stack = stacktop; -#elif _STACK_GROWS_UP +# endif +#else *stack = pd->stackblock; assert (*stack > 0); #endif |