如何在Linux/aarch64(Cortex-a57)上记录未对齐的内存访问?在Linux/aarch64上记录和调试未对齐的访问
据我所知,这里涉及到两个不同的东西:
- 选择,以提高对非对齐存取从CPU的中断(即中断未对齐的内存访问,否则将被CPU的支持性能成本)
- 选择如何在Linux(它们记录/火SIGBUS /软仿真对齐访问)处理这些中断
我的问题是,第一,我不知道如何管理CPU的控制寄存器从我的程序(如果我的应该实际上在我的用户空间应用程序中执行),第二,在Linux中管理未对齐访问的界面似乎已经不存在了(我正在使用4.4.0内核),请参阅下面的链接。
从内核管理不对齐访问: https://www.kernel.org/doc/Documentation/arm/mem_alignment(可能外的日期)
相关: Does AArch64 support unaligned access?
因此,内核不可能为自己和用户空间设置不同的对齐错误处理方式?正如你所提到的,剖析是要走到这里的路。我想知道如果需要更严格的内存检查(如果这是有道理的) –