# ARM and AArch64 Target Triples

## [ARM and AArch64 Target Triples](https://collaborate.linaro.org/display/TCWGPUB/ARM+and+AArch64+Target+Triples) <a href="#title-text" id="title-text"></a>

## Introduction <a href="#armandaarch64targettriples-introduction" id="armandaarch64targettriples-introduction"></a>

The GCC compiler uses '*triples*' when referring to the host system that the compiler runs on or the target system that a compiler will generate binaries to run on.

The term '*triple*' refers to the method used in the GNU/Linux operating system to designate a specific host or target. It is separated into the following components:

<*arch*>-<*vendor*>-<*operatingsystem*>

The <*operatingsystem>* may be further divided into an optional*operating system \_and \_ABI \_portions. For example the Linux OS and the GNU hardfloat ABI might have the following <\_operatingsystem>,* "-linux-gnueabihf". Whereas a bare-metal target will not have an OS but only the embedded ABI, "-eabi".

<https://gcc.gnu.org/install/specific.html>

## Little-Endian Triples <a href="#armandaarch64targettriples-little-endiantriples" id="armandaarch64targettriples-little-endiantriples"></a>

Little-endian is the default bit ordering on ARM.

### aarch64-linux-gnu <a href="#armandaarch64targettriples-aarch64-linux-gnu" id="armandaarch64targettriples-aarch64-linux-gnu"></a>

Toolchains for little-endian, 64-bit**ARMv8**for GNU/Linux systems

* * * gcc-linaro-\*x86\_64\_aarch64-linux-gnu.tar.xz

      * Linux 64-bit binaries for the Aarch64 Linux cross-toolchain

      gcc-linaro-\*i686\_aarch64-linux-gnu.tar.xz

      * Linux 32-bit binaries for the Aarch64 Linux cross-toolchain

      gcc-linaro-\*i686-mingw32\_aarch64-linux-gnu.tar.xz Windows 32-bit binaries for the Aarch64 Linux cross-toolchain

### arm-linux-gnueabihf <a href="#armandaarch64targettriples-arm-linux-gnueabihf" id="armandaarch64targettriples-arm-linux-gnueabihf"></a>

Toolchains for little-endian, hard-float, 32-bit**ARMv7**(and earlier) for GNU/Linux systems

* * * gcc-linaro-\*x86\_64\_arm-linux-gnueabihf.tar.xz

      * Linux 64-bit binaries for the ARMv7 Linux hard float cross-toolchain

      gcc-linaro-\*xi686\_arm-linux-gnueabihf.tar.xz

      * Linux 32-bit binaries for the ARMv7 Linux hard float cross-toolchain

      gcc-linaro-\*i686-mingw32\_arm-linux-gnueabihf.tar.xz Windows 32-bit binaries for the ARMv7 Linux hard float cross-toolchain

### armv8l-linux-gnueabihf <a href="#armandaarch64targettriples-armv8l-linux-gnueabihf" id="armandaarch64targettriples-armv8l-linux-gnueabihf"></a>

Toolchains for little-endian, 32-bit**ARMv8**for GNU/Linux systems

* gcc-linaro-\*-x86\_64\_armv8l-linux-gnueabihf.tar.xz

  * Linux 64-bit binaries for the Aarch64 Linux cross-toolchain

  gcc-linaro-\*-i686\_armv8l-linux-gnueabihf.tar.xz

  * Linux 32-bit binaries for the Aarch64 Linux cross-toolchain

  gcc-linaro-\*-i686-mingw32\_armv8l-linux-gnueabihf.tar.xz Windows 32-bit binaries for the Aarch64 Linux cross-toolchain

### arm-linux-gnueabi <a href="#armandaarch64targettriples-arm-linux-gnueabi" id="armandaarch64targettriples-arm-linux-gnueabi"></a>

Toolchains for little-endian, soft-float, 32-bit**ARMv7**(and earlier) for GNU/Linux systems

* * gcc-linaro-\*x86\_64\_arm-linux-gnueabi.tar.xz

    * Linux 64-bit binaries for the ARMv7 Linux soft float cross-toolchain

    gcc-linaro-\*i686\_arm-linux-gnueabi.tar.xz

    * Linux 32-bit binaries for the ARMv7 Linux soft float cross-toolchain

    gcc-linaro-\*i686-mingw32\_arm-linux-gnueabi.tar.xz Windows 32-bit binaries for the ARMv7 Linux soft float cross-toolchain

### aarch64-elf <a href="#armandaarch64targettriples-aarch64-elf" id="armandaarch64targettriples-aarch64-elf"></a>

Toolchains for little-endian, 64-bit**ARMv8**for bare-metal systems

* * * gcc-linaro-\*x86\_64\_aarch64-elf.tar.xz

      * Linux 64-bit binaries for the Aarch64 bare-metal cross-toolchain

      gcc-linaro-\*i686\_aarch64-elf.tar.xz

      * Linux 32-bit binaries for the Aarch64 bare-metal cross-toolchain

      gcc-linaro-\*i686-mingw32\_aarch64-elf.tar.xz Windows 32-bit binaries for the Aarch64 bare-metal cross-toolchain

