如何在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?
因此,內核不可能爲自己和用戶空間設置不同的對齊錯誤處理方式?正如你所提到的,剖析是要走到這裏的路。我想知道如果需要更嚴格的內存檢查(如果這是有道理的) –