ARM Linux mantiene una lista de controlador de alineación excepciones,
$ cat /proc/cpu/alignment
User: 0
System: 0
Skipped: 0
Half: 0
Word: 0
DWord: 0
Multi: 0
User faults: 0 (ignored)
Solo está activo con procfs , pero es difícil imaginar un sistema sin procfs . El código específico que maneja esto está en alineación.c. Puedes usar echo 3 > /proc/cpu/alignment
tener Linux reparación la instrucción y proporciona algunos dmesg
producción. Generalmente, el manejo de accesos no alineados a través de la emulación es muy ineficiente. Es mejor corregir el código. La señal La opción con un depurador adjunto debería dar alguna pista sobre el origen de la excepción.
Lea el manual.;-)
Linux puede hacer la reparación por usted o advertirle sobre el acceso.
Puede habilitar el comportamiento en /proc/cpu/alignment, consulte http://www.mjmwired.net/kernel/Documentation/arm/mem_alignment para obtener una explicación de los diferentes valores.
0 - Do nothing (default behavior)
1 - Warning in kernel-log with PC and Memory-Address printed.
2 - Fixup error
3 - Warn and Fixup
4 - Send a SIGBUS to the process
5 - Send SIGBUS and output Warning