Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* PATCH: Step down from maintainerships
@ 2004-10-10 22:15 Jim Blandy
       [not found] ` <16752 dot 3082 dot 255249 dot 837515 at localhost dot redhat dot com>
  2004-10-15 17:51 ` Elena Zannoni
  0 siblings, 2 replies; 9+ messages in thread
From: Jim Blandy @ 2004-10-10 22:15 UTC (permalink / raw)
  To: gdb-patches


After giving a lot of thought to how to get the most from limited
time, energy and ability, I've decided to step down from my GDB
maintainerships.  I've volunteered as symtab maintainer for five
years, and it's time to give other folks a turn.  I hope to continue
to contribute to GDB in other ways as I have since 1997.

There are a few outstanding patches that I had hoped to take care of
before stepping down, but then this last week some more came in, and I
realized I'd probably never get caught up.  If they remain unreviewed
I'll try to comment on them as I'm able; naturally, my reviews won't
be binding.


2004-10-10  Jim Blandy  <jimb@redhat.com>

	* MAINTAINERS (generic symtabs, dwarf readers, elf reader, stabs
	reader, tracing bytecode stuff): Remove self.

Index: gdb/MAINTAINERS
===================================================================
RCS file: /cvs/src/src/gdb/MAINTAINERS,v
retrieving revision 1.290
diff -c -p -r1.290 MAINTAINERS
*** gdb/MAINTAINERS	8 Oct 2004 01:35:48 -0000	1.290
--- gdb/MAINTAINERS	10 Oct 2004 21:55:11 -0000
*************** gdb/MAINTAINERS		Elena Zannoni           ezan
*** 217,238 ****
                          For the part of top.c related to the event loop,
                          send questions to ezannoni@redhat.com
  
! generic symtabs		Jim Blandy		jimb@redhat.com
! 			Elena Zannoni		ezannoni@redhat.com
!   dwarf readers		Jim Blandy		jimb@redhat.com
! 			Elena Zannoni		ezannoni@redhat.com
!   elf reader		Jim Blandy		jimb@redhat.com
! 			Elena Zannoni		ezannoni@redhat.com
!   stabs reader		Jim Blandy		jimb@redhat.com
! 			Elena Zannoni		ezannoni@redhat.com
    coff reader		Philippe De Muyter	phdm@macqel.be
    xcoff reader		Any maintainer can modify this; please send tricky
  			ones to Kevin Buettner <kevinb@redhat.com>
    HP/UX readers		Any [past] maintainer can modify this.
  			Please send tricky ones to the symtabs maintainers.
  
! tracing bytecode stuff  Jim Blandy              jimb@redhat.com
!                         (Global Maintainers)
  tracing			Michael Snyder		msnyder@redhat.com
  threads			Michael Snyder		msnyder@redhat.com
  			Mark Kettenis		kettenis@gnu.org
--- 217,233 ----
                          For the part of top.c related to the event loop,
                          send questions to ezannoni@redhat.com
  
! generic symtabs		Elena Zannoni		ezannoni@redhat.com
!   dwarf readers		Elena Zannoni		ezannoni@redhat.com
!   elf reader		Elena Zannoni		ezannoni@redhat.com
!   stabs reader		Elena Zannoni		ezannoni@redhat.com
    coff reader		Philippe De Muyter	phdm@macqel.be
    xcoff reader		Any maintainer can modify this; please send tricky
  			ones to Kevin Buettner <kevinb@redhat.com>
    HP/UX readers		Any [past] maintainer can modify this.
  			Please send tricky ones to the symtabs maintainers.
  
! tracing bytecode stuff  (Global Maintainers)
  tracing			Michael Snyder		msnyder@redhat.com
  threads			Michael Snyder		msnyder@redhat.com
  			Mark Kettenis		kettenis@gnu.org


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: PATCH: Step down from maintainerships
  2004-10-10 22:15 PATCH: Step down from maintainerships Jim Blandy
       [not found] ` <16752 dot 3082 dot 255249 dot 837515 at localhost dot redhat dot com>
@ 2004-10-15 17:51 ` Elena Zannoni
  2004-10-17 19:59   ` Jim Blandy
  1 sibling, 1 reply; 9+ messages in thread
From: Elena Zannoni @ 2004-10-15 17:51 UTC (permalink / raw)
  To: Jim Blandy; +Cc: gdb-patches

Jim Blandy writes:
 > 
 > There are a few outstanding patches that I had hoped to take care of
 > before stepping down, but then this last week some more came in, and I
 > realized I'd probably never get caught up.  

Jim, send a list of pointers (with URLs) to the patches and I'll take
care of them.



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: PATCH: Step down from maintainerships
  2004-10-15 17:51 ` Elena Zannoni
