ARM Linux maintient une liste de gestionnaire d'alignement exceptions,
$ cat /proc/cpu/alignment
User: 0
System: 0
Skipped: 0
Half: 0
Word: 0
DWord: 0
Multi: 0
User faults: 0 (ignored)
Il n'est actif qu'avec procfs , mais il est difficile d'imaginer un système sans procfs . Le code spécifique qui gère cela se trouve dans alignement.c. Vous pouvez utiliser echo 3 > /proc/cpu/alignment
avoir Linux fixup l'instruction et fournir quelques dmesg
production. Généralement, la gestion des accès non alignés via l'émulation est très inefficace. Il vaut mieux corriger le code. Le signal option avec un débogueur attaché devrait donner un indice sur la source de l'exception.
Lisez le manuel.;-)
Linux peut faire le correctif pour vous ou vous avertir de l'accès.
Vous pouvez activer le comportement dans /proc/cpu/alignment, voir http://www.mjmwired.net/kernel/Documentation/arm/mem_alignment pour une explication des différentes valeurs.
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