LINUX.ORG.RU

Проблема с программой под ARM


0

0

Коллеги, помогите плз разобраться с ситуацией.

Есть код, работающий на x86. Без проблем откомпилировался кросс-компилсятором gcc 2.95.3 для ARM. Собственно,процессор - Intel XScale PXA-255.

При проверке кодя выяснилось, что неправильно пишутся слова по нечетным адресам. Программа компилилась с дефолтными опциями gcc.

Если дело в опциях компилятора, то какие необходимо поставить? Либо же стоит поискать другой компилятор?


Это особенность АРМа, и многих других RISC камней. Указатель должен быть выровнян на границу кратную размеру типу на которую он указывает( для простых типов). Так, что выход один переписать прогу с учетом этого требования. Ну и другой путь, более кривой но проще, использовать unaligned pointer. Но это снижает производительность кода.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.