summaryrefslogtreecommitdiffstats
path: root/cpukit/score/src/threadinitialize.c
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2019-12-09 14:33:06 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2020-02-12 09:08:36 +0100
commit4c9deb6c10ad2ccab37da5723748841dbc73f0d2 (patch)
treeeb22b027bc51c8b101d1e42427a15fbf6185dac2 /cpukit/score/src/threadinitialize.c
parentscore: Add Thread_Configuration (diff)
downloadrtems-4c9deb6c10ad2ccab37da5723748841dbc73f0d2.tar.bz2
score: Add _Stack_Extend_size()
Update #3835.
Diffstat (limited to 'cpukit/score/src/threadinitialize.c')
-rw-r--r--cpukit/score/src/threadinitialize.c13
1 files changed, 3 insertions, 10 deletions
diff --git a/cpukit/score/src/threadinitialize.c b/cpukit/score/src/threadinitialize.c
index cf21602ac0..a2bb09425d 100644
--- a/cpukit/score/src/threadinitialize.c
+++ b/cpukit/score/src/threadinitialize.c
@@ -76,21 +76,12 @@ bool _Thread_Initialize(
(char *) the_thread + add_on->source_offset;
}
- tls_size = _TLS_Get_allocation_size();
-
/* Allocate the stack for this thread */
#if defined(RTEMS_SCORE_THREAD_ENABLE_USER_PROVIDED_STACK_VIA_API)
if ( config->stack_area == NULL ) {
#endif
stack_size = _Stack_Ensure_minimum( config->stack_size );
-
-#if ( CPU_HARDWARE_FP == TRUE ) || ( CPU_SOFTWARE_FP == TRUE )
- if ( config->is_fp ) {
- stack_size += CONTEXT_FP_SIZE;
- }
-#endif
-
- stack_size += tls_size;
+ stack_size = _Stack_Extend_size( stack_size, config->is_fp );
stack_area = _Stack_Allocate( stack_size );
if ( stack_area == NULL ) {
@@ -115,6 +106,8 @@ bool _Thread_Initialize(
}
#endif
+ tls_size = _TLS_Get_allocation_size();
+
/* Allocate thread-local storage (TLS) area in stack area */
if ( tls_size > 0 ) {
uintptr_t tls_align;