在下载gcc for arm的时候,往往会有很多个版本:
这些版本的区别是什么?我该下载哪个版本?
区别无外乎几个:大端 or 小端、ARMv7 or ARMv8、32位 or 64位、裸机 or 嵌入式Linux
multiarch name |
syscall ABI |
instruction set |
endianness |
word size |
description |
spec documents |
aarch64-linux-gnu |
linux |
ARMv8 |
little |
64 |
aarch64 Linux Platform | |
aarch64_be-linux-gnu |
linux |
ARMv8 |
big |
64 |
aarch64 Linux Platform | |
aarch64-linux-gnu_ilp32 |
linux |
ARMv8 |
little |
32 |
aarch64 Linux Platform | |
aarch64_be-linux-gnu_ilp32 |
linux |
ARMv8 |
big |
32 |
aarch64 Linux Platform | |
arm-linux-gnu |
linux |
ARMv7 |
little |
32 |
Old ARM ABI |
APCS (ARM DUI 0041 chapter 9)4 |
arm-linux-gnueabi |
linux |
ARMv7 |
little |
32 |
ARM EABI, soft-float | |
arm-linux-gnueabihf |
linux |
ARMv7 |
little |
32 |
ARM EABI, hard-float |
AAPCS (ARM IHI 0042D)5 and |
armeb-linux-gnueabi |
linux |
ARMv7 |
big |
32 |
ARM EABI, soft-float | |
armeb-linux-gnueabihf |
linux |
ARMv7 |
big |
32 |
ARM EABI, hard-float |
AAPCS (ARM IHI 0042D)5 and |
armv8l-linux-gnueabihf |
linux |
ARMv8 |
little |
32 |
ARMv8 EABI, hard-float |
|
arm-eabi |
Bare-Metal |
ARMv7 |
little |
32 |
ARM EABI, soft-float |
|
armeb-eabi |
Bare-Metal |
ARMv7 |
big |
32 |
ARM EABI, soft-float |
|
aarch64-elf |
Bare-Metal |
ARMv8 |
little |
64 |
ARMv8 EABI, hard-float |
|
aarch64_be-elf |
Bare-Metal |
ARMv8 |
big |
64 |
ARMv8 EABI, hard-float |
|