tech-userlevel archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src/lib/libc/net



On Aug 19,  8:21am, martin%netbsd.org@localhost (Martin Husemann) wrote:
-- Subject: Re: CVS commit: src/lib/libc/net

| Can we please revert this?
| 
| It provides no benefit over the previous situation, as we do not "advertize"
| this stuff, but it already breaks pkgsrc builds (e.g. perl's configure finds
| the symbols but can't make use of them).
| 
| Or go forward and fix it for real (either libc or perl).

Perl has no business using symbols that are not defined in headers.
In particular these kinds of symbols that have no defined API by any
spec and have been declared obsolete/unsupported.

How does it know if it is the Linux one:
        int gethostbyaddr_r(const void *addr, socklen_t len, int type,
            struct hostent *ret, char *buf, size_t buflen,
            struct hostent **result, int *h_errnop);

The IBM/AIX one:
        int gethostbyadd_r(const char *Addr, size_t Len, int Type,
            struct hostent *Htent, struct hostent_data *Ht_data);

The QNX one:
        struct hostent *gethostbyaddr_r(const void *addr, socklen_t length,
            int type, struct hostent *result, char *buffer, int buflen,
            int *h_errnop);

The Oracle/HPUX/Solaris one:
        struct hostent *gethostbyaddr_r(const char *addr, int length,
            int type, struct hostent *result, char *buffer,
            int buflen, int *h_errnop);

What does it do, catch segv and tries to call it with different arguments
until it works?

Just curious. Anyway I'll fix it.

christos


Home | Main Index | Thread Index | Old Index