summaryrefslogtreecommitdiff
path: root/libpthread
diff options
context:
space:
mode:
authorChristophe Lyon <christophe.lyon@st.com>2018-07-04 17:55:33 +0200
committerWaldemar Brodkorb <wbrodkorb@conet.de>2018-08-10 16:02:45 +0200
commit4d6b4178c8e49dd6d3067a399e2a49d5379b7750 (patch)
treee8aca0bbcfa632bfc5407cadf25ee3ba8c40fd6d /libpthread
parenteae96c1e2b02af0554bbae189af2c8091cb581bf (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')
-rw-r--r--libpthread/nptl/pthread_create.c4
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))