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