我正在为ARM Cortex-A5 cpu创建自己的自定义gcc工具链,我正在尝试尽可能深入地深入每一步。我故意避免使用crosstool-ng或其他工具来提供帮助,以便更好地了解创建工具链的过程。
虽然有一件事困扰着我。在配置和构建binutils的过程中,我需要指定一个目标(--target)。此目标可以是经典的主机元组(例如:arm-none-linux-gnuabi)或特定类型,例如i686-elf。
为什么需要这个目标?以及它对binutils生成的“ as”和“ ld”程序的具体作用是什么?
例如,如果我使用arm-none-linux-gnueabi来构建它,则看起来结果为“ as”程序支持在阳光下设置的每个arm指令集(armv4t,armv5等)。
是否只是为了在生成的可执行文件中节省空间?还是还有其他事情?
例如,如果我为特定指令集配置了binutils,我会得到的。为我建立一个理解armv4t指令的汇编器。
具体来说,通过查看binutils和gas的来源,看起来主机元组正在选择位于gas / config / tc *,gas / config / te *中的一些头文件。同样,这似乎是任意的,因为它是广泛的系统类别。
抱歉,我的询问可以这样陈述:为什么binutils不是一个多合一的软件包?
我正在为ARM Cortex-A5 cpu创建自己的自定义gcc工具链,我正在尝试尽可能深入地深入每一步。我故意避免使用crosstool-ng或...
为什么需要这个目标?