PowerPC에서 작동하는 거대한 소스 코드가 있습니다. ARM에 포팅해야합니다. 그러나 ARM은 정렬되지 않은 메모리 액세스에 대해 h/w 예외를 생성합니다. 그래서, 정렬되지 않은 메모리 액세스 예외가 발생할 수있는 모든 가능한 인스턴스를 찾고 싶습니다. 다음 옵션을 고려했습니다.PowerPC에서 정렬되지 않은 메모리 액세스 예외 생성
- 정렬되지 않은 액세스에 대한 경고를 발생시키는 gcc에서 -Wcast-align을 사용하십시오.
- PowerPC가 정렬되지 않은 예외를 생성하도록하십시오. ARM의 경우 사용자가 예외 처리 방법을 결정할 수있는/proc/cpu/alignment 옵션이 있습니다. 그러나 PowerPC에는 이러한 옵션이 없습니다.
내 질문
- 는 파워가 정렬되지 않은 메모리 액세스 예외를 생성 할 수있는 방법이 있나요이다?
- 소스 코드에서 정렬되지 않은 모든 메모리 액세스를 확인하는 더 좋은 방법이 있습니까?
PowerPC가 정렬되지 않은 메모리 액세스 예외를 생성하는 방법 - 커널의 일부 옵션 (CONFIG_ALIGNMENT_TRAP 등)? – someuser
또한 포트를 잡고 잡아서 고칠 수 있습니다. :) – someuser
PowerPC는 항상 AltiVec로드/저장을 제외하고 정렬 예외를 생성합니다. 물론 OS가 자동으로 이러한 예외를 처리 할 수도 있지만 그 또 다른 이야기입니다. –