为什么必须为特殊目标配置gnu binutils。下面发生了什么

问题描述 投票:0回答:1

我正在为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或...

gcc binutils
1个回答
0
投票

为什么需要这个目标?

© www.soinside.com 2019 - 2024. All rights reserved.