11.1 EDK  –  GCC 4.1.1支持PowerPC-Altera-Intel社区-FPGA CPLD-ChipDebug

11.1 EDK – GCC 4.1.1支持PowerPC

问题描述

使用GCC 4.1.1 for PowerPC时有哪些问题?

解决/修复方法

PowerPC Binutils

– powerpc-eabi-strip可能会伪装可执行文件,这可能会导致更大的文件。没有解决这个问题的方法。

– 新的C ++编译器创建名称为.sdata *。*的节。 BSB生成的链接器脚本以及EDK 8.2i及更早版本中的其他工具没有针对此类节的节分配,因此无法正确分配这些新节。 Rev-up会自动更新链接描述文件并添加缺少的部分分配。

– powerpc-eabi-objdump -S不会在反汇编中混合源和汇编。您可以使用以下其中一项来解决此问题:

– 从包含源的目录中调用powerpc-eabi-objdump。

– 使用-gstabs编译应用程序。但是,不建议使用此选项,因为它可能会影响调试。

PowerPC GCC

– 编译器为内置函数生成新警告,这些函数在没有包含适当头文件的情况下使用(例如,memcpy,printf)。要消除警告,必须将相应的头文件添加到包含列表中。

– 根据C标准,GCC-4.1.1中删除了对广义左值的支持。以下类型的代码应更改如下:

从:

(char *)var =“STRING”;

至:

var =(char *)“STRING”;

PowerPC Newlib

– atexit()支持最多只注册32个退出函数。这可以防止不使用atexit()的程序中不必要的代码膨胀。此外,C标准只需要atexit()支持32个退出函数。

请登录后发表评论

    没有回复内容