Introduction

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

For default configuration of each 'triples', see ARM and AArch64 Target Triples default options.

Little-Endian Triples

Little-endian is the default bit ordering on ARM. 

aarch64-linux-gnu

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

Default command line options (gcc -v -c): '-march=armv8-a' '-mlittle-endian' '-mabi=lp64'

arm-linux-gnueabihf

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

Default command line options (gcc -v -c): '-march=armv7-a' '-mtune=cortex-a9' '-mfloat-abi=hard' '-mfpu=vfpv3-d16' '-mthumb' '-mtls-dialect=gnu'

armv8l-linux-gnueabihf

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

Default command line options (gcc -v -c): '-march=armv8-a' '-mfloat-abi=hard' '-mfpu=neon-fp-armv8' '-mthumb' '-mtls-dialect=gnu'

arm-linux-gnueabi

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

Default command line options (gcc -v -c): '-march=armv7-a' '-mtune=cortex-a9' '-mfloat-abi=soft' '-mthumb' '-mtls-dialect=gnu'

aarch64-elf

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

Default command line options (gcc -v -c): '-march=armv8-a' '-mlittle-endian' '-mabi=lp64'

arm-eabi

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

Default command line options (gcc -v -c): None, but 'gcc -S -v' produces '.cpu arm7tdmi' and '.fpu softvfp' in the .s file

Big-Endian Triples

aarch64_be-linux-gnu

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

Default command line options (gcc -v -c): '-march=armv8-a' '-mbig-endian' '-mabi=lp64'

armeb-linux-gnueabihf

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

Default command line options (gcc -v -c): '-march=armv7-a' '-mtune=cortex-a9' '-mfloat-abi=hard' '-mfpu=vfpv3-d16' '-mthumb' '-mtls-dialect=gnu'

armeb-linux-gnueabi

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

Default command line options (gcc -v -c): '-march=armv7-a' '-mtune=cortex-a9' '-mfloat-abi=soft' '-mthumb' '-mtls-dialect=gnu'

aarch64_be-elf

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

Default command line options (gcc -v -c): '-march=armv8-a' '-mbig-endian' '-mabi=lp64'

armeb-eabi

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

Default command line options (gcc -v -c): None, but 'gcc -S -v' produces '.cpu arm7tdmi' and '.fpu softvfp' in the .s file