about summary refs log tree commit diff
path: root/ChangeLog
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2015-05-22 08:36:08 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2015-05-22 17:38:06 -0300
commit60dce8b9044155bb04eb310fb0fc5e9607b7d2e6 (patch)
treeec738d9f4b5f573b77f9af4eca3d2cf4c6cdca44 /ChangeLog
parentdc6b5aed1b406a53c4512d355376b4e12c7da971 (diff)
downloadglibc-60dce8b9044155bb04eb310fb0fc5e9607b7d2e6.tar.gz
glibc-60dce8b9044155bb04eb310fb0fc5e9607b7d2e6.tar.xz
glibc-60dce8b9044155bb04eb310fb0fc5e9607b7d2e6.zip
Remove socket.S implementation
This patch removes the socket.S implementation for all ports and replace
it by a C implementation using socketcall.  For ports that implement
the syscall directly, there is no change.

The patch idea is to simplify the socket function implementation that
uses the socketcall to be based on C implemetation instead of a pseudo
assembly implementation with arch specific parts.  The patch then remove
the assembly implementatation for the ports which uses socketcall
(i386, microblaze, mips, powerpc, sparc, m68k, s390 and sh).

I have cross-build GLIBC for afore-mentioned ports and tested on both
i386 and ppc32 without regressions.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog87
1 files changed, 87 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 94945920de..b4a7adb8a3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,90 @@
+2015-05-22  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	* nptl/Makefile (CFLAGS-accept.c): Add -fexceptions and
+	-fasynchronous-unwind-tables.
+	(CFLAGS-sendto.c): Likewise.
+	(CFLAGS-sendmsg.c): Likewise.
+	(CFLAGS-connect.c): Likewise.
+	(CFLAGS-recvmsg.c): Likewise.
+	(CFLAGS-recvfrom.c): Likewise.
+	* sysdeps/unix/sysv/linux/socketcall.h (SOCKOP_invalid): Define.
+	(SOCKETCALL): New macro: non-cancellable socketcall.
+	(SOCKETCALL_CANCEL): New macro: cancellable socketcall.
+	* sysdeps/unix/sysv/linux/Makefile [$(subdir) = socket]: Remove
+	internal_accept4, internal_recvmmsg, and internal_sendmmsg rules.
+	* sysdeps/unix/sysv/linux/accept.c: New file.
+	* sysdeps/unix/sysv/linux/bind.c: Likewise.
+	* sysdeps/unix/sysv/linux/connect.c: Likewise.
+	* sysdeps/unix/sysv/linux/getpeername.c: Likewise.
+	* sysdeps/unix/sysv/linux/getsockname.c: Likewise.
+	* sysdeps/unix/sysv/linux/getsockopt.c: Likewise.
+	* sysdeps/unix/sysv/linux/listen.c: Likewise.
+	* sysdeps/unix/sysv/linux/recv.c: Likewise.
+	* sysdeps/unix/sysv/linux/recvfrom.c: Likewise.
+	* sysdeps/unix/sysv/linux/recvmsg.c: Likewise.
+	* sysdeps/unix/sysv/linux/send.c: Likewise.
+	* sysdeps/unix/sysv/linux/sendmsg.c: Likewise.
+	* sysdeps/unix/sysv/linux/sendto.c: Likewise.
+	* sysdeps/unix/sysv/linux/setsockopt.c: Likewise.
+	* sysdeps/unix/sysv/linux/shutdown.c: Likewise.
+	* sysdeps/unix/sysv/linux/socket.c: Likewise.
+	* sysdeps/unix/sysv/linux/socketpair.c: Likewise.
+	* sysdeps/unix/sysv/linux/recvmmsg.c (__internal_recvmmsg): Remove
+	prototype.
+	(recvmmsg) [__ASSUME_RECVMMSG_SOCKETCALL]: Add C based implementation.
+	(recvmmsg) [!__ASSUME_RECVMMSG_SOCKETCALL]: Use SOCKETCALL_CANCEL macro
+	instead of __internal_xxx function.
+	* sysdeps/unix/sysv/linux/accept4.c (__internal_accept4): Remove
+	prototype.
+	(accept4) [__ASSUME_ACCEPT4_SOCKETCALL]: Add C based implementation.
+	(accept4) [!__ASSUME_ACCEPT4_SOCKETCALL]: Use SOCKETCALL_CANCEL macro
+	instead of __internal_xxx function.
+	* sysdeps/unix/sysv/linux/sendmmsg.c (__internal_sendmmsg): Remove
+	prototype.
+	(sendmmsg) [__ASSUME_SENDMMSG_SOCKETCALL]: Add C based implementation.
+	(sendmmsg) [!__ASSUME_SENDMMSG_SOCKETCALL]: Use SOCKETCALL_CANCEL macro
+	instead of __internal_xxx function.
+	* sysdeps/unix/sysv/linux/accept.S: Remove file.
+	* sysdeps/unix/sysv/linux/bind.S: Likewise.
+	* sysdeps/unix/sysv/linux/connect.S: Likewise.
+	* sysdeps/unix/sysv/linux/getpeername.S: Likewise.
+	* sysdeps/unix/sysv/linux/getsockname.S: Likewise.
+	* sysdeps/unix/sysv/linux/getsockopt.S: Likewise.
+	* sysdeps/unix/sysv/linux/arm/internal_accept4.S: Likewise.
+	* sysdeps/unix/sysv/linux/arm/internal_recvmmsg.S: Likewise.
+	* sysdeps/unix/sysv/linux/arm/internal_sendmmsg.S: Likewise.
+	* sysdeps/unix/sysv/linux/i386/accept4.S: Likewise.
+	* sysdeps/unix/sysv/linux/i386/internal_accept4.S: Likewise.
+	* sysdeps/unix/sysv/linux/i386/socket.S: Likewise.
+	* sysdeps/unix/sysv/linux/internal_accept4.S: Likewise.
+	* sysdeps/unix/sysv/linux/internal_recvmmsg.S: Likewise.
+	* sysdeps/unix/sysv/linux/internal_sendmmsg.S: Likewise.
+	* sysdeps/unix/sysv/linux/listen.S: Likewise.
+	* sysdeps/unix/sysv/linux/microblaze/socket.S: Likewise.
+	* sysdeps/unix/sysv/linux/mips/mips32/internal_accept4.S: Likewise.
+	* sysdeps/unix/sysv/linux/mips/mips32/internal_recvmmsg.S: Likewise.
+	* sysdeps/unix/sysv/linux/mips/mips32/internal_sendmmsg.S: Likewise.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S: Likewise.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/socket.S: Likewise.
+	* sysdeps/unix/sysv/linux/recv.S: Likewise.
+	* sysdeps/unix/sysv/linux/recvfrom.S: Likewise.
+	* sysdeps/unix/sysv/linux/recvmsg.S: Likewise.
+	* sysdeps/unix/sysv/linux/s390/s390-32/socket.S: Likewise.
+	* sysdeps/unix/sysv/linux/s390/s390-64/socket.S: Likewise.
+	* sysdeps/unix/sysv/linux/send.S: Likewise.
+	* sysdeps/unix/sysv/linux/sendmsg.S: Likewise.
+	* sysdeps/unix/sysv/linux/sendto.S: Likewise.
+	* sysdeps/unix/sysv/linux/setsockopt.S: Likewise.
+	* sysdeps/unix/sysv/linux/sh/socket.S: Likewise.
+	* sysdeps/unix/sysv/linux/shutdown.S: Likewise.
+	* sysdeps/unix/sysv/linux/socketpair.S: Likewise.
+	* sysdeps/unix/sysv/linux/sparc/sparc32/socket.S: Likewise.
+	* sysdeps/unix/sysv/linux/sparc/sparc64/socket.S: Likewise.
+	* sysdeps/unix/sysv/linux/m68k/socket.S: Likewise.
+	* sysdeps/unix/sysv/linux/hppa/socket.S: Likewise.
+	* sysdeps/unix/sysv/linux/kernel-features.h: Adjust comment on how
+	socketcall is implemented in GLIBC.
+
 2015-05-22  Joseph Myers  <joseph@codesourcery.com>
 
 	* soft-fp/fmadf4.c: Include <libc-internal.h>.