ARM Build
约 1 分钟阅读
- alpine 包含 gcc-arm-none-eabi - 适用于 arm 裸机
- debian gcc-arm-linux-gnueabi
- 最早版本 6
- EABI - Embedded ABI
- family of ABIs and one of the "subABIs" is GNU EABI
- EABI4
- arm v5t linux 2.4.17
- gcc 3 - 很难找
-mabi=aapcs-linux -mfloat-abi=soft -meabi=4- arm-unknown-linux-gnueabi
- EABI5 - 现在默认 - hf
- armv6-alpine-linux-muslgnueabihf
- ArmEabiPort
- android.googlesource.com/platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8
- gcc
- -mabi=aapcs-linux -marm -mthumb-interwork
# EABI version
gcc -dumpmachine
readelf -h libsqlite3.so | grep Flags
echo 'int main(){}' > test.c
gcc -o test test.c
# 默认
file test
# 查看是否 VFP
readelf -A test | grep VFP
gcc -print-multi-lib
# 预设架构
gcc -Q --help=target-mabi
| Kernel | ABI | CLFS_ABI=Value | Note |
|---|---|---|---|
| CONFIG_AEABI | aapcs-linux | aapcs-linux | EABI. Linux 32 bit (int) enums |
| - | apcs-gnu | apcs-gnu | OABI |
| CONFIG_THUMB2_KERNEL | atpcs | atpcs | Thumb ABI |
| - | aapcs | aapcs | EABI w/ variable size enums |
| CONFIG_IWMMXT | iwmmxt | iwmmxt | Intel XScale MMX |
sorry, unimplemented: -mfloat-abi=hard and VFP
- -mfloat-abi=soft
gcc -march=?Source object /tmp/out.o has EABI version 0, but target test has EABI version 5
混合了 OABI 和 EABI
cannot find libgcc_s.so.1
- -mabi=aapcs-linux
apk add libgcc关联信息
反向链接、本文链接的其他页面和外部资料。
参考资料
其他外链5 条
- android.googlesource.com/platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8android.googlesource.com/platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8
- gcc.gnu.org/onlinedocs/gcc/ARM-Options.htmlgcc.gnu.org/onlinedocs/gcc/ARM-Options.html
- kanj.github.io/elfs/book/armMusl/cross-tools/abi.htmlkanj.github.io/elfs/book/armMusl/cross-tools/abi.html
- packages.debian.org/unstable/gcc-arm-linux-gnueabipackages.debian.org/unstable/gcc-arm-linux-gnueabi
- wiki.debian.org/ArmEabiPortwiki.debian.org/ArmEabiPort