diff options
author | Christophe Lyon <christophe.lyon@st.com> | 2018-07-04 17:55:33 +0200 |
---|---|---|
committer | Waldemar Brodkorb <wbrodkorb@conet.de> | 2018-08-10 16:02:45 +0200 |
commit | 4d6b4178c8e49dd6d3067a399e2a49d5379b7750 (patch) | |
tree | e8aca0bbcfa632bfc5407cadf25ee3ba8c40fd6d /libpthread/nptl/pthread_create.c | |
parent | eae96c1e2b02af0554bbae189af2c8091cb581bf (diff) |
nptl: Do not use madvise
start_thread() uses it, but it is not supported on MMU-less systems.
* libpthread/nptl/pthread_create.c (start_thread): Call madvise
only if __ARCH_USE_MMU__ is defined.
Signed-off-by: Mickaël Guêné <mickael.guene@st.com>
Signed-off-by: Christophe Lyon <christophe.lyon@st.com>
Diffstat (limited to 'libpthread/nptl/pthread_create.c')
-rw-r--r-- | libpthread/nptl/pthread_create.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libpthread/nptl/pthread_create.c b/libpthread/nptl/pthread_create.c index 3064b40dd..5a7957d6a 100644 --- a/libpthread/nptl/pthread_create.c +++ b/libpthread/nptl/pthread_create.c @@ -373,8 +373,12 @@ start_thread (void *arg) size_t freesize = ((char *) pd->stackblock - sp) & ~pagesize_m1; #endif assert (freesize < pd->stackblock_size); + + /* madvise is not supported on MMU-less systems. */ +#ifdef __ARCH_USE_MMU__ if (freesize > PTHREAD_STACK_MIN) madvise (pd->stackblock, freesize - PTHREAD_STACK_MIN, MADV_DONTNEED); +#endif /* If the thread is detached free the TCB. */ if (IS_DETACHED (pd)) |