@ 2004-10-17 19:59   ` Jim Blandy
  2004-10-19 19:43     ` Jim Blandy
                       ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Jim Blandy @ 2004-10-17 19:59 UTC (permalink / raw)
  To: Elena Zannoni; +Cc: gdb-patches


Elena Zannoni <ezannoni@redhat.com> writes:
> Jim Blandy writes:
>  > 
>  > There are a few outstanding patches that I had hoped to take care of
>  > before stepping down, but then this last week some more came in, and I
>  > realized I'd probably never get caught up.  
> 
> Jim, send a list of pointers (with URLs) to the patches and I'll take
> care of them.

Okay, great.  Here are the ones that I know about:

- Demangling language needs to be stored in demangled name cache,
  along with demangled name:

    http://sources.redhat.com/ml/gdb-patches/2004-08/msg00479.html

  The patch proposed there would undo prior optimizations, which I
  explain here:

    http://sources.redhat.com/ml/gdb-patches/2004-09/msg00263.html

  (That message is not part of the same thread, since it's in a
  different month, so don't miss it.)

- Intel Fortran 90 emits debugging information for nested subroutines
  that produces a malformed block tree:
    http://sources.redhat.com/ml/gdb-patches/2004-08/msg00183.html

  The thread resumes here:
    http://sources.redhat.com/ml/gdb-patches/2004-09/msg00239.html

- GDB's stabs reader tweaks line number information, in a way that's
  not appropriate for non-GCC stabs.  Mark Kettenis posted a patch,
  and I suggested a revision; I think that's where it stands.

    http://sources.redhat.com/ml/gdb-patches/2004-09/msg00234.html

- Corinna Vinschen proposed a new gdbarch method to let arch-specific
  code interpret Dwarf 2 DW_AT_calling_convention attributes:

    http://sources.redhat.com/ml/gdb-patches/2004-10/msg00146.html


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: PATCH: Step down from maintainerships
  2004-10-17 19:59   ` Jim Blandy
@ 2004-10-19 19:43     ` Jim Blandy
  2004-10-19 22:14     ` [RFA] Don't apply line-number tweaks for non-GCC compilers Mark Kettenis
  2004-10-19 22:15     ` Mark Kettenis
  2 siblings, 0 replies; 9+ messages in thread
From: Jim Blandy @ 2004-10-19 19:43 UTC (permalink / raw)
  To: Elena Zannoni; +Cc: gdb-patches, Ton van Overbeek


Jim Blandy <jimb@redhat.com> writes:
> - Demangling language needs to be stored in demangled name cache,
>   along with demangled name:
> 
>     http://sources.redhat.com/ml/gdb-patches/2004-08/msg00479.html
> 
>   The patch proposed there would undo prior optimizations, which I
>   explain here:
> 
>     http://sources.redhat.com/ml/gdb-patches/2004-09/msg00263.html
> 
>   (That message is not part of the same thread, since it's in a
>   different month, so don't miss it.)

For what it's worth, I have a tentative patch for this.  It's not
tested, but it could be a starting point.  (Ton van Overbeek
originally reported the problem, and has offered to test patches.)

2004-10-19  Jim Blandy  <jimb@redhat.com>

	* symtab.c (symbol_set_names): Store the demangling language, as
	well as the demangled name, in the demangling cache.  Use it to
	set the language on symbols whose names we find in the cache.
	* objfiles.h (struct objfile): Doc fix.

Index: gdb/objfiles.h
===================================================================
RCS file: /cvs/src/src/gdb/objfiles.h,v
retrieving revision 1.39
diff -c -p -r1.39 objfiles.h
*** gdb/objfiles.h	2 Sep 2004 03:05:46 -0000	1.39
--- gdb/objfiles.h	19 Oct 2004 19:23:20 -0000
*************** struct objfile
*** 267,275 ****
  
      /* Hash table for mapping symbol names to demangled names.  Each
         entry in the hash table is actually two consecutive strings,
!        both null-terminated; the first one is a mangled or linkage
!        name, and the second is the demangled name or just a zero byte
!        if the name doesn't demangle.  */
      struct htab *demangled_names_hash;
  
      /* Vectors of all partial symbols read in from file.  The actual data
--- 267,280 ----
  
      /* Hash table for mapping symbol names to demangled names.  Each
         entry in the hash table is actually two consecutive strings,
!        both null-terminated, possibly followed by a byte:
!        - the first string is a mangled or linkage name, 
!        - the second string is the demangled name, or just a zero byte
!          if the name doesn't demangle, and
!        - if the demangled name is non-empty, the byte after the second
!          null character is the 'enum language' value for the
!          demangling regimen we used.  If the demangled name is empty,
!          the byte is absent.  */
      struct htab *demangled_names_hash;
  
      /* Vectors of all partial symbols read in from file.  The actual data
Index: gdb/symtab.c
===================================================================
RCS file: /cvs/src/src/gdb/symtab.c,v
retrieving revision 1.140
diff -c -p -r1.140 symtab.c
*** gdb/symtab.c	2 Oct 2004 09:55:15 -0000	1.140
--- gdb/symtab.c	19 Oct 2004 19:23:21 -0000
*************** symbol_set_names (struct general_symbol_
*** 576,598 ****
  	 Otherwise, just place a second zero byte after the end of the mangled
  	 name.  */
        *slot = obstack_alloc (&objfile->objfile_obstack,
! 			     lookup_len + demangled_len + 2);
        memcpy (*slot, lookup_name, lookup_len + 1);
        if (demangled_name != NULL)
  	{
  	  memcpy (*slot + lookup_len + 1, demangled_name, demangled_len + 1);
  	  xfree (demangled_name);
  	}
        else
  	(*slot)[lookup_len + 1] = '\0';
      }
  
    gsymbol->name = *slot + lookup_len - len;
!   if ((*slot)[lookup_len + 1] != '\0')
!     gsymbol->language_specific.cplus_specific.demangled_name
!       = &(*slot)[lookup_len + 1];
!   else
!     gsymbol->language_specific.cplus_specific.demangled_name = NULL;
  }
  
  /* Initialize the demangled name of GSYMBOL if possible.  Any required space
--- 576,624 ----
  	 Otherwise, just place a second zero byte after the end of the mangled
  	 name.  */
        *slot = obstack_alloc (&objfile->objfile_obstack,
! 			     lookup_len + 1 + demangled_len + 1 + 1);
        memcpy (*slot, lookup_name, lookup_len + 1);
        if (demangled_name != NULL)
  	{
  	  memcpy (*slot + lookup_len + 1, demangled_name, demangled_len + 1);
  	  xfree (demangled_name);
+           /* Record the language we used to demangle the name, too.  */
+           (*slot)[lookup_len + 1 + demangled_len + 1] = gsymbol->language;
  	}
        else
  	(*slot)[lookup_len + 1] = '\0';
      }
