【问题标题】:How much does the vendor name in arm toolchain matters? Can I treat arm-linux-gnueabi-gcc and arm-oe-linux-gnueabi-gcc as same?arm 工具链中的供应商名称有多重要?我可以将 arm-linux-gnueabi-gcc 和 arm-oe-linux-gnueabi-gcc 视为相同吗?
【发布时间】:2019-06-14 13:12:30
【问题描述】:

我正在尝试使用以前使用 arm-linux-gnueabi-gcc 编译的 makefile 构建大量代码。现在我的新供应商为我提供了新的工具链,即 arm-oe-linux-gnueabi-gcc。我需要使用这个新的工具链吗?还是以前的构建代码可以工作?

【问题讨论】:

  • 如果您对EVERYTHING 使用相同的编译器,那么没关系(假设编译器为您的平台生成有效代码)。如果您混合和匹配事物,您将遇到麻烦。由于配置的原因,即使是相同的 GCC 版本也可能不兼容。即,Cortex-M thumb2 不能在一些旧的 ARM5(不是 ARMv5)系统上运行。

标签: gcc arm toolchain


【解决方案1】:

根据dave_alcarinanswer

GNU 工具链中的命名标准是<target>-<tool>,例如 arm-oe-linux-gnueabi-gcc 将是 ARM 的编译器 架构,开放嵌入式 Linux 变体,而 arm-oe-linux-gnueabi-as 是同一个工具链的汇编器,所以 开。

因此,不同的编译器(oe vs linux)可能很重要。开放式嵌入式 Linux 可以具有与 arm-linux-gnueabi-gcc 二进制文件不兼容的不同库。

【讨论】:

  • 所以如果我理解正确的话,如果系统库被构建为arm-oe-linux-gnueabi,而我刚刚构建了一个新版本的gcc作为armv7l-unknown-linux-gnueabihf,那么可执行文件/使用该新 gcc 编译的库可能与系统库不兼容(无法安全链接)?
猜你喜欢
  • 2012-11-27
  • 2014-05-09
  • 1970-01-01
  • 2015-12-20
  • 1970-01-01
  • 2012-09-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多