Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: "J. Johnston" <jjohnstn@redhat.com>
To: Jim Blandy <jimb@redhat.com>
Cc: gdb-patches@sources.redhat.com
Subject: Re: RFA: dbxread patch
Date: Tue, 25 Feb 2003 23:17:00 -0000	[thread overview]
Message-ID: <3E5BF96E.2020301@redhat.com> (raw)
In-Reply-To: <vt2y944asgr.fsf@zenia.red-bean.com>

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

Jim Blandy wrote:
> Yes, looks good.
> 
> Please add a comment briefly explaining why the check is needed
> (hand-generated stabs that contain N_FUN stabs but no N_SLINE stabs).
> 

I have attached a new patch with a comment.

> Elena suggested the change, right?  She should be credited in the
> ChangeLog entry.
> 

You are correct - thanks for spotting this oversight.

2003-02-25  Jeff Johnston  <jjohnstn@redhat.com>

	From Elena Zannoni  <ezannoni@redhat.com>
	* dbxread.c (process_one_symbol): Only record line 0 if one or more sline
	entries have been seen for the function.


Ok now?

-- Jeff J.

> "J. Johnston" <jjohnstn@redhat.com> writes:
> 
> 
>>The following patch fixes a problem when the stabs debug info
>>for a file does not contain sline entries.  This happens, for
>>example with the glibc syscall code which is generated assembler
>>code.  In process_one_symbol in dbxread.c, a line 0 is recorded for the
>>end of the function.  When there are no other line numbers, we end up finding this
>>line 0 as our alt_symtab in symtab:find_pc_sect_line() and we end up
>>subtracting one resulting in line -1.  This problem manifests itself
>>when we attempt to break at the generated glibc functions such as
>>kill.
>>
>>The patch changes process_one_symbol() to only record line 0 if sline info
>>has been found for the function.
>>
>>Ok to commit?
>>
>>-- Jeff J.
>>
>>

[-- Attachment #2: dbxread.patch --]
[-- Type: text/plain, Size: 754 bytes --]

Index: dbxread.c
===================================================================
RCS file: /cvs/src/src/gdb/dbxread.c,v
retrieving revision 1.43
diff -u -r1.43 dbxread.c
--- dbxread.c	20 Feb 2003 18:31:14 -0000	1.43
+++ dbxread.c	25 Feb 2003 23:12:07 -0000
@@ -2831,7 +2831,13 @@
  	      break;
  	    }
 
-	  record_line (current_subfile, 0, last_function_start + valu);
+	  /* The following check is added before recording line 0 at
+	     end of function so as to handle hand-generated stabs
+	     which may have an N_FUN stabs at the end of the function, but
+	     no N_SLINE stabs.  */
+	  if (sline_found_in_function)
+	    record_line (current_subfile, 0, last_function_start + valu);
+
 	  within_function = 0;
 	  new = pop_context ();
 

  reply	other threads:[~2003-02-25 23:17 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-02-25  0:01 J. Johnston
2003-02-25 22:52 ` Jim Blandy
2003-02-25 23:17   ` J. Johnston [this message]
2003-02-26 21:12     ` Elena Zannoni
2003-02-26 21:46       ` J. Johnston

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=3E5BF96E.2020301@redhat.com \
    --to=jjohnstn@redhat.com \
    --cc=gdb-patches@sources.redhat.com \
    --cc=jimb@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