From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13384 invoked by alias); 18 Mar 2008 02:11:45 -0000 Received: (qmail 13374 invoked by uid 22791); 18 Mar 2008 02:11:44 -0000 X-Spam-Status: No, hits=-2.5 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (66.187.233.31) by sourceware.org (qpsmtpd/0.31) with ESMTP; Tue, 18 Mar 2008 02:11:27 +0000 Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id m2I2BPux025533 for ; Mon, 17 Mar 2008 22:11:25 -0400 Received: from pobox.corp.redhat.com (pobox.corp.redhat.com [10.11.255.20]) by int-mx1.corp.redhat.com (8.13.1/8.13.1) with ESMTP id m2I2BPhw030662 for ; Mon, 17 Mar 2008 22:11:25 -0400 Received: from [172.16.57.153] (multics.rdu.redhat.com [172.16.57.153]) by pobox.corp.redhat.com (8.13.1/8.13.1) with ESMTP id m2I2BPL5027983 for ; Mon, 17 Mar 2008 22:11:25 -0400 Subject: elfutils import and debuginfo From: Stan Cox To: Frysk List Content-Type: text/plain Date: Tue, 18 Mar 2008 02:11:00 -0000 Message-Id: <1205806284.13729.14.camel@multics.rdu.redhat.com> Mime-Version: 1.0 X-Mailer: Evolution 2.12.3 (2.12.3-1.fc8) Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.58 on 172.16.52.254 X-IsSubscribed: yes Mailing-List: contact frysk-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: frysk-owner@sourceware.org X-SW-Source: 2008-q1/txt/msg00155.txt.bz2 This "patch" gets this test, which is testing frysk handling of external debuginfo, to pass: ./TestRunner frysk.hpd.TestSysRoot Running testHaveSysRoot(frysk.hpd.TestSysRoot) ...PASS OK (1 test) The test artificially creates a chroot by creating /usr/bin, /usr/lib/debug, etc under a test directory and populating that by using cp, debugedit and ed-strip. With elfutils 0.133 the test hits the case SHT_DYNSYM and ends up returning DWFL_E_NOERROR. With elfutils 0.129 DWFL_E_NO_SYMTAB would be returned resulting in find_debuginfo being called to find the debuginfo. diff --git a/frysk-imports/elfutils/libdwfl/dwfl_module_getdwarf.c b/frysk-imports/elfutils/libdwfl/dwfl_module_getdwarf.c index 7dd9b53..ac13571 100644 --- a/frysk-imports/elfutils/libdwfl/dwfl_module_getdwarf.c +++ b/frysk-imports/elfutils/libdwfl/dwfl_module_getdwarf.c @@ -253,6 +253,7 @@ load_symtab (struct dwfl_file *file, struct dwfl_file **symfile, } } +#if 0 if (*symscn != NULL) /* We found one, though no SHT_SYMTAB_SHNDX to go with it. */ return DWFL_E_NOERROR; @@ -260,6 +261,7 @@ load_symtab (struct dwfl_file *file, struct dwfl_file **symfile, /* We found no SHT_SYMTAB, so any SHT_SYMTAB_SHNDX was bogus. We might have found an SHT_DYNSYM and set *SYMSCN et al though. */ *xndxscn = NULL; +#endif return DWFL_E_NO_SYMTAB; }