Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: "David S. Miller" <davem@davemloft.net>
To: mark.kettenis@xs4all.nl
Cc: gdb-patches@sources.redhat.com
Subject: Re: [PATCH]: Get dwarf2 working on sparc64 too.
Date: Sat, 08 Apr 2006 22:16:00 -0000	[thread overview]
Message-ID: <20060408.151611.43979592.davem@davemloft.net> (raw)
In-Reply-To: <200604082100.k38L0LF3010368@elgar.sibelius.xs4all.nl>

From: Mark Kettenis <mark.kettenis@xs4all.nl>
Date: Sat, 8 Apr 2006 23:00:21 +0200 (CEST)

> This looks wrong to me.  For one thing %g2, %g3, %g6 and %g7 are *not*
> call clobbered according to SCD 2.4.1.  And I fail to see why
> DW_CFA_GNU_window_save has anything to do with the global registers,
> since window saves only affect the other 24 general purpose registers.

The code for DW_CFA_GNU_window_save explicitly initializes registers
8 and later, this leaves %g1-%g7 unintiialized.

> What are the ugly warnings that you're trying to fix?

The one generated here in dwarf2-frame.c:dwarf2_frame_cache():

	if (fs->regs.reg[column].how == DWARF2_FRAME_REG_UNSPECIFIED)
	  {
	    if (cache->reg[regnum].how == DWARF2_FRAME_REG_UNSPECIFIED)
	      complaint (&symfile_complaints, _("\
incomplete CFI data; unspecified registers (e.g., %s) at 0x%s"),
			 gdbarch_register_name (gdbarch, regnum),
			 paddr_nz (fs->pc));
	  }

It will be generated for every global register (other than %g0 which
we already explicitly mark on Sparc) without my change.

There is also no real reason for GCC to emit explicit entries for the
global registers.  Global registers are used as function local
temporaries and are volatile across by calls.

Given all of the above, I think my change makes sense.


  reply	other threads:[~2006-04-08 22:16 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-04-06  0:16 David S. Miller
2006-04-08 21:01 ` Mark Kettenis
2006-04-08 22:16   ` David S. Miller [this message]
2006-04-08 23:03     ` David S. Miller
2006-04-09  7:17       ` Mark Kettenis

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=20060408.151611.43979592.davem@davemloft.net \
    --to=davem@davemloft.net \
    --cc=gdb-patches@sources.redhat.com \
    --cc=mark.kettenis@xs4all.nl \
    /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