<div dir="ltr">Please ignore this patch, forgot to mention copyright details.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Apr 3, 2020 at 8:24 PM <a href="mailto:utkarsh.rai60@gmail.com">utkarsh.rai60@gmail.com</a> <<a href="mailto:utkarsh.rai60@gmail.com">utkarsh.rai60@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">---<br>
 user/start/tools.rst | 33 +++++++++++++++++++++++++++++++++<br>
 1 file changed, 33 insertions(+)<br>
<br>
diff --git a/user/start/tools.rst b/user/start/tools.rst<br>
index c3f039b..494e95a 100644<br>
--- a/user/start/tools.rst<br>
+++ b/user/start/tools.rst<br>
@@ -76,3 +76,36 @@ source code used.<br>
<br>
<br>
 Add ``--verbose`` to the GCC command for the the verbose version details.<br>
+<br>
+<br>
+Need for RTEMS-Specific Cross-Compiler<br>
+---------------------------------------------------------<br>
+<br>
+New users are often confused as to why they cannot use their distribution's<br>
+cross-compiler for their target on rtems, e.g., the riscv64-linux-gnu or the<br>
+arm-none-eabi-gcc on RTEMS. Below mentioned are some of the reasons for using<br>
+the RTEMS cross-compiler.<br>
+<br>
+ ``Correct configuration of Newlib -`` <br>
+     Newlib is a C standard library implementation intended for use on embedded<br>
+     systems. Most of the POSIX and libc support for RTEMS is derived from<br>
+     Newlib. The RTEMS cross-compiler configures Newlib correctly for RTEMS.<br>
+<br>
+ ``Threading in GCC support libraries -`` <br>
+     Several threading packages in GCC such as Go threads (libgo), OpenMP<br>
+     (libgomp), and OpenACC need to be customized according to RTEMS. This is<br>
+     done by the RTEMS specific cross-compiler.    <br>
+  <br>
+ ``Provide preprocessor define __rtems__ -`` <br>
+     The  ``__rtems__``  preprocessor define is used to provide conditional code<br>
+     compilation in source files that are shared with other projects e.g. in<br>
+     Newlib or imported code from FreeBSD.<br>
+<br>
+ ``Multilib variants to match the BSP -`` <br>
+     RTEMS configures GCC to create separate runtime libraries for each<br>
+     supported instruction set, floating point unit, vector unit, word size<br>
+     (e.g. 32-bit and 64-bit), endianness, ABI, processor errata workarounds,<br>
+     and so on in the architecture. These libraries are termed as :ref:`Multilib<br>
+     <TargetArchitectures>` variants. Multilib variants to match the BSP are set<br>
+     by selecting a specific set of machine options using the RTEMS<br>
+     cross-compiler.<br>
-- <br>
2.17.1<br>
<br>
</blockquote></div>