### arm-eabi <a href="#armandaarch64targettriples-arm-eabi" id="armandaarch64targettriples-arm-eabi"></a>

Toolchains for little-endian, soft-float, 32-bit**ARMv7**(and earlier) for bare-metal systems

* * gcc-linaro-\*x86\_64\_arm-eabi.tar.xz

    * Linux 64-bit binaries for the ARMv7 bare-metal cross-toolchain

    gcc-linaro-\*i686\_arm-eabi.tar.xz

    * Linux 32-bit binaries for the ARMv7 bare-metal cross-toolchain

    gcc-linaro-\*i686-mingw32\_arm-eabi.tar.xz Windows 32-bit binaries for the ARMv7 bare-metal cross-toolchain

## Big-Endian Triples <a href="#armandaarch64targettriples-big-endiantriples" id="armandaarch64targettriples-big-endiantriples"></a>

### aarch64\_be-linux-gnu <a href="#armandaarch64targettriples-aarch64_be-linux-gnu" id="armandaarch64targettriples-aarch64_be-linux-gnu"></a>

Toolchains for big-endian, 64-bit**ARMv8**for GNU/Linux systems

* * * gcc-linaro-\*x86\_64\_aarch64\_be-linux-gnu.tar.xz

      * Linux 64-bit binaries for the Aarch64 Linux Big Endian cross-toolchain

      gcc-linaro-\*i686\_aarch64\_be-linux-gnu.tar.xz

      * Linux 32-bit binaries for the Aarch64 Linux Big Endian cross-toolchain

      gcc-linaro-\*i686-mingw32\_aarch64\_be-linux-gnu.tar.xz Windows 32-bit binaries for the Aarch64 Linux Big Endian cross-toolchain

### armeb-linux-gnueabihf <a href="#armandaarch64targettriples-armeb-linux-gnueabihf" id="armandaarch64targettriples-armeb-linux-gnueabihf"></a>

Toolchains for big-endian, hard-float, 32-bit**ARMv7**(and earlier) for GNU/Linux systems

* * * gcc-linaro-\*x86\_64\_armeb-linux-gnueabihf.tar.xz

      * Linux 64-bit binaries for the ARMv7 Linux Big Endian hard float cross-toolchain

      gcc-linaro-\*i686\_armeb-linux-gnueabihf.tar.xz

      * Linux 32-bit binaries for the ARMv7 Linux Big Endian hard float cross-toolchain

      gcc-linaro-\*i686-mingw32\_armeb-linux-gnueabihf.tar.xz Windows 32-bit binaries for the ARMv7 Linux Big Endian hard float cross-toolchain

### armeb-linux-gnueabi <a href="#armandaarch64targettriples-armeb-linux-gnueabi" id="armandaarch64targettriples-armeb-linux-gnueabi"></a>

Toolchains for big-endian, soft-float, 32-bit**ARMv7**(and earlier) for GNU/Linux systems

* * * gcc-linaro-\*x86\_64\_armeb-linux-gnueabi.tar.xz

      * Linux 64-bit binaries for the ARMv7 Linux Big Endian soft float cross-toolchain

      gcc-linaro-\*i686\_armeb-linux-gnueabi.tar.xz

      * Linux 32-bit binaries for the ARMv7 Linux Big Endian soft float cross-toolchain

      gcc-linaro-\*i686-mingw32\_armeb-linux-gnueabi.tar.xz Windows 32-bit binaries for the ARMv7 Linux Big Endian soft float cross-toolchain

### aarch64\_be-elf <a href="#armandaarch64targettriples-aarch64_be-elf" id="armandaarch64targettriples-aarch64_be-elf"></a>

Toolchains for big-endian, 64-bit**ARMv8**for bare-metal systems

* * * gcc-linaro-\*x86\_64\_aarch64\_be-elf.tar.xz

      * Linux 64-bit binaries for the Aarch64 bare-metal Big Endian cross-toolchain

      gcc-linaro-\*i686\_aarch64\_be-elf.tar.xz

      * Linux 32-bit binaries for the Aarch64 bare-metal Big Endian cross-toolchain

      gcc-linaro-\*i686-mingw32\_aarch64\_be-elf.tar.xz Windows 32-bit binaries for the Aarch64 bare-metal Big Endian cross-toolchain

### armeb-eabi <a href="#armandaarch64targettriples-armeb-eabi" id="armandaarch64targettriples-armeb-eabi"></a>

Toolchains for big-endian, soft-float, 32-bit**ARMv7**(and earlier) for bare-metal systems

* * * gcc-linaro-\*x86\_64\_armeb-eabi.tar.xz

      * Linux 64-bit binaries for the ARMv7 bare-metal Big Endian cross-toolchain

      gcc-linaro-\*i686\_armeb-eabi.tar.xz

      * Linux 32-bit binaries for the ARMv7 bare-metal Big Endian cross-toolchain

      gcc-linaro-\*i686-mingw32\_armeb-eabi.tar.xz Windows 32-bit binaries for the ARMv7 bare-metal Big Endian cross-toolchain


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://cswang.gitbook.io/soc/chapter1.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
