我有一个供应商为我们提供SoC,相关的BSP和一些关键的中间件 . 供应商使用gcc-4.9构建所有交付的软件 .

交付的软件有两个类别

  • 源包:我们获取所有资源并自行构建 .

  • 库和二进制文件:我们重用预先构建的供应商提供的服务 .

我们打算转向gcc-6.2,但供应商没有计划很快搬家 .

所以问题出现了:

  • 对于预先构建的二进制文件/库,如果我们使用gcc-6.2并且供应商使用gcc-4.9提供预构建,则会出现ABI兼容性问题 . 所有预先构建的库都是共享对象 .

  • 当我们使用gcc-6.2重建时,我们是否期望供应商的源包(某些包具有c和汇编)的编译时间问题?

  • 目标架构是ARM .

  • 我们正在组建一个Linux发行版 .

我读到abicheck,我正在考虑为所有供应商提供的预构建(使用4.9构建)和使用6.2构建的对象运行 abicheck .

  • 如果这是正确的方法,任何指针?

  • 同样欢迎其他建议 .