jak znaleźć pozycję symbolu w elf'ie ?

Paweł Sikora pluto w agmk.net
Sob, 8 Paź 2005, 01:55:59 CEST


Dnia piątek, 7 października 2005 22:19, Przemek Iskra napisał:
> mam elf'a i potrzebuję z niego w pewny sposób wyciągnąć informację jaka
> jest pozycja symbolu w pliku
>
> robię tak:
> $ objdump -x zImage.chrp | grep __image_begin
> 00806d11 g       .data  00000000 __image_begin
> ^^^^^^^^
> to mi podaje jego adres, adres ten jest dokładnie o 0x007f0000 większy
> od faktycznego jego początku, a zależy on od opcji '-Ttext 0x00800000'
> podawanej do `ld`
>
> czy informacji ( 0x00806d11 - 0x007f0000 ) można wierzyć ?

tak. adres symbolu w pliku, to 
(adres symbolu - adres sekcji) + offset sekcji w pliku.

> zdaje mi się że niebardzo, choć sprawdza się również dla innych
> podobnych symboli, ale czy się nie zmieni jak zmieni się kernel ?

zależy jakiego skryptu linkera używa ten twój kernel.
jeśli ma zaczepiony symbol pod bezwglednym adresem,
to się nie zmieni.

> a może jednak jest na to jakiś cywilizowany sposób ?

tak, elfutils-devel.

-- 
The only thing necessary for the triumph of evil
  is for good men to do nothing.
                                           - Edmund Burke



Więcej informacji o liście dyskusyjnej pld-devel-pl