将默认ARM gcc选项更改为thumb

将默认ARM gcc选项更改为thumb,gcc,compilation,arm,toolchain,thumb,Gcc,Compilation,Arm,Toolchain,Thumb,我想在我的linux机器上更改ARM工具链ARM linux gnueabi gcc的行为,即编译后的代码将处于默认的Thumb模式-与传递-mthumb标志相同 我偶然发现了这个文档,它在-with-mode部分下准确地描述了我试图实现的目标。然而,从他们的解释中,我无法理解如何设置这个选项 有人能为我澄清这一点,或者提出实现我目标的另一种方法吗?您可以使用自己的脚本来屏蔽可执行文件/usr/bin/arm-linux-gnueabi-gcc,该脚本在/usr/local/bin中命名相同 创

我想在我的linux机器上更改ARM工具链ARM linux gnueabi gcc的行为,即编译后的代码将处于默认的Thumb模式-与传递-mthumb标志相同

我偶然发现了这个文档,它在-with-mode部分下准确地描述了我试图实现的目标。然而,从他们的解释中,我无法理解如何设置这个选项


有人能为我澄清这一点,或者提出实现我目标的另一种方法吗?

您可以使用自己的脚本来屏蔽可执行文件/usr/bin/arm-linux-gnueabi-gcc,该脚本在/usr/local/bin中命名相同

创建一个文件/usr/local/bin/arm-linux-gnueabi-gcc 内容 !/垃圾箱/垃圾箱 /usr/bin/arm-linux-gnueabi-gcc-mthumb$@ 将可执行权限添加到/usr/local/bin/arm-linux-gnueabi-gcc
因为路径应该在/usr/bin之前列出/usr/local/bin目录,当您在控制台中键入没有路径的arm linux gnueabi gcc时,您的脚本将首先被选择,并将使用附加选项执行真正的arm linux gnueabi gcc可执行文件。

您必须从源代码重新编译gcc,并通过-with-mode选项来配置脚本。我认为创建/usr/local/bin/arm-linux-gnueabi-gcc脚本会更容易,它只会传递选项……可能在任何实际项目上,您使用的是Makefile或类似于控件编译的东西,在这种情况下,您可以在CFLAGS或其他任何东西中设置它。试图在全球范围内永久设置它似乎是错误的做法。@KamilCuk感谢第一部分,现在它更清楚了。对于第二部分——这正是我不理解的,这个脚本是什么,它应该包含什么?@NateEldredge这是一个小的解决方案,我试图设置CFLAGS,但由于某种原因,它不起作用。创建一个文件/usr/local/bin/arm linux gnueabi gcc,其中包含内容/bin/sh/usr/bin/arm-linux-gnueabi-gcc-mthumb$@并向文件添加可执行权限。因为路径应该在/usr/bin之前列出/usr/local/bin目录,所以将首先选择脚本。