Joseph Myers
8ac5a76a99
Fix resolver inet_* namespace (bug 17722).
...
Parts of the resolver brought in by pthreads (at least) use inet_*
functions that aren't in the 1995/6 edition of POSIX that introduced
pthreads (or in one case, use __inet_aton which is then defined in the
same file as non-weak inet_addr). This patch fixes this by making the
affected functions into weak alias for __inet_* and using those names
in the problematic resolver code.
Tested for x86_64 (testsuite, and that disassembly of installed shared
libraries is unchanged by the patch).
[BZ #17722 ]
* inet/inet_mkadr.c (inet_makeaddr): Rename to __inet_makeaddr and
define as weak alias of __inet_makeaddr.
* resolv/inet_addr.c (inet_addr): Rename to __inet_addr and define
as weak alias of __inet_addr.
* resolv/inet_pton.c (inet_pton): Rename to __inet_pton and define
as weak alias of __inet_pton. Use libc_hidden_weak.
* include/arpa/inet.h (__inet_pton): Declare. Use
libc_hidden_proto.
(inet_makeaddr): Don't use libc_hidden_proto.
(__inet_makeaddr): Declare. Use libc_hidden_proto.
* resolv/res_init.c (__res_vinit): Use __inet_pton instead of
inet_pton. Use __inet_makeaddr instead of inet_makeaddr.
* conform/Makefile (test-xfail-POSIX/pthread.h/linknamespace):
Remove variable.
(test-xfail-POSIX/sched.h/linknamespace): Likewise.
(test-xfail-POSIX/time.h/linknamespace): Likewise.
2014-12-17 18:09:11 +00:00
Ulrich Drepper
f8df79dbba
Update.
...
2003-08-27 Jakub Jelinek <jakub@redhat.com>
* inet/inet_mkadr.c (inet_makeaddr): Optimize.
2003-08-27 20:57:30 +00:00
Roland McGrath
bf2cc5fb02
* sysdeps/posix/readv.c: Include <errno.h>, use __set_errno macro.
...
* sysdeps/posix/writev.c: Likewise.
From Momchil Velikov <velco@fadata.bg>.
* elf/dl-error.c [! _LIBC_REENTRANT]: Use a static variable instead of
calling *GL(dl_error_catch_tsd) for a thread-local location.
* elf/rtld.c (startup_error_tsd): Conditionalize on [_LIBC_REENTRANT].
(dl_main): Same for GL(dl_error_catch_tsd) initialization.
* elf/dl-tsd.c: Conditionalize contents on [_LIBC_REENTRANT].
* libio/iofflush.c: Add libc_hidden_def.
* libio/iofwrite.c: Likewise.
* sysdeps/generic/sigtimedwait.c: Likewise.
* sysdeps/generic/sigwaitinfo.c: Likewise.
* sysdeps/posix/sigwait.c: Likewise.
Reported by Momchil Velikov <velco@fadata.bg>.
* inet/inet_lnaof.c (inet_lnaof): Change return type to in_addr_t
to match <arpa/inet.h> declaration.
* inet/inet_netof.c (inet_netof): Likewise.
* inet/inet_mkadr.c (inet_makeaddr): Likewise for argument types.
Reported by Momchil Velikov <velco@fadata.bg>.
2002-11-24 23:56:47 +00:00
Roland McGrath
c5598d4721
* include/libc-symbols.h (hidden_weak): Define it for [__ASSEMBLER__].
...
* sysdeps/unix/make-syscalls.sh: Generate libc_hidden_def or
libc_hidden_weak for every system call symbol defined.
* include/time.h: Use libc_hidden_proto for time, asctime, mktime,
timelocal, localtime, strftime.
* time/asctime.c: Add libc_hidden_def.
* time/mktime.c: Likewise.
* time/localtime.c: Likewise.
* time/strftime.c: Likewise.
* time/strptime.c: Likewise.
* sysdeps/generic/time.c: Likewise.
* sysdeps/unix/time.c: Likewise.
* sysdeps/unix/sysv/i386/time.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/time.S: Likewise.
* include/arpa/inet.h: Use libc_hidden_proto for inet_ntop, inet_pton.
inet_makeaddr, inet_netof, inet_addr, __inet_addr.
* resolv/inet_ntop.c: Likewise.
* resolv/inet_pton.c: Likewise.
* inet/inet_mkadr.c: Add libc_hidden_def.
* inet/inet_netof.c: Likewise.
* resolv/inet_addr.c: Likewise.
* include/libc-symbols.h: Remove `defined HAVE_BROKEN_ALIAS_ATTRIBUTE'
clauses from conditionals for now. Will have to be fixed later
for older compilers.
2002-08-03 12:09:37 +00:00
Ulrich Drepper
c4db757322
Update.
...
* gmon/gmon.c: Remove advertising clause of copyright.
* gmon/mcount.c: Likewise.
* gmon/sys/gmon.h: Likewise.
* inet/arpa/ftp.h: Likewise.
* inet/arpa/telnet.h: Likewise.
* inet/arpa/tftp.h: Likewise.
* inet/inet_lnaof.c: Likewise.
* inet/inet_mkadr.c: Likewise.
* inet/inet_net.c: Likewise.
* inet/inet_netof.c: Likewise.
* inet/protocols/routed.h: Likewise.
* inet/protocols/rwhod.h: Likewise.
* inet/protocols/talkd.h: Likewise.
* inet/protocols/timed.h: Likewise.
* inet/rcmd.c: Likewise.
* inet/rexec.c: Likewise.
* inet/ruserpass.c: Likewise.
* io/fts.c: Likewise.
* io/fts.h: Likewise.
* login/login_tty.c: Likewise.
* misc/fstab.h: Likewise.
* misc/getttyent.c: Likewise.
* misc/getusershell.c: Likewise.
* misc/sys/queue.h: Likewise.
* misc/sys/syslog.h: Likewise.
* misc/syslog.c: Likewise.
* misc/ttyent.h: Likewise.
* misc/ttyslot.c: Likewise.
* resolv/arpa/nameser.h: Likewise.
* resolv/gethnamaddr.c: Likewise.
* resolv/herror.c: Likewise.
* resolv/inet_addr.c: Likewise.
* resolv/mapv4v6addr.h: Likewise.
* resolv/mapv4v6hostent.h: Likewise
* resolv/nss_dns/dns-host.c: Likewise.
* resolv/nss_dns/dns-network.c: Likewise.
* resolv/res_comp.c: Likewise.
* resolv/res_data.c: Likewise.
* resolv/res_debug.c: Likewise.
* resolv/res_init.c: Likewise.
* resolv/res_mkquery.c: Likewise.
* resolv/res_query.c: Likewise.
* resolv/res_send.c: Likewise.
* resolv/resolv.h: Likewise.
* sysdeps/generic/div.c: Likewise.
* sysdeps/generic/netinet/ip.h: Likewise.
* sysdeps/generic/netinet/tcp.h: Likewise.
* sysdeps/generic/paths.h: Likewise.
* sysdeps/generic/prof-freq.c: Likewise.
* sysdeps/generic/sys/ttydefaults.h: Likewise.
* sysdeps/gnu/netinet/ip_icmp.h: Likewise.
* sysdeps/gnu/netinet/tcp.h: Likewise.
* sysdeps/ieee754/support.c: Likewise.
* sysdeps/mach/hurd/sys/param.h: Likewise.
* sysdeps/unix/bsd/bsd4.4/bits/errno.h: Likewise.
* sysdeps/unix/bsd/bsd4.4/bits/ioctls.h: Likewise.
* sysdeps/unix/bsd/sun/sunos4/sys/ttydefaults.h: Likewise.
* sysdeps/unix/bsd/sys/reboot.h: Likewise.
* sysdeps/unix/sysv/linux/netinet/if_ether.h: Likewise.
* sysdeps/unix/sysv/linux/netinet/igmp.h: Likewise.
* sysdeps/unix/sysv/linux/netinet/ip.h: Likewise.
* sysdeps/unix/sysv/linux/paths.h: Likewise.
* sysdeps/unix/sysv/linux/sys/quota.h: Likewise.
* sysdeps/unix/sysv/linux/sys/ttydefaults.h: Likewise.
* sysdeps/vax/DEFS.h: Likewise.
* termios/sys/ttychars.h: Likewise.
* misc/daemon.c: Likewise. Call fork.
1999-06-08 21:20:07 +00:00
Roland McGrath
c224a18a90
* config.make.in (weak-symbols): Variable removed.
...
* configure.in (--with-weak-symbols): Option removed.
(NO_UNDERSCORES, HAVE_ASM_WEAK_DIRECTIVE, HAVE_ASM_WEAKEXT_DIRECTIVE):
New tests.
* config.h.in (HAVE_WEAK_SYMBOLS): #undef removed.
(NO_UNDERSCORES, HAVE_ASM_WEAK_DIRECTIVE, HAVE_ASM_WEAKEXT_DIRECTIVE):
New #undefs.
* libc-symbols.h: Use them instead of HAVE_WEAK_SYMBOLS.
* inet/inet_lnaof.c: Use u_int32_t instead of u_long.
* inet/inet_mkadr.c: Likewise.
* inet/inet_net.c: Likewise.
* inet/inet_netof.c: Likewise.
* inet/rcmd.c: Likewise.
* inet/arpa/inet.h: Likewise.
* inet/netinet/in.h: Likewise.
* inet/netinet/tcp.h: Likewise.
* inet/protocols/rwhod.h: Likewise.
* inet/protocols/talkd.h: Likewise.
* resolv/inet_addr.c: Likewise.
* sunrpc/rpc/xdr.h (IXDR_GET_LONG, IXDR_PUT_LONG): change casts to
u_int32_t (instead of u_long).
1996-03-19 21:10:11 +00:00
Roland McGrath
28f540f45b
initial import
1995-02-18 01:27:10 +00:00