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

Gedare Bloom gedare at rtems.org
Thu Mar 26 17:19:18 UTC 2020


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


More information about the devel mailing list