Locating global data in ELF code on IA64

Locating global data in ELF code on IA64

Post by chao.p.. » Thu, 13 Apr 2006 15:47:50



Hi,

For my project I want to locate all the global data variables in an ELF
format code. To do this on IA32 and AMD64, we look through the _DYNAMIC
table and locate the relocation table by a d_tag==Elf32_Rel/Elf64_Rela
matching, then go through the relocation table entries and match their
type with R_386_GLOB_DAT/R_X86_64_GLOB_DAT. This mechanism, however,
doesn't work on IA64, because apparently IA64 stores its global data
somewhere else. In the relocation table all I find is function names,
thus there's no global data match.

I was wondering if this is the right direction to go on IA64. Any hint?
Thanks.

C.

 
 
 

Locating global data in ELF code on IA64

Post by joseph2 » Mon, 08 May 2006 02:55:57



> Hi,

> For my project I want to locate all the global data variables in an ELF
> format code. To do this on IA32 and AMD64, we look through the _DYNAMIC
> table and locate the relocation table by a d_tag==Elf32_Rel/Elf64_Rela
> matching, then go through the relocation table entries and match their
> type with R_386_GLOB_DAT/R_X86_64_GLOB_DAT. This mechanism, however,
> doesn't work on IA64, because apparently IA64 stores its global data
> somewhere else. In the relocation table all I find is function names,
> thus there's no global data match.

> I was wondering if this is the right direction to go on IA64. Any hint?
> Thanks.

> C.

IA64 (Itanium) hardware is a completely different architecture and
instruction set; not in any way compatible with IA32/AMD64.  And unless i
am mistaken it is big endian as well (x86/IA32 is little endian).

--
JosephKK
Gegen dummheit kampfen die Gotter Selbst, vergebens.??
--Schiller