aboutsummaryrefslogtreecommitdiff
path: root/ports/sysdeps/unix/sysv/linux/generic/wordsize-32
diff options
context:
space:
mode:
authorChris Metcalf <cmetcalf@tilera.com>2014-02-10 10:54:47 -0500
committerChris Metcalf <cmetcalf@tilera.com>2014-02-10 11:04:39 -0500
commit4372980f5881e7d537a52e3c49588ce116088061 (patch)
tree138fbc88313c8cb0cabee393e0c08afd67dac6f1 /ports/sysdeps/unix/sysv/linux/generic/wordsize-32
parenta1ffb40e32741f992c743e7b16c061fefa3747ac (diff)
downloadglibc-4372980f5881e7d537a52e3c49588ce116088061.zip
glibc-4372980f5881e7d537a52e3c49588ce116088061.tar.gz
glibc-4372980f5881e7d537a52e3c49588ce116088061.tar.bz2
Move tilegx, tilepro, and linux-generic from ports to libc.
I've moved the TILE-Gx and TILEPro ports to the main sysdeps hierarchy, along with the linux-generic ports infrastructure. Beyond the README update, the move was just git mv ports/sysdeps/tile sysdeps/tile git mv ports/sysdeps/unix/sysv/linux/tile \ sysdeps/unix/sysv/linux/tile git mv ports/sysdeps/unix/sysv/linux/generic \ sysdeps/unix/sysv/linux/generic I updated the relevant ChangeLogs along the lines of the ARM move in commit c6bfe5c4d75 and tested the 64-bit tilegx build to confirm that there were no changes in "objdump -dr" output in the shared objects.
Diffstat (limited to 'ports/sysdeps/unix/sysv/linux/generic/wordsize-32')
-rw-r--r--ports/sysdeps/unix/sysv/linux/generic/wordsize-32/Versions5
-rw-r--r--ports/sysdeps/unix/sysv/linux/generic/wordsize-32/fcntl.c87
-rw-r--r--ports/sysdeps/unix/sysv/linux/generic/wordsize-32/fstatfs.c32
-rw-r--r--ports/sysdeps/unix/sysv/linux/generic/wordsize-32/ftruncate.c31
-rw-r--r--ports/sysdeps/unix/sysv/linux/generic/wordsize-32/ftruncate64.c32
-rw-r--r--ports/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstat.c45
-rw-r--r--ports/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstatat.c45
-rw-r--r--ports/sysdeps/unix/sysv/linux/generic/wordsize-32/getdents.c115
-rw-r--r--ports/sysdeps/unix/sysv/linux/generic/wordsize-32/llseek.c46
-rw-r--r--ports/sysdeps/unix/sysv/linux/generic/wordsize-32/lseek.c38
-rw-r--r--ports/sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat.c43
-rw-r--r--ports/sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat64.c38
-rw-r--r--ports/sysdeps/unix/sysv/linux/generic/wordsize-32/mmap.c40
-rw-r--r--ports/sysdeps/unix/sysv/linux/generic/wordsize-32/overflow.h60
-rw-r--r--ports/sysdeps/unix/sysv/linux/generic/wordsize-32/posix_fadvise.c37
-rw-r--r--ports/sysdeps/unix/sysv/linux/generic/wordsize-32/pread.c58
-rw-r--r--ports/sysdeps/unix/sysv/linux/generic/wordsize-32/pread64.c58
-rw-r--r--ports/sysdeps/unix/sysv/linux/generic/wordsize-32/preadv.c55
-rw-r--r--ports/sysdeps/unix/sysv/linux/generic/wordsize-32/preadv64.c56
-rw-r--r--ports/sysdeps/unix/sysv/linux/generic/wordsize-32/pwrite.c59
-rw-r--r--ports/sysdeps/unix/sysv/linux/generic/wordsize-32/pwrite64.c59
-rw-r--r--ports/sysdeps/unix/sysv/linux/generic/wordsize-32/pwritev.c56
-rw-r--r--ports/sysdeps/unix/sysv/linux/generic/wordsize-32/pwritev64.c57
-rw-r--r--ports/sysdeps/unix/sysv/linux/generic/wordsize-32/sendfile.c45
-rw-r--r--ports/sysdeps/unix/sysv/linux/generic/wordsize-32/statfs.c33
-rw-r--r--ports/sysdeps/unix/sysv/linux/generic/wordsize-32/syscalls.list7
-rw-r--r--ports/sysdeps/unix/sysv/linux/generic/wordsize-32/truncate.c31
-rw-r--r--ports/sysdeps/unix/sysv/linux/generic/wordsize-32/truncate64.c31
-rw-r--r--ports/sysdeps/unix/sysv/linux/generic/wordsize-32/xstat.c43
-rw-r--r--ports/sysdeps/unix/sysv/linux/generic/wordsize-32/xstat64.c38
30 files changed, 0 insertions, 1380 deletions
diff --git a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/Versions b/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/Versions
deleted file mode 100644
index cdc6022..0000000
--- a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/Versions
+++ /dev/null
@@ -1,5 +0,0 @@
-libc {
- GLIBC_2.15 {
- fallocate64;
- }
-}
diff --git a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/fcntl.c b/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/fcntl.c
deleted file mode 100644
index 2637f03..0000000
--- a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/fcntl.c
+++ /dev/null
@@ -1,87 +0,0 @@
-/* Copyright (C) 2011-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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, see
- <http://www.gnu.org/licenses/>. */
-
-#include <assert.h>
-#include <errno.h>
-#include <sysdep-cancel.h> /* Must come before <fcntl.h>. */
-#include <fcntl.h>
-#include <stdarg.h>
-
-#include <sys/syscall.h>
-#include <kernel-features.h>
-
-
-static int
-do_fcntl (int fd, int cmd, void *arg)
-{
- if (cmd != F_GETOWN)
- return INLINE_SYSCALL (fcntl64, 3, fd, cmd, arg);
-
- INTERNAL_SYSCALL_DECL (err);
- struct f_owner_ex fex;
- int res = INTERNAL_SYSCALL (fcntl64, err, 3, fd, F_GETOWN_EX, &fex);
- if (!INTERNAL_SYSCALL_ERROR_P (res, err))
- return fex.type == F_OWNER_GID ? -fex.pid : fex.pid;
-
- __set_errno (INTERNAL_SYSCALL_ERRNO (res, err));
- return -1;
-}
-
-
-#ifndef NO_CANCELLATION
-int
-__fcntl_nocancel (int fd, int cmd, ...)
-{
- va_list ap;
- void *arg;
-
- va_start (ap, cmd);
- arg = va_arg (ap, void *);
- va_end (ap);
-
- return do_fcntl (fd, cmd, arg);
-}
-#endif
-
-
-int
-__libc_fcntl (int fd, int cmd, ...)
-{
- va_list ap;
- void *arg;
-
- va_start (ap, cmd);
- arg = va_arg (ap, void *);
- va_end (ap);
-
- if (SINGLE_THREAD_P || cmd != F_SETLKW)
- return do_fcntl (fd, cmd, arg);
-
- int oldtype = LIBC_CANCEL_ASYNC ();
-
- int result = do_fcntl (fd, cmd, arg);
-
- LIBC_CANCEL_RESET (oldtype);
-
- return result;
-}
-libc_hidden_def (__libc_fcntl)
-
-weak_alias (__libc_fcntl, __fcntl)
-libc_hidden_weak (__fcntl)
-weak_alias (__libc_fcntl, fcntl)
diff --git a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/fstatfs.c b/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/fstatfs.c
deleted file mode 100644
index bff1f49..0000000
--- a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/fstatfs.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright (C) 2011-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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, see
- <http://www.gnu.org/licenses/>. */
-
-#include <errno.h>
-#include <sys/statfs.h>
-#include <stddef.h>
-
-#include "overflow.h"
-
-/* Return information about the filesystem on which FD resides. */
-int
-__fstatfs (int fd, struct statfs *buf)
-{
- int rc = INLINE_SYSCALL (fstatfs64, 3, fd, sizeof (*buf), buf);
- return rc ?: statfs_overflow (buf);
-}
-weak_alias (__fstatfs, fstatfs)
diff --git a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/ftruncate.c b/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/ftruncate.c
deleted file mode 100644
index f153a04..0000000
--- a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/ftruncate.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Copyright (C) 2011-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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, see
- <http://www.gnu.org/licenses/>. */
-
-#include <errno.h>
-#include <sys/types.h>
-#include <unistd.h>
-
-/* Truncate the file FD refers to to LENGTH bytes. */
-int
-__ftruncate (int fd, off_t length)
-{
- return INLINE_SYSCALL (ftruncate64, __ALIGNMENT_COUNT (3, 4), fd,
- __ALIGNMENT_ARG
- __LONG_LONG_PAIR (length >> 31, length));
-}
-weak_alias (__ftruncate, ftruncate)
diff --git a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/ftruncate64.c b/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/ftruncate64.c
deleted file mode 100644
index e430145..0000000
--- a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/ftruncate64.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright (C) 2011-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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, see
- <http://www.gnu.org/licenses/>. */
-
-#include <errno.h>
-#include <sys/types.h>
-#include <unistd.h>
-
-/* Truncate the file FD refers to to LENGTH bytes. */
-int
-__ftruncate64 (int fd, off64_t length)
-{
- unsigned int low = length & 0xffffffff;
- unsigned int high = length >> 32;
- return INLINE_SYSCALL (ftruncate64, __ALIGNMENT_COUNT (3, 4), fd,
- __ALIGNMENT_ARG __LONG_LONG_PAIR (high, low));
-}
-weak_alias (__ftruncate64, ftruncate64)
diff --git a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstat.c b/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstat.c
deleted file mode 100644
index 41850c3..0000000
--- a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstat.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Copyright (C) 2011-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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, see
- <http://www.gnu.org/licenses/>. */
-
-#include <errno.h>
-#include <stddef.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <kernel_stat.h>
-
-#include <sysdep.h>
-#include <sys/syscall.h>
-
-#include "overflow.h"
-
-/* Get information about the file FD in BUF. */
-int
-__fxstat (int vers, int fd, struct stat *buf)
-{
- if (vers == _STAT_VER_KERNEL)
- {
- int rc = INLINE_SYSCALL (fstat64, 2, fd, buf);
- return rc ?: stat_overflow (buf);
- }
-
- errno = EINVAL;
- return -1;
-}
-
-hidden_def (__fxstat)
-weak_alias (__fxstat, _fxstat);
diff --git a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstatat.c b/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstatat.c
deleted file mode 100644
index 94769b6..0000000
--- a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstatat.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Copyright (C) 2011-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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, see
- <http://www.gnu.org/licenses/>. */
-
-#include <errno.h>
-#include <fcntl.h>
-#include <stddef.h>
-#include <stdio.h>
-#include <sys/stat.h>
-#include <kernel_stat.h>
-
-#include <sysdep.h>
-#include <sys/syscall.h>
-#include <kernel-features.h>
-
-#include "overflow.h"
-
-/* Get information about the file NAME in BUF. */
-int
-__fxstatat (int vers, int fd, const char *file, struct stat *buf, int flag)
-{
- if (vers == _STAT_VER_KERNEL)
- {
- int rc = INLINE_SYSCALL (fstatat64, 4, fd, file, buf, flag);
- return rc ?: stat_overflow (buf);
- }
-
- errno = EINVAL;
- return -1;
-}
-libc_hidden_def (__fxstatat)
diff --git a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/getdents.c b/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/getdents.c
deleted file mode 100644
index e4b6ee0..0000000
--- a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/getdents.c
+++ /dev/null
@@ -1,115 +0,0 @@
-/* Copyright (C) 1993-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Simplified from sysdeps/unix/sysv/linux/getdents.c.
-
- 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, see
- <http://www.gnu.org/licenses/>. */
-
-#include <alloca.h>
-#include <assert.h>
-#include <errno.h>
-#include <dirent.h>
-#include <stddef.h>
-#include <stdint.h>
-#include <string.h>
-#include <unistd.h>
-#include <sys/param.h>
-#include <sys/types.h>
-
-#include <sysdep.h>
-#include <sys/syscall.h>
-
-/* Pack the dirent64 struct down into 32-bit offset/inode fields, and
- ensure that no overflow occurs. */
-ssize_t
-__getdents (int fd, char *buf, size_t nbytes)
-{
- union
- {
- struct dirent64 k; /* Kernel structure. */
- struct dirent u;
- char b[1];
- } *kbuf = (void *) buf, *outp, *inp;
- size_t kbytes = nbytes;
- off64_t last_offset = -1;
- ssize_t retval;
-
- const size_t size_diff = (offsetof (struct dirent64, d_name)
- - offsetof (struct dirent, d_name));
- if (nbytes <= sizeof (struct dirent))
- {
- kbytes = nbytes + offsetof (struct dirent64, d_name)
- - offsetof (struct dirent, d_name);
- kbuf = __alloca(kbytes);
- }
-
- retval = INLINE_SYSCALL (getdents64, 3, fd, kbuf, kbytes);
- if (retval == -1)
- return -1;
-
- /* These two pointers might alias the same memory buffer.
- Standard C requires that we always use the same type for them,
- so we must use the union type. */
- inp = kbuf;
- outp = (void *) buf;
-
- while (&inp->b < &kbuf->b + retval)
- {
- const size_t alignment = __alignof__ (struct dirent);
- /* Since inp->k.d_reclen is already aligned for the kernel
- structure this may compute a value that is bigger
- than necessary. */
- size_t old_reclen = inp->k.d_reclen;
- size_t new_reclen = ((old_reclen - size_diff + alignment - 1)
- & ~(alignment - 1));
-
- /* Copy the data out of the old structure into temporary space.
- Then copy the name, which may overlap if BUF == KBUF. */
- const uint64_t d_ino = inp->k.d_ino;
- const int64_t d_off = inp->k.d_off;
- const uint8_t d_type = inp->k.d_type;
-
- memmove (outp->u.d_name, inp->k.d_name,
- old_reclen - offsetof (struct dirent64, d_name));
-
- /* Now we have copied the data from INP and access only OUTP. */
-
- outp->u.d_ino = d_ino;
- outp->u.d_off = d_off;
- if ((sizeof (outp->u.d_ino) != sizeof (inp->k.d_ino)
- && outp->u.d_ino != d_ino)
- || (sizeof (outp->u.d_off) != sizeof (inp->k.d_off)
- && outp->u.d_off != d_off))
- {
- /* Overflow. If there was at least one entry before this one,
- return them without error, otherwise signal overflow. */
- if (last_offset != -1)
- {
- __lseek64 (fd, last_offset, SEEK_SET);
- return outp->b - buf;
- }
- __set_errno (EOVERFLOW);
- return -1;
- }
-
- last_offset = d_off;
- outp->u.d_reclen = new_reclen;
- outp->u.d_type = d_type;
-
- inp = (void *) inp + old_reclen;
- outp = (void *) outp + new_reclen;
- }
-
- return outp->b - buf;
-}
diff --git a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/llseek.c b/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/llseek.c
deleted file mode 100644
index ce9eb9b..0000000
--- a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/llseek.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/* Copyright (C) 2011-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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, see
- <http://www.gnu.org/licenses/>. */
-
-#include <errno.h>
-#include <sys/types.h>
-
-#include <sysdep.h>
-#include <sys/syscall.h>
-
-/* Seek to OFFSET on FD, starting from WHENCE. */
-extern loff_t __llseek (int fd, loff_t offset, int whence);
-
-loff_t
-__llseek (int fd, loff_t offset, int whence)
-{
- loff_t retval;
-
- return (loff_t) (INLINE_SYSCALL (_llseek, 5, fd, (off_t) (offset >> 32),
- (off_t) (offset & 0xffffffff),
- &retval, whence) ?: retval);
-}
-weak_alias (__llseek, llseek)
-strong_alias (__llseek, __libc_lseek64)
-strong_alias (__llseek, __lseek64)
-weak_alias (__llseek, lseek64)
-
-/* llseek doesn't have a prototype. Since the second parameter is a
- 64bit type, this results in wrong behaviour if no prototype is
- provided. */
-link_warning (llseek, "\
-the `llseek' function may be dangerous; use `lseek64' instead.")
diff --git a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/lseek.c b/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/lseek.c
deleted file mode 100644
index 96d8a35..0000000
--- a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/lseek.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Copyright (C) 2011-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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, see
- <http://www.gnu.org/licenses/>. */
-
-#include <errno.h>
-#include <unistd.h>
-#include <sys/types.h>
-
-#include <sysdep.h>
-#include <sys/syscall.h>
-
-#include "overflow.h"
-
-off_t
-__lseek (int fd, off_t offset, int whence)
-{
- loff_t res;
- int rc = INLINE_SYSCALL (_llseek, 5, fd, (off_t) (offset >> 31),
- (off_t) offset, &res, whence);
- return rc ?: lseek_overflow (res);
-}
-libc_hidden_def (__lseek)
-weak_alias (__lseek, lseek)
-strong_alias (__lseek, __libc_lseek)
diff --git a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat.c b/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat.c
deleted file mode 100644
index 143f727..0000000
--- a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Copyright (C) 2011-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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, see
- <http://www.gnu.org/licenses/>. */
-
-#include <errno.h>
-#include <stddef.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-#include <kernel_stat.h>
-
-#include <sysdep.h>
-#include <sys/syscall.h>
-
-#include "overflow.h"
-
-/* Get information about the file NAME in BUF. */
-int
-__lxstat (int vers, const char *name, struct stat *buf)
-{
- if (vers == _STAT_VER_KERNEL)
- {
- int rc = INLINE_SYSCALL (fstatat64, 4, AT_FDCWD, name, buf,
- AT_SYMLINK_NOFOLLOW);
- return rc ?: stat_overflow (buf);
- }
- errno = EINVAL;
- return -1;
-}
-hidden_def (__lxstat)
diff --git a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat64.c b/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat64.c
deleted file mode 100644
index 39d385c..0000000
--- a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat64.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Copyright (C) 2011-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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, see
- <http://www.gnu.org/licenses/>. */
-
-#include <errno.h>
-#include <stddef.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-#include <kernel_stat.h>
-
-#include <sysdep.h>
-#include <sys/syscall.h>
-
-/* Get information about the file NAME in BUF. */
-int
-__lxstat64 (int vers, const char *name, struct stat64 *buf)
-{
- if (vers == _STAT_VER_KERNEL)
- return INLINE_SYSCALL (fstatat64, 4, AT_FDCWD, name, buf,
- AT_SYMLINK_NOFOLLOW);
- errno = EINVAL;
- return -1;
-}
-hidden_def (__lxstat64)
diff --git a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/mmap.c b/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/mmap.c
deleted file mode 100644
index be8ac7b..0000000
--- a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/mmap.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Copyright (C) 2011-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sys/types.h>
-#include <sys/mman.h>
-#include <errno.h>
-#include <sysdep.h>
-
-#ifndef MMAP_PAGE_SHIFT
-#define MMAP_PAGE_SHIFT 12
-#endif
-
-__ptr_t
-__mmap (__ptr_t addr, size_t len, int prot, int flags, int fd, off_t offset)
-{
- if (offset & ((1 << MMAP_PAGE_SHIFT) - 1))
- {
- __set_errno (EINVAL);
- return MAP_FAILED;
- }
- return (__ptr_t) INLINE_SYSCALL (mmap2, 6, addr, len, prot, flags, fd,
- offset >> MMAP_PAGE_SHIFT);
-}
-
-weak_alias (__mmap, mmap)
diff --git a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/overflow.h b/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/overflow.h
deleted file mode 100644
index 2acc2e5..0000000
--- a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/overflow.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/* Overflow tests for stat, statfs, and lseek functions.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sys/stat.h>
-#include <sys/statfs.h>
-
-/* Test for overflows of structures where we ask the kernel to fill them
- in with standard 64-bit syscalls but return them through APIs that
- only expose the low 32 bits of some fields. */
-
-static inline off_t lseek_overflow (loff_t res)
-{
- off_t retval = (off_t) res;
- if (retval == res)
- return retval;
-
- __set_errno (EOVERFLOW);
- return (off_t) -1;
-}
-
-static inline int stat_overflow (struct stat *buf)
-{
- if (buf->__st_ino_pad == 0 && buf->__st_size_pad == 0 &&
- buf->__st_blocks_pad == 0)
- return 0;
-
- __set_errno (EOVERFLOW);
- return -1;
-}
-
-/* Note that f_files and f_ffree may validly be a sign-extended -1. */
-static inline int statfs_overflow (struct statfs *buf)
-{
- if (buf->__f_blocks_pad == 0 && buf->__f_bfree_pad == 0 &&
- buf->__f_bavail_pad == 0 &&
- (buf->__f_files_pad == 0 ||
- (buf->f_files == -1U && buf->__f_files_pad == -1)) &&
- (buf->__f_ffree_pad == 0 ||
- (buf->f_ffree == -1U && buf->__f_ffree_pad == -1)))
- return 0;
-
- __set_errno (EOVERFLOW);
- return -1;
-}
diff --git a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/posix_fadvise.c b/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/posix_fadvise.c
deleted file mode 100644
index cc29817..0000000
--- a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/posix_fadvise.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Copyright (C) 2011-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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, see
- <http://www.gnu.org/licenses/>. */
-
-#include <errno.h>
-#include <fcntl.h>
-#include <sysdep.h>
-
-/* Advice the system about the expected behaviour of the application with
- respect to the file associated with FD. */
-
-int
-posix_fadvise (int fd, off_t offset, off_t len, int advise)
-{
- INTERNAL_SYSCALL_DECL (err);
- int ret = INTERNAL_SYSCALL (fadvise64_64, err, 6, fd,
- __LONG_LONG_PAIR (offset >> 31, offset),
- __LONG_LONG_PAIR (len >> 31, len),
- advise);
- if (INTERNAL_SYSCALL_ERROR_P (ret, err))
- return INTERNAL_SYSCALL_ERRNO (ret, err);
- return 0;
-}
diff --git a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/pread.c b/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/pread.c
deleted file mode 100644
index 2bffd1f..0000000
--- a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/pread.c
+++ /dev/null
@@ -1,58 +0,0 @@
-/* Copyright (C) 2011-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
- Based on work contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
-
- 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, see
- <http://www.gnu.org/licenses/>. */
-
-#include <assert.h>
-#include <errno.h>
-#include <endian.h>
-#include <unistd.h>
-
-#include <sysdep-cancel.h>
-#include <sys/syscall.h>
-
-#include <kernel-features.h>
-
-static ssize_t
-do_pread (int fd, void *buf, size_t count, off_t offset)
-{
- assert (sizeof (offset) == 4);
- return INLINE_SYSCALL (pread64, __ALIGNMENT_COUNT (5, 6), fd,
- buf, count, __ALIGNMENT_ARG
- __LONG_LONG_PAIR (offset >> 31, offset));
-}
-
-ssize_t
-__libc_pread (fd, buf, count, offset)
- int fd;
- void *buf;
- size_t count;
- off_t offset;
-{
- if (SINGLE_THREAD_P)
- return do_pread (fd, buf, count, offset);
-
- int oldtype = LIBC_CANCEL_ASYNC ();
-
- ssize_t result = do_pread (fd, buf, count, offset);
-
- LIBC_CANCEL_RESET (oldtype);
-
- return result;
-}
-strong_alias (__libc_pread, __pread)
-weak_alias (__libc_pread, pread)
diff --git a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/pread64.c b/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/pread64.c
deleted file mode 100644
index 093b874..0000000
--- a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/pread64.c
+++ /dev/null
@@ -1,58 +0,0 @@
-/* Copyright (C) 2011-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
- Based on work contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
-
- 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, see
- <http://www.gnu.org/licenses/>. */
-
-#include <errno.h>
-#include <endian.h>
-#include <unistd.h>
-
-#include <sysdep-cancel.h>
-#include <sys/syscall.h>
-
-#include <kernel-features.h>
-
-static ssize_t
-do_pread64 (int fd, void *buf, size_t count, off64_t offset)
-{
- return INLINE_SYSCALL (pread64, __ALIGNMENT_COUNT (5, 6), fd,
- buf, count, __ALIGNMENT_ARG
- __LONG_LONG_PAIR ((off_t) (offset >> 32),
- (off_t) (offset & 0xffffffff)));
-}
-
-
-ssize_t
-__libc_pread64 (fd, buf, count, offset)
- int fd;
- void *buf;
- size_t count;
- off64_t offset;
-{
- if (SINGLE_THREAD_P)
- return do_pread64 (fd, buf, count, offset);
-
- int oldtype = LIBC_CANCEL_ASYNC ();
-
- ssize_t result = do_pread64 (fd, buf, count, offset);
-
- LIBC_CANCEL_RESET (oldtype);
-
- return result;
-}
-
-weak_alias (__libc_pread64, __pread64) weak_alias (__libc_pread64, pread64)
diff --git a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/preadv.c b/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/preadv.c
deleted file mode 100644
index 1dae127..0000000
--- a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/preadv.c
+++ /dev/null
@@ -1,55 +0,0 @@
-/* Copyright (C) 2011-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
- Based on work contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
-
- 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, see
- <http://www.gnu.org/licenses/>. */
-
-#include <assert.h>
-#include <errno.h>
-#include <endian.h>
-#include <unistd.h>
-#include <sys/uio.h>
-
-#include <sysdep-cancel.h>
-#include <sys/syscall.h>
-
-#include <kernel-features.h>
-
-static ssize_t
-do_preadv (int fd, const struct iovec *vector, int count, off_t offset)
-{
- assert (sizeof (offset) == 4);
- return INLINE_SYSCALL (preadv, __ALIGNMENT_COUNT (5, 6), fd,
- vector, count, __ALIGNMENT_ARG
- __LONG_LONG_PAIR (offset >> 31, offset));
-}
-
-ssize_t
-__libc_preadv (int fd, const struct iovec *vector, int count, off_t offset)
-{
- if (SINGLE_THREAD_P)
- return do_preadv (fd, vector, count, offset);
-
- int oldtype = LIBC_CANCEL_ASYNC ();
-
- ssize_t result = do_preadv (fd, vector, count, offset);
-
- LIBC_CANCEL_RESET (oldtype);
-
- return result;
-}
-strong_alias (__libc_preadv, __preadv)
-weak_alias (__libc_preadv, preadv)
diff --git a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/preadv64.c b/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/preadv64.c
deleted file mode 100644
index 32cc314..0000000
--- a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/preadv64.c
+++ /dev/null
@@ -1,56 +0,0 @@
-/* Copyright (C) 2011-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
- Based on work contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
-
- 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, see
- <http://www.gnu.org/licenses/>. */
-
-#include <errno.h>
-#include <endian.h>
-#include <unistd.h>
-#include <sys/uio.h>
-
-#include <sysdep-cancel.h>
-#include <sys/syscall.h>
-
-#include <kernel-features.h>
-
-static ssize_t
-do_preadv64 (int fd, const struct iovec *vector, int count, off64_t offset)
-{
- return INLINE_SYSCALL (preadv, __ALIGNMENT_COUNT (5, 6), fd,
- vector, count, __ALIGNMENT_ARG
- __LONG_LONG_PAIR ((off_t) (offset >> 32),
- (off_t) (offset & 0xffffffff)));
-}
-
-
-ssize_t
-__libc_preadv64 (int fd, const struct iovec *vector, int count, off64_t offset)
-{
- if (SINGLE_THREAD_P)
- return do_preadv64 (fd, vector, count, offset);
-
- int oldtype = LIBC_CANCEL_ASYNC ();
-
- ssize_t result = do_preadv64 (fd, vector, count, offset);
-
- LIBC_CANCEL_RESET (oldtype);
-
- return result;
-}
-
-strong_alias (__libc_preadv64, __preadv64)
-weak_alias (__libc_preadv64, preadv64)
diff --git a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/pwrite.c b/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/pwrite.c
deleted file mode 100644
index 909255b..0000000
--- a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/pwrite.c
+++ /dev/null
@@ -1,59 +0,0 @@
-/* Copyright (C) 2011-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
- Based on work contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
-
- 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, see
- <http://www.gnu.org/licenses/>. */
-
-#include <assert.h>
-#include <errno.h>
-#include <endian.h>
-#include <unistd.h>
-
-#include <sysdep-cancel.h>
-#include <sys/syscall.h>
-
-#include <kernel-features.h>
-
-static ssize_t
-do_pwrite (int fd, const void *buf, size_t count, off_t offset)
-{
- assert (sizeof (offset) == 4);
- return INLINE_SYSCALL (pwrite64, __ALIGNMENT_COUNT (5, 6), fd,
- buf, count, __ALIGNMENT_ARG
- __LONG_LONG_PAIR (offset >> 31, offset));
-}
-
-
-ssize_t
-__libc_pwrite (fd, buf, count, offset)
- int fd;
- const void *buf;
- size_t count;
- off_t offset;
-{
- if (SINGLE_THREAD_P)
- return do_pwrite (fd, buf, count, offset);
-
- int oldtype = LIBC_CANCEL_ASYNC ();
-
- ssize_t result = do_pwrite (fd, buf, count, offset);
-
- LIBC_CANCEL_RESET (oldtype);
-
- return result;
-}
-strong_alias (__libc_pwrite, __pwrite)
-weak_alias (__libc_pwrite, pwrite)
diff --git a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/pwrite64.c b/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/pwrite64.c
deleted file mode 100644
index cbdb9e9..0000000
--- a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/pwrite64.c
+++ /dev/null
@@ -1,59 +0,0 @@
-/* Copyright (C) 2011-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
- Based on work contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
-
- 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, see
- <http://www.gnu.org/licenses/>. */
-
-#include <errno.h>
-#include <endian.h>
-#include <unistd.h>
-
-#include <sysdep-cancel.h>
-#include <sys/syscall.h>
-
-#include <kernel-features.h>
-
-static ssize_t
-do_pwrite64 (int fd, const void *buf, size_t count, off64_t offset)
-{
- return INLINE_SYSCALL (pwrite64, __ALIGNMENT_COUNT (5, 6), fd,
- buf, count, __ALIGNMENT_ARG
- __LONG_LONG_PAIR ((off_t) (offset >> 32),
- (off_t) (offset & 0xffffffff)));
-}
-
-
-ssize_t
-__libc_pwrite64 (fd, buf, count, offset)
- int fd;
- const void *buf;
- size_t count;
- off64_t offset;
-{
- if (SINGLE_THREAD_P)
- return do_pwrite64 (fd, buf, count, offset);
-
- int oldtype = LIBC_CANCEL_ASYNC ();
-
- ssize_t result = do_pwrite64 (fd, buf, count, offset);
-
- LIBC_CANCEL_RESET (oldtype);
-
- return result;
-}
-
-weak_alias (__libc_pwrite64, __pwrite64)
-libc_hidden_weak (__pwrite64) weak_alias (__libc_pwrite64, pwrite64)
diff --git a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/pwritev.c b/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/pwritev.c
deleted file mode 100644
index a166e32..0000000
--- a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/pwritev.c
+++ /dev/null
@@ -1,56 +0,0 @@
-/* Copyright (C) 2011-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
- Based on work contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
-
- 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, see
- <http://www.gnu.org/licenses/>. */
-
-#include <assert.h>
-#include <errno.h>
-#include <endian.h>
-#include <unistd.h>
-#include <sys/uio.h>
-
-#include <sysdep-cancel.h>
-#include <sys/syscall.h>
-
-#include <kernel-features.h>
-
-static ssize_t
-do_pwritev (int fd, const struct iovec *vector, int count, off_t offset)
-{
- assert (sizeof (offset) == 4);
- return INLINE_SYSCALL (pwritev, __ALIGNMENT_COUNT (5, 6), fd,
- vector, count, __ALIGNMENT_ARG
- __LONG_LONG_PAIR (offset >> 31, offset));
-}
-
-
-ssize_t
-__libc_pwritev (int fd, const struct iovec *vector, int count, off_t offset)
-{
- if (SINGLE_THREAD_P)
- return do_pwritev (fd, vector, count, offset);
-
- int oldtype = LIBC_CANCEL_ASYNC ();
-
- ssize_t result = do_pwritev (fd, vector, count, offset);
-
- LIBC_CANCEL_RESET (oldtype);
-
- return result;
-}
-strong_alias (__libc_pwritev, __pwritev)
-weak_alias (__libc_pwritev, pwritev)
diff --git a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/pwritev64.c b/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/pwritev64.c
deleted file mode 100644
index 33f4e80..0000000
--- a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/pwritev64.c
+++ /dev/null
@@ -1,57 +0,0 @@
-/* Copyright (C) 2011-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
- Based on work contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
-
- 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, see
- <http://www.gnu.org/licenses/>. */
-
-#include <errno.h>
-#include <endian.h>
-#include <unistd.h>
-#include <sys/uio.h>
-
-#include <sysdep-cancel.h>
-#include <sys/syscall.h>
-
-#include <kernel-features.h>
-
-static ssize_t
-do_pwritev64 (int fd, const struct iovec *vector, int count, off64_t offset)
-{
- return INLINE_SYSCALL (pwritev, __ALIGNMENT_COUNT (5, 6), fd,
- vector, count, __ALIGNMENT_ARG
- __LONG_LONG_PAIR ((off_t) (offset >> 32),
- (off_t) (offset & 0xffffffff)));
-}
-
-
-ssize_t
-__libc_pwritev64 (int fd, const struct iovec *vector, int count,
- off64_t offset)
-{
- if (SINGLE_THREAD_P)
- return do_pwritev64 (fd, vector, count, offset);
-
- int oldtype = LIBC_CANCEL_ASYNC ();
-
- ssize_t result = do_pwritev64 (fd, vector, count, offset);
-
- LIBC_CANCEL_RESET (oldtype);
-
- return result;
-}
-
-strong_alias (__libc_pwritev64, pwritev64)
-weak_alias (__libc_pwritev64, __pwritev64)
diff --git a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/sendfile.c b/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/sendfile.c
deleted file mode 100644
index c35e54a..0000000
--- a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/sendfile.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Copyright (C) 2011-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sys/sendfile.h>
-#include <errno.h>
-
-/* Send COUNT bytes from file associated with IN_FD starting at OFFSET to
- descriptor OUT_FD. */
-ssize_t
-sendfile (int out_fd, int in_fd, off_t *offset, size_t count)
-{
- __off64_t off64;
- int rc;
-
- if (offset != NULL)
- {
- if (*offset < 0 || (off_t) (*offset + count) < 0)
- {
- __set_errno (EINVAL);
- return -1;
- }
- off64 = *offset;
- }
-
- rc = INLINE_SYSCALL (sendfile64, 4, out_fd, in_fd,
- offset ? &off64 : NULL, count);
- if (offset)
- *offset = off64;
- return rc;
-}
diff --git a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/statfs.c b/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/statfs.c
deleted file mode 100644
index 7987457..0000000
--- a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/statfs.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Copyright (C) 2011-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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, see
- <http://www.gnu.org/licenses/>. */
-
-#include <errno.h>
-#include <sys/statfs.h>
-#include <stddef.h>
-
-#include "overflow.h"
-
-/* Return information about the filesystem on which FILE resides. */
-int
-__statfs (const char *file, struct statfs *buf)
-{
- int rc = INLINE_SYSCALL (statfs64, 3, file, sizeof (*buf), buf);
- return rc ?: statfs_overflow (buf);
-}
-libc_hidden_def (__statfs)
-weak_alias (__statfs, statfs)
diff --git a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/syscalls.list b/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/syscalls.list
deleted file mode 100644
index f055c68..0000000
--- a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/syscalls.list
+++ /dev/null
@@ -1,7 +0,0 @@
-# File name Caller Syscall name # args Strong name Weak names
-
-# rlimit APIs
-getrlimit - getrlimit i:ip __getrlimit getrlimit
-setrlimit - setrlimit i:ip __setrlimit setrlimit
-prlimit64 EXTRA prlimit64 i:iipp prlimit64
-fanotify_mark EXTRA fanotify_mark i:iiiiis fanotify_mark
diff --git a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/truncate.c b/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/truncate.c
deleted file mode 100644
index fb31d14..0000000
--- a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/truncate.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Copyright (C) 2011-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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, see
- <http://www.gnu.org/licenses/>. */
-
-#include <errno.h>
-#include <sys/types.h>
-#include <unistd.h>
-
-/* Truncate PATH to LENGTH bytes. */
-int
-__truncate (const char *path, off_t length)
-{
- return INLINE_SYSCALL (truncate64, __ALIGNMENT_COUNT (3, 4), path,
- __ALIGNMENT_ARG
- __LONG_LONG_PAIR (length >> 31, length));
-}
-weak_alias (__truncate, truncate)
diff --git a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/truncate64.c b/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/truncate64.c
deleted file mode 100644
index ff19d61..0000000
--- a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/truncate64.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Copyright (C) 2011-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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, see
- <http://www.gnu.org/licenses/>. */
-
-#include <errno.h>
-#include <sys/types.h>
-#include <unistd.h>
-
-/* Truncate the file PATH to LENGTH bytes. */
-int
-truncate64 (const char *path, off64_t length)
-{
- unsigned int low = length & 0xffffffff;
- unsigned int high = length >> 32;
- return INLINE_SYSCALL (truncate64, __ALIGNMENT_COUNT (3, 4), path,
- __ALIGNMENT_ARG __LONG_LONG_PAIR (high, low));
-}
diff --git a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/xstat.c b/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/xstat.c
deleted file mode 100644
index e9ca7ae..0000000
--- a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/xstat.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Copyright (C) 2011-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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, see
- <http://www.gnu.org/licenses/>. */
-
-#include <errno.h>
-#include <stddef.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-#include <kernel_stat.h>
-
-#include <sysdep.h>
-#include <sys/syscall.h>
-
-#include "overflow.h"
-
-/* Get information about the file NAME in BUF. */
-int
-__xstat (int vers, const char *name, struct stat *buf)
-{
- if (vers == _STAT_VER_KERNEL)
- {
- int rc = INLINE_SYSCALL (fstatat64, 4, AT_FDCWD, name, buf, 0);
- return rc ?: stat_overflow (buf);
- }
-
- errno = EINVAL;
- return -1;
-}
-hidden_def (__xstat)
diff --git a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/xstat64.c b/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/xstat64.c
deleted file mode 100644
index 0986222..0000000
--- a/ports/sysdeps/unix/sysv/linux/generic/wordsize-32/xstat64.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Copyright (C) 2011-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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, see
- <http://www.gnu.org/licenses/>. */
-
-#include <errno.h>
-#include <stddef.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-#include <kernel_stat.h>
-
-#include <sysdep.h>
-#include <sys/syscall.h>
-
-/* Get information about the file NAME in BUF. */
-int
-__xstat64 (int vers, const char *name, struct stat64 *buf)
-{
- if (vers == _STAT_VER_KERNEL)
- return INLINE_SYSCALL (fstatat64, 4, AT_FDCWD, name, buf, 0);
-
- errno = EINVAL;
- return -1;
-}
-hidden_def (__xstat64)