Kernel-space ctypes.h support?

Chris Johns chrisj at rtems.org
Thu Sep 13 22:39:52 UTC 2018


On 14/09/2018 02:30, Joel Sherrill wrote:
> On Thu, Sep 13, 2018, 10:34 AM Sebastian Huber
> <sebastian.huber at embedded-brains.de <mailto:sebastian.huber at embedded-brains.de>>
> wrote:
>     ----- Am 13. Sep 2018 um 14:07 schrieb joel joel at rtems.org
>     <mailto:joel at rtems.org>:
> 
>     > On Thu, Sep 13, 2018, 3:28 AM Sebastian Huber <
>     > sebastian.huber at embedded-brains.de
>     <mailto:sebastian.huber at embedded-brains.de>> wrote:
>     >
>     >> Hello,
>     >>
>     >> I test currently the tqm8xx BSP which worked fine until RTEMS 5. The
>     >> problem is that this BSP uses strtoul() to get some system configuration
>     >> parameters from the boot loader. The Newlib used by RTEMS 5 has now
>     >> support for C locales in strtoul(). The C locale support needs an
>     >> executing thread with a valid Newlib reentrancy structure. This is
>     >> definitely not the case during bsp_start().
>     >>
>     >
>     > Why do we now longer have a global reentrancy structure to fall back on?
> 
>     I think having a global reentrancy as a fall back just for the lowest level
>     system start without an idle thread is a bit of overkill.
> 
>     The heavy weight C local support which was recently introduced in Newlib is
>     not really the right thing for the embedded systems I know.  There were
>     several complaints about this on the Newlib mailing list as well.  The root
>     cause for this is the C standard. So, basically the C standard strtoul() is
>     unsuitable for embedded systems. The FreeBSD (sys/kern/strtoul.c) and Linux
>     (lib/kstrtox.c) kernel have their own implementations.
> 
> 
> FWIW the FACE Technical Standard does not include wide characters in ANY profile
> as of Edition 3.0. None of the RTOS vendors knew of any avionics users. It
> wasn't viewed as a necessary feature. We could consider disabling it by default.
> 

Is this something we could ot would want to control with newlib via a config option?

Chris


More information about the devel mailing list