Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* [COMMIT] Avoid unnecessary indirection when decoding DWARF CFI
@ 2004-11-05 22:37 Mark Kettenis
  2004-11-08 16:47 ` Andrew Cagney
  0 siblings, 1 reply; 2+ messages in thread
From: Mark Kettenis @ 2004-11-05 22:37 UTC (permalink / raw)
  To: gdb-patches, cagney, drow

This fixes the problems for me.  It's better to skip the indirection
here anyway, since it will save a memory read and thus avoids any
problems with that.

Committed,

Mark

P.S. Andrew, can you test it on your systems.  I still like to get
this on the branch since it fixes a nasty problem on SPARC.  But it
can wait until 6.3.1.


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

	* dwarf2-frame.c (decode_frame_entry_1): Avoid indirection when
	skipping a personality routine in a CIE augmentation.

Index: dwarf2-frame.c
===================================================================
RCS file: /cvs/src/src/gdb/dwarf2-frame.c,v
retrieving revision 1.42
diff -u -p -r1.42 dwarf2-frame.c
--- dwarf2-frame.c 5 Nov 2004 15:16:44 -0000 1.42
+++ dwarf2-frame.c 5 Nov 2004 22:30:07 -0000
@@ -1380,8 +1380,8 @@ decode_frame_entry_1 (struct comp_unit *
 	  /* "P" indicates a personality routine in the CIE augmentation.  */
 	  else if (*augmentation == 'P')
 	    {
-	      /* Skip.  */
-	      unsigned char encoding = *buf++;
+	      /* Skip.  Avoid indirection since we throw away the result.  */
+	      unsigned char encoding = (*buf++) & ~DW_EH_PE_indirect;
 	      read_encoded_value (unit, encoding, buf, &bytes_read);
 	      buf += bytes_read;
 	      augmentation++;


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

* Re: [COMMIT] Avoid unnecessary indirection when decoding DWARF CFI
  2004-11-05 22:37 [COMMIT] Avoid unnecessary indirection when decoding DWARF CFI Mark Kettenis
@ 2004-11-08 16:47 ` Andrew Cagney
  0 siblings, 0 replies; 2+ messages in thread
From: Andrew Cagney @ 2004-11-08 16:47 UTC (permalink / raw)
  To: Mark Kettenis; +Cc: gdb-patches, drow

Mark Kettenis wrote:
> This fixes the problems for me.  It's better to skip the indirection
> here anyway, since it will save a memory read and thus avoids any
> problems with that.
> 
> Committed,
> 
> Mark
> 
> P.S. Andrew, can you test it on your systems.  I still like to get
> this on the branch since it fixes a nasty problem on SPARC.  But it
> can wait until 6.3.1.

Yes, it fixes the problem I was seeing.  6.3.1 is ok, but not 6.3.

Andrew

> Index: ChangeLog
> from  Mark Kettenis  <kettenis@gnu.org>
> 
> 	* dwarf2-frame.c (decode_frame_entry_1): Avoid indirection when
> 	skipping a personality routine in a CIE augmentation.
> 
> Index: dwarf2-frame.c
> ===================================================================
> RCS file: /cvs/src/src/gdb/dwarf2-frame.c,v
> retrieving revision 1.42
> diff -u -p -r1.42 dwarf2-frame.c
> --- dwarf2-frame.c 5 Nov 2004 15:16:44 -0000 1.42
> +++ dwarf2-frame.c 5 Nov 2004 22:30:07 -0000
> @@ -1380,8 +1380,8 @@ decode_frame_entry_1 (struct comp_unit *
>  	  /* "P" indicates a personality routine in the CIE augmentation.  */
>  	  else if (*augmentation == 'P')
>  	    {
> -	      /* Skip.  */
> -	      unsigned char encoding = *buf++;
> +	      /* Skip.  Avoid indirection since we throw away the result.  */
> +	      unsigned char encoding = (*buf++) & ~DW_EH_PE_indirect;
>  	      read_encoded_value (unit, encoding, buf, &bytes_read);
>  	      buf += bytes_read;
>  	      augmentation++;
> 


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

end of thread, other threads:[~2004-11-08 16:47 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-11-05 22:37 [COMMIT] Avoid unnecessary indirection when decoding DWARF CFI Mark Kettenis
2004-11-08 16:47 ` Andrew Cagney

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