ia64: Fix thread stack allocation permission set (BZ #21672)
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>
Mon, 28 Aug 2017 14:24:35 +0000 (11:24 -0300)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Tue, 29 Aug 2017 16:29:19 +0000 (13:29 -0300)
commit01b87c656f670863ce437421b8e9278200965d38
tree1c51fd932a33a1b7d0b1590b55b603fbd41024fd
parent16f138a49ad1815e113d2b5b7a87f26999ade811
ia64: Fix thread stack allocation permission set (BZ #21672)

This patch fixes ia64 failures on thread exit by madvise the required
area taking in consideration its disjoing stacks
(NEED_SEPARATE_REGISTER_STACK).  Also the snippet that setup the
madvise call to advertise kernel the area won't be used anymore in
near future is reallocated in allocatestack.c (for consistency to
put all stack management function in one place).

Checked on x86_64-linux-gnu and i686-linux-gnu for sanity (since
it is not expected code changes for architecture that do not
define NEED_SEPARATE_REGISTER_STACK) and also got a report that
it fixes ia64-linux-gnu failures from Sergei Trofimovich
<slyfox@gentoo.org>.

[BZ #21672]
* nptl/allocatestack.c [_STACK_GROWS_DOWN] (setup_stack_prot):
Set to use !NEED_SEPARATE_REGISTER_STACK as well.
(advise_stack_range): New function.
* nptl/pthread_create.c (START_THREAD_DEFN): Move logic to mark
stack non required to advise_stack_range at allocatestack.c
ChangeLog
nptl/allocatestack.c
nptl/pthread_create.c