[PATCH] Chapter on need for RTEMS-specific cross-compiler
utkarsh.rai60 at gmail.com
utkarsh.rai60 at gmail.com
Thu Mar 26 16:56:41 UTC 2020
---
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
More information about the devel
mailing list