From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 388 invoked by alias); 9 Oct 2007 18:17:08 -0000 Received: (qmail 376 invoked by uid 22791); 9 Oct 2007 18:17:07 -0000 X-Spam-Check-By: sourceware.org Received: from NaN.false.org (HELO nan.false.org) (208.75.86.248) by sourceware.org (qpsmtpd/0.31) with ESMTP; Tue, 09 Oct 2007 18:17:04 +0000 Received: from nan.false.org (localhost [127.0.0.1]) by nan.false.org (Postfix) with ESMTP id ED63C98339; Tue, 9 Oct 2007 18:17:02 +0000 (GMT) Received: from caradoc.them.org (22.svnf5.xdsl.nauticom.net [209.195.183.55]) by nan.false.org (Postfix) with ESMTP id C62019829E; Tue, 9 Oct 2007 18:17:02 +0000 (GMT) Received: from drow by caradoc.them.org with local (Exim 4.68) (envelope-from ) id 1IfJdd-000854-Nb; Tue, 09 Oct 2007 14:17:01 -0400 Date: Tue, 09 Oct 2007 18:22:00 -0000 From: Daniel Jacobowitz To: Jan Kratochvil Cc: gdb-patches@sourceware.org Subject: Re: [patch] Parse DW_AT_ranges into PSYMTABS (for childless CU, for vDSO32) Message-ID: <20071009181701.GA30757@caradoc.them.org> Mail-Followup-To: Jan Kratochvil , gdb-patches@sourceware.org References: <20071009180246.GA26829@host0.dyn.jankratochvil.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20071009180246.GA26829@host0.dyn.jankratochvil.net> User-Agent: Mutt/1.5.15 (2007-04-09) X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2007-10/txt/msg00209.txt.bz2 On Tue, Oct 09, 2007 at 08:02:46PM +0200, Jan Kratochvil wrote: > DW_TAG_compile_unit has no children and it has neither DW_AT_low_pc nor > DW_AT_high_pc but it has DW_AT_ranges instead. So far DW_AT_ranges was not > parsed into PSYMTABS and so this file was ignored during the debug info search > later. Reasons for the discontinuous vDSO32 layout/hack are in the Linux > kernel sources. I'm curious, why is this? I couldn't find them in my kernel tree. > 2007-10-09 Jan Kratochvil > > * dwarf2read.c (dwarf2_get_pc_bounds): Moved the `DW_AT_ranges' parsing > code with its variables OBJFILE, CU_HEADER and OBFD into ... > (dwarf2_ranges_read): ... a new function. > (read_partial_die): Implemented the parsing of `DW_AT_ranges'. This is fine. > 2007-10-09 Jan Kratochvil > > * gdb.dwarf2/dw2-ranges.S, gdb.dwarf2/dw2-ranges.exp, > gdb.dwarf2/dw2-ranges.lds: New files. This is ugly, but mostly fine. This bit is not: > +# Avoid `-lm' from `lib/ada.exp' as it would fail with out `-nostdlib'. > +# Provide BOARD for SET_BOARD_INFO. > +set board [target_info name] > +set_board_info mathlib "" Actually this is from DejaGNU. And it's global state, so you have just made other tests behave differently depending on whether you run this one first or not. I bet you don't need a custom linker script and -nostdlib to test this. Gas must be generating the DW_AT_ranges itself regardless of whether there's a gap. -- Daniel Jacobowitz CodeSourcery