Ho un enorme codice sorgente che funziona su PowerPC. Ho bisogno di portarlo su ARM. Ma, ARM genera un'eccezione h/w sugli accessi di memoria non allineati. Quindi, voglio trovare tutte le possibili istanze in cui potrebbe verificarsi l'eccezione di accesso alla memoria non allineato. Ho preso in considerazione le seguenti opzioni.Genera un'eccezione di accesso alla memoria non allineata in PowerPC
- Utilizzare -Wcast-align in gcc che genera avvisi per l'accesso non allineato.
- Fare in modo che il PowerPC generi un'eccezione non allineata. Per ARM, c'è un'opzione/proc/cpu/alignment con la quale l'utente può decidere come gestire l'eccezione. Ma, non esiste una tale opzione per PowerPC.
Le mie domande sono,
- C'è un modo per rendere il PowerPC generare un'eccezione di accesso alla memoria non allineati?
- C'è un modo migliore per scoprire tutte le occorrenze di accesso alla memoria non allineato nel codice sorgente?
modo per fare in modo che il PowerPC generi un'eccezione di accesso alla memoria non allineata: alcune opzioni nel kernel (CONFIG_ALIGNMENT_TRAP, ecc.)? – someuser
Inoltre puoi semplicemente portarlo, catturarlo e sistemarlo. :) – someuser
PowerPC genera sempre eccezioni di allineamento, ad eccezione dei carichi/negozi AltiVec. Ovviamente il tuo sistema operativo può gestire silenziosamente queste eccezioni, ma questa è un'altra storia. –