From: Nicholas Nethercote Date: Sun, 15 May 2005 03:38:53 +0000 (+0000) Subject: Move the symbol table reading closer to the debug info reading. X-Git-Tag: svn/VALGRIND_3_0_0~602 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=44f350c366be74a914c8ce541c58647a44f34eb7;p=thirdparty%2Fvalgrind.git Move the symbol table reading closer to the debug info reading. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3716 --- diff --git a/coregrind/vg_symtab2.c b/coregrind/vg_symtab2.c index db7a75346d..49c8dcd27f 100644 --- a/coregrind/vg_symtab2.c +++ b/coregrind/vg_symtab2.c @@ -1650,14 +1650,6 @@ Bool read_lib_symbols ( SegInfo* si ) vg_assert((o_dynsym_sz % sizeof(ElfXX_Sym)) == 0); vg_assert((o_symtab_sz % sizeof(ElfXX_Sym)) == 0); - read_symtab(si, "symbol table", False, - o_symtab, o_symtab_sz, - o_strtab, o_strtab_sz); - - read_symtab(si, "dynamic symbol table", True, - o_dynsym, o_dynsym_sz, - o_dynstr, o_dynstr_sz); - /* Did we find a debuglink section? */ if (debuglink != NULL) { UInt crc_offset = ROUNDUP(VG_(strlen)(debuglink)+1, 4); @@ -1707,6 +1699,15 @@ Bool read_lib_symbols ( SegInfo* si ) } } + /* Read symbols */ + read_symtab(si, "symbol table", False, + o_symtab, o_symtab_sz, + o_strtab, o_strtab_sz); + + read_symtab(si, "dynamic symbol table", True, + o_dynsym, o_dynsym_sz, + o_dynstr, o_dynstr_sz); + /* Read .eh_frame (call-frame-info) if any */ if (ehframe) { VG_(read_callframe_info_dwarf2) ( si, ehframe, ehframe_sz, ehframe_addr ); @@ -1731,7 +1732,6 @@ Bool read_lib_symbols ( SegInfo* si ) VG_(symerr)(" object doesn't have any line number info"); goto out; } - } res = True;