summaryrefslogtreecommitdiffstats
path: root/lib/libc/net/res_init.c
diff options
context:
space:
mode:
authorjdp <jdp@FreeBSD.org>1998-09-02 00:53:17 +0000
committerjdp <jdp@FreeBSD.org>1998-09-02 00:53:17 +0000
commitbf8ea8d3a710dfc5162591b386fb01dc0158ed55 (patch)
tree4d411d41ad33572e5e52a6db2adf230567f8a2a3 /lib/libc/net/res_init.c
parent7accff6b6d70c80baecfc41ec16a3baa034526d3 (diff)
downloadFreeBSD-src-bf8ea8d3a710dfc5162591b386fb01dc0158ed55.zip
FreeBSD-src-bf8ea8d3a710dfc5162591b386fb01dc0158ed55.tar.gz
Implement the weak aliases for private entry points in the inet_*
and res_* modules in a way that works for ELF. I moved the aliases out of res_stubs.c and into the individual modules where the entry points are defined. Weak aliases don't work in ELF unless that is the case. (Actually, I'm surprised it worked for a.out.) This should fix the undefined "inet_addr" and related symbols in various applications that fail to include <arpa/inet.h> or <resolv.h> as they are supposed to do.
Diffstat (limited to 'lib/libc/net/res_init.c')
-rw-r--r--lib/libc/net/res_init.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/libc/net/res_init.c b/lib/libc/net/res_init.c
index b9eddaa..b94e7c1 100644
--- a/lib/libc/net/res_init.c
+++ b/lib/libc/net/res_init.c
@@ -71,7 +71,7 @@
#if defined(LIBC_SCCS) && !defined(lint)
static char sccsid[] = "@(#)res_init.c 8.1 (Berkeley) 6/7/93";
static char orig_rcsid[] = "From: Id: res_init.c,v 8.7 1996/11/18 09:10:04 vixie Exp $";
-static char rcsid[] = "$Id: res_init.c,v 1.14 1997/09/01 01:19:20 brian Exp $";
+static char rcsid[] = "$Id: res_init.c,v 1.15 1998/06/11 09:02:54 peter Exp $";
#endif /* LIBC_SCCS and not lint */
#include <sys/types.h>
@@ -478,3 +478,10 @@ res_randomid()
gettimeofday(&now, NULL);
return (0xffff & (now.tv_sec ^ now.tv_usec ^ getpid()));
}
+
+/*
+ * Weak aliases for applications that use certain private entry points,
+ * and fail to include <resolv.h>.
+ */
+#undef res_init
+__weak_reference(__res_init, res_init);
OpenPOWER on IntegriCloud