+   else
+     {
+       /* This is what symbol_find_demangled_name does when we don't
+          find a hash table entry, so we should do it when we do find
+          one as well.  */
+       if (gsymbol->language == language_unknown)
+         gsymbol->language = language_auto;
+     }
  
+   /* At this point we've definitely got a hash table entry, whether
+      prexisting or just created.  Make gsymbol share its name with
+      the hash table entry.  */
    gsymbol->name = *slot + lookup_len - len;
! 
!   /* Share the demangled name as well, if there is one.  */
!   {
!     char *demangled_name = *slot + lookup_len + 1;
! 
!     if (demangled_name != '\0')
!       {
!         size_t demangled_len = strlen (demangled_name);
! 
!         gsymbol->language_specific.cplus_specific.demangled_name
!           = demangled_name;
! 
!         /* Set gsymbol's language from the byte after the demangled name.  */
!         gsymbol->language = (enum language) demangled_name[demangled_len + 1];
!       }
!     else
!       gsymbol->language_specific.cplus_specific.demangled_name = NULL;
!   }
  }
  
  /* Initialize the demangled name of GSYMBOL if possible.  Any required space


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [RFA] Don't apply line-number tweaks for non-GCC compilers
  2004-10-17 19:59   ` Jim Blandy
  2004-10-19 19:43     ` Jim Blandy
@ 2004-10-19 22:14     ` Mark Kettenis
  2004-10-19 22:15     ` Mark Kettenis
  2 siblings, 0 replies; 9+ messages in thread
From: Mark Kettenis @ 2004-10-19 22:14 UTC (permalink / raw)
  To: ezannoni; +Cc: jimb, gdb-patches

   From: Jim Blandy <jimb@redhat.com>
   Date: 17 Oct 2004 14:57:22 -0500

   Elena Zannoni <ezannoni@redhat.com> writes:
   > 
   > Jim, send a list of pointers (with URLs) to the patches and I'll take
   > care of them.

   Okay, great.  Here are the ones that I know about:

   - GDB's stabs reader tweaks line number information, in a way that's
     not appropriate for non-GCC stabs.  Mark Kettenis posted a patch,
     and I suggested a revision; I think that's where it stands.

       http://sources.redhat.com/ml/gdb-patches/2004-09/msg00234.html

I had a follow-up patch, but I lost it when I accidentally did an rm
-rf of my GDB working directory.  Anyway, here's a new one that
implements Jim's suggestion.  OK?

I'd really like to check this in on the new release branch too, since
I promised to fix this a long time ago.

Mark


Index: dbxread.c
===================================================================
RCS file: /cvs/src/src/gdb/dbxread.c,v
retrieving revision 1.74
diff -u -p -r1.74 dbxread.c
--- dbxread.c 11 Sep 2004 10:24:46 -0000 1.74
+++ dbxread.c 19 Oct 2004 20:32:34 -0000
@@ -2927,11 +2927,26 @@ process_one_symbol (int type, int desc, 
       /* Relocate for dynamic loading and for ELF acc fn-relative syms.  */
       valu += function_start_offset;
 
