Kernel-space ctypes.h support?
Joel Sherrill
joel at rtems.org
Fri Sep 14 02:27:16 UTC 2018
On Thu, Sep 13, 2018, 9:25 PM Chris Johns <chrisj at rtems.org> wrote:
> On 14/09/2018 10:13, Joel Sherrill wrote:
> > On Thu, Sep 13, 2018, 5:40 PM Chris Johns <chrisj at rtems.org
> > <mailto:chrisj at rtems.org>> wrote:
> > 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>
> > <mailto: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>
> > > <mailto: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>
> > > <mailto: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?
> >
> >
> > We don't turn on locale for h8, m32c and maybe not epiphany. I am pretty
> sure.it
> > <http://sure.it> is an option. And should be a documented RSB option to
> turn it
> > back on. Should be a size savings for most users.
>
> We turn on or off as an option?
>
Based on Sebastian's observation, I think off.
Does this impact wide characters and multibyte?
We will need to document the impact. I suspect it removes some POSIX
support in a base build.
>
> Chris
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20180913/655fe2d4/attachment-0002.html>
More information about the devel
mailing list