Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: David Lecomber <david@streamline-computing.com>
To: Daniel Jacobowitz <drow@false.org>
Cc: patches <gdb-patches@sources.redhat.com>
Subject: Re: [PATCH/RFA] buildsym.c: extend parent block bounds if child block exceed limit
Date: Tue, 14 Sep 2004 21:21:00 -0000	[thread overview]
Message-ID: <1095196949.5337.55.camel@localhost> (raw)
In-Reply-To: <20040914210452.GA19646@nevyn.them.org>

[-- Attachment #1: Type: text/plain, Size: 660 bytes --]

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?

[-- Attachment #2: nest.dwarf --]
[-- Type: text/plain, Size: 4646 bytes --]

The section .debug_info contains:

  Compilation Unit @ 0:
   Length:        239
   Version:       2
   Abbrev Offset: 0
   Pointer Size:  4
 <0><b>: 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        : <d6>	
     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        : <e1>	
     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        : <e1>	
     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        : <d6>	
     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><bc>: 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        : <d6>	
     DW_AT_location    : 2 byte block: 75 5c 	(DW_OP_breg5: -36; )
     DW_AT_external    : 0	
     DW_AT_start_scope : 0x8049dfe 134520318	
 <1><d6>: Abbrev Number: 2 (DW_TAG_base_type)
     DW_AT_byte_size   : 4	
     DW_AT_encoding    : 4	(float)
     DW_AT_name        : REAL(4)	
 <1><e1>: 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



  reply	other threads:[~2004-09-14 21:21 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-08-06 21:10 David Lecomber
2004-09-14 20:00 ` Andrew Cagney
2004-09-14 20:57   ` David Lecomber
2004-09-14 21:01   ` Michael Chastain
2004-09-14 21:04 ` Daniel Jacobowitz
2004-09-14 21:21   ` David Lecomber [this message]
2004-09-20 21:30 ` Jim Blandy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1095196949.5337.55.camel@localhost \
    --to=david@streamline-computing.com \
    --cc=drow@false.org \
    --cc=gdb-patches@sources.redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox