[PATCH v2] Chapter-on-need-for-RTEMS-specific-cross-compiler
Utkarsh Rai
utkarsh.rai60 at gmail.com
Fri Apr 3 05:37:57 UTC 2020
On Fri, Apr 3, 2020 at 8:15 AM Chris Johns <chrisj at rtems.org> wrote:
> On 2020-03-28 00:13, utkarsh.rai60 at gmail.com wrote:
> > ---
> > user/start/tools.rst | 34 ++++++++++++++++++++++++++++++++++
> > 1 file changed, 34 insertions(+)
> >
> > diff --git a/user/start/tools.rst b/user/start/tools.rst
> > index c3f039b..8ea1f64 100644
> > --- a/user/start/tools.rst
> > +++ b/user/start/tools.rst
> > @@ -3,6 +3,7 @@
> > .. Copyright (C) 2019 embedded brains GmbH
> > .. Copyright (C) 2019 Sebastian Huber
> > .. Copyright (C) 2020 Chris Johns
> > +.. Copyright (C) 2020 Utkarsh Rai
> >
> > .. _QuickStartTools:
> >
> > @@ -76,3 +77,36 @@ source code used.
> >
> >
> > Add ``--verbose`` to the GCC command for the the verbose version
> details.
> > +
> > +
> > +Need for RTEMS-Specific Cross-Compiler
> > +--------------------------------------------
>
> Length of ---'s does not match the heading.
>
> > +
> > +New users are often confused as to why they cannot use their
> distribution's
> > +cross-compiler for their target on rtems, e.g., the riscv64-linux-gnu
> or the
> > +arm-none-eabi-gcc on RTEMS. 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
> > + (
> https://docs.rtems.org/branches/master/user/hardware/architectures.html?highlight=multilib
> ).
>
> Please do not add external links to internal parts of the same document.
> Please use :ref: to do this. A link like this breaks on branches and PDFs.
>
> Would it be ok to just add reference to the architecture section of the
doc?
> Chris
>
> > + Multilibs variants to match the BSP are set by selecting a
> specific set of
> > + machine options using the RTEMS cross-compiler.
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20200403/d3583a4b/attachment.html>
More information about the devel
mailing list