[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

gcc 2.95.4 workaround



Hello,
   In case Franz Sirl hasn't passed this along the problem with
current gcc 2.95.4 building glibc 2.2.3 can be worked around
with a hack similar to gcc/varasm.c

@@ -4344,8 +4350,15 @@ declare_weak (decl)
 {
   if (! TREE_PUBLIC (decl))
     error_with_decl (decl, "weak declaration of `%s' must be public");
+#if 0
+  /* Due to a bug this error was never active, enabling it now would break 
+   glibc.  */
   else if (TREE_ASM_WRITTEN (decl))
     error_with_decl (decl, "weak declaration of `%s' must precede definition");+  /* This would be a new error, but it would break glibc too :-(.  */
+  else if (TREE_USED (decl))
+    error_with_decl (decl, "weak declaration of `%s' must precede its uses");
+#endif
   else if (SUPPORTS_WEAK)
     DECL_WEAK (decl) = 1;
 #ifdef HANDLE_PRAGMA_WEAK

that disables the errors which had not triggered before. I don't believe
Franz has seen any bad side-effects of this change.
                      Jack



Reply to: