This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: An egcs 1.1.2 patch for frame.h and crtstuff.c
- To: law at cygnus dot com
- Subject: Re: An egcs 1.1.2 patch for frame.h and crtstuff.c
- From: hjl at lucon dot org (H.J. Lu)
- Date: Thu, 25 Feb 1999 11:45:26 -0800 (PST)
- Cc: egcs at egcs dot cygnus dot com, egcs-patches at egcs dot cygnus dot com
>
>
> In message <m10G6Wk-000390C@ocean.lucon.org>you write:
> > >
> > > > I did #2. Now I cannot find a solution for #1, which I like.
> > > Send it anyway. It may be the case that you do not like it, but it's sti
> > ll
> > > a better solution, or it may be the case that someone can tweak it to mak
> > e
> > > it better. We'll never know if you don't actually send the patch.
> > >
> > > Or it may be the case that the pragmas really are better.
> > >
> > > But until you send the attribute based patch we'll never know.
> > >
> >
> > Here it is. BTW, I am working on the libio patch now.
>
> Thu Feb 25 11:25:13 1999 H.J. Lu (hjl@gnu.org)
>
> * frame.h (TARGET_ATTRIBUTE_WEAK): New. Use __attribute__ only
> if SUPPORTS_WEAK is not zero and IN_CRTSTUFF is defined.
> (__register_frame_info): Append TARGET_ATTRIBUTE_WEAK.
> (__deregister_frame_info): Likewise.
>
> * crtstuff.c (IN_CRTSTUFF): Defined before #include "frame.h".
> (__do_global_dtors_aux): Check if __deregister_frame_info is
> zero before calling it.
> (__do_global_dtors): Likewise.
> (frame_dummy): Check if __register_frame_info is zero before
> calling it.
> (__frame_dummy): Likewise.
> Thanks. This looks pretty good.
>
> I assume the IN_CRTSTUFF is needed because we only want the external
> references in crtstuff to be weak, not the definitions in frame.c?
Yes.
>
> What parts of this patch are you not happy with?
>
It has more codes than the pragma version and it touches frame.h. If
you find it is ok, that is fine with me.
Thanks.
--
H.J. Lu (hjl@gnu.org)