我有一个在PowerPC上运行的大型源代码项目。我需要将其移植到ARM上。但是,ARM会在访问非对齐内存时生成硬件异常。因此,我想找出所有可能导致非对齐内存访问异常的情况。我已经考虑了以下选项。
- 使用gcc中的-Wcast-align选项,它会为非对齐访问抛出警告。
- 使PowerPC生成非对齐例外。对于ARM,有一个/proc/cpu/alignment选项,用户可以决定如何处理异常。但是,对于PowerPC,没有这样的选项。
我的问题是:
- 有没有办法使PowerPC生成非对齐内存访问异常?
- 有没有更好的方法找出源代码中所有非对齐内存访问的发生情况?