Patches for Newlib and RTEMS
Sebastian Huber
sebastian.huber at embedded-brains.de
Wed Jul 10 09:16:04 UTC 2013
On 07/08/2013 03:33 PM, Sebastian Huber wrote:
> the patches sent today for Newlib and RTEMS require a re-build of the tool
> chain. The changes are
>
> 1. Removal of the thread-specific atexit() support to reduce the size of struct
> _reent. See discussion on the Newlib list.
This saves roughly 400 bytes in struct _reent which were unused. This is a lot
on smaller targets. This is an ABI change, but not an API change.
>
> 2. Usage of __DYNAMIC_REENT__ for SMP support and simpler context switching.
This change is now in Newlib. It was absolutely necessary to support SMP. I
simplifies also the critical path in _Thread_Dispatch() which is a good thing
for non-SMP configurations. This is an ABI change, but not an API change.
>
> 3. POSIX cleanup push/pop implementation change.
To store the cleanup context on the stack instead of the workspace is a clear
implementation improvement and it avoids a silent error. This workspace
allocation was not part of the workspace size estimate. All other Pthread
implementations that I am aware of use this stack based context storage. This
is an ABI change, but not an API change provided the application code meets the
POSIX requirements.
We should discuss which Newlib version we want to use for RTEMS 4.11 and then
do a release candidate tool chain build. I use currently the Newlib HEAD
without patches.
Are there any patches left for upstream Newlib submission?
--
Sebastian Huber, embedded brains GmbH
Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail : sebastian.huber at embedded-brains.de
PGP : Public key available on request.
Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
More information about the devel
mailing list