[bootlin/training-materials updates] master: Cross-compiling toolchains: LLVM toolchains support multiple architectures (f3a7c0c7)

Michael Opdenacker michael.opdenacker at bootlin.com
Tue Feb 22 13:41:46 CET 2022


Repository : https://github.com/bootlin/training-materials
On branch  : master
Link       : https://github.com/bootlin/training-materials/commit/f3a7c0c7cb4a133b631544307ddd3b81a757ef11

>---------------------------------------------------------------

commit f3a7c0c7cb4a133b631544307ddd3b81a757ef11
Author: Michael Opdenacker <michael.opdenacker at bootlin.com>
Date:   Tue Feb 22 13:41:46 2022 +0100

    Cross-compiling toolchains: LLVM toolchains support multiple architectures
    
    Signed-off-by: Michael Opdenacker <michael.opdenacker at bootlin.com>


>---------------------------------------------------------------

f3a7c0c7cb4a133b631544307ddd3b81a757ef11
 slides/sysdev-toolchains-options/sysdev-toolchains-options.tex | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/slides/sysdev-toolchains-options/sysdev-toolchains-options.tex b/slides/sysdev-toolchains-options/sysdev-toolchains-options.tex
index d7dc6bfc..78727e66 100644
--- a/slides/sysdev-toolchains-options/sysdev-toolchains-options.tex
+++ b/slides/sysdev-toolchains-options/sysdev-toolchains-options.tex
@@ -46,9 +46,9 @@
 \begin{frame}
   \frametitle{CPU optimization flags}
   \begin{itemize}
-  \item A set of cross-compiling tools is specific to a CPU architecture (ARM,
-    x86, MIPS, PowerPC)
-  \item However, gcc offers further options:
+  \item GNU tools (gcc, binutils) can only be compiled for a specific
+        target architecture at a time (ARM, x86, RiscV...)
+  \item gcc offers further options:
     \begin{itemize}
     \item \code{-march} allows to select a specific target instruction set
     \item \code{-mtune} allows to optimize code for a specific CPU
@@ -57,7 +57,7 @@
       instruction set (\code{-march=armv7}) and cpu optimizations (\code{-mtune=cortex-a8})
     \item \url{https://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html}
     \end{itemize}
-  \item At the toolchain compilation time, values can be chosen. They are used:
+  \item At the GNU toolchain compilation time, values can be chosen. They are used:
     \begin{itemize}
     \item As the default values for the cross-compiling tools, when no
       other \code{-march}, \code{-mtune}, \code{-mcpu} options are
@@ -66,5 +66,6 @@
     \end{itemize}
   \item Even if the C library has been compiled for armv5t, it doesn't
     prevent from compiling bare-metal programs or the kernel for armv7.
+  \item Note: LLVM (clang, lld...) utilities support multiple target architectures at once.
   \end{itemize}
 \end{frame}




More information about the training-materials-updates mailing list