.symtab section is now broken ?
Aurelien NEPHTALI
aurelien.nephtali at wanadoo.fr
Sun Oct 3 09:40:26 PDT 2004
Hi,
I have coded some tools that read ELF binaries. Thet used to work 1 or 2 years
ago but now they don't. These tools parse an ELF file to get addresses of
malloc(),free(),etc into the PLT to put breakpoint on them.
The problem comes from the .symtab section. I'm using this struct to read
symbols:
typedef struct s_symhdr
{
unsigned int st_name;
unsigned int st_value;
unsigned int st_size;
unsigned char st_info;
unsigned char st_other;
unsigned short st_shndx;
} t_symhdr;
Before, the field 'st_value' contained the symbol's address into the PLT,
now it's null, ie (readelf output):
71: 00000000 41 FUNC GLOBAL DEFAULT UND malloc
^^^^^^^^
value
I was suspecting the new gcc so I installed gcc 2.95 but it's the same problem.
Is there a reason ? What to do to still get the value I want ?
I have tested on NetBSD 1.6.1 and it works fine.
Thanks.
--
NEPHTALI 'dak' Aurelien
TEK2 - Promo 2008
06.19.84.90.10
More information about the freebsd-current
mailing list