This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: RFA: dbxread patch


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).

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

"J. Johnston" <jjohnstn at redhat dot 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.
> 
> 
> 2003-02-24  Jeff Johnston  <jjohnstn at redhat dot com>
> 
> 	* dbxread.c (process_one_symbol): Only record line 0 if one or more sline
> 	entries have been seen for the function.
> 
> 
> 
> 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	24 Feb 2003 23:39:52 -0000
> @@ -2831,7 +2831,9 @@
>   	      break;
>   	    }
>  
> -	  record_line (current_subfile, 0, last_function_start + valu);
> +	  if (sline_found_in_function)
> +	    record_line (current_subfile, 0, last_function_start + valu);
> +
>  	  within_function = 0;
>  	  new = pop_context ();
>  


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]