-      /* If this is the first SLINE note in the function, record it at
-	 the start of the function instead of at the listed location.  */
+      /* GCC 2.95.3 emits the first N_SLINE stab somwehere in the
+	 middle of the prologue instead of right at the start of the
+	 function.  To deal with this we record the address for the
+	 first N_SLINE stab to be the start of the function instead of
+	 the listed location.  We really shouldn't to this.  When
+	 compiling with optimization, this first N_SLINE stab might be
+	 optimized away.  Other (non-GCC) compilers don't emit this
+	 stab at all.  There is no real harm in having an extra
+	 numbered line, although it can be a bit annoying for the
+	 user.  However, it totally screws up our testsuite.
+
+	 So for now, keep adjusting the address of the first N_SLINE
+	 stab, but only for code compiled with GCC.  */
+
       if (within_function && sline_found_in_function == 0)
 	{
-	  record_line (current_subfile, desc, last_function_start);
+	  if (processing_gcc_compilation == 2)
+	    record_line (current_subfile, desc, last_function_start);
+	  else
+	    record_line (current_subfile, desc, valu);
 	  sline_found_in_function = 1;
 	}
       else


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [RFA] Don't apply line-number tweaks for non-GCC compilers
  2004-10-17 19:59   ` Jim Blandy
  2004-10-19 19:43     ` Jim Blandy
  2004-10-19 22:14     ` [RFA] Don't apply line-number tweaks for non-GCC compilers Mark Kettenis
@ 2004-10-19 22:15     ` Mark Kettenis
  2004-11-09 13:16       ` Mark Kettenis
  2 siblings, 1 reply; 9+ messages in thread
From: Mark Kettenis @ 2004-10-19 22:15 UTC (permalink / raw)
  To: ezannoni; +Cc: jimb, gdb-patches

   From: Jim Blandy <jimb@redhat.com>
   Date: 17 Oct 2004 14:57:22 -0500

[Oops.  Now with ChangeLog.]

   Elena Zannoni <ezannoni@redhat.com> writes:
   > 
   > Jim, send a list of pointers (with URLs) to the patches and I'll take
   > care of them.

   Okay, great.  Here are the ones that I know about:

   - GDB's stabs reader tweaks line number information, in a way that's
     not appropriate for non-GCC stabs.  Mark Kettenis posted a patch,
     and I suggested a revision; I think that's where it stands.

       http://sources.redhat.com/ml/gdb-patches/2004-09/msg00234.html

I had a follow-up patch, but I lost it when I accidentally did an rm
-rf of my GDB working directory.  Anyway, here's a new one that
implements Jim's suggestion.  OK?

I'd really like to check this in on the new release branch too, since
I promised to fix this a long time ago.

Mark


Index: ChangeLog
from  Mark Kettenis  <kettenis@gnu.org>
 
	* dbxread.c (process_one_symbol): Do not adjust address of first
	N_SLINE stab for a function for code generated by non-GCC
	compilers.

 
Index: dbxread.c
===================================================================
RCS file: /cvs/src/src/gdb/dbxread.c,v
retrieving revision 1.74
diff -u -p -r1.74 dbxread.c
--- dbxread.c 11 Sep 2004 10:24:46 -0000 1.74
+++ dbxread.c 19 Oct 2004 20:45:53 -0000
@@ -2927,11 +2927,26 @@ process_one_symbol (int type, int desc, 
       /* Relocate for dynamic loading and for ELF acc fn-relative syms.  */
       valu += function_start_offset;
 
-      /* If this is the first SLINE note in the function, record it at
-	 the start of the function instead of at the listed location.  */
+      /* GCC 2.95.3 emits the first N_SLINE stab somwehere in the
+	 middle of the prologue instead of right at the start of the
+	 function.  To deal with this we record the address for the
+	 first N_SLINE stab to be the start of the function instead of
+	 the listed location.  We really shouldn't to this.  When
+	 compiling with optimization, this first N_SLINE stab might be
+	 optimized away.  Other (non-GCC) compilers don't emit this
+	 stab at all.  There is no real harm in having an extra
+	 numbered line, although it can be a bit annoying for the
+	 user.  However, it totally screws up our testsuite.
+
+	 So for now, keep adjusting the address of the first N_SLINE
+	 stab, but only for code compiled with GCC.  */
+
       if (within_function && sline_found_in_function == 0)
 	{
-	  record_line (current_subfile, desc, last_function_start);
+	  if (processing_gcc_compilation == 2)
+	    record_line (current_subfile, desc, last_function_start);
+	  else
+	    record_line (current_subfile, desc, valu);
 	  sline_found_in_function = 1;
 	}
       else


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [RFA] Don't apply line-number tweaks for non-GCC compilers
  2004-10-19 22:15     ` Mark Kettenis
