This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: RS6000 Changes to support WindISS
- From: Mark Mitchell <mark at codesourcery dot com>
- To: David Edelsohn <dje at watson dot ibm dot com>
- Cc: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>, "geoffk at redhat dot com" <geoffk at redhat dot com>, "obrien at FreeBSD dot org" <obrien at FreeBSD dot org>
- Date: Mon, 06 May 2002 12:30:53 -0700
- Subject: Re: RS6000 Changes to support WindISS
- References: <200205061922.PAA24928@makai.watson.ibm.com>
--On Monday, May 06, 2002 03:22:44 PM -0400 David Edelsohn
<dje@watson.ibm.com> wrote:
>>>>>> Mark Mitchell writes:
>
> Mark> If you put that file in your libc -- or if it were in libgcc -- it
> Mark> wouldn't need to be linked in explicitly, and then you could get by
> Mark> with the usual FreeBSD spec. I don't know why it's not in libgcc.
>
> It's not in libgcc because it always needs to be linked statically
> or the call will trample registers the subroutine is trying to save and
> restore.
OK.
> Another solution is to make the crtsavres.o file a spec that can
> be dynamically included based on %{mwindiss}.
You have to be careful because there are two cases: you use -mwindiss,
or the compiler is built for a WindISS system by default and there
is no option. To do what you suggest, we would introduce a new
spec (CRTSAVRES_SPEC) with all the variants (CRTSAVERES_DEFAULT_SPEC,
CRTSAVERES_YELLOWKNIFE_SPEC), and so forth.
We could do that, and if David O'Brien would prefer that to what I did
then I'll make that change.
> By the way, Mark, you introduced a typo: the file is crtsavres.o
> not crtsaveres.o -- no "e" in "sav".
Thanks; I've fixed this in my copy.
--
Mark Mitchell mark@codesourcery.com
CodeSourcery, LLC http://www.codesourcery.com