[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