Mam ogromny kod źródłowy, który działa na PowerPC. Muszę przenieść go do ARM. Ale ARM generuje wyjątek h/w na niewyrównanych dostępach do pamięci. Tak więc chcę znaleźć wszystkie możliwe przypadki, w których może wystąpić niewyrównany wyjątek dostępu do pamięci. Rozważyłem następujące opcje.Generowanie niewyrównanego wyjątku dostępu do pamięci w PowerPC
- Użyj opcji -Wstaw-wyskalowanie w gcc, która powodowałaby wyświetlanie ostrzeżeń o braku dostępu.
- Wykonaj PowerPC, generując niepodpisany wyjątek. W przypadku ARM istnieje opcja/proc/cpu/alignment, dzięki której użytkownik może zdecydować, w jaki sposób obsłużyć wyjątek. Ale nie ma takiej opcji dla PowerPC.
Moje pytania są
- Czy istnieje sposób, aby generować PowerPC aligné wyjątek dostępu do pamięci?
- Czy istnieje lepszy sposób na wykrycie wszystkich przypadków braku dostępu do pamięci w kodzie źródłowym?
sposób na wygenerowanie przez PowerPC niewyrównanego dostępu do pamięci - niektóre opcje w jądrze (CONFIG_ALIGNMENT_TRAP, itp.)? – someuser
Możesz także przesyłać, przechwytywać i naprawiać. :) – someuser
PowerPC zawsze generuje wyjątki wyrównania, z wyjątkiem ładunków/zapasów AltiVec. Oczywiście twój system operacyjny może w milczeniu poradzić sobie z tymi wyjątkami, ale to już inna historia. –