This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: EGCS 1.1.3?


>   > Is EGCS 1.1.3 going to happen anytime soon?  I'm away at LinuxExpo this
...
> No.  Being sick totally killed any chance to do egcs-1.1.3.  THe only
> patch it would have anyway would be to fix the shared library problems
> HJ introduced.  Absolutely nothing else.

And if one wanted to have the equivant of the would-be 1.1.3, they would
apply this patch, right?

--- egcs-1.1.2/gcc/crtstuff.c	Sat Feb 27 13:54:23 1999
+++ egcs-1.1.1/gcc/crtstuff.c	Mon Jun  8 11:30:12 1998
@@ -56,45 +56,6 @@
 #include <stddef.h>
 #include "frame.h"
 
-/* This really belongs in gansidecl.h, but for the egcs-1.1.x branch, the
-   only code which uses weak attributes is in this file and this file does
-   not include gansidecl.h.  */
-#ifndef TARGET_ATTRIBUTE_WEAK
-# if SUPPORTS_WEAK
-#  define TARGET_ATTRIBUTE_WEAK       __attribute__ ((weak))
-# else
-#  define TARGET_ATTRIBUTE_WEAK
-# endif
-#endif
-
-/* We do not want to add the weak attribute to the declarations of these
-   routines in frame.h because that will cause the definition of these
-   symbols to be weak as well.
-
-   This exposes a core issue, how to handle creating weak references vs
-   how to create weak definitions.  Either we have to have the definition
-   of TARGET_WEAK_ATTRIBUTE be conditional in the shared header files or
-   have a second declaration if we want a function's references to be weak,
-   but not its definition.
-
-   Making TARGET_WEAK_ATTRIBUTE conditional seems like a good solution until
-   one thinks about scaling to larger problems -- ie, the condition under
-   which TARGET_WEAK_ATTRIBUTE is active will eventually get far too
-   complicated.
-
-   So, we take an approach similar to #pragma weak -- we have a second
-   declaration for functions that we want to have weak references.
-
-   Neither way is particularly good.  */
-   
-/* References to __register_frame_info and __deregister_frame_info should
-   be weak in this file if at all possible.  */
-extern void __register_frame_info (void *, struct object *)
-				  TARGET_ATTRIBUTE_WEAK;
-
-extern void *__deregister_frame_info (void *)
-				     TARGET_ATTRIBUTE_WEAK;
-
 /* Provide default definitions for the pseudo-ops used to switch to the
    .ctors and .dtors sections.
  
@@ -181,8 +142,7 @@
     }
 
 #ifdef EH_FRAME_SECTION_ASM_OP
-  if (__deregister_frame_info)
-    __deregister_frame_info (__EH_FRAME_BEGIN__);
+  __deregister_frame_info (__EH_FRAME_BEGIN__);
 #endif
   completed = 1;
 }
@@ -210,8 +170,7 @@
 frame_dummy ()
 {
   static struct object object;
-  if (__register_frame_info)
-    __register_frame_info (__EH_FRAME_BEGIN__, &object);
+  __register_frame_info (__EH_FRAME_BEGIN__, &object);
 }
 
 static void __attribute__ ((__unused__))
@@ -295,8 +254,7 @@
     (*p) ();
 
 #ifdef EH_FRAME_SECTION_ASM_OP
-  if (__deregister_frame_info)
-    __deregister_frame_info (__EH_FRAME_BEGIN__);
+  __deregister_frame_info (__EH_FRAME_BEGIN__);
 #endif
 }
 
@@ -308,8 +266,7 @@
 __frame_dummy ()
 {
   static struct object object;
-  if (__register_frame_info)
-    __register_frame_info (__EH_FRAME_BEGIN__, &object);
+  __register_frame_info (__EH_FRAME_BEGIN__, &object);
 }
 #endif
 #endif


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]