From 03277f8fe13d0dde136ee98be5dc54362ec9af17 Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Tue, 29 May 2012 22:40:00 +0200 Subject: Remove use of INTDEF/INTUSE in socket --- ChangeLog | 17 +++++++++++++++++ include/sys/socket.h | 16 +++------------- socket/connect.c | 3 ++- sysdeps/mach/hurd/connect.c | 6 ++---- sysdeps/unix/inet/syscalls.list | 2 +- sysdeps/unix/sysv/linux/connect.S | 2 +- sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list | 2 +- sysdeps/unix/sysv/linux/sa_len.c | 4 ++-- sysdeps/unix/sysv/linux/x86_64/syscalls.list | 2 +- 9 files changed, 30 insertions(+), 24 deletions(-) diff --git a/ChangeLog b/ChangeLog index 735aba5d82..150b5926bd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,20 @@ +2012-05-30 Andreas Schwab + + [BZ #14132] + * include/sys/socket.h (__connect_internal) + (__libc_sa_len_internal): Remove declaration. + (__connect, __libc_sa_len): Declare hidden_proto. + (SA_LEN): Remove use of INTUSE. + * socket/connect.c: Add libc_hidden_def. + * sysdeps/mach/hurd/connect.c: Replace INTDEF by libc_hidden_def. + * sysdeps/unix/sysv/linux/sa_len.c: Likewise. + * sysdeps/unix/inet/syscalls.list: Remove __connect_internal + alias. + * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: Likewise. + * sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise. + * sysdeps/unix/sysv/linux/connect.S: Use libc_hidden_weak instead + of adding _internal alias. + 2012-05-30 H.J. Lu [BZ #14117] diff --git a/include/sys/socket.h b/include/sys/socket.h index eac82136dd..e356b75b99 100644 --- a/include/sys/socket.h +++ b/include/sys/socket.h @@ -57,8 +57,7 @@ extern ssize_t __libc_recvfrom (int __fd, void *__restrict __buf, size_t __n, extern int __libc_connect (int __fd, __CONST_SOCKADDR_ARG __addr, socklen_t __len); extern int __connect (int __fd, __CONST_SOCKADDR_ARG __addr, socklen_t __len); -extern int __connect_internal (int __fd, __CONST_SOCKADDR_ARG __addr, - socklen_t __len) attribute_hidden; +libc_hidden_proto (__connect) /* Read N bytes into BUF from socket FD. Returns the number read or -1 for errors. @@ -144,17 +143,8 @@ extern int __libc_accept4 (int __fd, __SOCKADDR_ARG __addr, # define SA_LEN(_x) (_x)->sa_len #else extern int __libc_sa_len (sa_family_t __af); -extern int __libc_sa_len_internal (sa_family_t __af) attribute_hidden; -# ifndef NOT_IN_libc -# define SA_LEN(_x) INTUSE(__libc_sa_len)((_x)->sa_family) -# else -# define SA_LEN(_x) __libc_sa_len((_x)->sa_family) -# endif -#endif - - -#ifndef NOT_IN_libc -# define __connect(fd, addr, len) INTUSE(__connect) (fd, addr, len) +libc_hidden_proto (__libc_sa_len) +# define SA_LEN(_x) __libc_sa_len((_x)->sa_family) #endif #ifdef SOCK_CLOEXEC diff --git a/socket/connect.c b/socket/connect.c index 063a8c94a3..79f5cd82b7 100644 --- a/socket/connect.c +++ b/socket/connect.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 1995, 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1991-2012 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -32,6 +32,7 @@ __connect (fd, addr, len) return -1; } weak_alias (__connect, connect) +libc_hidden_def (__connect) stub_warning (connect) #include diff --git a/sysdeps/mach/hurd/connect.c b/sysdeps/mach/hurd/connect.c index 92d3e4c9cc..b5c57ccbe2 100644 --- a/sysdeps/mach/hurd/connect.c +++ b/sysdeps/mach/hurd/connect.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992,94,95,96,97,2002 Free Software Foundation, Inc. +/* Copyright (C) 1992-2012 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -23,8 +23,6 @@ #include #include -#undef __connect - /* Open a connection on socket FD to peer at ADDR (which LEN bytes long). For connectionless socket types, just set the default address to send to and the only address from which to accept transmissions. @@ -73,5 +71,5 @@ __connect (int fd, __CONST_SOCKADDR_ARG addrarg, socklen_t len) return err ? __hurd_dfail (fd, err) : 0; } -INTDEF(__connect) +libc_hidden_def (__connect) weak_alias (__connect, connect) diff --git a/sysdeps/unix/inet/syscalls.list b/sysdeps/unix/inet/syscalls.list index df2f34eea2..aafafd1df7 100644 --- a/sysdeps/unix/inet/syscalls.list +++ b/sysdeps/unix/inet/syscalls.list @@ -2,7 +2,7 @@ accept - accept Ci:iBN __libc_accept accept bind - bind i:ipi __bind bind -connect - connect Ci:ipi __libc_connect __connect __connect_internal connect +connect - connect Ci:ipi __libc_connect __connect connect gethostid - gethostid i: gethostid gethostname - gethostname i:bn __gethostname gethostname getpeername - getpeername i:ibN __getpeername getpeername diff --git a/sysdeps/unix/sysv/linux/connect.S b/sysdeps/unix/sysv/linux/connect.S index 7d1fa12b34..21fc4a64c9 100644 --- a/sysdeps/unix/sysv/linux/connect.S +++ b/sysdeps/unix/sysv/linux/connect.S @@ -3,5 +3,5 @@ #define NARGS 3 #define NEED_CANCELLATION #include -strong_alias (__libc_connect, __connect_internal) weak_alias (__libc_connect, __connect) +libc_hidden_weak (__connect) diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list b/sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list index 791ab9ba52..b826c5d074 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list +++ b/sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list @@ -18,7 +18,7 @@ semctl - semctl i:iiii __semctl semctl # proper socket implementations: accept - accept Ci:iBN __libc_accept __accept accept bind - bind i:ipi __bind bind -connect - connect Ci:ipi __libc_connect __connect_internal __connect connect +connect - connect Ci:ipi __libc_connect __connect connect getpeername - getpeername i:ipp __getpeername getpeername getsockname - getsockname i:ipp __getsockname getsockname getsockopt - getsockopt i:iiiBN __getsockopt getsockopt diff --git a/sysdeps/unix/sysv/linux/sa_len.c b/sysdeps/unix/sysv/linux/sa_len.c index fdd721018f..9ff87dc6fb 100644 --- a/sysdeps/unix/sysv/linux/sa_len.c +++ b/sysdeps/unix/sysv/linux/sa_len.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1998, 1999, 2002, 2007 Free Software Foundation, Inc. +/* Copyright (C) 1998-2012 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -60,4 +60,4 @@ __libc_sa_len (sa_family_t af) } return 0; } -INTDEF(__libc_sa_len) +libc_hidden_def (__libc_sa_len) diff --git a/sysdeps/unix/sysv/linux/x86_64/syscalls.list b/sysdeps/unix/sysv/linux/x86_64/syscalls.list index ccddb84229..2e4135f50a 100644 --- a/sysdeps/unix/sysv/linux/x86_64/syscalls.list +++ b/sysdeps/unix/sysv/linux/x86_64/syscalls.list @@ -20,7 +20,7 @@ syscall_clock_gettime EXTRA clock_gettime Ei:ip __syscall_clock_gettime # proper socket implementations: accept - accept Ci:iBN __libc_accept __accept accept bind - bind i:ipi __bind bind -connect - connect Ci:ipi __libc_connect __connect_internal __connect connect +connect - connect Ci:ipi __libc_connect __connect connect getpeername - getpeername i:ipp __getpeername getpeername getsockname - getsockname i:ipp __getsockname getsockname getsockopt - getsockopt i:iiiBN __getsockopt getsockopt -- cgit 1.4.1