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: