From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6209 invoked by alias); 20 May 2003 21:15:44 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 3553 invoked from network); 20 May 2003 21:14:33 -0000 Received: from unknown (HELO esds.vss.fsi.com) (66.136.174.212) by sources.redhat.com with SMTP; 20 May 2003 21:14:33 -0000 Received: from eos.vss.fsi.com (eos [198.51.27.61]) by esds.vss.fsi.com (8.9.1a/8.9.1) with ESMTP id QAA05971 for ; Tue, 20 May 2003 16:14:32 -0500 (CDT) Received: from localhost (ford@localhost) by eos.vss.fsi.com (8.11.6+Sun/8.11.6) with ESMTP id h4KLEWR07367 for ; Tue, 20 May 2003 16:14:32 -0500 (CDT) X-Authentication-Warning: eos.vss.fsi.com: ford owned process doing -bs Date: Tue, 20 May 2003 21:15:00 -0000 From: Brian Ford X-X-Sender: ford@eos To: gdb@sources.redhat.com Subject: DWARF2 PE/COFF port and parsing ? Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-SW-Source: 2003-05/txt/msg00274.txt.bz2 I'm still slowly trying to add DWARF2 support for PE/COFF targets. I have the following problem that confuses me and I was hoping for some expert guidance about how to proceed. gdb's symbol table code is completely foreign to me. If I load an executable into gdb that contains one object file with DWARF2 information (all the rest stabs), I get a segfault here: 1431 if (!do_linear_search 1432 && (SYMBOL_LANGUAGE (*center) == language_java)) 1433 { 1434 do_linear_search = 1; 1435 } (gdb) p *center $1 = (struct partial_symbol *) 0x20 (gdb) bt #0 0x004479b8 in lookup_partial_symbol (pst=0x1052a0a0, name=0x44bf51 "main", linkage_name=0x0, global=1, domain=VAR_DOMAIN) at ../../gcc/gdb/symtab.c:1431 #1 0x004480b9 in find_main_psymtab () at ../../gcc/gdb/symtab.c:1608 #2 0x0041c11e in set_initial_language () at ../../gcc/gdb/symfile.c:1278 #3 0x0041bac0 in symbol_file_add_main (args=0x22ff1e "v9win/tap/vital.sym", from_tty=0) at ../../gcc/gdb/symfile.c:1017 #4 0x00417978 in do_captured_command (data=0x22fa90) at ../../gcc/gdb/top.c:521 #5 0x004178e1 in do_catch_errors (uiout=0x101240a0, data=0x22fa70) at ../../gcc/gdb/top.c:492 #6 0x004177a0 in catcher (func=0x4178d0 , func_uiout=0x101240a0, func_args=0x22fa70, func_val=0x22fa6c, func_caught=0x22fa68, errstring=0x41798d "", mask=6) at ../../gcc/gdb/top.c:424 #7 0x0041793a in catch_errors (func=0x417960 , func_args=0x22fa90, errstring=0x41798d "", mask=6) at ../../gcc/gdb/top.c:504 #8 0x004179ca in catch_command_errors ( command=0x41baa0 , arg=0x22ff1e "v9win/tap/vital.sym", from_tty=0, mask=6) at ../../gcc/gdb/top.c:541 #9 0x00401eeb in captured_main (data=0x22fda8) at ../../gcc/gdb/main.c:654 #10 0x004178e1 in do_catch_errors (uiout=0x5ef090, data=0x22fd60) at ../../gcc/gdb/top.c:492 #11 0x004177a0 in catcher (func=0x4178d0 , func_uiout=0x5ef090, func_args=0x22fd60, func_val=0x22fd5c, func_caught=0x22fd58, errstring=0x401211 "", mask=6) at ../../gcc/gdb/top.c:424 #12 0x0041793a in catch_errors (func=0x401420 , func_args=0x22fda8, errstring=0x401211 "", mask=6) at ../../gcc/gdb/top.c:504 #13 0x00402331 in gdb_main (args=0x22fda8) at ../../gcc/gdb/main.c:813 #14 0x004010da in main (argc=2, argv=0x10101d08) at ../../gcc/gdb/gdb.c:35 #15 0x610068ea in _libuser32_a_iname () #16 0x61006b73 in _libuser32_a_iname () #17 0x005eca12 in cygwin_crt0 () #18 0x0040103c in mainCRTStartup () #19 0x77f1bbb5 in _libuser32_a_iname () The strange thing is that if I load the object file by itself, all is well (ie. info types runs to completion). Any pointers would be greatly appreciated. Thanks. -- Brian Ford Senior Realtime Software Engineer VITAL - Visual Simulation Systems FlightSafety International Phone: 314-551-8460 Fax: 314-551-8444