我们正在使用gcc 4.4.6 for ARM(使用rtems 4.10修补)。它是在很久以前建成的,并没有记录它是如何完成的。它强制在结构中包装。我们需要修改newlib并重建gcc。首先我构建了工具链(newlib尚未修改)并尝试在我们的系统中运行应用程序。由于结构中的数据对齐,它无法正常工作。我确保我通过相同的选项来配置与旧的gcc(我通过运行gcc -v --help检索它们)。有谁知道如何在结构中强制打包构建gcc。 -fpack-struct选项或packed属性对我来说不是解决方案。 干杯, 马立克
答案 0 :(得分:0)
我明白了。我需要用8:
初始化mstructure-size-boundary选项(在gcc-4.4.6 / gcc / config.arm / arm.opt中)mstructure-size-boundary=
Target RejectNegative Joined Var(structure_size_string) Init("8")
并重建工具链。 mstructure-size-boundary指定结构的最小位对齐。 ARM平台的默认值为32。 干杯, 马立克