[PATCH] Chapter on need for RTEMS-specific cross-compiler

Utkarsh Rai utkarsh.rai60 at gmail.com
Thu Mar 26 17:21:24 UTC 2020


Yes, I did. They looked good to me, although I am willing to change the
format based on further feedback.

On Thu, Mar 26, 2020 at 10:49 PM Gedare Bloom <gedare at rtems.org> wrote:

> Hi Utkarsh,
>
> Thank you this looks pretty good. Did you build the docs with your
> changes to see they look right to you?
>
> On Thu, Mar 26, 2020 at 10:57 AM utkarsh.rai60 at gmail.com
> <utkarsh.rai60 at gmail.com> wrote:
> >
> > ---
> >  user/start/tools.rst | 31 +++++++++++++++++++++++++++++++
> >  1 file changed, 31 insertions(+)
> >
> > diff --git a/user/start/tools.rst b/user/start/tools.rst
> > index c3f039b..63b6d17 100644
> > --- a/user/start/tools.rst
> > +++ b/user/start/tools.rst
> > @@ -76,3 +76,34 @@ source code used.
> >
> >
> >  Add ``--verbose`` to the GCC command for the the verbose version
> details.
> > +
> > +Need for RTEMS-Specific Cross-Compiler
> > +--------------------------------------------
> > +
> > +New users are often confused as to why they can't use their
> distribution's
> > +cross-compiler for their target on rtems, e.g., the riscv64-linux-gnu
> or the
> > +arm-none-eabi-gcc. Below mentioned are some of the reasons for using
> the RTEMS
> > +cross-compiler.
> > +
> > + ``Correct configuration of newlib -``
> > +  Newlib is a C standard library implementation intended for use on
> embedded
> > +  systems. Most of the POSIX and libc support for RTEMS is derived from
> newlib.
> > +  The RTEMS cross-compiler configures newlib correctly for RTEMS.
> > +
> > + ``Threading in GCC support libraries -``
> > +  Several threading packages in GCC such as Go threads (libgo), openmp
> > +  (libgomp), and openacc need to be customized according to RTEMS. This
> is done
> > +  by the RTEMS specific cross-compiler.
> > +
> > + ``Provide preprocessor define __rtems__ -``
> > +  The  ``__rtems__``  preprocessor define is used to provide
> conditional code
> > +  compilation in source files that are shared with other projects e.g.
> in newlib
> > +  or imported code from freebsd.
> > +
> > + ``Multilib variants to match the BSP -``
> > +  RTEMS configures GCC to create separate runtime libraries for each
> supported
> > +  instruction set, floating point unit, vector unit, word size (e.g.
> 32-bit and
> > +  64-bit), endianness, ABI, processor errata workarounds, and so on in
> the
> > +  architecture. These libraries are termed multilib variants. Multilibs
> variants
> > +  to match the BSP are set by selecting a specific set of machine
> options using
> > +  the RTEMS cross-compiler.
> > --
> > 2.17.1
> >
> > _______________________________________________
> > devel mailing list
> > devel at rtems.org
> > http://lists.rtems.org/mailman/listinfo/devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20200326/2925c5a1/attachment.html>


More information about the devel mailing list