From 03277f8fe13d0dde136ee98be5dc54362ec9af17 Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Tue, 29 May 2012 22:40:00 +0200 Subject: [PATCH] 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 735aba5..150b592 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 eac8213..e356b75 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 063a8c9..79f5cd8 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 92d3e4c..b5c57cc 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 df2f34e..aafafd1 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 7d1fa12..21fc4a6 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 791ab9b..b826c5d 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 fdd7210..9ff87dc 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 ccddb84..2e4135f 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 -- 2.7.4