@ 2004-11-09 13:16       ` Mark Kettenis
  2004-11-09 19:54         ` Jim Blandy
  0 siblings, 1 reply; 9+ messages in thread
From: Mark Kettenis @ 2004-11-09 13:16 UTC (permalink / raw)
  To: ezannoni; +Cc: jimb, gdb-patches

   Date: Wed, 20 Oct 2004 00:15:02 +0200 (CEST)
   From: Mark Kettenis <mark.kettenis@xs4all.nl>

Ping!

      - GDB's stabs reader tweaks line number information, in a way that's
	not appropriate for non-GCC stabs.  Mark Kettenis posted a patch,
	and I suggested a revision; I think that's where it stands.

	  http://sources.redhat.com/ml/gdb-patches/2004-09/msg00234.html

   I had a follow-up patch, but I lost it when I accidentally did an rm
   -rf of my GDB working directory.  Anyway, here's a new one that
   implements Jim's suggestion.  OK?

   I'd really like to check this in on the new release branch too, since
   I promised to fix this a long time ago.

   Mark


   Index: ChangeLog
   from  Mark Kettenis  <kettenis@gnu.org>

	   * dbxread.c (process_one_symbol): Do not adjust address of first
	   N_SLINE stab for a function for code generated by non-GCC
	   compilers.


   Index: dbxread.c
   ===================================================================
   RCS file: /cvs/src/src/gdb/dbxread.c,v
   retrieving revision 1.74
   diff -u -p -r1.74 dbxread.c
   --- dbxread.c 11 Sep 2004 10:24:46 -0000 1.74
   +++ dbxread.c 19 Oct 2004 20:45:53 -0000
   @@ -2927,11 +2927,26 @@ process_one_symbol (int type, int desc, 
	  /* Relocate for dynamic loading and for ELF acc fn-relative syms.  */
	  valu += function_start_offset;

   -      /* If this is the first SLINE note in the function, record it at
   -	 the start of the function instead of at the listed location.  */
   +      /* GCC 2.95.3 emits the first N_SLINE stab somwehere in the
   +	 middle of the prologue instead of right at the start of the
   +	 function.  To deal with this we record the address for the
   +	 first N_SLINE stab to be the start of the function instead of
   +	 the listed location.  We really shouldn't to this.  When
   +	 compiling with optimization, this first N_SLINE stab might be
   +	 optimized away.  Other (non-GCC) compilers don't emit this
   +	 stab at all.  There is no real harm in having an extra
   +	 numbered line, although it can be a bit annoying for the
   +	 user.  However, it totally screws up our testsuite.
   +
   +	 So for now, keep adjusting the address of the first N_SLINE
   +	 stab, but only for code compiled with GCC.  */
   +
	  if (within_function && sline_found_in_function == 0)
	   {
   -	  record_line (current_subfile, desc, last_function_start);
   +	  if (processing_gcc_compilation == 2)
   +	    record_line (current_subfile, desc, last_function_start);
   +	  else
   +	    record_line (current_subfile, desc, valu);
	     sline_found_in_function = 1;
	   }
	  else


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [RFA] Don't apply line-number tweaks for non-GCC compilers
  2004-11-09 13:16       ` Mark Kettenis
@ 2004-11-09 19:54         ` Jim Blandy
  2004-11-18 22:38           ` Mark Kettenis
  0 siblings, 1 reply; 9+ messages in thread
From: Jim Blandy @ 2004-11-09 19:54 UTC (permalink / raw)
  To: Mark Kettenis; +Cc: ezannoni, gdb-patches


For what it's worth, this change implements the suggestion I made.

Mark Kettenis <kettenis@gnu.org> writes:

>    Date: Wed, 20 Oct 2004 00:15:02 +0200 (CEST)
>    From: Mark Kettenis <mark.kettenis@xs4all.nl>
> 
> Ping!
> 
>       - GDB's stabs reader tweaks line number information, in a way that's
> 	not appropriate for non-GCC stabs.  Mark Kettenis posted a patch,
> 	and I suggested a revision; I think that's where it stands.
> 
> 	  http://sources.redhat.com/ml/gdb-patches/2004-09/msg00234.html
> 
>    I had a follow-up patch, but I lost it when I accidentally did an rm
>    -rf of my GDB working directory.  Anyway, here's a new one that
>    implements Jim's suggestion.  OK?
> 
>    I'd really like to check this in on the new release branch too, since
>    I promised to fix this a long time ago.
> 
>    Mark
> 
> 
>    Index: ChangeLog
>    from  Mark Kettenis  <kettenis@gnu.org>
> 
> 	   * dbxread.c (process_one_symbol): Do not adjust address of first
> 	   N_SLINE stab for a function for code generated by non-GCC
> 	   compilers.
> 
> 
>    Index: dbxread.c
>    ===================================================================
>    RCS file: /cvs/src/src/gdb/dbxread.c,v
>    retrieving revision 1.74
>    diff -u -p -r1.74 dbxread.c
>    --- dbxread.c 11 Sep 2004 10:24:46 -0000 1.74
>    +++ dbxread.c 19 Oct 2004 20:45:53 -0000
>    @@ -2927,11 +2927,26 @@ process_one_symbol (int type, int desc, 
> 	  /* Relocate for dynamic loading and for ELF acc fn-relative syms.  */
> 	  valu += function_start_offset;
> 
>    -      /* If this is the first SLINE note in the function, record it at
>    -	 the start of the function instead of at the listed location.  */
>    +      /* GCC 2.95.3 emits the first N_SLINE stab somwehere in the
>    +	 middle of the prologue instead of right at the start of the
>    +	 function.  To deal with this we record the address for the
>    +	 first N_SLINE stab to be the start of the function instead of
>    +	 the listed location.  We really shouldn't to this.  When
>    +	 compiling with optimization, this first N_SLINE stab might be
>    +	 optimized away.  Other (non-GCC) compilers don't emit this
>    +	 stab at all.  There is no real harm in having an extra
>    +	 numbered line, although it can be a bit annoying for the
>    +	 user.  However, it totally screws up our testsuite.
>    +
>    +	 So for now, keep adjusting the address of the first N_SLINE
>    +	 stab, but only for code compiled with GCC.  */
>    +
> 	  if (within_function && sline_found_in_function == 0)
> 	   {
>    -	  record_line (current_subfile, desc, last_function_start);
>    +	  if (processing_gcc_compilation == 2)
>    +	    record_line (current_subfile, desc, last_function_start);
>    +	  else
>    +	    record_line (current_subfile, desc, valu);
> 	     sline_found_in_function = 1;
> 	   }
> 	  else


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [RFA] Don't apply line-number tweaks for non-GCC compilers
  2004-11-09 19:54         ` Jim Blandy
@ 2004-11-18 22:38           ` Mark Kettenis
  0 siblings, 0 replies; 9+ messages in thread
From: Mark Kettenis @ 2004-11-18 22:38 UTC (permalink / raw)
  To: jimb; +Cc: ezannoni, gdb-patches

   From: Jim Blandy <jimb@redhat.com>
   Date: 09 Nov 2004 14:53:03 -0500

   For what it's worth, this change implements the suggestion I made.

I went ahead and checked this in.

Mark

   >    Index: ChangeLog
   >    from  Mark Kettenis  <kettenis@gnu.org>
   > 
   > 	   * dbxread.c (process_one_symbol): Do not adjust address of first
   > 	   N_SLINE stab for a function for code generated by non-GCC
   > 	   compilers.
   > 
   > 
   >    Index: dbxread.c
   >    ===================================================================
   >    RCS file: /cvs/src/src/gdb/dbxread.c,v
   >    retrieving revision 1.74
   >    diff -u -p -r1.74 dbxread.c
   >    --- dbxread.c 11 Sep 2004 10:24:46 -0000 1.74
   >    +++ dbxread.c 19 Oct 2004 20:45:53 -0000
   >    @@ -2927,11 +2927,26 @@ process_one_symbol (int type, int desc, 
   > 	  /* Relocate for dynamic loading and for ELF acc fn-relative syms.  */
   > 	  valu += function_start_offset;
   > 
   >    -      /* If this is the first SLINE note in the function, record it at
   >    -	 the start of the function instead of at the listed location.  */
   >    +      /* GCC 2.95.3 emits the first N_SLINE stab somwehere in the
   >    +	 middle of the prologue instead of right at the start of the
   >    +	 function.  To deal with this we record the address for the
   >    +	 first N_SLINE stab to be the start of the function instead of
   >    +	 the listed location.  We really shouldn't to this.  When
   >    +	 compiling with optimization, this first N_SLINE stab might be
   >    +	 optimized away.  Other (non-GCC) compilers don't emit this
   >    +	 stab at all.  There is no real harm in having an extra
   >    +	 numbered line, although it can be a bit annoying for the
   >    +	 user.  However, it totally screws up our testsuite.
   >    +
   >    +	 So for now, keep adjusting the address of the first N_SLINE
   >    +	 stab, but only for code compiled with GCC.  */
   >    +
   > 	  if (within_function && sline_found_in_function == 0)
   > 	   {
   >    -	  record_line (current_subfile, desc, last_function_start);
   >    +	  if (processing_gcc_compilation == 2)
   >    +	    record_line (current_subfile, desc, last_function_start);
   >    +	  else
   >    +	    record_line (current_subfile, desc, valu);
   > 	     sline_found_in_function = 1;
   > 	   }
   > 	  else


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2004-11-18 22:38 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-10-10 22:15 PATCH: Step down from maintainerships Jim Blandy
     [not found] ` <16752 dot 3082 dot 255249 dot 837515 at localhost dot redhat dot com>
2004-10-15 17:51 ` Elena Zannoni
2004-10-17 19:59   ` Jim Blandy
2004-10-19 19:43     ` Jim Blandy
2004-10-19 22:14     ` [RFA] Don't apply line-number tweaks for non-GCC compilers Mark Kettenis
2004-10-19 22:15     ` Mark Kettenis
2004-11-09 13:16       ` Mark Kettenis
2004-11-09 19:54         ` Jim Blandy
2004-11-18 22:38           ` Mark Kettenis

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox