summaryrefslogtreecommitdiffstats
path: root/libpthread/nptl/sysdeps/unix/sysv/linux
diff options
context:
space:
mode:
author"Steven J. Hill" <sjhill@realitydiluted.com>2006-08-18 03:54:15 +0000
committer"Steven J. Hill" <sjhill@realitydiluted.com>2006-08-18 03:54:15 +0000
commit372f203583222cbcad12c389daee563272f47e99 (patch)
tree455adbe271f624ad84ef188910702d64a3726e37 /libpthread/nptl/sysdeps/unix/sysv/linux
parent00749acefd9dbbaf1c99b2a2f760b00465d684cc (diff)
downloaduClibc-alpine-372f203583222cbcad12c389daee563272f47e99.tar.bz2
uClibc-alpine-372f203583222cbcad12c389daee563272f47e99.tar.xz
Bring in the new files for NPTL.
Diffstat (limited to 'libpthread/nptl/sysdeps/unix/sysv/linux')
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/accept.S12
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/close.S9
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/connect.S12
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/creat.S7
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/exit-thread.S23
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/lseek.S7
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/msync.S7
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/nanosleep.S9
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/open.S9
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/pause.S7
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/pt-accept.S12
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/pt-close.S9
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/pt-connect.S12
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/pt-fcntl.c1
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/pt-fsync.c2
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/pt-llseek.c3
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/pt-lseek.S7
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/pt-msgrcv.c2
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/pt-msgsnd.c2
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/pt-msync.S7
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/pt-nanosleep.S9
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/pt-open.S9
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/pt-open64.c1
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/pt-pause.S7
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/pt-pread_pwrite.c1
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/pt-read.S9
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/pt-recv.S12
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/pt-recvfrom.S12
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/pt-recvmsg.S12
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/pt-send.S12
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/pt-sendmsg.S12
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/pt-sendto.S12
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/pt-sigwait.c (renamed from libpthread/nptl/sysdeps/unix/sysv/linux/sigwait.c)0
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/pt-sleep.c2
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/pt-tcdrain.c1
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/pt-wait.c2
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/pt-waitpid.c1
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/pt-write.S9
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/read.S9
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/recv.S12
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/recvfrom.S12
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/recvmsg.S12
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/send.S12
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/sendmsg.S12
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/sendto.S12
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/write.S9
46 files changed, 372 insertions, 0 deletions
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/accept.S b/libpthread/nptl/sysdeps/unix/sysv/linux/accept.S
new file mode 100644
index 000000000..529763d80
--- /dev/null
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/accept.S
@@ -0,0 +1,12 @@
+#include <sysdep-cancel.h>
+#ifndef __NR_accept
+#error Missing definition of NR_accept needed for cancellation.
+#endif
+PSEUDO (__libc_accept, accept, 3)
+ret
+PSEUDO_END(__libc_accept)
+libc_hidden_def (__libc_accept)
+weak_alias (__libc_accept, __accept)
+libc_hidden_weak (__accept)
+weak_alias (__libc_accept, accept)
+libc_hidden_weak (accept)
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/close.S b/libpthread/nptl/sysdeps/unix/sysv/linux/close.S
new file mode 100644
index 000000000..b1cd59469
--- /dev/null
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/close.S
@@ -0,0 +1,9 @@
+#include <sysdep-cancel.h>
+PSEUDO (__libc_close, close, 1)
+ret
+PSEUDO_END (__libc_close)
+libc_hidden_def (__libc_close)
+weak_alias (__libc_close, __close)
+libc_hidden_weak (__close)
+weak_alias (__libc_close, close)
+libc_hidden_weak (close)
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/connect.S b/libpthread/nptl/sysdeps/unix/sysv/linux/connect.S
new file mode 100644
index 000000000..441843fa0
--- /dev/null
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/connect.S
@@ -0,0 +1,12 @@
+#include <sysdep-cancel.h>
+#ifndef __NR_connect
+#error Missing definition of NR_connect needed for cancellation.
+#endif
+PSEUDO (__libc_connect, connect, 3)
+ret
+PSEUDO_END(__libc_connect)
+libc_hidden_def (__libc_connect)
+weak_alias (__libc_connect, __connect)
+libc_hidden_weak (__connect)
+weak_alias (__libc_connect, connect)
+libc_hidden_weak (connect)
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/creat.S b/libpthread/nptl/sysdeps/unix/sysv/linux/creat.S
new file mode 100644
index 000000000..cd0e1b879
--- /dev/null
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/creat.S
@@ -0,0 +1,7 @@
+#include <sysdep-cancel.h>
+PSEUDO (__libc_creat, creat, 2)
+ret
+PSEUDO_END(__libc_creat)
+libc_hidden_def (__libc_creat)
+weak_alias (__libc_creat, creat)
+libc_hidden_weak (creat)
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/exit-thread.S b/libpthread/nptl/sysdeps/unix/sysv/linux/exit-thread.S
new file mode 100644
index 000000000..bb996fecf
--- /dev/null
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/exit-thread.S
@@ -0,0 +1,23 @@
+/* Copyright (C) 1991,92,97,99,2002 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
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+#include <sysdep.h>
+
+PSEUDO (__exit_thread, exit, 1)
+ /* Shouldn't get here. */
+PSEUDO_END(__exit_thread)
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/lseek.S b/libpthread/nptl/sysdeps/unix/sysv/linux/lseek.S
new file mode 100644
index 000000000..70a920ba1
--- /dev/null
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/lseek.S
@@ -0,0 +1,7 @@
+#include <sysdep-cancel.h>
+PSEUDO (__libc_lseek, lseek, 3)
+ret
+PSEUDO_END (__libc_lseek)
+libc_hidden_def (__libc_lseek)
+weak_alias (__libc_lseek, lseek)
+libc_hidden_weak (lseek)
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/msync.S b/libpthread/nptl/sysdeps/unix/sysv/linux/msync.S
new file mode 100644
index 000000000..074a0d717
--- /dev/null
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/msync.S
@@ -0,0 +1,7 @@
+#include <sysdep-cancel.h>
+PSEUDO (__libc_msync, msync, 3)
+ret
+PSEUDO_END(__libc_msync)
+libc_hidden_def (__libc_msync)
+weak_alias (__libc_msync, msync)
+libc_hidden_weak (msync)
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/nanosleep.S b/libpthread/nptl/sysdeps/unix/sysv/linux/nanosleep.S
new file mode 100644
index 000000000..71efe32f9
--- /dev/null
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/nanosleep.S
@@ -0,0 +1,9 @@
+#include <sysdep-cancel.h>
+PSEUDO (__libc_nanosleep, nanosleep, 3)
+ret
+PSEUDO_END (__libc_nanosleep)
+libc_hidden_def (__libc_nanosleep)
+weak_alias (__libc_nanosleep, __nanosleep)
+libc_hidden_weak (__nanosleep)
+weak_alias (__libc_nanosleep, nanosleep)
+libc_hidden_weak (nanosleep)
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/open.S b/libpthread/nptl/sysdeps/unix/sysv/linux/open.S
new file mode 100644
index 000000000..50e4bcef0
--- /dev/null
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/open.S
@@ -0,0 +1,9 @@
+#include <sysdep-cancel.h>
+PSEUDO (__libc_open, open, 3)
+ret
+PSEUDO_END (__libc_open)
+libc_hidden_def (__libc_open)
+weak_alias (__libc_open, __open)
+libc_hidden_weak (__open)
+weak_alias (__libc_open, open)
+libc_hidden_weak (open)
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/pause.S b/libpthread/nptl/sysdeps/unix/sysv/linux/pause.S
new file mode 100644
index 000000000..3841018a8
--- /dev/null
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/pause.S
@@ -0,0 +1,7 @@
+#include <sysdep-cancel.h>
+PSEUDO (__libc_pause, pause, 0)
+ret
+PSEUDO_END (__libc_pause)
+libc_hidden_def (__libc_pause)
+weak_alias (__libc_pause, pause)
+libc_hidden_weak (pause)
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/pt-accept.S b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-accept.S
new file mode 100644
index 000000000..24062101d
--- /dev/null
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-accept.S
@@ -0,0 +1,12 @@
+#include <sysdep-cancel.h>
+#ifndef __NR_accept
+#error Missing definition of NR_accept needed for cancellation.
+#endif
+PSEUDO (__libc_accept, accept, 3)
+ret
+PSEUDO_END(__libc_accept)
+libpthread_hidden_def (__libc_accept)
+weak_alias (__libc_accept, __accept)
+libpthread_hidden_weak (__accept)
+weak_alias (__libc_accept, accept)
+libpthread_hidden_weak (accept)
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/pt-close.S b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-close.S
new file mode 100644
index 000000000..ab32ca598
--- /dev/null
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-close.S
@@ -0,0 +1,9 @@
+#include <sysdep-cancel.h>
+PSEUDO (__libc_close, close, 1)
+ret
+PSEUDO_END (__libc_close)
+libpthread_hidden_def (__libc_close)
+weak_alias (__libc_close, __close)
+libpthread_hidden_weak (__close)
+weak_alias (__libc_close, close)
+libpthread_hidden_weak (close)
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/pt-connect.S b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-connect.S
new file mode 100644
index 000000000..b5124f8ec
--- /dev/null
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-connect.S
@@ -0,0 +1,12 @@
+#include <sysdep-cancel.h>
+#ifndef __NR_connect
+#error Missing definition of NR_connect needed for cancellation.
+#endif
+PSEUDO (__libc_connect, connect, 3)
+ret
+PSEUDO_END(__libc_connect)
+libpthread_hidden_def (__libc_connect)
+weak_alias (__libc_connect, __connect)
+libpthread_hidden_weak (__connect)
+weak_alias (__libc_connect, connect)
+libpthread_hidden_weak (connect)
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/pt-fcntl.c b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-fcntl.c
new file mode 100644
index 000000000..0a8fd3cc2
--- /dev/null
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-fcntl.c
@@ -0,0 +1 @@
+#include <../../../../../../libc/sysdeps/linux/common/__syscall_fcntl.c>
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/pt-fsync.c b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-fsync.c
new file mode 100644
index 000000000..6ec4821c7
--- /dev/null
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-fsync.c
@@ -0,0 +1,2 @@
+#include <pthreadP.h>
+#include <../../../../../../libc/sysdeps/linux/common/fsync.c>
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/pt-llseek.c b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-llseek.c
new file mode 100644
index 000000000..1d0d57870
--- /dev/null
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-llseek.c
@@ -0,0 +1,3 @@
+#include <pthreadP.h>
+#define libc_hidden libpthread_hidden
+#include <../../../../../../libc/sysdeps/linux/common/llseek.c>
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/pt-lseek.S b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-lseek.S
new file mode 100644
index 000000000..4db71722a
--- /dev/null
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-lseek.S
@@ -0,0 +1,7 @@
+#include <sysdep-cancel.h>
+PSEUDO (__libc_lseek, lseek, 3)
+ret
+PSEUDO_END (__libc_lseek)
+libpthread_hidden_def (__libc_lseek)
+weak_alias (__libc_lseek, lseek)
+libpthread_hidden_weak (lseek)
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/pt-msgrcv.c b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-msgrcv.c
new file mode 100644
index 000000000..3bb9d53df
--- /dev/null
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-msgrcv.c
@@ -0,0 +1,2 @@
+#define L_msgrcv
+#include <../../../../../../libc/misc/sysvipc/msgq.c>
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/pt-msgsnd.c b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-msgsnd.c
new file mode 100644
index 000000000..1566f65f4
--- /dev/null
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-msgsnd.c
@@ -0,0 +1,2 @@
+#define L_msgsnd
+#include <../../../../../../libc/misc/sysvipc/msgq.c>
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/pt-msync.S b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-msync.S
new file mode 100644
index 000000000..640270ad9
--- /dev/null
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-msync.S
@@ -0,0 +1,7 @@
+#include <sysdep-cancel.h>
+PSEUDO (__libc_msync, msync, 3)
+ret
+PSEUDO_END(__libc_msync)
+libpthread_hidden_def (__libc_msync)
+weak_alias (__libc_msync, msync)
+libpthread_hidden_weak (msync)
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/pt-nanosleep.S b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-nanosleep.S
new file mode 100644
index 000000000..08d8f0150
--- /dev/null
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-nanosleep.S
@@ -0,0 +1,9 @@
+#include <sysdep-cancel.h>
+PSEUDO (__libc_nanosleep, nanosleep, 3)
+ret
+PSEUDO_END (__libc_nanosleep)
+libpthread_hidden_def (__libc_nanosleep)
+weak_alias (__libc_nanosleep, __nanosleep)
+libpthread_hidden_weak (__nanosleep)
+weak_alias (__libc_nanosleep, nanosleep)
+libpthread_hidden_weak (nanosleep)
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/pt-open.S b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-open.S
new file mode 100644
index 000000000..39ed92cc7
--- /dev/null
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-open.S
@@ -0,0 +1,9 @@
+#include <sysdep-cancel.h>
+PSEUDO (__libc_open, open, 3)
+ret
+PSEUDO_END (__libc_open)
+libpthread_hidden_def (__libc_open)
+weak_alias (__libc_open, __open)
+libpthread_hidden_weak (__open)
+weak_alias (__libc_open, open)
+libpthread_hidden_weak (open)
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/pt-open64.c b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-open64.c
new file mode 100644
index 000000000..2029539a7
--- /dev/null
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-open64.c
@@ -0,0 +1 @@
+#include <../../../../../../libc/sysdeps/linux/common/open64.c>
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/pt-pause.S b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-pause.S
new file mode 100644
index 000000000..c6cb57180
--- /dev/null
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-pause.S
@@ -0,0 +1,7 @@
+#include <sysdep-cancel.h>
+PSEUDO (__libc_pause, pause, 0)
+ret
+PSEUDO_END (__libc_pause)
+libpthread_hidden_def (__libc_pause)
+weak_alias (__libc_pause, pause)
+libpthread_hidden_weak (pause)
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/pt-pread_pwrite.c b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-pread_pwrite.c
new file mode 100644
index 000000000..f32c0a670
--- /dev/null
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-pread_pwrite.c
@@ -0,0 +1 @@
+#include "pread_write.c"
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/pt-read.S b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-read.S
new file mode 100644
index 000000000..623ba27a8
--- /dev/null
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-read.S
@@ -0,0 +1,9 @@
+#include <sysdep-cancel.h>
+PSEUDO (__libc_read, read, 3)
+ret
+PSEUDO_END (__libc_read)
+libpthread_hidden_def (__libc_read)
+weak_alias (__libc_read, __read)
+libpthread_hidden_weak (__read)
+weak_alias (__libc_read, read)
+libpthread_hidden_weak (read)
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/pt-recv.S b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-recv.S
new file mode 100644
index 000000000..6d2e3c2d6
--- /dev/null
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-recv.S
@@ -0,0 +1,12 @@
+#include <sysdep-cancel.h>
+#ifndef __NR_recv
+#error Missing definition of NR_recv needed for cancellation.
+#endif
+PSEUDO (__libc_recv, recv, 4)
+ret
+PSEUDO_END(__libc_recv)
+libpthread_hidden_def (__libc_recv)
+weak_alias (__libc_recv, __recv)
+libpthread_hidden_weak (__recv)
+weak_alias (__libc_recv, recv)
+libpthread_hidden_weak (recv)
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/pt-recvfrom.S b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-recvfrom.S
new file mode 100644
index 000000000..96aeeaa3d
--- /dev/null
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-recvfrom.S
@@ -0,0 +1,12 @@
+#include <sysdep-cancel.h>
+#ifndef __NR_recvfrom
+#error Missing definition of NR_recvfrom needed for cancellation.
+#endif
+PSEUDO (__libc_recvfrom, recvfrom, 6)
+ret
+PSEUDO_END(__libc_recvfrom)
+libpthread_hidden_def (__libc_recvfrom)
+weak_alias (__libc_recvfrom, __recvfrom)
+libpthread_hidden_weak (__recvfrom)
+weak_alias (__libc_recvfrom, recvfrom)
+libpthread_hidden_weak (recvfrom)
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/pt-recvmsg.S b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-recvmsg.S
new file mode 100644
index 000000000..f7161e47c
--- /dev/null
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-recvmsg.S
@@ -0,0 +1,12 @@
+#include <sysdep-cancel.h>
+#ifndef __NR_recvmsg
+#error Missing definition of NR_recvmsg needed for cancellation.
+#endif
+PSEUDO (__libc_recvmsg, recvmsg, 3)
+ret
+PSEUDO_END(__libc_recvmsg)
+libpthread_hidden_def (__libc_recvmsg)
+weak_alias (__libc_recvmsg, __recvmsg)
+libpthread_hidden_weak (__recvmsg)
+weak_alias (__libc_recvmsg, recvmsg)
+libpthread_hidden_weak (recvmsg)
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/pt-send.S b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-send.S
new file mode 100644
index 000000000..76bed39ec
--- /dev/null
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-send.S
@@ -0,0 +1,12 @@
+#include <sysdep-cancel.h>
+#ifndef __NR_send
+#error Missing definition of NR_send needed for cancellation.
+#endif
+PSEUDO (__libc_send, send, 4)
+ret
+PSEUDO_END (__libc_send)
+libpthread_hidden_def (__libc_send)
+weak_alias (__libc_send, __send)
+libpthread_hidden_weak (__send)
+weak_alias (__libc_send, send)
+libpthread_hidden_weak (send)
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/pt-sendmsg.S b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-sendmsg.S
new file mode 100644
index 000000000..d17096eae
--- /dev/null
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-sendmsg.S
@@ -0,0 +1,12 @@
+#include <sysdep-cancel.h>
+#ifndef __NR_sendmsg
+#error Missing definition of NR_sendmsg needed for cancellation.
+#endif
+PSEUDO (__libc_sendmsg, sendmsg, 3)
+ret
+PSEUDO_END(__libc_sendmsg)
+libpthread_hidden_def (__libc_sendmsg)
+weak_alias (__libc_sendmsg, __sendmsg)
+libpthread_hidden_weak (__sendmsg)
+weak_alias (__libc_sendmsg, sendmsg)
+libpthread_hidden_weak (sendmsg)
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/pt-sendto.S b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-sendto.S
new file mode 100644
index 000000000..d07a71f8a
--- /dev/null
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-sendto.S
@@ -0,0 +1,12 @@
+#include <sysdep-cancel.h>
+#ifndef __NR_sendto
+#error Missing definition of NR_sendto needed for cancellation.
+#endif
+PSEUDO (__libc_sendto, sendto, 6)
+ret
+PSEUDO_END(__libc_sendto)
+libpthread_hidden_def (__libc_sendto)
+weak_alias (__libc_sendto, __sendto)
+libpthread_hidden_weak (__sendto)
+weak_alias (__libc_sendto, sendto)
+libpthread_hidden_weak (sendto)
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/sigwait.c b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-sigwait.c
index bde0a9292..bde0a9292 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/sigwait.c
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-sigwait.c
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/pt-sleep.c b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-sleep.c
new file mode 100644
index 000000000..9e948adce
--- /dev/null
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-sleep.c
@@ -0,0 +1,2 @@
+#include <pthreadP.h>
+#include <../../../../../../libc/unistd/sleep.c>
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/pt-tcdrain.c b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-tcdrain.c
new file mode 100644
index 000000000..07c1f8233
--- /dev/null
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-tcdrain.c
@@ -0,0 +1 @@
+#include <../../../../../../libc/termios/tcdrain.c>
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/pt-wait.c b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-wait.c
new file mode 100644
index 000000000..a05c3eb49
--- /dev/null
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-wait.c
@@ -0,0 +1,2 @@
+#include <pthreadP.h>
+#include <../../../../../../libc/sysdeps/linux/common/wait.c>
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/pt-waitpid.c b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-waitpid.c
new file mode 100644
index 000000000..8461c3ff2
--- /dev/null
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-waitpid.c
@@ -0,0 +1 @@
+#include <../../../../../../libc/sysdeps/linux/common/waitpid.c>
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/pt-write.S b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-write.S
new file mode 100644
index 000000000..6bc666779
--- /dev/null
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/pt-write.S
@@ -0,0 +1,9 @@
+#include <sysdep-cancel.h>
+PSEUDO (__libc_write, write, 3)
+ret
+PSEUDO_END (__libc_write)
+libpthread_hidden_def (__libc_write)
+weak_alias (__libc_write, __write)
+libpthread_hidden_weak (__write)
+weak_alias (__libc_write, write)
+libpthread_hidden_weak (write)
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/read.S b/libpthread/nptl/sysdeps/unix/sysv/linux/read.S
new file mode 100644
index 000000000..dc63d1763
--- /dev/null
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/read.S
@@ -0,0 +1,9 @@
+#include <sysdep-cancel.h>
+PSEUDO (__libc_read, read, 3)
+ret
+PSEUDO_END (__libc_read)
+libc_hidden_def (__libc_read)
+weak_alias (__libc_read, __read)
+libc_hidden_weak (__read)
+weak_alias (__libc_read, read)
+libc_hidden_weak (read)
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/recv.S b/libpthread/nptl/sysdeps/unix/sysv/linux/recv.S
new file mode 100644
index 000000000..95fa6516e
--- /dev/null
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/recv.S
@@ -0,0 +1,12 @@
+#include <sysdep-cancel.h>
+#ifndef __NR_recv
+#error Missing definition of NR_recv needed for cancellation.
+#endif
+PSEUDO (__libc_recv, recv, 4)
+ret
+PSEUDO_END(__libc_recv)
+libc_hidden_def (__libc_recv)
+weak_alias (__libc_recv, __recv)
+libc_hidden_weak (__recv)
+weak_alias (__libc_recv, recv)
+libc_hidden_weak (recv)
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/recvfrom.S b/libpthread/nptl/sysdeps/unix/sysv/linux/recvfrom.S
new file mode 100644
index 000000000..d9cc1e9b4
--- /dev/null
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/recvfrom.S
@@ -0,0 +1,12 @@
+#include <sysdep-cancel.h>
+#ifndef __NR_recvfrom
+#error Missing definition of NR_recvfrom needed for cancellation.
+#endif
+PSEUDO (__libc_recvfrom, recvfrom, 6)
+ret
+PSEUDO_END(__libc_recvfrom)
+libc_hidden_def (__libc_recvfrom)
+weak_alias (__libc_recvfrom, __recvfrom)
+libc_hidden_weak (__recvfrom)
+weak_alias (__libc_recvfrom, recvfrom)
+libc_hidden_weak (recvfrom)
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/recvmsg.S b/libpthread/nptl/sysdeps/unix/sysv/linux/recvmsg.S
new file mode 100644
index 000000000..c761b907c
--- /dev/null
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/recvmsg.S
@@ -0,0 +1,12 @@
+#include <sysdep-cancel.h>
+#ifndef __NR_recvmsg
+#error Missing definition of NR_recvmsg needed for cancellation.
+#endif
+PSEUDO (__libc_recvmsg, recvmsg, 3)
+ret
+PSEUDO_END(__libc_recvmsg)
+libc_hidden_def (__libc_recvmsg)
+weak_alias (__libc_recvmsg, __recvmsg)
+libc_hidden_weak (__recvmsg)
+weak_alias (__libc_recvmsg, recvmsg)
+libc_hidden_weak (recvmsg)
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/send.S b/libpthread/nptl/sysdeps/unix/sysv/linux/send.S
new file mode 100644
index 000000000..eb744c712
--- /dev/null
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/send.S
@@ -0,0 +1,12 @@
+#include <sysdep-cancel.h>
+#ifndef __NR_send
+#error Missing definition of NR_send needed for cancellation.
+#endif
+PSEUDO (__libc_send, send, 4)
+ret
+PSEUDO_END (__libc_send)
+libc_hidden_def (__libc_send)
+weak_alias (__libc_send, __send)
+libc_hidden_weak (__send)
+weak_alias (__libc_send, send)
+libc_hidden_weak (send)
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/sendmsg.S b/libpthread/nptl/sysdeps/unix/sysv/linux/sendmsg.S
new file mode 100644
index 000000000..4c41e01c1
--- /dev/null
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/sendmsg.S
@@ -0,0 +1,12 @@
+#include <sysdep-cancel.h>
+#ifndef __NR_sendmsg
+#error Missing definition of NR_sendmsg needed for cancellation.
+#endif
+PSEUDO (__libc_sendmsg, sendmsg, 3)
+ret
+PSEUDO_END(__libc_sendmsg)
+libc_hidden_def (__libc_sendmsg)
+weak_alias (__libc_sendmsg, __sendmsg)
+libc_hidden_weak (__sendmsg)
+weak_alias (__libc_sendmsg, sendmsg)
+libc_hidden_weak (sendmsg)
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/sendto.S b/libpthread/nptl/sysdeps/unix/sysv/linux/sendto.S
new file mode 100644
index 000000000..7cb5278e9
--- /dev/null
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/sendto.S
@@ -0,0 +1,12 @@
+#include <sysdep-cancel.h>
+#ifndef __NR_sendto
+#error Missing definition of NR_sendto needed for cancellation.
+#endif
+PSEUDO (__libc_sendto, sendto, 6)
+ret
+PSEUDO_END(__libc_sendto)
+libc_hidden_def (__libc_sendto)
+weak_alias (__libc_sendto, __sendto)
+libc_hidden_weak (__sendto)
+weak_alias (__libc_sendto, sendto)
+libc_hidden_weak (sendto)
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/write.S b/libpthread/nptl/sysdeps/unix/sysv/linux/write.S
new file mode 100644
index 000000000..168eab95c
--- /dev/null
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/write.S
@@ -0,0 +1,9 @@
+#include <sysdep-cancel.h>
+PSEUDO (__libc_write, write, 3)
+ret
+PSEUDO_END (__libc_write)
+libc_hidden_def (__libc_write)
+weak_alias (__libc_write, __write)
+libc_hidden_weak (__write)
+weak_alias (__libc_write, write)
+libc_hidden_weak (write)