public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
From: Geoff Keating <geoffk@geoffk.org>
To: amodra@gcc.gnu.org
Cc: gcc-prs@gcc.gnu.org,
Subject: Re: other/7114: ICE building strcoll.op from glibc-2.2.5
Date: Wed, 17 Jul 2002 00:16:00 -0000	[thread overview]
Message-ID: <20020717071602.16430.qmail@sources.redhat.com> (raw)

The following reply was made to PR other/7114; it has been noted by GNATS.

From: Geoff Keating <geoffk@geoffk.org>
To: amodra@bigpond.net.au
Cc: d.mueller@elsoft.ch, gcc-gnats@gcc.gnu.org, gcc-patches@gcc.gnu.org,
   dje@watson.ibm.com
Subject: Re: other/7114: ICE building strcoll.op from glibc-2.2.5
Date: Wed, 17 Jul 2002 00:07:11 -0700

 > Date: Wed, 17 Jul 2002 11:17:39 +0930
 > From: Alan Modra <amodra@bigpond.net.au>
 
 > On Tue, Jul 16, 2002 at 10:48:14AM -0700, Geoff Keating wrote:
 > > The profiling function isn't allowed to clobber r30.  It never has
 > > been, so this should be no surprise.
 > 
 > I'm not quite sure what to make of this response.  We're talking about
 > this code from rs6000.c:10479
 > 
 >       if (current_function_needs_context)
 > 	asm_fprintf (file, "\tmr %s,%s\n",
 > 		     reg_names[30], reg_names[STATIC_CHAIN_REGNUM]);
 >       fprintf (file, "\tbl %s\n", RS6000_MCOUNT);
 >       if (current_function_needs_context)
 > 	asm_fprintf (file, "\tmr %s,%s\n",
 > 		     reg_names[STATIC_CHAIN_REGNUM], reg_names[30]);
 
 I see, I was confused.  I thought we were already using r30 for
 STATIC_CHAIN_REGNUM.  The ABI specifies r31, but I see we can't use
 that if we want trampolines to be efficient.
 
 > This is currently emitted _before_ the prologue in the nested function,
 > thus trashes r30.  I was considering the idea of adding a clobber of
 > r30 to CALL_INSN_FUNCTION_USAGE when calling a nested function.  That's
 > a workable solution, but means you need to zap r30 on all calls via
 > function pointers too.
 
 From David's mail message when he put the code in:
 
      I have ripped out all of the stack PUSH/POP stuff that was
      causing ABI problems and replaced it with explicit moves to a
      temporary register.  This includes having the SVR4 ABI act more
      like AIX using a register instead of the dangerous stack
      save/restore game.  I could not test the SVR4 changes, so I would
      appreciate if the LinuxPPC testers would make sure that I have
      not broken anything when profiling is enabled.
 
 So, thanks for testing it!  We now know this doesn't work. :-)
 
 So, why don't we go back to the push/pop implementation, but this time
 do it properly?  We'd only need to push/pop in the (rare)
 nested-function case.
 
 -- 
 - Geoffrey Keating <geoffk@geoffk.org> <geoffk@redhat.com>


             reply	other threads:[~2002-07-17  7:16 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-07-17  0:16 Geoff Keating [this message]
  -- strict thread matches above, loose matches on Subject: below --
2002-07-17 13:36 David Edelsohn
2002-07-17 12:16 Geoff Keating
2002-07-17 12:06 Geoff Keating
2002-07-17 10:46 David Edelsohn
2002-07-17  8:46 David Edelsohn
2002-07-17  2:06 Alan Modra
2002-07-16 21:16 Alan Modra
2002-07-16 18:56 Alan Modra
2002-07-16 10:56 Geoff Keating
2002-07-16 10:46 Geoff Keating
2002-07-15 22:16 Alan Modra
2002-07-15 21:36 Richard Henderson
2002-07-15 18:46 Alan Modra
2002-07-15 16:56 Alan Modra
2002-07-15 12:46 Geoff Keating
2002-07-15  2:36 Alan Modra
2002-06-25  2:16 d.mueller

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=20020717071602.16430.qmail@sources.redhat.com \
    --to=geoffk@geoffk.org \
    --cc=amodra@gcc.gnu.org \
    --cc=gcc-prs@gcc.gnu.org \
    /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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).