[PATCH v2 00/13] More robust idle thread creation and TLS handling

Sebastian Huber sebastian.huber at embedded-brains.de
Mon Oct 10 08:17:06 UTC 2022


On 06/10/2022 10:23, Sebastian Huber wrote:
> This patch set started with an 8 byte overwrite of the interrupt stack while
> porting an application from RTEMS 5 to 6.
> 
> The overwrite was due to a mismatch of the size returned by
> _TLS_Get_allocation_size() and the actual usage of the area.  To fix this issue
> it was necessary to add a new CPU port option:
> CPU_THREAD_LOCAL_STORAGE_VARIANT.  I checked also the glibc implementations.
> It seems that on some architectures (for example powerpc) the TCB is used for a
> couple of more things.  For RTEMS, we don't really need the DTV and TCB.  It
> could be useful for debuggers, however, then we probably need also some glibc
> compatibility.
> 
> Add a new fatal error to catch a failing idle thread initialization:
> INTERNAL_ERROR_IDLE_THREAD_CREATE_FAILED.  This can only happen if a thread
> create extension fails for an idle thread.
> 
> By default, allocate the IDLE task storage areas from the RTEMS Workspace.
> This avoids having to estimate the thread-local storage size in the default
> configuration.
>      
> Add the application configuration option CONFIGURE_IDLE_TASK_STORAGE_SIZE to
> request a static allocation of the task storage area for IDLE tasks.
> 
> v2:
> 
> * Add CONFIGURE_IDLE_TASK_STORAGE_SIZE instead of CONFIGURE_IDLE_TASK_MINIMUM_STACK_SIZE.

Any objections to commit this version?

-- 
embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: sebastian.huber at embedded-brains.de
phone: +49-89-18 94 741 - 16
fax:   +49-89-18 94 741 - 08

Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:
https://embedded-brains.de/datenschutzerklaerung/


More information about the devel mailing list