diff options
author | jdp <jdp@FreeBSD.org> | 1998-09-02 00:53:17 +0000 |
---|---|---|
committer | jdp <jdp@FreeBSD.org> | 1998-09-02 00:53:17 +0000 |
commit | bf8ea8d3a710dfc5162591b386fb01dc0158ed55 (patch) | |
tree | 4d411d41ad33572e5e52a6db2adf230567f8a2a3 /lib/libc/net/inet_addr.c | |
parent | 7accff6b6d70c80baecfc41ec16a3baa034526d3 (diff) | |
download | FreeBSD-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/inet_addr.c')
-rw-r--r-- | lib/libc/net/inet_addr.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/libc/net/inet_addr.c b/lib/libc/net/inet_addr.c index a1ac899..7b027da 100644 --- a/lib/libc/net/inet_addr.c +++ b/lib/libc/net/inet_addr.c @@ -55,7 +55,7 @@ #if defined(LIBC_SCCS) && !defined(lint) static char sccsid[] = "@(#)inet_addr.c 8.1 (Berkeley) 6/17/93"; -static char rcsid[] = "$Id$"; +static char rcsid[] = "$Id: inet_addr.c,v 1.5 1997/02/22 15:00:16 peter Exp $"; #endif /* LIBC_SCCS and not lint */ #include <sys/param.h> @@ -178,3 +178,12 @@ inet_aton(cp, addr) addr->s_addr = htonl(val); return (1); } + +/* + * Weak aliases for applications that use certain private entry points, + * and fail to include <arpa/inet.h>. + */ +#undef inet_addr +__weak_reference(__inet_addr, inet_addr); +#undef inet_aton +__weak_reference(__inet_aton, inet_aton); |