On Thu, Apr 2, 2020 at 11:38 PM Utkarsh Rai <utkarsh.ra...@gmail.com> wrote: > > > On Fri, Apr 3, 2020 at 8:15 AM Chris Johns <chr...@rtems.org> wrote: >> >> On 2020-03-28 00:13, utkarsh.ra...@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?
Yes. >> >> Chris >> >> > + Multilibs variants to match the BSP are set by selecting a specific >> > set of >> > + machine options using the RTEMS cross-compiler. >> > > > _______________________________________________ > devel mailing list > devel@rtems.org > http://lists.rtems.org/mailman/listinfo/devel _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel