Date: Sun, 3 Oct 2004 18:40:06 +0200 From: Aurelien NEPHTALI <aurelien.nephtali@wanadoo.fr> To: current@freebsd.org Subject: .symtab section is now broken ? Message-ID: <20041003164006.GA20441@nebula.wanadoo.fr>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20041003164006.GA20441>