diff options
author | Mike Frysinger <vapier@gentoo.org> | 2015-07-29 22:53:28 -0400 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2015-08-05 06:44:55 -0400 |
commit | 7bc2cafecb7b32902f85ef39112fcb5537f28b04 (patch) | |
tree | 601f57ed76aa9306dcccfaebccbc7a1dca2ed216 | |
parent | ebe01981adb3d4baf60da2623b031db97498eb18 (diff) | |
download | glibc-7bc2cafecb7b32902f85ef39112fcb5537f28b04.tar.gz glibc-7bc2cafecb7b32902f85ef39112fcb5537f28b04.tar.xz glibc-7bc2cafecb7b32902f85ef39112fcb5537f28b04.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.
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | nptl/allocatestack.c | 17 |
2 files changed, 16 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog index cb9124e4e6..95cc5a2a02 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2015-08-05 Mike Frysinger <vapier@gentoo.org> + + * nptl/allocatestack.c (allocate_stack): Move stacktop decl down to + bottom and under _STACK_GROWS_DOWN. Move the stacktop assignment + in there too. + 2015-08-05 Carlos O'Donell <carlos@systemhalted.org> * version.h (RELEASE): Set to "stable". diff --git a/nptl/allocatestack.c b/nptl/allocatestack.c index d97c89a3c9..f182e9a3c9 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); @@ -724,19 +723,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; #endif |