From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28391 invoked by alias); 14 Sep 2004 21:21:21 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 28382 invoked from network); 14 Sep 2004 21:21:20 -0000 Received: from unknown (HELO d9000.firstnet.net.uk) (212.103.224.244) by sourceware.org with SMTP; 14 Sep 2004 21:21:20 -0000 Received: (qmail 20149 invoked by uid 105); 14 Sep 2004 21:20:52 -0000 Received: from unknown (HELO localhost.localdomain) (212.103.239.121) by d9000.first with SMTP; 14 Sep 2004 21:20:52 -0000 Received: from localhost (castle.priv.wark.uk.streamline-computing.com [192.168.1.249]) by localhost.localdomain (8.12.8/8.12.8) with ESMTP id i8ELLJXY022161; Tue, 14 Sep 2004 22:21:20 +0100 Subject: Re: [PATCH/RFA] buildsym.c: extend parent block bounds if child block exceed limit From: David Lecomber To: Daniel Jacobowitz Cc: patches In-Reply-To: <20040914210452.GA19646@nevyn.them.org> References: <1091826690.3932.33.camel@localhost> <20040914210452.GA19646@nevyn.them.org> Content-Type: multipart/mixed; boundary="=-RdSFK+nZ2CYGlSXi8PCg" Message-Id: <1095196949.5337.55.camel@localhost> Mime-Version: 1.0 Date: Tue, 14 Sep 2004 21:21:00 -0000 X-SW-Source: 2004-09/txt/msg00240.txt.bz2 --=-RdSFK+nZ2CYGlSXi8PCg Content-Type: text/plain Content-Transfer-Encoding: 7bit Content-length: 660 Hi Daniel, It's attached, D. On Tue, 2004-09-14 at 22:04, Daniel Jacobowitz wrote: > On Fri, Aug 06, 2004 at 10:11:30PM +0100, David Lecomber wrote: > > All, > > > > f90 compiled with nested subroutines using Intel's compiler is handled > > badly by GDB. Line numbers are not found by backtrace. > > > > Although GDB is capable of reading out all the dwarf2 line information > > inside this routine correctly, it can't look up an address to get a line > > number when inside a block. The cause is that the containing function's > > block does not contain the contained function's address. > > Could you post the output of readelf -wil on this binary? --=-RdSFK+nZ2CYGlSXi8PCg Content-Disposition: attachment; filename=nest.dwarf Content-Type: text/plain; name=nest.dwarf; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-length: 4646 The section .debug_info contains: Compilation Unit @ 0: Length: 239 Version: 2 Abbrev Offset: 0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) DW_AT_comp_dir : /users/david DW_AT_language : 8 (Fortran 90) DW_AT_name : nest.f90 DW_AT_producer : Intel Fortran 8.0-4012 DW_AT_stmt_list : 0 <1><3e>: Abbrev Number: 2 (DW_TAG_base_type) DW_AT_byte_size : 0 DW_AT_encoding : 5 (signed) DW_AT_name : void <1><46>: Abbrev Number: 3 (DW_TAG_subprogram) DW_AT_decl_line : 1 DW_AT_decl_column : 8 DW_AT_decl_file : 1 DW_AT_accessibility: 1 (public) DW_AT_calling_convention: 2 (program) DW_AT_name : nest DW_AT_type : <3e> DW_AT_prototyped : 0 DW_AT_frame_base : 2 byte block: 75 48 (DW_OP_breg5: -56; ) DW_AT_high_pc : 0x8049dfe 134520318 DW_AT_low_pc : 0x8049db4 134520244 DW_AT_external : 1 <2><62>: Abbrev Number: 4 (DW_TAG_variable) DW_AT_decl_line : 9 DW_AT_decl_column : 2 DW_AT_decl_file : 1 DW_AT_accessibility: 1 (public) DW_AT_name : time DW_AT_type : DW_AT_location : 2 byte block: 91 8 (DW_OP_fbreg: 8; ) DW_AT_external : 0 DW_AT_start_scope : 0x8049df1 134520305 <2><78>: Abbrev Number: 4 (DW_TAG_variable) DW_AT_decl_line : 4 DW_AT_decl_column : 16 DW_AT_decl_file : 1 DW_AT_accessibility: 1 (public) DW_AT_name : i DW_AT_type : DW_AT_location : 2 byte block: 91 0 (DW_OP_fbreg: 0; ) DW_AT_external : 0 DW_AT_start_scope : 0x8049dd1 134520273 <2><8b>: Abbrev Number: 4 (DW_TAG_variable) DW_AT_decl_line : 3 DW_AT_decl_column : 16 DW_AT_decl_file : 1 DW_AT_accessibility: 1 (public) DW_AT_name : j DW_AT_type : DW_AT_location : 2 byte block: 91 4 (DW_OP_fbreg: 4; ) DW_AT_external : 0 DW_AT_start_scope : 0x8049dd1 134520273 <2><9e>: Abbrev Number: 5 (DW_TAG_subprogram) DW_AT_decl_line : 13 DW_AT_decl_column : 14 DW_AT_decl_file : 1 DW_AT_accessibility: 1 (public) DW_AT_name : second DW_AT_type : DW_AT_prototyped : 0 DW_AT_static_link : 3 byte block: 75 0 6 DW_AT_high_pc : 0x8049e12 134520338 DW_AT_low_pc : 0x8049dfe 134520318 DW_AT_external : 0 <3>: Abbrev Number: 4 (DW_TAG_variable) DW_AT_decl_line : 13 DW_AT_decl_column : 14 DW_AT_decl_file : 1 DW_AT_accessibility: 1 (public) DW_AT_name : second DW_AT_type : DW_AT_location : 2 byte block: 75 5c (DW_OP_breg5: -36; ) DW_AT_external : 0 DW_AT_start_scope : 0x8049dfe 134520318 <1>: Abbrev Number: 2 (DW_TAG_base_type) DW_AT_byte_size : 4 DW_AT_encoding : 4 (float) DW_AT_name : REAL(4) <1>: Abbrev Number: 2 (DW_TAG_base_type) DW_AT_byte_size : 4 DW_AT_encoding : 5 (signed) DW_AT_name : INTEGER(4) Dump of debug contents of section .debug_line: Length: 74 DWARF Version: 2 Prologue Length: 33 Minimum Instruction Length: 1 Initial value of 'is_stmt': 0 Line Base: -1 Line Range: 4 Opcode Base: 10 Opcodes: Opcode 1 has 0 args Opcode 2 has 1 args Opcode 3 has 1 args Opcode 4 has 1 args Opcode 5 has 1 args Opcode 6 has 0 args Opcode 7 has 0 args Opcode 8 has 0 args Opcode 9 has 1 args The Directory Table is empty. The File Name Table: Entry Dir Time Size Name 1 0 1095196755 219 nest.f90 Line Number Statements: Extended opcode 2: set Address to 0x8049db4 Copy Advance PC by 29 to 8049dd1 Advance Line by 4 to 5 Copy Special opcode 30: advance Address by 7 to 0x8049dd8 and Line by 1 to 6 Special opcode 36: advance Address by 9 to 0x8049de1 and Line by -1 to 5 Special opcode 14: advance Address by 3 to 0x8049de4 and Line by 1 to 6 Advance PC by 5 to 8049de9 Advance Line by 3 to 9 Copy Special opcode 59: advance Address by 14 to 0x8049df7 and Line by 2 to 11 Special opcode 31: advance Address by 7 to 0x8049dfe and Line by 2 to 13 Special opcode 26: advance Address by 6 to 0x8049e04 and Line by 1 to 14 Special opcode 38: advance Address by 9 to 0x8049e0d and Line by 1 to 15 Extended opcode 2: set Address to 0x8049e12 Extended opcode 1: End of Sequence --=-RdSFK+nZ2CYGlSXi8PCg--