summaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/x86
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv/linux/x86')
-rw-r--r--sysdeps/unix/sysv/linux/x86/Implies1
-rw-r--r--sysdeps/unix/sysv/linux/x86/Makefile24
-rw-r--r--sysdeps/unix/sysv/linux/x86/bits/a.out.h11
-rw-r--r--sysdeps/unix/sysv/linux/x86/bits/environments.h105
-rw-r--r--sysdeps/unix/sysv/linux/x86/bits/epoll.h29
-rw-r--r--sysdeps/unix/sysv/linux/x86/bits/fcntl.h61
-rw-r--r--sysdeps/unix/sysv/linux/x86/bits/ipctypes.h33
-rw-r--r--sysdeps/unix/sysv/linux/x86/bits/mman.h45
-rw-r--r--sysdeps/unix/sysv/linux/x86/bits/msq.h82
-rw-r--r--sysdeps/unix/sysv/linux/x86/bits/sem.h86
-rw-r--r--sysdeps/unix/sysv/linux/x86/bits/shm.h109
-rw-r--r--sysdeps/unix/sysv/linux/x86/bits/sigcontext.h196
-rw-r--r--sysdeps/unix/sysv/linux/x86/bits/siginfo-arch.h17
-rw-r--r--sysdeps/unix/sysv/linux/x86/bits/stat.h210
-rw-r--r--sysdeps/unix/sysv/linux/x86/bits/sysctl.h20
-rw-r--r--sysdeps/unix/sysv/linux/x86/bits/typesizes.h95
-rw-r--r--sysdeps/unix/sysv/linux/x86/elision-conf.c78
-rw-r--r--sysdeps/unix/sysv/linux/x86/elision-conf.h41
-rw-r--r--sysdeps/unix/sysv/linux/x86/elision-lock.c107
-rw-r--r--sysdeps/unix/sysv/linux/x86/elision-timed.c26
-rw-r--r--sysdeps/unix/sysv/linux/x86/elision-trylock.c75
-rw-r--r--sysdeps/unix/sysv/linux/x86/elision-unlock.c33
-rw-r--r--sysdeps/unix/sysv/linux/x86/force-elision.h26
-rw-r--r--sysdeps/unix/sysv/linux/x86/gettimeofday.c61
-rw-r--r--sysdeps/unix/sysv/linux/x86/hle.h75
-rw-r--r--sysdeps/unix/sysv/linux/x86/libc-vdso.h36
-rw-r--r--sysdeps/unix/sysv/linux/x86/pthread_mutex_cond_lock.c22
-rw-r--r--sysdeps/unix/sysv/linux/x86/pthread_mutex_lock.c22
-rw-r--r--sysdeps/unix/sysv/linux/x86/pthread_mutex_timedlock.c22
-rw-r--r--sysdeps/unix/sysv/linux/x86/pthread_mutex_trylock.c22
-rw-r--r--sysdeps/unix/sysv/linux/x86/sys/debugreg.h88
-rw-r--r--sysdeps/unix/sysv/linux/x86/sys/elf.h29
-rw-r--r--sysdeps/unix/sysv/linux/x86/sys/io.h183
-rw-r--r--sysdeps/unix/sysv/linux/x86/sys/perm.h35
-rw-r--r--sysdeps/unix/sysv/linux/x86/sys/procfs.h145
-rw-r--r--sysdeps/unix/sysv/linux/x86/sys/reg.h77
-rw-r--r--sysdeps/unix/sysv/linux/x86/sys/ucontext.h260
-rw-r--r--sysdeps/unix/sysv/linux/x86/sys/user.h180
-rw-r--r--sysdeps/unix/sysv/linux/x86/sys/vm86.h38
-rw-r--r--sysdeps/unix/sysv/linux/x86/sysconf.c42
-rw-r--r--sysdeps/unix/sysv/linux/x86/time.c59
41 files changed, 0 insertions, 2906 deletions
diff --git a/sysdeps/unix/sysv/linux/x86/Implies b/sysdeps/unix/sysv/linux/x86/Implies
deleted file mode 100644
index e454b288aa..0000000000
--- a/sysdeps/unix/sysv/linux/x86/Implies
+++ /dev/null
@@ -1 +0,0 @@
-x86/nptl
diff --git a/sysdeps/unix/sysv/linux/x86/Makefile b/sysdeps/unix/sysv/linux/x86/Makefile
deleted file mode 100644
index 9e6ec44b3a..0000000000
--- a/sysdeps/unix/sysv/linux/x86/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# We don't need any header files.
-abi-includes :=
-
-abi-variants := 32 64 x32
-
-abi-32-options := -D__i386__ -U__x86_64__
-abi-32-condition := !defined __x86_64__
-abi-64-options := -U__i386__ -D__x86_64__ -U__ILP32__ -D__LP64__
-abi-64-condition := defined __x86_64__ && defined __LP64__
-abi-x32-options := -U__i386__ -D__x86_64__ -D__ILP32__ -U__LP64__
-abi-x32-condition := defined __x86_64__ && defined __ILP32__
-
-ifeq ($(subdir),misc)
-sysdep_headers += sys/elf.h sys/perm.h sys/reg.h sys/vm86.h sys/debugreg.h sys/io.h
-endif
-
-ifeq ($(subdir),nptl)
-libpthread-sysdep_routines += elision-lock elision-unlock elision-timed \
- elision-trylock
-endif
-
-ifeq ($(subdir),elf)
-sysdep_routines += dl-vdso
-endif
diff --git a/sysdeps/unix/sysv/linux/x86/bits/a.out.h b/sysdeps/unix/sysv/linux/x86/bits/a.out.h
deleted file mode 100644
index 0e4a7c911f..0000000000
--- a/sysdeps/unix/sysv/linux/x86/bits/a.out.h
+++ /dev/null
@@ -1,11 +0,0 @@
-#ifndef __A_OUT_GNU_H__
-# error "Never use <bits/a.out.h> directly; include <a.out.h> instead."
-#endif
-
-#ifdef __x86_64__
-
-/* Signal to users of this header that this architecture really doesn't
- support a.out binary format. */
-#define __NO_A_OUT_SUPPORT 1
-
-#endif
diff --git a/sysdeps/unix/sysv/linux/x86/bits/environments.h b/sysdeps/unix/sysv/linux/x86/bits/environments.h
deleted file mode 100644
index 2fc65cf9ec..0000000000
--- a/sysdeps/unix/sysv/linux/x86/bits/environments.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/* Copyright (C) 1999-2017 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, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _UNISTD_H
-# error "Never include this file directly. Use <unistd.h> instead"
-#endif
-
-#include <bits/wordsize.h>
-
-/* This header should define the following symbols under the described
- situations. A value `1' means that the model is always supported,
- `-1' means it is never supported. Undefined means it cannot be
- statically decided.
-
- _POSIX_V7_ILP32_OFF32 32bit int, long, pointers, and off_t type
- _POSIX_V7_ILP32_OFFBIG 32bit int, long, and pointers and larger off_t type
-
- _POSIX_V7_LP64_OFF32 64bit long and pointers and 32bit off_t type
- _POSIX_V7_LPBIG_OFFBIG 64bit long and pointers and large off_t type
-
- The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG,
- _POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32,
- _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were
- used in previous versions of the Unix standard and are available
- only for compatibility.
-*/
-
-#if __WORDSIZE == 64
-
-/* Environments with 32-bit wide pointers are optionally provided.
- Therefore following macros aren't defined:
- # undef _POSIX_V7_ILP32_OFF32
- # undef _POSIX_V7_ILP32_OFFBIG
- # undef _POSIX_V6_ILP32_OFF32
- # undef _POSIX_V6_ILP32_OFFBIG
- # undef _XBS5_ILP32_OFF32
- # undef _XBS5_ILP32_OFFBIG
- and users need to check at runtime. */
-
-/* We also have no use (for now) for an environment with bigger pointers
- and offsets. */
-# define _POSIX_V7_LPBIG_OFFBIG -1
-# define _POSIX_V6_LPBIG_OFFBIG -1
-# define _XBS5_LPBIG_OFFBIG -1
-
-/* By default we have 64-bit wide `long int', pointers and `off_t'. */
-# define _POSIX_V7_LP64_OFF64 1
-# define _POSIX_V6_LP64_OFF64 1
-# define _XBS5_LP64_OFF64 1
-
-#else /* __WORDSIZE == 32 */
-
-/* We have 32-bit wide `int', `long int' and pointers and all platforms
- support LFS. -mx32 has 64-bit wide `off_t'. */
-# define _POSIX_V7_ILP32_OFFBIG 1
-# define _POSIX_V6_ILP32_OFFBIG 1
-# define _XBS5_ILP32_OFFBIG 1
-
-# ifndef __x86_64__
-/* -m32 has 32-bit wide `off_t'. */
-# define _POSIX_V7_ILP32_OFF32 1
-# define _POSIX_V6_ILP32_OFF32 1
-# define _XBS5_ILP32_OFF32 1
-# endif
-
-/* We optionally provide an environment with the above size but an 64-bit
- side `off_t'. Therefore we don't define _POSIX_V7_ILP32_OFFBIG. */
-
-/* Environments with 64-bit wide pointers can be provided,
- so these macros aren't defined:
- # undef _POSIX_V7_LP64_OFF64
- # undef _POSIX_V7_LPBIG_OFFBIG
- # undef _POSIX_V6_LP64_OFF64
- # undef _POSIX_V6_LPBIG_OFFBIG
- # undef _XBS5_LP64_OFF64
- # undef _XBS5_LPBIG_OFFBIG
- and sysconf tests for it at runtime. */
-
-#endif /* __WORDSIZE == 32 */
-
-#define __ILP32_OFF32_CFLAGS "-m32"
-#define __ILP32_OFF32_LDFLAGS "-m32"
-#if defined __x86_64__ && defined __ILP32__
-# define __ILP32_OFFBIG_CFLAGS "-mx32"
-# define __ILP32_OFFBIG_LDFLAGS "-mx32"
-#else
-# define __ILP32_OFFBIG_CFLAGS "-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
-# define __ILP32_OFFBIG_LDFLAGS "-m32"
-#endif
-#define __LP64_OFF64_CFLAGS "-m64"
-#define __LP64_OFF64_LDFLAGS "-m64"
diff --git a/sysdeps/unix/sysv/linux/x86/bits/epoll.h b/sysdeps/unix/sysv/linux/x86/bits/epoll.h
deleted file mode 100644
index 96c9403619..0000000000
--- a/sysdeps/unix/sysv/linux/x86/bits/epoll.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Copyright (C) 2002-2017 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, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _SYS_EPOLL_H
-# error "Never use <bits/epoll.h> directly; include <sys/epoll.h> instead."
-#endif
-
-/* Flags to be passed to epoll_create1. */
-enum
- {
- EPOLL_CLOEXEC = 02000000
-#define EPOLL_CLOEXEC EPOLL_CLOEXEC
- };
-
-#define __EPOLL_PACKED __attribute__ ((__packed__))
diff --git a/sysdeps/unix/sysv/linux/x86/bits/fcntl.h b/sysdeps/unix/sysv/linux/x86/bits/fcntl.h
deleted file mode 100644
index 2cf690c9a6..0000000000
--- a/sysdeps/unix/sysv/linux/x86/bits/fcntl.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/* O_*, F_*, FD_* bit values for Linux/x86.
- Copyright (C) 2001-2017 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, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _FCNTL_H
-# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
-#endif
-
-#ifdef __x86_64__
-# define __O_LARGEFILE 0
-#endif
-
-#ifdef __x86_64__
-/* Not necessary, we always have 64-bit offsets. */
-# define F_GETLK64 5 /* Get record locking info. */
-# define F_SETLK64 6 /* Set record locking info (non-blocking). */
-# define F_SETLKW64 7 /* Set record locking info (blocking). */
-#endif
-
-
-struct flock
- {
- short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
- short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
-#ifndef __USE_FILE_OFFSET64
- __off_t l_start; /* Offset where the lock begins. */
- __off_t l_len; /* Size of the locked area; zero means until EOF. */
-#else
- __off64_t l_start; /* Offset where the lock begins. */
- __off64_t l_len; /* Size of the locked area; zero means until EOF. */
-#endif
- __pid_t l_pid; /* Process holding the lock. */
- };
-
-#ifdef __USE_LARGEFILE64
-struct flock64
- {
- short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
- short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
- __off64_t l_start; /* Offset where the lock begins. */
- __off64_t l_len; /* Size of the locked area; zero means until EOF. */
- __pid_t l_pid; /* Process holding the lock. */
- };
-#endif
-
-/* Include generic Linux declarations. */
-#include <bits/fcntl-linux.h>
diff --git a/sysdeps/unix/sysv/linux/x86/bits/ipctypes.h b/sysdeps/unix/sysv/linux/x86/bits/ipctypes.h
deleted file mode 100644
index 486b0148c1..0000000000
--- a/sysdeps/unix/sysv/linux/x86/bits/ipctypes.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM.
- Copyright (C) 2012-2017 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, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _SYS_IPC_H
-# error "Never use <bits/ipctypes.h> directly; include <sys/ipc.h> instead."
-#endif
-
-#ifndef _BITS_IPCTYPES_H
-#define _BITS_IPCTYPES_H 1
-
-/* Used in `struct shmid_ds'. */
-# ifdef __x86_64__
-typedef int __ipc_pid_t;
-# else
-typedef unsigned short int __ipc_pid_t;
-# endif
-
-#endif /* bits/ipctypes.h */
diff --git a/sysdeps/unix/sysv/linux/x86/bits/mman.h b/sysdeps/unix/sysv/linux/x86/bits/mman.h
deleted file mode 100644
index 017abf2f29..0000000000
--- a/sysdeps/unix/sysv/linux/x86/bits/mman.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Definitions for POSIX memory map interface. Linux/x86_64 version.
- Copyright (C) 2001-2017 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, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _SYS_MMAN_H
-# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."
-#endif
-
-/* The following definitions basically come from the kernel headers.
- But the kernel header is not namespace clean. */
-
-/* Other flags. */
-#ifdef __USE_MISC
-# define MAP_32BIT 0x40 /* Only give out 32-bit addresses. */
-#endif
-
-/* These are Linux-specific. */
-#ifdef __USE_MISC
-# define MAP_GROWSDOWN 0x00100 /* Stack-like segment. */
-# define MAP_DENYWRITE 0x00800 /* ETXTBSY */
-# define MAP_EXECUTABLE 0x01000 /* Mark it as an executable. */
-# define MAP_LOCKED 0x02000 /* Lock the mapping. */
-# define MAP_NORESERVE 0x04000 /* Don't check for reservations. */
-# define MAP_POPULATE 0x08000 /* Populate (prefault) pagetables. */
-# define MAP_NONBLOCK 0x10000 /* Do not block on IO. */
-# define MAP_STACK 0x20000 /* Allocation is for a stack. */
-# define MAP_HUGETLB 0x40000 /* Create huge page mapping. */
-#endif
-
-/* Include generic Linux declarations. */
-#include <bits/mman-linux.h>
diff --git a/sysdeps/unix/sysv/linux/x86/bits/msq.h b/sysdeps/unix/sysv/linux/x86/bits/msq.h
deleted file mode 100644
index 78b575c740..0000000000
--- a/sysdeps/unix/sysv/linux/x86/bits/msq.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/* Copyright (C) 1995-2017 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, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _SYS_MSG_H
-# error "Never use <bits/msq.h> directly; include <sys/msg.h> instead."
-#endif
-
-#include <bits/types.h>
-
-/* Define options for message queue functions. */
-#define MSG_NOERROR 010000 /* no error if message is too big */
-#ifdef __USE_GNU
-# define MSG_EXCEPT 020000 /* recv any msg except of specified type */
-# define MSG_COPY 040000 /* copy (not remove) all queue messages */
-#endif
-
-/* Types used in the structure definition. */
-typedef __syscall_ulong_t msgqnum_t;
-typedef __syscall_ulong_t msglen_t;
-
-/* Structure of record for one message inside the kernel.
- The type `struct msg' is opaque. */
-struct msqid_ds
-{
- struct ipc_perm msg_perm; /* structure describing operation permission */
- __time_t msg_stime; /* time of last msgsnd command */
-#ifndef __x86_64__
- unsigned long int __glibc_reserved1;
-#endif
- __time_t msg_rtime; /* time of last msgrcv command */
-#ifndef __x86_64__
- unsigned long int __glibc_reserved2;
-#endif
- __time_t msg_ctime; /* time of last change */
-#ifndef __x86_64__
- unsigned long int __glibc_reserved3;
-#endif
- __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */
- msgqnum_t msg_qnum; /* number of messages currently on queue */
- msglen_t msg_qbytes; /* max number of bytes allowed on queue */
- __pid_t msg_lspid; /* pid of last msgsnd() */
- __pid_t msg_lrpid; /* pid of last msgrcv() */
- __syscall_ulong_t __glibc_reserved4;
- __syscall_ulong_t __glibc_reserved5;
-};
-
-#ifdef __USE_MISC
-
-# define msg_cbytes __msg_cbytes
-
-/* ipcs ctl commands */
-# define MSG_STAT 11
-# define MSG_INFO 12
-
-/* buffer for msgctl calls IPC_INFO, MSG_INFO */
-struct msginfo
- {
- int msgpool;
- int msgmap;
- int msgmax;
- int msgmnb;
- int msgmni;
- int msgssz;
- int msgtql;
- unsigned short int msgseg;
- };
-
-#endif /* __USE_MISC */
diff --git a/sysdeps/unix/sysv/linux/x86/bits/sem.h b/sysdeps/unix/sysv/linux/x86/bits/sem.h
deleted file mode 100644
index b3e0047dd2..0000000000
--- a/sysdeps/unix/sysv/linux/x86/bits/sem.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/* Copyright (C) 2002-2017 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, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _SYS_SEM_H
-# error "Never include <bits/sem.h> directly; use <sys/sem.h> instead."
-#endif
-
-#include <sys/types.h>
-
-/* Flags for `semop'. */
-#define SEM_UNDO 0x1000 /* undo the operation on exit */
-
-/* Commands for `semctl'. */
-#define GETPID 11 /* get sempid */
-#define GETVAL 12 /* get semval */
-#define GETALL 13 /* get all semval's */
-#define GETNCNT 14 /* get semncnt */
-#define GETZCNT 15 /* get semzcnt */
-#define SETVAL 16 /* set semval */
-#define SETALL 17 /* set all semval's */
-
-
-/* Data structure describing a set of semaphores. */
-struct semid_ds
-{
- struct ipc_perm sem_perm; /* operation permission struct */
- __time_t sem_otime; /* last semop() time */
- __syscall_ulong_t __glibc_reserved1;
- __time_t sem_ctime; /* last time changed by semctl() */
- __syscall_ulong_t __glibc_reserved2;
- __syscall_ulong_t sem_nsems; /* number of semaphores in set */
- __syscall_ulong_t __glibc_reserved3;
- __syscall_ulong_t __glibc_reserved4;
-};
-
-/* The user should define a union like the following to use it for arguments
- for `semctl'.
-
- union semun
- {
- int val; <= value for SETVAL
- struct semid_ds *buf; <= buffer for IPC_STAT & IPC_SET
- unsigned short int *array; <= array for GETALL & SETALL
- struct seminfo *__buf; <= buffer for IPC_INFO
- };
-
- Previous versions of this file used to define this union but this is
- incorrect. One can test the macro _SEM_SEMUN_UNDEFINED to see whether
- one must define the union or not. */
-#define _SEM_SEMUN_UNDEFINED 1
-
-#ifdef __USE_MISC
-
-/* ipcs ctl cmds */
-# define SEM_STAT 18
-# define SEM_INFO 19
-
-struct seminfo
-{
- int semmap;
- int semmni;
- int semmns;
- int semmnu;
- int semmsl;
- int semopm;
- int semume;
- int semusz;
- int semvmx;
- int semaem;
-};
-
-#endif /* __USE_MISC */
diff --git a/sysdeps/unix/sysv/linux/x86/bits/shm.h b/sysdeps/unix/sysv/linux/x86/bits/shm.h
deleted file mode 100644
index 5f8e2e1575..0000000000
--- a/sysdeps/unix/sysv/linux/x86/bits/shm.h
+++ /dev/null
@@ -1,109 +0,0 @@
-/* Copyright (C) 1995-2017 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, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _SYS_SHM_H
-# error "Never include <bits/shm.h> directly; use <sys/shm.h> instead."
-#endif
-
-#include <bits/types.h>
-
-/* Permission flag for shmget. */
-#define SHM_R 0400 /* or S_IRUGO from <linux/stat.h> */
-#define SHM_W 0200 /* or S_IWUGO from <linux/stat.h> */
-
-/* Flags for `shmat'. */
-#define SHM_RDONLY 010000 /* attach read-only else read-write */
-#define SHM_RND 020000 /* round attach address to SHMLBA */
-#define SHM_REMAP 040000 /* take-over region on attach */
-#define SHM_EXEC 0100000 /* execution access */
-
-/* Commands for `shmctl'. */
-#define SHM_LOCK 11 /* lock segment (root only) */
-#define SHM_UNLOCK 12 /* unlock segment (root only) */
-
-__BEGIN_DECLS
-
-/* Segment low boundary address multiple. */
-#define SHMLBA (__getpagesize ())
-extern int __getpagesize (void) __THROW __attribute__ ((__const__));
-
-
-/* Type to count number of attaches. */
-typedef __syscall_ulong_t shmatt_t;
-
-/* Data structure describing a shared memory segment. */
-struct shmid_ds
- {
- struct ipc_perm shm_perm; /* operation permission struct */
- size_t shm_segsz; /* size of segment in bytes */
- __time_t shm_atime; /* time of last shmat() */
-#ifndef __x86_64__
- unsigned long int __glibc_reserved1;
-#endif
- __time_t shm_dtime; /* time of last shmdt() */
-#ifndef __x86_64__
- unsigned long int __glibc_reserved2;
-#endif
- __time_t shm_ctime; /* time of last change by shmctl() */
-#ifndef __x86_64__
- unsigned long int __glibc_reserved3;
-#endif
- __pid_t shm_cpid; /* pid of creator */
- __pid_t shm_lpid; /* pid of last shmop */
- shmatt_t shm_nattch; /* number of current attaches */
- __syscall_ulong_t __glibc_reserved4;
- __syscall_ulong_t __glibc_reserved5;
- };
-
-#ifdef __USE_MISC
-
-/* ipcs ctl commands */
-# define SHM_STAT 13
-# define SHM_INFO 14
-
-/* shm_mode upper byte flags */
-# define SHM_DEST 01000 /* segment will be destroyed on last detach */
-# define SHM_LOCKED 02000 /* segment will not be swapped */
-# define SHM_HUGETLB 04000 /* segment is mapped via hugetlb */
-# define SHM_NORESERVE 010000 /* don't check for reservations */
-
-struct shminfo
- {
- __syscall_ulong_t shmmax;
- __syscall_ulong_t shmmin;
- __syscall_ulong_t shmmni;
- __syscall_ulong_t shmseg;
- __syscall_ulong_t shmall;
- __syscall_ulong_t __glibc_reserved1;
- __syscall_ulong_t __glibc_reserved2;
- __syscall_ulong_t __glibc_reserved3;
- __syscall_ulong_t __glibc_reserved4;
- };
-
-struct shm_info
- {
- int used_ids;
- __syscall_ulong_t shm_tot; /* total allocated shm */
- __syscall_ulong_t shm_rss; /* total resident shm */
- __syscall_ulong_t shm_swp; /* total swapped shm */
- __syscall_ulong_t swap_attempts;
- __syscall_ulong_t swap_successes;
- };
-
-#endif /* __USE_MISC */
-
-__END_DECLS
diff --git a/sysdeps/unix/sysv/linux/x86/bits/sigcontext.h b/sysdeps/unix/sysv/linux/x86/bits/sigcontext.h
deleted file mode 100644
index cff595b94a..0000000000
--- a/sysdeps/unix/sysv/linux/x86/bits/sigcontext.h
+++ /dev/null
@@ -1,196 +0,0 @@
-/* Copyright (C) 2002-2017 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, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _BITS_SIGCONTEXT_H
-#define _BITS_SIGCONTEXT_H 1
-
-#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
-# error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."
-#endif
-
-#include <bits/types.h>
-
-#define FP_XSTATE_MAGIC1 0x46505853U
-#define FP_XSTATE_MAGIC2 0x46505845U
-#define FP_XSTATE_MAGIC2_SIZE sizeof(FP_XSTATE_MAGIC2)
-
-struct _fpx_sw_bytes
-{
- __uint32_t magic1;
- __uint32_t extended_size;
- __uint64_t xstate_bv;
- __uint32_t xstate_size;
- __uint32_t __glibc_reserved1[7];
-};
-
-struct _fpreg
-{
- unsigned short significand[4];
- unsigned short exponent;
-};
-
-struct _fpxreg
-{
- unsigned short significand[4];
- unsigned short exponent;
- unsigned short __glibc_reserved1[3];
-};
-
-struct _xmmreg
-{
- __uint32_t element[4];
-};
-
-
-
-#ifndef __x86_64__
-
-struct _fpstate
-{
- /* Regular FPU environment. */
- __uint32_t cw;
- __uint32_t sw;
- __uint32_t tag;
- __uint32_t ipoff;
- __uint32_t cssel;
- __uint32_t dataoff;
- __uint32_t datasel;
- struct _fpreg _st[8];
- unsigned short status;
- unsigned short magic;
-
- /* FXSR FPU environment. */
- __uint32_t _fxsr_env[6];
- __uint32_t mxcsr;
- __uint32_t __glibc_reserved1;
- struct _fpxreg _fxsr_st[8];
- struct _xmmreg _xmm[8];
- __uint32_t __glibc_reserved2[56];
-};
-
-#ifndef sigcontext_struct
-/* Kernel headers before 2.1.1 define a struct sigcontext_struct, but
- we need sigcontext. Some packages have come to rely on
- sigcontext_struct being defined on 32-bit x86, so define this for
- their benefit. */
-# define sigcontext_struct sigcontext
-#endif
-
-#define X86_FXSR_MAGIC 0x0000
-
-struct sigcontext
-{
- unsigned short gs, __gsh;
- unsigned short fs, __fsh;
- unsigned short es, __esh;
- unsigned short ds, __dsh;
- unsigned long edi;
- unsigned long esi;
- unsigned long ebp;
- unsigned long esp;
- unsigned long ebx;
- unsigned long edx;
- unsigned long ecx;
- unsigned long eax;
- unsigned long trapno;
- unsigned long err;
- unsigned long eip;
- unsigned short cs, __csh;
- unsigned long eflags;
- unsigned long esp_at_signal;
- unsigned short ss, __ssh;
- struct _fpstate * fpstate;
- unsigned long oldmask;
- unsigned long cr2;
-};
-
-#else /* __x86_64__ */
-
-struct _fpstate
-{
- /* FPU environment matching the 64-bit FXSAVE layout. */
- __uint16_t cwd;
- __uint16_t swd;
- __uint16_t ftw;
- __uint16_t fop;
- __uint64_t rip;
- __uint64_t rdp;
- __uint32_t mxcsr;
- __uint32_t mxcr_mask;
- struct _fpxreg _st[8];
- struct _xmmreg _xmm[16];
- __uint32_t __glibc_reserved1[24];
-};
-
-struct sigcontext
-{
- __uint64_t r8;
- __uint64_t r9;
- __uint64_t r10;
- __uint64_t r11;
- __uint64_t r12;
- __uint64_t r13;
- __uint64_t r14;
- __uint64_t r15;
- __uint64_t rdi;
- __uint64_t rsi;
- __uint64_t rbp;
- __uint64_t rbx;
- __uint64_t rdx;
- __uint64_t rax;
- __uint64_t rcx;
- __uint64_t rsp;
- __uint64_t rip;
- __uint64_t eflags;
- unsigned short cs;
- unsigned short gs;
- unsigned short fs;
- unsigned short __pad0;
- __uint64_t err;
- __uint64_t trapno;
- __uint64_t oldmask;
- __uint64_t cr2;
- __extension__ union
- {
- struct _fpstate * fpstate;
- __uint64_t __fpstate_word;
- };
- __uint64_t __reserved1 [8];
-};
-
-#endif /* __x86_64__ */
-
-struct _xsave_hdr
-{
- __uint64_t xstate_bv;
- __uint64_t __glibc_reserved1[2];
- __uint64_t __glibc_reserved2[5];
-};
-
-struct _ymmh_state
-{
- __uint32_t ymmh_space[64];
-};
-
-struct _xstate
-{
- struct _fpstate fpstate;
- struct _xsave_hdr xstate_hdr;
- struct _ymmh_state ymmh;
-};
-
-#endif /* _BITS_SIGCONTEXT_H */
diff --git a/sysdeps/unix/sysv/linux/x86/bits/siginfo-arch.h b/sysdeps/unix/sysv/linux/x86/bits/siginfo-arch.h
deleted file mode 100644
index 7688a8d66d..0000000000
--- a/sysdeps/unix/sysv/linux/x86/bits/siginfo-arch.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/* Architecture-specific adjustments to siginfo_t. x86 version. */
-#ifndef _BITS_SIGINFO_ARCH_H
-#define _BITS_SIGINFO_ARCH_H 1
-
-#if defined __x86_64__ && __WORDSIZE == 32
-/* si_utime and si_stime must be 4 byte aligned for x32 to match the
- kernel. We align siginfo_t to 8 bytes so that si_utime and
- si_stime are actually aligned to 8 bytes since their offsets are
- multiple of 8 bytes. Note: with some compilers, the alignment
- attribute would be ignored if it were put in __SI_CLOCK_T instead
- of encapsulated in a typedef. */
-typedef __clock_t __attribute__ ((__aligned__ (4))) __sigchld_clock_t;
-# define __SI_ALIGNMENT __attribute__ ((__aligned__ (8)))
-# define __SI_CLOCK_T __sigchld_clock_t
-#endif
-
-#endif
diff --git a/sysdeps/unix/sysv/linux/x86/bits/stat.h b/sysdeps/unix/sysv/linux/x86/bits/stat.h
deleted file mode 100644
index 5a44b40c86..0000000000
--- a/sysdeps/unix/sysv/linux/x86/bits/stat.h
+++ /dev/null
@@ -1,210 +0,0 @@
-/* Copyright (C) 1999-2017 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, see
- <http://www.gnu.org/licenses/>. */
-
-#if !defined _SYS_STAT_H && !defined _FCNTL_H
-# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."
-#endif
-
-#ifndef _BITS_STAT_H
-#define _BITS_STAT_H 1
-
-/* Versions of the `struct stat' data structure. */
-#ifndef __x86_64__
-# define _STAT_VER_LINUX_OLD 1
-# define _STAT_VER_KERNEL 1
-# define _STAT_VER_SVR4 2
-# define _STAT_VER_LINUX 3
-
-/* i386 versions of the `xmknod' interface. */
-# define _MKNOD_VER_LINUX 1
-# define _MKNOD_VER_SVR4 2
-# define _MKNOD_VER _MKNOD_VER_LINUX /* The bits defined below. */
-#else
-# define _STAT_VER_KERNEL 0
-# define _STAT_VER_LINUX 1
-
-/* x86-64 versions of the `xmknod' interface. */
-# define _MKNOD_VER_LINUX 0
-#endif
-
-#define _STAT_VER _STAT_VER_LINUX
-
-struct stat
- {
- __dev_t st_dev; /* Device. */
-#ifndef __x86_64__
- unsigned short int __pad1;
-#endif
-#if defined __x86_64__ || !defined __USE_FILE_OFFSET64
- __ino_t st_ino; /* File serial number. */
-#else
- __ino_t __st_ino; /* 32bit file serial number. */
-#endif
-#ifndef __x86_64__
- __mode_t st_mode; /* File mode. */
- __nlink_t st_nlink; /* Link count. */
-#else
- __nlink_t st_nlink; /* Link count. */
- __mode_t st_mode; /* File mode. */
-#endif
- __uid_t st_uid; /* User ID of the file's owner. */
- __gid_t st_gid; /* Group ID of the file's group.*/
-#ifdef __x86_64__
- int __pad0;
-#endif
- __dev_t st_rdev; /* Device number, if device. */
-#ifndef __x86_64__
- unsigned short int __pad2;
-#endif
-#if defined __x86_64__ || !defined __USE_FILE_OFFSET64
- __off_t st_size; /* Size of file, in bytes. */
-#else
- __off64_t st_size; /* Size of file, in bytes. */
-#endif
- __blksize_t st_blksize; /* Optimal block size for I/O. */
-#if defined __x86_64__ || !defined __USE_FILE_OFFSET64
- __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */
-#else
- __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
-#endif
-#ifdef __USE_XOPEN2K8
- /* Nanosecond resolution timestamps are stored in a format
- equivalent to 'struct timespec'. This is the type used
- whenever possible but the Unix namespace rules do not allow the
- identifier 'timespec' to appear in the <sys/stat.h> header.
- Therefore we have to handle the use of this header in strictly
- standard-compliant sources special. */
- struct timespec st_atim; /* Time of last access. */
- struct timespec st_mtim; /* Time of last modification. */
- struct timespec st_ctim; /* Time of last status change. */
-# define st_atime st_atim.tv_sec /* Backward compatibility. */
-# define st_mtime st_mtim.tv_sec
-# define st_ctime st_ctim.tv_sec
-#else
- __time_t st_atime; /* Time of last access. */
- __syscall_ulong_t st_atimensec; /* Nscecs of last access. */
- __time_t st_mtime; /* Time of last modification. */
- __syscall_ulong_t st_mtimensec; /* Nsecs of last modification. */
- __time_t st_ctime; /* Time of last status change. */
- __syscall_ulong_t st_ctimensec; /* Nsecs of last status change. */
-#endif
-#ifdef __x86_64__
- __syscall_slong_t __glibc_reserved[3];
-#else
-# ifndef __USE_FILE_OFFSET64
- unsigned long int __glibc_reserved4;
- unsigned long int __glibc_reserved5;
-# else
- __ino64_t st_ino; /* File serial number. */
-# endif
-#endif
- };
-
-#ifdef __USE_LARGEFILE64
-/* Note stat64 has the same shape as stat for x86-64. */
-struct stat64
- {
- __dev_t st_dev; /* Device. */
-# ifdef __x86_64__
- __ino64_t st_ino; /* File serial number. */
- __nlink_t st_nlink; /* Link count. */
- __mode_t st_mode; /* File mode. */
-# else
- unsigned int __pad1;
- __ino_t __st_ino; /* 32bit file serial number. */
- __mode_t st_mode; /* File mode. */
- __nlink_t st_nlink; /* Link count. */
-# endif
- __uid_t st_uid; /* User ID of the file's owner. */
- __gid_t st_gid; /* Group ID of the file's group.*/
-# ifdef __x86_64__
- int __pad0;
- __dev_t st_rdev; /* Device number, if device. */
- __off_t st_size; /* Size of file, in bytes. */
-# else
- __dev_t st_rdev; /* Device number, if device. */
- unsigned int __pad2;
- __off64_t st_size; /* Size of file, in bytes. */
-# endif
- __blksize_t st_blksize; /* Optimal block size for I/O. */
- __blkcnt64_t st_blocks; /* Nr. 512-byte blocks allocated. */
-# ifdef __USE_XOPEN2K8
- /* Nanosecond resolution timestamps are stored in a format
- equivalent to 'struct timespec'. This is the type used
- whenever possible but the Unix namespace rules do not allow the
- identifier 'timespec' to appear in the <sys/stat.h> header.
- Therefore we have to handle the use of this header in strictly
- standard-compliant sources special. */
- struct timespec st_atim; /* Time of last access. */
- struct timespec st_mtim; /* Time of last modification. */
- struct timespec st_ctim; /* Time of last status change. */
-# else
- __time_t st_atime; /* Time of last access. */
- __syscall_ulong_t st_atimensec; /* Nscecs of last access. */
- __time_t st_mtime; /* Time of last modification. */
- __syscall_ulong_t st_mtimensec; /* Nsecs of last modification. */
- __time_t st_ctime; /* Time of last status change. */
- __syscall_ulong_t st_ctimensec; /* Nsecs of last status change. */
-# endif
-# ifdef __x86_64__
- __syscall_slong_t __glibc_reserved[3];
-# else
- __ino64_t st_ino; /* File serial number. */
-# endif
- };
-#endif
-
-/* Tell code we have these members. */
-#define _STATBUF_ST_BLKSIZE
-#define _STATBUF_ST_RDEV
-/* Nanosecond resolution time values are supported. */
-#define _STATBUF_ST_NSEC
-
-/* Encoding of the file mode. */
-
-#define __S_IFMT 0170000 /* These bits determine file type. */
-
-/* File types. */
-#define __S_IFDIR 0040000 /* Directory. */
-#define __S_IFCHR 0020000 /* Character device. */
-#define __S_IFBLK 0060000 /* Block device. */
-#define __S_IFREG 0100000 /* Regular file. */
-#define __S_IFIFO 0010000 /* FIFO. */
-#define __S_IFLNK 0120000 /* Symbolic link. */
-#define __S_IFSOCK 0140000 /* Socket. */
-
-/* POSIX.1b objects. Note that these macros always evaluate to zero. But
- they do it by enforcing the correct use of the macros. */
-#define __S_TYPEISMQ(buf) ((buf)->st_mode - (buf)->st_mode)
-#define __S_TYPEISSEM(buf) ((buf)->st_mode - (buf)->st_mode)
-#define __S_TYPEISSHM(buf) ((buf)->st_mode - (buf)->st_mode)
-
-/* Protection bits. */
-
-#define __S_ISUID 04000 /* Set user ID on execution. */
-#define __S_ISGID 02000 /* Set group ID on execution. */
-#define __S_ISVTX 01000 /* Save swapped text after use (sticky). */
-#define __S_IREAD 0400 /* Read by owner. */
-#define __S_IWRITE 0200 /* Write by owner. */
-#define __S_IEXEC 0100 /* Execute by owner. */
-
-#ifdef __USE_ATFILE
-# define UTIME_NOW ((1l << 30) - 1l)
-# define UTIME_OMIT ((1l << 30) - 2l)
-#endif
-
-#endif /* bits/stat.h */
diff --git a/sysdeps/unix/sysv/linux/x86/bits/sysctl.h b/sysdeps/unix/sysv/linux/x86/bits/sysctl.h
deleted file mode 100644
index 399261a2c9..0000000000
--- a/sysdeps/unix/sysv/linux/x86/bits/sysctl.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright (C) 2012-2017 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, see
- <http://www.gnu.org/licenses/>. */
-
-#if defined __x86_64__ && defined __ILP32__
-# error "sysctl system call is unsupported in x32 kernel"
-#endif
diff --git a/sysdeps/unix/sysv/linux/x86/bits/typesizes.h b/sysdeps/unix/sysv/linux/x86/bits/typesizes.h
deleted file mode 100644
index 73962eb859..0000000000
--- a/sysdeps/unix/sysv/linux/x86/bits/typesizes.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/* bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version.
- Copyright (C) 2012-2017 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, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _BITS_TYPES_H
-# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
-#endif
-
-#ifndef _BITS_TYPESIZES_H
-#define _BITS_TYPESIZES_H 1
-
-/* See <bits/types.h> for the meaning of these macros. This file exists so
- that <bits/types.h> need not vary across different GNU platforms. */
-
-/* X32 kernel interface is 64-bit. */
-#if defined __x86_64__ && defined __ILP32__
-# define __SYSCALL_SLONG_TYPE __SQUAD_TYPE
-# define __SYSCALL_ULONG_TYPE __UQUAD_TYPE
-#else
-# define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE
-# define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE
-#endif
-
-#define __DEV_T_TYPE __UQUAD_TYPE
-#define __UID_T_TYPE __U32_TYPE
-#define __GID_T_TYPE __U32_TYPE
-#define __INO_T_TYPE __SYSCALL_ULONG_TYPE
-#define __INO64_T_TYPE __UQUAD_TYPE
-#define __MODE_T_TYPE __U32_TYPE
-#ifdef __x86_64__
-# define __NLINK_T_TYPE __SYSCALL_ULONG_TYPE
-# define __FSWORD_T_TYPE __SYSCALL_SLONG_TYPE
-#else
-# define __NLINK_T_TYPE __UWORD_TYPE
-# define __FSWORD_T_TYPE __SWORD_TYPE
-#endif
-#define __OFF_T_TYPE __SYSCALL_SLONG_TYPE
-#define __OFF64_T_TYPE __SQUAD_TYPE
-#define __PID_T_TYPE __S32_TYPE
-#define __RLIM_T_TYPE __SYSCALL_ULONG_TYPE
-#define __RLIM64_T_TYPE __UQUAD_TYPE
-#define __BLKCNT_T_TYPE __SYSCALL_SLONG_TYPE
-#define __BLKCNT64_T_TYPE __SQUAD_TYPE
-#define __FSBLKCNT_T_TYPE __SYSCALL_ULONG_TYPE
-#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
-#define __FSFILCNT_T_TYPE __SYSCALL_ULONG_TYPE
-#define __FSFILCNT64_T_TYPE __UQUAD_TYPE
-#define __ID_T_TYPE __U32_TYPE
-#define __CLOCK_T_TYPE __SYSCALL_SLONG_TYPE
-#define __TIME_T_TYPE __SYSCALL_SLONG_TYPE
-#define __USECONDS_T_TYPE __U32_TYPE
-#define __SUSECONDS_T_TYPE __SYSCALL_SLONG_TYPE
-#define __DADDR_T_TYPE __S32_TYPE
-#define __KEY_T_TYPE __S32_TYPE
-#define __CLOCKID_T_TYPE __S32_TYPE
-#define __TIMER_T_TYPE void *
-#define __BLKSIZE_T_TYPE __SYSCALL_SLONG_TYPE
-#define __FSID_T_TYPE struct { int __val[2]; }
-#define __SSIZE_T_TYPE __SWORD_TYPE
-#define __CPU_MASK_TYPE __SYSCALL_ULONG_TYPE
-
-#ifdef __x86_64__
-/* Tell the libc code that off_t and off64_t are actually the same type
- for all ABI purposes, even if possibly expressed as different base types
- for C type-checking purposes. */
-# define __OFF_T_MATCHES_OFF64_T 1
-
-/* Same for ino_t and ino64_t. */
-# define __INO_T_MATCHES_INO64_T 1
-
-/* And for __rlim_t and __rlim64_t. */
-# define __RLIM_T_MATCHES_RLIM64_T 1
-#else
-# define __RLIM_T_MATCHES_RLIM64_T 0
-#endif
-
-/* Number of descriptors that can fit in an `fd_set'. */
-#define __FD_SETSIZE 1024
-
-
-#endif /* bits/typesizes.h */
diff --git a/sysdeps/unix/sysv/linux/x86/elision-conf.c b/sysdeps/unix/sysv/linux/x86/elision-conf.c
deleted file mode 100644
index 673b0005a7..0000000000
--- a/sysdeps/unix/sysv/linux/x86/elision-conf.c
+++ /dev/null
@@ -1,78 +0,0 @@
-/* elision-conf.c: Lock elision tunable parameters.
- Copyright (C) 2013-2017 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, see
- <http://www.gnu.org/licenses/>. */
-
-#include "config.h"
-#include <pthreadP.h>
-#include <init-arch.h>
-#include <elision-conf.h>
-#include <unistd.h>
-
-/* Reasonable initial tuning values, may be revised in the future.
- This is a conservative initial value. */
-
-struct elision_config __elision_aconf =
- {
- /* How often to not attempt to use elision if a transaction aborted
- because the lock is already acquired. Expressed in number of lock
- acquisition attempts. */
- .skip_lock_busy = 3,
- /* How often to not attempt to use elision if a transaction aborted due
- to reasons other than other threads' memory accesses. Expressed in
- number of lock acquisition attempts. */
- .skip_lock_internal_abort = 3,
- /* How often we retry using elision if there is chance for the transaction
- to finish execution (e.g., it wasn't aborted due to the lock being
- already acquired. */
- .retry_try_xbegin = 3,
- /* Same as SKIP_LOCK_INTERNAL_ABORT but for trylock. */
- .skip_trylock_internal_abort = 3,
- };
-
-/* Force elision for all new locks. This is used to decide whether existing
- DEFAULT locks should be automatically upgraded to elision in
- pthread_mutex_lock(). Disabled for suid programs. Only used when elision
- is available. */
-
-int __pthread_force_elision attribute_hidden;
-
-/* Initialize elison. */
-
-static void
-elision_init (int argc __attribute__ ((unused)),
- char **argv __attribute__ ((unused)),
- char **environ)
-{
- int elision_available = HAS_CPU_FEATURE (RTM);
-#ifdef ENABLE_LOCK_ELISION
- __pthread_force_elision = __libc_enable_secure ? 0 : elision_available;
-#endif
- if (!elision_available)
- __elision_aconf.retry_try_xbegin = 0; /* Disable elision on rwlocks */
-}
-
-#ifdef SHARED
-# define INIT_SECTION ".init_array"
-#else
-# define INIT_SECTION ".preinit_array"
-#endif
-
-void (*const __pthread_init_array []) (int, char **, char **)
- __attribute__ ((section (INIT_SECTION), aligned (sizeof (void *)))) =
-{
- &elision_init
-};
diff --git a/sysdeps/unix/sysv/linux/x86/elision-conf.h b/sysdeps/unix/sysv/linux/x86/elision-conf.h
deleted file mode 100644
index f187d72d40..0000000000
--- a/sysdeps/unix/sysv/linux/x86/elision-conf.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/* elision-conf.h: Lock elision tunable parameters.
- Copyright (C) 2013-2017 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, see
- <http://www.gnu.org/licenses/>. */
-#ifndef _ELISION_CONF_H
-#define _ELISION_CONF_H 1
-
-#include <pthread.h>
-#include <time.h>
-
-/* Should make sure there is no false sharing on this. */
-
-struct elision_config
-{
- int skip_lock_busy;
- int skip_lock_internal_abort;
- int retry_try_xbegin;
- int skip_trylock_internal_abort;
-};
-
-extern struct elision_config __elision_aconf attribute_hidden;
-
-extern int __pthread_force_elision attribute_hidden;
-
-/* Tell the test suite to test elision for this architecture. */
-#define HAVE_ELISION 1
-
-#endif
diff --git a/sysdeps/unix/sysv/linux/x86/elision-lock.c b/sysdeps/unix/sysv/linux/x86/elision-lock.c
deleted file mode 100644
index f5ff111dd3..0000000000
--- a/sysdeps/unix/sysv/linux/x86/elision-lock.c
+++ /dev/null
@@ -1,107 +0,0 @@
-/* elision-lock.c: Elided pthread mutex lock.
- Copyright (C) 2011-2017 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, see
- <http://www.gnu.org/licenses/>. */
-
-#include <pthread.h>
-#include "pthreadP.h"
-#include "lowlevellock.h"
-#include "hle.h"
-#include <elision-conf.h>
-
-#if !defined(LLL_LOCK) && !defined(EXTRAARG)
-/* Make sure the configuration code is always linked in for static
- libraries. */
-#include "elision-conf.c"
-#endif
-
-#ifndef EXTRAARG
-#define EXTRAARG
-#endif
-#ifndef LLL_LOCK
-#define LLL_LOCK(a,b) lll_lock(a,b), 0
-#endif
-
-#define aconf __elision_aconf
-
-/* Adaptive lock using transactions.
- By default the lock region is run as a transaction, and when it
- aborts or the lock is busy the lock adapts itself. */
-
-int
-__lll_lock_elision (int *futex, short *adapt_count, EXTRAARG int private)
-{
- /* adapt_count can be accessed concurrently; these accesses can be both
- inside of transactions (if critical sections are nested and the outer
- critical section uses lock elision) and outside of transactions. Thus,
- we need to use atomic accesses to avoid data races. However, the
- value of adapt_count is just a hint, so relaxed MO accesses are
- sufficient. */
- if (atomic_load_relaxed (adapt_count) <= 0)
- {
- unsigned status;
- int try_xbegin;
-
- for (try_xbegin = aconf.retry_try_xbegin;
- try_xbegin > 0;
- try_xbegin--)
- {
- if ((status = _xbegin()) == _XBEGIN_STARTED)
- {
- if (*futex == 0)
- return 0;
-
- /* Lock was busy. Fall back to normal locking.
- Could also _xend here but xabort with 0xff code
- is more visible in the profiler. */
- _xabort (_ABORT_LOCK_BUSY);
- }
-
- if (!(status & _XABORT_RETRY))
- {
- if ((status & _XABORT_EXPLICIT)
- && _XABORT_CODE (status) == _ABORT_LOCK_BUSY)
- {
- /* Right now we skip here. Better would be to wait a bit
- and retry. This likely needs some spinning. See
- above for why relaxed MO is sufficient. */
- if (atomic_load_relaxed (adapt_count)
- != aconf.skip_lock_busy)
- atomic_store_relaxed (adapt_count, aconf.skip_lock_busy);
- }
- /* Internal abort. There is no chance for retry.
- Use the normal locking and next time use lock.
- Be careful to avoid writing to the lock. See above for why
- relaxed MO is sufficient. */
- else if (atomic_load_relaxed (adapt_count)
- != aconf.skip_lock_internal_abort)
- atomic_store_relaxed (adapt_count,
- aconf.skip_lock_internal_abort);
- break;
- }
- }
- }
- else
- {
- /* Use a normal lock until the threshold counter runs out.
- Lost updates possible. */
- atomic_store_relaxed (adapt_count,
- atomic_load_relaxed (adapt_count) - 1);
- }
-
- /* Use a normal lock here. */
- return LLL_LOCK ((*futex), private);
-}
diff --git a/sysdeps/unix/sysv/linux/x86/elision-timed.c b/sysdeps/unix/sysv/linux/x86/elision-timed.c
deleted file mode 100644
index 47b81c08c8..0000000000
--- a/sysdeps/unix/sysv/linux/x86/elision-timed.c
+++ /dev/null
@@ -1,26 +0,0 @@
-/* elision-timed.c: Lock elision timed lock.
- Copyright (C) 2013-2017 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, see
- <http://www.gnu.org/licenses/>. */
-
-#include <time.h>
-#include <elision-conf.h>
-#include "lowlevellock.h"
-#define __lll_lock_elision __lll_timedlock_elision
-#define EXTRAARG const struct timespec *t,
-#undef LLL_LOCK
-#define LLL_LOCK(a, b) lll_timedlock(a, t, b)
-#include "elision-lock.c"
diff --git a/sysdeps/unix/sysv/linux/x86/elision-trylock.c b/sysdeps/unix/sysv/linux/x86/elision-trylock.c
deleted file mode 100644
index c19293bf7a..0000000000
--- a/sysdeps/unix/sysv/linux/x86/elision-trylock.c
+++ /dev/null
@@ -1,75 +0,0 @@
-/* elision-trylock.c: Lock eliding trylock for pthreads.
- Copyright (C) 2013-2017 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, see
- <http://www.gnu.org/licenses/>. */
-
-#include <pthread.h>
-#include <pthreadP.h>
-#include <lowlevellock.h>
-#include "hle.h"
-#include <elision-conf.h>
-
-#define aconf __elision_aconf
-
-/* Try to elide a futex trylock. FUTEX is the futex variable. ADAPT_COUNT is
- the adaptation counter in the mutex. */
-
-int
-__lll_trylock_elision (int *futex, short *adapt_count)
-{
- /* Implement POSIX semantics by forbiding nesting
- trylock. Sorry. After the abort the code is re-executed
- non transactional and if the lock was already locked
- return an error. */
- _xabort (_ABORT_NESTED_TRYLOCK);
-
- /* Only try a transaction if it's worth it. See __lll_lock_elision for
- why we need atomic accesses. Relaxed MO is sufficient because this is
- just a hint. */
- if (atomic_load_relaxed (adapt_count) <= 0)
- {
- unsigned status;
-
- if ((status = _xbegin()) == _XBEGIN_STARTED)
- {
- if (*futex == 0)
- return 0;
-
- /* Lock was busy. Fall back to normal locking.
- Could also _xend here but xabort with 0xff code
- is more visible in the profiler. */
- _xabort (_ABORT_LOCK_BUSY);
- }
-
- if (!(status & _XABORT_RETRY))
- {
- /* Internal abort. No chance for retry. For future
- locks don't try speculation for some time. See above for MO. */
- if (atomic_load_relaxed (adapt_count)
- != aconf.skip_lock_internal_abort)
- atomic_store_relaxed (adapt_count, aconf.skip_lock_internal_abort);
- }
- /* Could do some retries here. */
- }
- else
- {
- /* Lost updates are possible but harmless (see above). */
- atomic_store_relaxed (adapt_count,
- atomic_load_relaxed (adapt_count) - 1);
- }
-
- return lll_trylock (*futex);
-}
diff --git a/sysdeps/unix/sysv/linux/x86/elision-unlock.c b/sysdeps/unix/sysv/linux/x86/elision-unlock.c
deleted file mode 100644
index a3d07cbf21..0000000000
--- a/sysdeps/unix/sysv/linux/x86/elision-unlock.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/* elision-unlock.c: Commit an elided pthread lock.
- Copyright (C) 2013-2017 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, see
- <http://www.gnu.org/licenses/>. */
-
-#include "pthreadP.h"
-#include "lowlevellock.h"
-#include "hle.h"
-
-int
-__lll_unlock_elision(int *lock, int private)
-{
- /* When the lock was free we're in a transaction.
- When you crash here you unlocked a free lock. */
- if (*lock == 0)
- _xend();
- else
- lll_unlock ((*lock), private);
- return 0;
-}
diff --git a/sysdeps/unix/sysv/linux/x86/force-elision.h b/sysdeps/unix/sysv/linux/x86/force-elision.h
deleted file mode 100644
index 2e93a0699a..0000000000
--- a/sysdeps/unix/sysv/linux/x86/force-elision.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/* force-elision.h: Automatic enabling of elision for mutexes
- Copyright (C) 2013-2017 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, see
- <http://www.gnu.org/licenses/>. */
-
-/* Automatically enable elision for existing user lock kinds. */
-#define FORCE_ELISION(m, s) \
- if (__pthread_force_elision \
- && (m->__data.__kind & PTHREAD_MUTEX_ELISION_FLAGS_NP) == 0) \
- { \
- mutex->__data.__kind |= PTHREAD_MUTEX_ELISION_NP; \
- s; \
- }
diff --git a/sysdeps/unix/sysv/linux/x86/gettimeofday.c b/sysdeps/unix/sysv/linux/x86/gettimeofday.c
deleted file mode 100644
index fee2fd2da3..0000000000
--- a/sysdeps/unix/sysv/linux/x86/gettimeofday.c
+++ /dev/null
@@ -1,61 +0,0 @@
-/* gettimeofday - get the time. Linux/x86 version.
- Copyright (C) 2015-2017 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, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sys/time.h>
-
-#ifdef SHARED
-
-# include <dl-vdso.h>
-# include <errno.h>
-
-static int
-__gettimeofday_syscall (struct timeval *tv, struct timezone *tz)
-{
- return INLINE_SYSCALL (gettimeofday, 2, tv, tz);
-}
-
-# ifndef __gettimeofday_type
-/* The i386 gettimeofday.c includes this file with a defined
- __gettimeofday_type macro. For x86_64 we have to define it to __gettimeofday
- as the internal symbol is the ifunc'ed one. */
-# define __gettimeofday_type __gettimeofday
-# endif
-
-# undef INIT_ARCH
-# define INIT_ARCH() PREPARE_VERSION_KNOWN (linux26, LINUX_2_6)
-/* If the vDSO is not available we fall back to syscall. */
-libc_ifunc_hidden (__gettimeofday_type, __gettimeofday,
- (_dl_vdso_vsym ("__vdso_gettimeofday", &linux26)
- ?: &__gettimeofday_syscall))
-libc_hidden_def (__gettimeofday)
-
-#else
-
-# include <sysdep.h>
-# include <errno.h>
-
-int
-__gettimeofday (struct timeval *tv, struct timezone *tz)
-{
- return INLINE_SYSCALL (gettimeofday, 2, tv, tz);
-}
-libc_hidden_def (__gettimeofday)
-
-#endif
-weak_alias (__gettimeofday, gettimeofday)
-libc_hidden_weak (gettimeofday)
diff --git a/sysdeps/unix/sysv/linux/x86/hle.h b/sysdeps/unix/sysv/linux/x86/hle.h
deleted file mode 100644
index 4a7b9e3bf7..0000000000
--- a/sysdeps/unix/sysv/linux/x86/hle.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/* Shared RTM header. Emulate TSX intrinsics for compilers and assemblers
- that do not support the intrinsics and instructions yet. */
-#ifndef _HLE_H
-#define _HLE_H 1
-
-#ifdef __ASSEMBLER__
-
-.macro XBEGIN target
- .byte 0xc7,0xf8
- .long \target-1f
-1:
-.endm
-
-.macro XEND
- .byte 0x0f,0x01,0xd5
-.endm
-
-.macro XABORT code
- .byte 0xc6,0xf8,\code
-.endm
-
-.macro XTEST
- .byte 0x0f,0x01,0xd6
-.endm
-
-#endif
-
-/* Official RTM intrinsics interface matching gcc/icc, but works
- on older gcc compatible compilers and binutils.
- We should somehow detect if the compiler supports it, because
- it may be able to generate slightly better code. */
-
-#define _XBEGIN_STARTED (~0u)
-#define _XABORT_EXPLICIT (1 << 0)
-#define _XABORT_RETRY (1 << 1)
-#define _XABORT_CONFLICT (1 << 2)
-#define _XABORT_CAPACITY (1 << 3)
-#define _XABORT_DEBUG (1 << 4)
-#define _XABORT_NESTED (1 << 5)
-#define _XABORT_CODE(x) (((x) >> 24) & 0xff)
-
-#define _ABORT_LOCK_BUSY 0xff
-#define _ABORT_LOCK_IS_LOCKED 0xfe
-#define _ABORT_NESTED_TRYLOCK 0xfd
-
-#ifndef __ASSEMBLER__
-
-#define __force_inline __attribute__((__always_inline__)) inline
-
-static __force_inline int _xbegin(void)
-{
- int ret = _XBEGIN_STARTED;
- asm volatile (".byte 0xc7,0xf8 ; .long 0" : "+a" (ret) :: "memory");
- return ret;
-}
-
-static __force_inline void _xend(void)
-{
- asm volatile (".byte 0x0f,0x01,0xd5" ::: "memory");
-}
-
-static __force_inline void _xabort(const unsigned int status)
-{
- asm volatile (".byte 0xc6,0xf8,%P0" :: "i" (status) : "memory");
-}
-
-static __force_inline int _xtest(void)
-{
- unsigned char out;
- asm volatile (".byte 0x0f,0x01,0xd6 ; setnz %0" : "=r" (out) :: "memory");
- return out;
-}
-
-#endif
-#endif
diff --git a/sysdeps/unix/sysv/linux/x86/libc-vdso.h b/sysdeps/unix/sysv/linux/x86/libc-vdso.h
deleted file mode 100644
index 6cc3285461..0000000000
--- a/sysdeps/unix/sysv/linux/x86/libc-vdso.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Resolve function pointers to VDSO functions.
- Copyright (C) 2005-2017 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, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _LIBC_VDSO_H
-#define _LIBC_VDSO_H
-
-#include <time.h>
-#include <sys/time.h>
-
-#ifdef SHARED
-
-# include <sysdep-vdso.h>
-
-extern long int (*VDSO_SYMBOL(clock_gettime)) (clockid_t, struct timespec *)
- attribute_hidden;
-
-extern long int (*VDSO_SYMBOL(getcpu)) (unsigned *, unsigned *, void *);
-
-#endif
-
-#endif /* _LIBC_VDSO_H */
diff --git a/sysdeps/unix/sysv/linux/x86/pthread_mutex_cond_lock.c b/sysdeps/unix/sysv/linux/x86/pthread_mutex_cond_lock.c
deleted file mode 100644
index a4e61c38c1..0000000000
--- a/sysdeps/unix/sysv/linux/x86/pthread_mutex_cond_lock.c
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright (C) 2013-2017 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, see
- <http://www.gnu.org/licenses/>. */
-
-/* The cond lock is not actually elided yet, but we still need to handle
- already elided locks. */
-#include <elision-conf.h>
-
-#include <nptl/pthread_mutex_cond_lock.c>
diff --git a/sysdeps/unix/sysv/linux/x86/pthread_mutex_lock.c b/sysdeps/unix/sysv/linux/x86/pthread_mutex_lock.c
deleted file mode 100644
index 8a40c86502..0000000000
--- a/sysdeps/unix/sysv/linux/x86/pthread_mutex_lock.c
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Elided version of pthread_mutex_lock.
- Copyright (C) 2011-2017 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, see
- <http://www.gnu.org/licenses/>. */
-
-#include <elision-conf.h>
-#include "force-elision.h"
-
-#include "nptl/pthread_mutex_lock.c"
diff --git a/sysdeps/unix/sysv/linux/x86/pthread_mutex_timedlock.c b/sysdeps/unix/sysv/linux/x86/pthread_mutex_timedlock.c
deleted file mode 100644
index 33fe1b46de..0000000000
--- a/sysdeps/unix/sysv/linux/x86/pthread_mutex_timedlock.c
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Elided version of pthread_mutex_timedlock.
- Copyright (C) 2011-2017 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, see
- <http://www.gnu.org/licenses/>. */
-
-#include <elision-conf.h>
-#include "force-elision.h"
-
-#include "nptl/pthread_mutex_timedlock.c"
diff --git a/sysdeps/unix/sysv/linux/x86/pthread_mutex_trylock.c b/sysdeps/unix/sysv/linux/x86/pthread_mutex_trylock.c
deleted file mode 100644
index 435839a292..0000000000
--- a/sysdeps/unix/sysv/linux/x86/pthread_mutex_trylock.c
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Elided version of pthread_mutex_trylock.
- Copyright (C) 2011-2017 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, see
- <http://www.gnu.org/licenses/>. */
-
-#include <elision-conf.h>
-#include "force-elision.h"
-
-#include "nptl/pthread_mutex_trylock.c"
diff --git a/sysdeps/unix/sysv/linux/x86/sys/debugreg.h b/sysdeps/unix/sysv/linux/x86/sys/debugreg.h
deleted file mode 100644
index eaa79a882b..0000000000
--- a/sysdeps/unix/sysv/linux/x86/sys/debugreg.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/* Copyright (C) 2001-2017 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, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _SYS_DEBUGREG_H
-#define _SYS_DEBUGREG_H 1
-
-/* Indicate the register numbers for a number of the specific
- debug registers. Registers 0-3 contain the addresses we wish to trap on */
-#define DR_FIRSTADDR 0 /* u_debugreg[DR_FIRSTADDR] */
-#define DR_LASTADDR 3 /* u_debugreg[DR_LASTADDR] */
-
-#define DR_STATUS 6 /* u_debugreg[DR_STATUS] */
-#define DR_CONTROL 7 /* u_debugreg[DR_CONTROL] */
-
-/* Define a few things for the status register. We can use this to determine
- which debugging register was responsible for the trap. The other bits
- are either reserved or not of interest to us. */
-
-#define DR_TRAP0 (0x1) /* db0 */
-#define DR_TRAP1 (0x2) /* db1 */
-#define DR_TRAP2 (0x4) /* db2 */
-#define DR_TRAP3 (0x8) /* db3 */
-
-#define DR_STEP (0x4000) /* single-step */
-#define DR_SWITCH (0x8000) /* task switch */
-
-/* Now define a bunch of things for manipulating the control register.
- The top two bytes of the control register consist of 4 fields of 4
- bits - each field corresponds to one of the four debug registers,
- and indicates what types of access we trap on, and how large the data
- field is that we are looking at */
-
-#define DR_CONTROL_SHIFT 16 /* Skip this many bits in ctl register */
-#define DR_CONTROL_SIZE 4 /* 4 control bits per register */
-
-#define DR_RW_EXECUTE (0x0) /* Settings for the access types to trap on */
-#define DR_RW_WRITE (0x1)
-#define DR_RW_READ (0x3)
-
-#define DR_LEN_1 (0x0) /* Settings for data length to trap on */
-#define DR_LEN_2 (0x4)
-#define DR_LEN_4 (0xC)
-#ifdef __x86_64__
-# define DR_LEN_8 (0x8)
-#endif
-
-/* The low byte to the control register determine which registers are
- enabled. There are 4 fields of two bits. One bit is "local", meaning
- that the processor will reset the bit after a task switch and the other
- is global meaning that we have to explicitly reset the bit. With linux,
- you can use either one, since we explicitly zero the register when we enter
- kernel mode. */
-
-#define DR_LOCAL_ENABLE_SHIFT 0 /* Extra shift to the local enable bit */
-#define DR_GLOBAL_ENABLE_SHIFT 1 /* Extra shift to the global enable bit */
-#define DR_ENABLE_SIZE 2 /* 2 enable bits per register */
-
-#define DR_LOCAL_ENABLE_MASK (0x55) /* Set local bits for all 4 regs */
-#define DR_GLOBAL_ENABLE_MASK (0xAA) /* Set global bits for all 4 regs */
-
-/* The second byte to the control register has a few special
- things. */
-
-
-
-#ifdef __x86_64__
-# define DR_CONTROL_RESERVED (0xFFFFFFFF0000FC00ULL) /* Reserved */
-#else
-# define DR_CONTROL_RESERVED (0x00FC00U) /* Reserved */
-#endif
-#define DR_LOCAL_SLOWDOWN (0x100) /* Local slow the pipeline */
-#define DR_GLOBAL_SLOWDOWN (0x200) /* Global slow the pipeline */
-
-#endif /* sys/debugreg.h */
diff --git a/sysdeps/unix/sysv/linux/x86/sys/elf.h b/sysdeps/unix/sysv/linux/x86/sys/elf.h
deleted file mode 100644
index 9b58e1a540..0000000000
--- a/sysdeps/unix/sysv/linux/x86/sys/elf.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Copyright (C) 1998-2017 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, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _SYS_ELF_H
-#define _SYS_ELF_H 1
-
-#ifdef __x86_64__
-# error This header is unsupported on x86-64.
-#else
-# warning "This header is obsolete; use <sys/procfs.h> instead."
-
-# include <sys/procfs.h>
-#endif
-
-#endif /* _SYS_ELF_H */
diff --git a/sysdeps/unix/sysv/linux/x86/sys/io.h b/sysdeps/unix/sysv/linux/x86/sys/io.h
deleted file mode 100644
index 3041a59c1a..0000000000
--- a/sysdeps/unix/sysv/linux/x86/sys/io.h
+++ /dev/null
@@ -1,183 +0,0 @@
-/* Copyright (C) 1996-2017 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, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _SYS_IO_H
-#define _SYS_IO_H 1
-
-#include <features.h>
-
-__BEGIN_DECLS
-
-/* If TURN_ON is TRUE, request for permission to do direct i/o on the
- port numbers in the range [FROM,FROM+NUM-1]. Otherwise, turn I/O
- permission off for that range. This call requires root privileges.
-
- Portability note: not all Linux platforms support this call. Most
- platforms based on the PC I/O architecture probably will, however.
- E.g., Linux/Alpha for Alpha PCs supports this. */
-extern int ioperm (unsigned long int __from, unsigned long int __num,
- int __turn_on) __THROW;
-
-/* Set the I/O privilege level to LEVEL. If LEVEL>3, permission to
- access any I/O port is granted. This call requires root
- privileges. */
-extern int iopl (int __level) __THROW;
-
-#if defined __GNUC__ && __GNUC__ >= 2
-
-static __inline unsigned char
-inb (unsigned short int __port)
-{
- unsigned char _v;
-
- __asm__ __volatile__ ("inb %w1,%0":"=a" (_v):"Nd" (__port));
- return _v;
-}
-
-static __inline unsigned char
-inb_p (unsigned short int __port)
-{
- unsigned char _v;
-
- __asm__ __volatile__ ("inb %w1,%0\noutb %%al,$0x80":"=a" (_v):"Nd" (__port));
- return _v;
-}
-
-static __inline unsigned short int
-inw (unsigned short int __port)
-{
- unsigned short _v;
-
- __asm__ __volatile__ ("inw %w1,%0":"=a" (_v):"Nd" (__port));
- return _v;
-}
-
-static __inline unsigned short int
-inw_p (unsigned short int __port)
-{
- unsigned short int _v;
-
- __asm__ __volatile__ ("inw %w1,%0\noutb %%al,$0x80":"=a" (_v):"Nd" (__port));
- return _v;
-}
-
-static __inline unsigned int
-inl (unsigned short int __port)
-{
- unsigned int _v;
-
- __asm__ __volatile__ ("inl %w1,%0":"=a" (_v):"Nd" (__port));
- return _v;
-}
-
-static __inline unsigned int
-inl_p (unsigned short int __port)
-{
- unsigned int _v;
- __asm__ __volatile__ ("inl %w1,%0\noutb %%al,$0x80":"=a" (_v):"Nd" (__port));
- return _v;
-}
-
-static __inline void
-outb (unsigned char __value, unsigned short int __port)
-{
- __asm__ __volatile__ ("outb %b0,%w1": :"a" (__value), "Nd" (__port));
-}
-
-static __inline void
-outb_p (unsigned char __value, unsigned short int __port)
-{
- __asm__ __volatile__ ("outb %b0,%w1\noutb %%al,$0x80": :"a" (__value),
- "Nd" (__port));
-}
-
-static __inline void
-outw (unsigned short int __value, unsigned short int __port)
-{
- __asm__ __volatile__ ("outw %w0,%w1": :"a" (__value), "Nd" (__port));
-
-}
-
-static __inline void
-outw_p (unsigned short int __value, unsigned short int __port)
-{
- __asm__ __volatile__ ("outw %w0,%w1\noutb %%al,$0x80": :"a" (__value),
- "Nd" (__port));
-}
-
-static __inline void
-outl (unsigned int __value, unsigned short int __port)
-{
- __asm__ __volatile__ ("outl %0,%w1": :"a" (__value), "Nd" (__port));
-}
-
-static __inline void
-outl_p (unsigned int __value, unsigned short int __port)
-{
- __asm__ __volatile__ ("outl %0,%w1\noutb %%al,$0x80": :"a" (__value),
- "Nd" (__port));
-}
-
-static __inline void
-insb (unsigned short int __port, void *__addr, unsigned long int __count)
-{
- __asm__ __volatile__ ("cld ; rep ; insb":"=D" (__addr), "=c" (__count)
- :"d" (__port), "0" (__addr), "1" (__count));
-}
-
-static __inline void
-insw (unsigned short int __port, void *__addr, unsigned long int __count)
-{
- __asm__ __volatile__ ("cld ; rep ; insw":"=D" (__addr), "=c" (__count)
- :"d" (__port), "0" (__addr), "1" (__count));
-}
-
-static __inline void
-insl (unsigned short int __port, void *__addr, unsigned long int __count)
-{
- __asm__ __volatile__ ("cld ; rep ; insl":"=D" (__addr), "=c" (__count)
- :"d" (__port), "0" (__addr), "1" (__count));
-}
-
-static __inline void
-outsb (unsigned short int __port, const void *__addr,
- unsigned long int __count)
-{
- __asm__ __volatile__ ("cld ; rep ; outsb":"=S" (__addr), "=c" (__count)
- :"d" (__port), "0" (__addr), "1" (__count));
-}
-
-static __inline void
-outsw (unsigned short int __port, const void *__addr,
- unsigned long int __count)
-{
- __asm__ __volatile__ ("cld ; rep ; outsw":"=S" (__addr), "=c" (__count)
- :"d" (__port), "0" (__addr), "1" (__count));
-}
-
-static __inline void
-outsl (unsigned short int __port, const void *__addr,
- unsigned long int __count)
-{
- __asm__ __volatile__ ("cld ; rep ; outsl":"=S" (__addr), "=c" (__count)
- :"d" (__port), "0" (__addr), "1" (__count));
-}
-
-#endif /* GNU C */
-
-__END_DECLS
-#endif /* _SYS_IO_H */
diff --git a/sysdeps/unix/sysv/linux/x86/sys/perm.h b/sysdeps/unix/sysv/linux/x86/sys/perm.h
deleted file mode 100644
index a6e0c0c5a3..0000000000
--- a/sysdeps/unix/sysv/linux/x86/sys/perm.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright (C) 1996-2017 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, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _SYS_PERM_H
-
-#define _SYS_PERM_H 1
-#include <features.h>
-
-__BEGIN_DECLS
-
-/* Set port input/output permissions. */
-extern int ioperm (unsigned long int __from, unsigned long int __num,
- int __turn_on) __THROW;
-
-
-/* Change I/O privilege level. */
-extern int iopl (int __level) __THROW;
-
-__END_DECLS
-
-#endif /* _SYS_PERM_H */
diff --git a/sysdeps/unix/sysv/linux/x86/sys/procfs.h b/sysdeps/unix/sysv/linux/x86/sys/procfs.h
deleted file mode 100644
index 577c3de655..0000000000
--- a/sysdeps/unix/sysv/linux/x86/sys/procfs.h
+++ /dev/null
@@ -1,145 +0,0 @@
-/* Copyright (C) 2001-2017 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, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _SYS_PROCFS_H
-#define _SYS_PROCFS_H 1
-
-/* This is somewhat modelled after the file of the same name on SVR4
- systems. It provides a definition of the core file format for ELF
- used on Linux. It doesn't have anything to do with the /proc file
- system, even though Linux has one.
-
- Anyway, the whole purpose of this file is for GDB and GDB only.
- Don't read too much into it. Don't use it for anything other than
- GDB unless you know what you are doing. */
-
-#include <features.h>
-#include <sys/time.h>
-#include <sys/types.h>
-#include <sys/user.h>
-
-__BEGIN_DECLS
-
-/* Type for a general-purpose register. */
-#ifdef __x86_64__
-__extension__ typedef unsigned long long elf_greg_t;
-#else
-typedef unsigned long elf_greg_t;
-#endif
-
-/* And the whole bunch of them. We could have used `struct
- user_regs_struct' directly in the typedef, but tradition says that
- the register set is an array, which does have some peculiar
- semantics, so leave it that way. */
-#define ELF_NGREG (sizeof (struct user_regs_struct) / sizeof(elf_greg_t))
-typedef elf_greg_t elf_gregset_t[ELF_NGREG];
-
-#ifndef __x86_64__
-/* Register set for the floating-point registers. */
-typedef struct user_fpregs_struct elf_fpregset_t;
-
-/* Register set for the extended floating-point registers. Includes
- the Pentium III SSE registers in addition to the classic
- floating-point stuff. */
-typedef struct user_fpxregs_struct elf_fpxregset_t;
-#else
-/* Register set for the extended floating-point registers. Includes
- the Pentium III SSE registers in addition to the classic
- floating-point stuff. */
-typedef struct user_fpregs_struct elf_fpregset_t;
-#endif
-
-/* Signal info. */
-struct elf_siginfo
- {
- int si_signo; /* Signal number. */
- int si_code; /* Extra code. */
- int si_errno; /* Errno. */
- };
-
-
-/* Definitions to generate Intel SVR4-like core files. These mostly
- have the same names as the SVR4 types with "elf_" tacked on the
- front to prevent clashes with Linux definitions, and the typedef
- forms have been avoided. This is mostly like the SVR4 structure,
- but more Linuxy, with things that Linux does not support and which
- GDB doesn't really use excluded. */
-
-struct elf_prstatus
- {
- struct elf_siginfo pr_info; /* Info associated with signal. */
- short int pr_cursig; /* Current signal. */
- unsigned long int pr_sigpend; /* Set of pending signals. */
- unsigned long int pr_sighold; /* Set of held signals. */
- __pid_t pr_pid;
- __pid_t pr_ppid;
- __pid_t pr_pgrp;
- __pid_t pr_sid;
- struct timeval pr_utime; /* User time. */
- struct timeval pr_stime; /* System time. */
- struct timeval pr_cutime; /* Cumulative user time. */
- struct timeval pr_cstime; /* Cumulative system time. */
- elf_gregset_t pr_reg; /* GP registers. */
- int pr_fpvalid; /* True if math copro being used. */
- };
-
-
-#define ELF_PRARGSZ (80) /* Number of chars for args. */
-
-struct elf_prpsinfo
- {
- char pr_state; /* Numeric process state. */
- char pr_sname; /* Char for pr_state. */
- char pr_zomb; /* Zombie. */
- char pr_nice; /* Nice val. */
- unsigned long int pr_flag; /* Flags. */
-#if __WORDSIZE == 32
- unsigned short int pr_uid;
- unsigned short int pr_gid;
-#else
- unsigned int pr_uid;
- unsigned int pr_gid;
-#endif
- int pr_pid, pr_ppid, pr_pgrp, pr_sid;
- /* Lots missing */
- char pr_fname[16]; /* Filename of executable. */
- char pr_psargs[ELF_PRARGSZ]; /* Initial part of arg list. */
- };
-
-
-/* The rest of this file provides the types for emulation of the
- Solaris <proc_service.h> interfaces that should be implemented by
- users of libthread_db. */
-
-/* Addresses. */
-typedef void *psaddr_t;
-
-/* Register sets. Linux has different names. */
-typedef elf_gregset_t prgregset_t;
-typedef elf_fpregset_t prfpregset_t;
-
-/* We don't have any differences between processes and threads,
- therefore have only one PID type. */
-typedef __pid_t lwpid_t;
-
-/* Process status and info. In the end we do provide typedefs for them. */
-typedef struct elf_prstatus prstatus_t;
-typedef struct elf_prpsinfo prpsinfo_t;
-
-__END_DECLS
-
-#endif /* sys/procfs.h */
diff --git a/sysdeps/unix/sysv/linux/x86/sys/reg.h b/sysdeps/unix/sysv/linux/x86/sys/reg.h
deleted file mode 100644
index ceca1334e3..0000000000
--- a/sysdeps/unix/sysv/linux/x86/sys/reg.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/* Copyright (C) 2001-2017 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, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _SYS_REG_H
-#define _SYS_REG_H 1
-
-
-#ifdef __x86_64__
-/* Index into an array of 8 byte longs returned from ptrace for
- location of the users' stored general purpose registers. */
-
-# define R15 0
-# define R14 1
-# define R13 2
-# define R12 3
-# define RBP 4
-# define RBX 5
-# define R11 6
-# define R10 7
-# define R9 8
-# define R8 9
-# define RAX 10
-# define RCX 11
-# define RDX 12
-# define RSI 13
-# define RDI 14
-# define ORIG_RAX 15
-# define RIP 16
-# define CS 17
-# define EFLAGS 18
-# define RSP 19
-# define SS 20
-# define FS_BASE 21
-# define GS_BASE 22
-# define DS 23
-# define ES 24
-# define FS 25
-# define GS 26
-#else
-
-/* Index into an array of 4 byte integers returned from ptrace for
- * location of the users' stored general purpose registers. */
-
-# define EBX 0
-# define ECX 1
-# define EDX 2
-# define ESI 3
-# define EDI 4
-# define EBP 5
-# define EAX 6
-# define DS 7
-# define ES 8
-# define FS 9
-# define GS 10
-# define ORIG_EAX 11
-# define EIP 12
-# define CS 13
-# define EFL 14
-# define UESP 15
-# define SS 16
-#endif
-
-#endif
diff --git a/sysdeps/unix/sysv/linux/x86/sys/ucontext.h b/sysdeps/unix/sysv/linux/x86/sys/ucontext.h
deleted file mode 100644
index 5fd64bf801..0000000000
--- a/sysdeps/unix/sysv/linux/x86/sys/ucontext.h
+++ /dev/null
@@ -1,260 +0,0 @@
-/* Copyright (C) 2001-2017 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, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _SYS_UCONTEXT_H
-#define _SYS_UCONTEXT_H 1
-
-#include <features.h>
-
-#include <bits/types/sigset_t.h>
-#include <bits/sigcontext.h>
-#include <bits/types/stack_t.h>
-
-
-#ifdef __USE_MISC
-# define __ctx(fld) fld
-#else
-# define __ctx(fld) __ ## fld
-#endif
-
-#ifdef __x86_64__
-
-/* Type for general register. */
-__extension__ typedef long long int greg_t;
-
-/* Number of general registers. */
-#define __NGREG 23
-#ifdef __USE_MISC
-# define NGREG __NGREG
-#endif
-
-/* Container for all general registers. */
-typedef greg_t gregset_t[__NGREG];
-
-#ifdef __USE_GNU
-/* Number of each register in the `gregset_t' array. */
-enum
-{
- REG_R8 = 0,
-# define REG_R8 REG_R8
- REG_R9,
-# define REG_R9 REG_R9
- REG_R10,
-# define REG_R10 REG_R10
- REG_R11,
-# define REG_R11 REG_R11
- REG_R12,
-# define REG_R12 REG_R12
- REG_R13,
-# define REG_R13 REG_R13
- REG_R14,
-# define REG_R14 REG_R14
- REG_R15,
-# define REG_R15 REG_R15
- REG_RDI,
-# define REG_RDI REG_RDI
- REG_RSI,
-# define REG_RSI REG_RSI
- REG_RBP,
-# define REG_RBP REG_RBP
- REG_RBX,
-# define REG_RBX REG_RBX
- REG_RDX,
-# define REG_RDX REG_RDX
- REG_RAX,
-# define REG_RAX REG_RAX
- REG_RCX,
-# define REG_RCX REG_RCX
- REG_RSP,
-# define REG_RSP REG_RSP
- REG_RIP,
-# define REG_RIP REG_RIP
- REG_EFL,
-# define REG_EFL REG_EFL
- REG_CSGSFS, /* Actually short cs, gs, fs, __pad0. */
-# define REG_CSGSFS REG_CSGSFS
- REG_ERR,
-# define REG_ERR REG_ERR
- REG_TRAPNO,
-# define REG_TRAPNO REG_TRAPNO
- REG_OLDMASK,
-# define REG_OLDMASK REG_OLDMASK
- REG_CR2
-# define REG_CR2 REG_CR2
-};
-#endif
-
-struct _libc_fpxreg
-{
- unsigned short int __ctx(significand)[4];
- unsigned short int __ctx(exponent);
- unsigned short int __glibc_reserved1[3];
-};
-
-struct _libc_xmmreg
-{
- __uint32_t element[4];
-};
-
-struct _libc_fpstate
-{
- /* 64-bit FXSAVE format. */
- __uint16_t __ctx(cwd);
- __uint16_t __ctx(swd);
- __uint16_t __ctx(ftw);
- __uint16_t __ctx(fop);
- __uint64_t __ctx(rip);
- __uint64_t __ctx(rdp);
- __uint32_t __ctx(mxcsr);
- __uint32_t __ctx(mxcr_mask);
- struct _libc_fpxreg _st[8];
- struct _libc_xmmreg _xmm[16];
- __uint32_t __glibc_reserved1[24];
-};
-
-/* Structure to describe FPU registers. */
-typedef struct _libc_fpstate *fpregset_t;
-
-/* Context to describe whole processor state. */
-typedef struct
- {
- gregset_t __ctx(gregs);
- /* Note that fpregs is a pointer. */
- fpregset_t __ctx(fpregs);
- __extension__ unsigned long long __reserved1 [8];
-} mcontext_t;
-
-/* Userlevel context. */
-typedef struct ucontext
- {
- unsigned long int uc_flags;
- struct ucontext *uc_link;
- stack_t uc_stack;
- mcontext_t uc_mcontext;
- sigset_t uc_sigmask;
- struct _libc_fpstate __fpregs_mem;
- } ucontext_t;
-
-#else /* !__x86_64__ */
-
-/* Type for general register. */
-typedef int greg_t;
-
-/* Number of general registers. */
-#define __NGREG 19
-#ifdef __USE_MISC
-# define NGREG __NGREG
-#endif
-
-/* Container for all general registers. */
-typedef greg_t gregset_t[__NGREG];
-
-#ifdef __USE_GNU
-/* Number of each register is the `gregset_t' array. */
-enum
-{
- REG_GS = 0,
-# define REG_GS REG_GS
- REG_FS,
-# define REG_FS REG_FS
- REG_ES,
-# define REG_ES REG_ES
- REG_DS,
-# define REG_DS REG_DS
- REG_EDI,
-# define REG_EDI REG_EDI
- REG_ESI,
-# define REG_ESI REG_ESI
- REG_EBP,
-# define REG_EBP REG_EBP
- REG_ESP,
-# define REG_ESP REG_ESP
- REG_EBX,
-# define REG_EBX REG_EBX
- REG_EDX,
-# define REG_EDX REG_EDX
- REG_ECX,
-# define REG_ECX REG_ECX
- REG_EAX,
-# define REG_EAX REG_EAX
- REG_TRAPNO,
-# define REG_TRAPNO REG_TRAPNO
- REG_ERR,
-# define REG_ERR REG_ERR
- REG_EIP,
-# define REG_EIP REG_EIP
- REG_CS,
-# define REG_CS REG_CS
- REG_EFL,
-# define REG_EFL REG_EFL
- REG_UESP,
-# define REG_UESP REG_UESP
- REG_SS
-# define REG_SS REG_SS
-};
-#endif
-
-/* Definitions taken from the kernel headers. */
-struct _libc_fpreg
-{
- unsigned short int __ctx(significand)[4];
- unsigned short int __ctx(exponent);
-};
-
-struct _libc_fpstate
-{
- unsigned long int __ctx(cw);
- unsigned long int __ctx(sw);
- unsigned long int __ctx(tag);
- unsigned long int __ctx(ipoff);
- unsigned long int __ctx(cssel);
- unsigned long int __ctx(dataoff);
- unsigned long int __ctx(datasel);
- struct _libc_fpreg _st[8];
- unsigned long int __ctx(status);
-};
-
-/* Structure to describe FPU registers. */
-typedef struct _libc_fpstate *fpregset_t;
-
-/* Context to describe whole processor state. */
-typedef struct
- {
- gregset_t __ctx(gregs);
- /* Due to Linux's history we have to use a pointer here. The SysV/i386
- ABI requires a struct with the values. */
- fpregset_t __ctx(fpregs);
- unsigned long int __ctx(oldmask);
- unsigned long int __ctx(cr2);
- } mcontext_t;
-
-/* Userlevel context. */
-typedef struct ucontext
- {
- unsigned long int uc_flags;
- struct ucontext *uc_link;
- stack_t uc_stack;
- mcontext_t uc_mcontext;
- sigset_t uc_sigmask;
- struct _libc_fpstate __fpregs_mem;
- } ucontext_t;
-
-#endif /* !__x86_64__ */
-
-#undef __ctx
-
-#endif /* sys/ucontext.h */
diff --git a/sysdeps/unix/sysv/linux/x86/sys/user.h b/sysdeps/unix/sysv/linux/x86/sys/user.h
deleted file mode 100644
index b705239e61..0000000000
--- a/sysdeps/unix/sysv/linux/x86/sys/user.h
+++ /dev/null
@@ -1,180 +0,0 @@
-/* Copyright (C) 2001-2017 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, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _SYS_USER_H
-#define _SYS_USER_H 1
-
-/* The whole purpose of this file is for GDB and GDB only. Don't read
- too much into it. Don't use it for anything other than GDB unless
- you know what you are doing. */
-
-#ifdef __x86_64__
-
-struct user_fpregs_struct
-{
- unsigned short int cwd;
- unsigned short int swd;
- unsigned short int ftw;
- unsigned short int fop;
- __extension__ unsigned long long int rip;
- __extension__ unsigned long long int rdp;
- unsigned int mxcsr;
- unsigned int mxcr_mask;
- unsigned int st_space[32]; /* 8*16 bytes for each FP-reg = 128 bytes */
- unsigned int xmm_space[64]; /* 16*16 bytes for each XMM-reg = 256 bytes */
- unsigned int padding[24];
-};
-
-struct user_regs_struct
-{
- __extension__ unsigned long long int r15;
- __extension__ unsigned long long int r14;
- __extension__ unsigned long long int r13;
- __extension__ unsigned long long int r12;
- __extension__ unsigned long long int rbp;
- __extension__ unsigned long long int rbx;
- __extension__ unsigned long long int r11;
- __extension__ unsigned long long int r10;
- __extension__ unsigned long long int r9;
- __extension__ unsigned long long int r8;
- __extension__ unsigned long long int rax;
- __extension__ unsigned long long int rcx;
- __extension__ unsigned long long int rdx;
- __extension__ unsigned long long int rsi;
- __extension__ unsigned long long int rdi;
- __extension__ unsigned long long int orig_rax;
- __extension__ unsigned long long int rip;
- __extension__ unsigned long long int cs;
- __extension__ unsigned long long int eflags;
- __extension__ unsigned long long int rsp;
- __extension__ unsigned long long int ss;
- __extension__ unsigned long long int fs_base;
- __extension__ unsigned long long int gs_base;
- __extension__ unsigned long long int ds;
- __extension__ unsigned long long int es;
- __extension__ unsigned long long int fs;
- __extension__ unsigned long long int gs;
-};
-
-struct user
-{
- struct user_regs_struct regs;
- int u_fpvalid;
- struct user_fpregs_struct i387;
- __extension__ unsigned long long int u_tsize;
- __extension__ unsigned long long int u_dsize;
- __extension__ unsigned long long int u_ssize;
- __extension__ unsigned long long int start_code;
- __extension__ unsigned long long int start_stack;
- __extension__ long long int signal;
- int reserved;
- __extension__ union
- {
- struct user_regs_struct* u_ar0;
- __extension__ unsigned long long int __u_ar0_word;
- };
- __extension__ union
- {
- struct user_fpregs_struct* u_fpstate;
- __extension__ unsigned long long int __u_fpstate_word;
- };
- __extension__ unsigned long long int magic;
- char u_comm [32];
- __extension__ unsigned long long int u_debugreg [8];
-};
-
-#else
-/* These are the 32-bit x86 structures. */
-struct user_fpregs_struct
-{
- long int cwd;
- long int swd;
- long int twd;
- long int fip;
- long int fcs;
- long int foo;
- long int fos;
- long int st_space [20];
-};
-
-struct user_fpxregs_struct
-{
- unsigned short int cwd;
- unsigned short int swd;
- unsigned short int twd;
- unsigned short int fop;
- long int fip;
- long int fcs;
- long int foo;
- long int fos;
- long int mxcsr;
- long int reserved;
- long int st_space[32]; /* 8*16 bytes for each FP-reg = 128 bytes */
- long int xmm_space[32]; /* 8*16 bytes for each XMM-reg = 128 bytes */
- long int padding[56];
-};
-
-struct user_regs_struct
-{
- long int ebx;
- long int ecx;
- long int edx;
- long int esi;
- long int edi;
- long int ebp;
- long int eax;
- long int xds;
- long int xes;
- long int xfs;
- long int xgs;
- long int orig_eax;
- long int eip;
- long int xcs;
- long int eflags;
- long int esp;
- long int xss;
-};
-
-struct user
-{
- struct user_regs_struct regs;
- int u_fpvalid;
- struct user_fpregs_struct i387;
- unsigned long int u_tsize;
- unsigned long int u_dsize;
- unsigned long int u_ssize;
- unsigned long int start_code;
- unsigned long int start_stack;
- long int signal;
- int reserved;
- struct user_regs_struct* u_ar0;
- struct user_fpregs_struct* u_fpstate;
- unsigned long int magic;
- char u_comm [32];
- int u_debugreg [8];
-};
-#endif /* __x86_64__ */
-
-#define PAGE_SHIFT 12
-#define PAGE_SIZE (1UL << PAGE_SHIFT)
-#define PAGE_MASK (~(PAGE_SIZE-1))
-#define NBPG PAGE_SIZE
-#define UPAGES 1
-#define HOST_TEXT_START_ADDR (u.start_code)
-#define HOST_STACK_END_ADDR (u.start_stack + u.u_ssize * NBPG)
-
-#endif /* _SYS_USER_H */
diff --git a/sysdeps/unix/sysv/linux/x86/sys/vm86.h b/sysdeps/unix/sysv/linux/x86/sys/vm86.h
deleted file mode 100644
index 07f09c2030..0000000000
--- a/sysdeps/unix/sysv/linux/x86/sys/vm86.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Copyright (C) 1996-2017 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, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _SYS_VM86_H
-
-#define _SYS_VM86_H 1
-#include <features.h>
-
-#ifdef __x86_64__
-# error This header is unsupported on x86-64.
-#else
-/* Get constants and data types from kernel header file. */
-# include <asm/vm86.h>
-
-__BEGIN_DECLS
-
-/* Enter virtual 8086 mode. */
-extern int vm86 (unsigned long int __subfunction,
- struct vm86plus_struct *__info) __THROW;
-
-__END_DECLS
-# endif
-
-#endif /* _SYS_VM86_H */
diff --git a/sysdeps/unix/sysv/linux/x86/sysconf.c b/sysdeps/unix/sysv/linux/x86/sysconf.c
deleted file mode 100644
index ec4e620d2a..0000000000
--- a/sysdeps/unix/sysv/linux/x86/sysconf.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Get file-specific information about a file. Linux version.
- Copyright (C) 2003-2017 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, see
- <http://www.gnu.org/licenses/>. */
-
-#include <assert.h>
-#include <stdbool.h>
-#include <stdlib.h>
-#include <unistd.h>
-
-
-static long int linux_sysconf (int name);
-extern long int __cache_sysconf (int) attribute_hidden;
-
-
-/* Get the value of the system variable NAME. */
-long int
-__sysconf (int name)
-{
- if (name >= _SC_LEVEL1_ICACHE_SIZE && name <= _SC_LEVEL4_CACHE_LINESIZE)
- return __cache_sysconf (name);
-
- return linux_sysconf (name);
-}
-
-/* Now the generic Linux version. */
-#undef __sysconf
-#define __sysconf static linux_sysconf
-#include "../sysconf.c"
diff --git a/sysdeps/unix/sysv/linux/x86/time.c b/sysdeps/unix/sysv/linux/x86/time.c
deleted file mode 100644
index fac81b3812..0000000000
--- a/sysdeps/unix/sysv/linux/x86/time.c
+++ /dev/null
@@ -1,59 +0,0 @@
-/* time -- Get number of seconds since Epoch. Linux/x86 version.
- Copyright (C) 2015-2017 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, see
- <http://www.gnu.org/licenses/>. */
-
-#include <time.h>
-
-#ifdef SHARED
-
-#include <dl-vdso.h>
-#include <errno.h>
-
-static time_t
-__time_syscall (time_t *t)
-{
- INTERNAL_SYSCALL_DECL (err);
- return INTERNAL_SYSCALL (time, err, 1, t);
-}
-
-# ifndef time_type
-/* The i386 time.c includes this file with a defined time_type macro.
- For x86_64 we have to define it to time as the internal symbol is the
- ifunc'ed one. */
-# define time_type time
-# endif
-
-#undef INIT_ARCH
-#define INIT_ARCH() PREPARE_VERSION_KNOWN (linux26, LINUX_2_6);
-/* If the vDSO is not available we fall back on the syscall. */
-libc_ifunc_hidden (time_type, time,
- (_dl_vdso_vsym ("__vdso_time", &linux26)
- ?: &__time_syscall))
-libc_hidden_def (time)
-
-#else
-
-# include <sysdep.h>
-
-time_t
-time (time_t *t)
-{
- INTERNAL_SYSCALL_DECL (err);
- return INTERNAL_SYSCALL (time, err, 1, t);
-}
-
-#endif