This change fixed shared libaries built with PCC. It's not exactly
the same, but is it correct?
Index: lib/libc/net/nsdispatch.c
===================================================================
RCS file: /cvsroot/src/lib/libc/net/nsdispatch.c,v
retrieving revision 1.32
diff -u -r1.32 nsdispatch.c
--- lib/libc/net/nsdispatch.c 28 Apr 2008 20:23:00 -0000 1.32
+++ lib/libc/net/nsdispatch.c 16 Aug 2008 23:55:34 -0000
@@ -173,7 +173,7 @@
* Runtime determination of whether we are dynamically linked or not.
*/
#ifdef __ELF__
-extern int _DYNAMIC __attribute__((__weak__));
+extern int _DYNAMIC __weak_reference(_DYNAMIC);
#define is_dynamic() (&_DYNAMIC != NULL)
#else
#define is_dynamic() (0) /* don't bother -
switch to ELF!
*/