[amirus] Re: Relocs

  • From: Alexey Ivanov <amis@xxxxxxxxxxxx>
  • To: amirus@xxxxxxxxxxxxx
  • Date: Wed, 20 Oct 2004 18:51:16 +0300

Hello Andrei,

On 19.10.04, Andrei Shestakov wrote:

>>>R_PPC_ADDR32 мало о чём говорят, посему вопрос - нет ли у кого
>>>расшифровки этой прелести?
>> Сие описано в elf.h, которого полно в инете.
>> например с на http://fxr.watson.org/fxr/source/powerpc/include/elf.h

>     Этот файл есть и у меня - в составе SDK. Фишка в том, что С/С++ не 
> является
> моим родным языком - даже ангельский мне понятнее. Мне бы лучше словами, а не
> Ц-шными исходниками.

>> А какой тип elf  в Pegasos PPC?

>     Начиная с самого начала файла:

> 0000: 7F454C46     идентификатор объектного файла ELF
> 0004: 01           32 bit
> 0005: 02           big-endian
> 0006: 01           версия заголовка файла типа ELF
>                    (должна совпадать с текущей версией файла)
> 0007: 00           идентификация OS и ABI (не указано в нашем случае)      
> 0008: 00           версия ABI (не указана, т.к предыдущий байт =0)
> 0009...000F:       зарезервировано (всё обнулено)
> 0010: 0001         relocable - перемещаемый
> 0012: 0014         архитектура PowerPC
> 0014: 00000001     текущая версия файла
> ....
> 0020: xxxxxxxx     смещение таблицы заголовков разделов
> ....
> 0028: 0034         размер заголовка ELF
> ...
> 0034:              обычно здесь начинается исполняемый код

Тебе нужно почитать подробней формат файла elf и обратить внимание на то что 
elf в линуксе по сути является
объектником который в процесе запуска долинковывается необходимыми библиотеками 
и разворачивается в
память.
Ханки RELOC  вероятно говорят о том что данные являются реентерабельными.

Regards


Other related posts: