lexszero
30.10.2012 09:34 nyapad
Вот есть у меня, допустим, такой символ:
080003cc g F .text 00000002 handler_default
Еще есть таблица прерываний — секция объектника .interrupt_vector, которая соответственно пихается потом линкером куда надо.
Я беры этот символ и пихаю его в таблицу прерываний, пофиг как — хоть сишным массивом с аттрибутом section, хоть через .word в ассемблерном стартапе, пофиг. Делаю objdump и обнаруживаю, что в бинарник попал адрес на байт больше — 0x080003cd (cd 03 00 08, если учесть эндианнесс). Оно работает, конечно — арм, доступ к памяти выровненный на четыре байта, все дела, но WTF?