aboutsummaryrefslogtreecommitdiff
path: root/misc
diff options
context:
space:
mode:
Diffstat (limited to 'misc')
-rw-r--r--misc/Makefile138
-rw-r--r--misc/Versions167
-rw-r--r--misc/acct.c31
-rw-r--r--misc/ar.h47
-rw-r--r--misc/bits/error.h73
-rw-r--r--misc/bits/select2.h35
-rw-r--r--misc/bits/stab.def233
-rw-r--r--misc/bits/syslog-ldbl.h35
-rw-r--r--misc/bits/syslog.h49
-rw-r--r--misc/bits/types/struct_iovec.h32
-rw-r--r--misc/brk.c34
-rw-r--r--misc/bug-hsearch1.c31
-rw-r--r--misc/bug18240.c97
-rw-r--r--misc/chflags.c39
-rw-r--r--misc/chroot.c31
-rw-r--r--misc/daemon.c93
-rw-r--r--misc/dirname.c80
-rw-r--r--misc/efgcvt.c126
-rw-r--r--misc/efgcvt_r.c257
-rw-r--r--misc/err.c179
-rw-r--r--misc/err.h57
-rw-r--r--misc/error.c408
-rw-r--r--misc/error.h57
-rw-r--r--misc/fchflags.c39
-rw-r--r--misc/fdatasync.c27
-rw-r--r--misc/fgetxattr.c29
-rw-r--r--misc/flistxattr.c28
-rw-r--r--misc/fremovexattr.c28
-rw-r--r--misc/fsetxattr.c29
-rw-r--r--misc/fstab.c186
-rw-r--r--misc/fstab.h79
-rw-r--r--misc/fsync.c30
-rw-r--r--misc/ftruncate.c32
-rw-r--r--misc/ftruncate64.c33
-rw-r--r--misc/futimes.c32
-rw-r--r--misc/futimesat.c41
-rw-r--r--misc/getauxval.c45
-rw-r--r--misc/getclktck.c29
-rw-r--r--misc/getdomain.c58
-rw-r--r--misc/getdtsz.c31
-rw-r--r--misc/gethostid.c30
-rw-r--r--misc/gethostname.c32
-rw-r--r--misc/getloadavg.c35
-rw-r--r--misc/getpagesize.c31
-rw-r--r--misc/getpass.c124
-rw-r--r--misc/getsysstats.c67
-rw-r--r--misc/getttyent.c215
-rw-r--r--misc/getusershell.c143
-rw-r--r--misc/getxattr.c29
-rw-r--r--misc/gtty.c36
-rw-r--r--misc/hsearch.c53
-rw-r--r--misc/hsearch_r.c231
-rw-r--r--misc/ifunc-impl-list.c32
-rw-r--r--misc/init-misc.c40
-rw-r--r--misc/insremque.c53
-rw-r--r--misc/ioctl.c31
-rw-r--r--misc/lgetxattr.c29
-rw-r--r--misc/libgen.h39
-rw-r--r--misc/listxattr.c28
-rw-r--r--misc/llistxattr.c28
-rw-r--r--misc/lremovexattr.c28
-rw-r--r--misc/lsearch.c58
-rw-r--r--misc/lsetxattr.c29
-rw-r--r--misc/lutimes.c33
-rw-r--r--misc/madvise.c35
-rw-r--r--misc/makedev.c30
-rw-r--r--misc/mincore.c28
-rw-r--r--misc/mkdtemp.c33
-rw-r--r--misc/mkostemp.c38
-rw-r--r--misc/mkostemp64.c35
-rw-r--r--misc/mkostemps.c45
-rw-r--r--misc/mkostemps64.c42
-rw-r--r--misc/mkstemp.c38
-rw-r--r--misc/mkstemp64.c35
-rw-r--r--misc/mkstemps.c45
-rw-r--r--misc/mkstemps64.c42
-rw-r--r--misc/mktemp.c36
-rw-r--r--misc/mlock.c33
-rw-r--r--misc/mlockall.c34
-rw-r--r--misc/mmap.c39
-rw-r--r--misc/mmap64.c47
-rw-r--r--misc/mntent.c53
-rw-r--r--misc/mntent.h95
-rw-r--r--misc/mntent_r.c296
-rw-r--r--misc/mprotect.c34
-rw-r--r--misc/msync.c33
-rw-r--r--misc/munlock.c32
-rw-r--r--misc/munlockall.c32
-rw-r--r--misc/munmap.c33
-rw-r--r--misc/preadv.c35
-rw-r--r--misc/preadv2.c30
-rw-r--r--misc/preadv64.c35
-rw-r--r--misc/preadv64v2.c30
-rw-r--r--misc/pselect.c78
-rw-r--r--misc/ptrace.c108
-rw-r--r--misc/pwritev.c35
-rw-r--r--misc/pwritev2.c30
-rw-r--r--misc/pwritev64.c35
-rw-r--r--misc/pwritev64v2.c30
-rw-r--r--misc/qefgcvt.c46
-rw-r--r--misc/qefgcvt_r.c57
-rw-r--r--misc/readv.c35
-rw-r--r--misc/reboot.c33
-rw-r--r--misc/regexp.c92
-rw-r--r--misc/regexp.h33
-rw-r--r--misc/remap_file_pages.c33
-rw-r--r--misc/removexattr.c28
-rw-r--r--misc/revoke.c28
-rw-r--r--misc/sbrk.c64
-rw-r--r--misc/search.h174
-rw-r--r--misc/select.c37
-rw-r--r--misc/setdomain.c30
-rw-r--r--misc/setegid.c29
-rw-r--r--misc/seteuid.c29
-rw-r--r--misc/sethostid.c31
-rw-r--r--misc/sethostname.c31
-rw-r--r--misc/setregid.c32
-rw-r--r--misc/setreuid.c32
-rw-r--r--misc/setxattr.c29
-rw-r--r--misc/sgtty.h40
-rw-r--r--misc/sstk.c32
-rw-r--r--misc/stab.h17
-rw-r--r--misc/stty.c36
-rw-r--r--misc/swapoff.c29
-rw-r--r--misc/swapon.c31
-rw-r--r--misc/sync.c29
-rw-r--r--misc/syncfs.c31
-rw-r--r--misc/sys/auxv.h36
-rw-r--r--misc/sys/cdefs.h483
-rw-r--r--misc/sys/dir.h27
-rw-r--r--misc/sys/file.h55
-rw-r--r--misc/sys/ioctl.h45
-rw-r--r--misc/sys/mman.h151
-rw-r--r--misc/sys/param.h106
-rw-r--r--misc/sys/queue.h574
-rw-r--r--misc/sys/select.h128
-rw-r--r--misc/sys/syslog.h215
-rw-r--r--misc/sys/sysmacros.h110
-rw-r--r--misc/sys/uio.h163
-rw-r--r--misc/sys/ustat.h37
-rw-r--r--misc/sys/xattr.h105
-rw-r--r--misc/syscall.c32
-rw-r--r--misc/syscall.h1
-rw-r--r--misc/sysexits.h114
-rw-r--r--misc/syslog.c436
-rw-r--r--misc/syslog.h1
-rw-r--r--misc/truncate.c30
-rw-r--r--misc/truncate64.c32
-rw-r--r--misc/tsearch.c750
-rw-r--r--misc/tst-atomic-long.c27
-rw-r--r--misc/tst-atomic.c639
-rw-r--r--misc/tst-dirname.c72
-rw-r--r--misc/tst-efgcvt.c216
-rw-r--r--misc/tst-empty.c8
-rw-r--r--misc/tst-error1.c37
-rw-r--r--misc/tst-fdset.c67
-rw-r--r--misc/tst-hsearch.c34
-rw-r--r--misc/tst-insremque.c61
-rw-r--r--misc/tst-makedev.c104
-rw-r--r--misc/tst-mntent-blank-corrupt.c45
-rw-r--r--misc/tst-mntent-blank-passno.c53
-rw-r--r--misc/tst-mntent.c82
-rw-r--r--misc/tst-mntent2.c44
-rw-r--r--misc/tst-preadvwritev-common.c122
-rw-r--r--misc/tst-preadvwritev.c25
-rw-r--r--misc/tst-preadvwritev2.c31
-rw-r--r--misc/tst-preadvwritev64.c51
-rw-r--r--misc/tst-preadvwritev64v2.c33
-rw-r--r--misc/tst-pselect.c130
-rw-r--r--misc/tst-tsearch.c356
-rw-r--r--misc/ttyent.h65
-rw-r--r--misc/ttyslot.c72
-rw-r--r--misc/ualarm.c33
-rw-r--r--misc/usleep.c29
-rw-r--r--misc/ustat.c29
-rw-r--r--misc/ustat.h1
-rw-r--r--misc/utimes.c39
-rw-r--r--misc/vhangup.c31
-rw-r--r--misc/writev.c35
179 files changed, 0 insertions, 13598 deletions
diff --git a/misc/Makefile b/misc/Makefile
deleted file mode 100644
index 46072e62d9..0000000000
--- a/misc/Makefile
+++ /dev/null
@@ -1,138 +0,0 @@
-# Copyright (C) 1991-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/>.
-
-#
-# Sub-makefile for misc portion of the library.
-#
-
-subdir := misc
-
-include ../Makeconfig
-
-headers := sys/uio.h bits/uio.h sys/ioctl.h bits/ioctls.h bits/ioctl-types.h \
- sys/ptrace.h sys/file.h sys/dir.h sys/cdefs.h \
- ar.h a.out.h libgen.h stab.h bits/stab.def sgtty.h \
- ttyent.h paths.h sys/reboot.h \
- sys/mman.h sys/param.h bits/param.h \
- fstab.h mntent.h search.h err.h error.h \
- sys/queue.h sysexits.h syscall.h sys/syscall.h sys/swap.h \
- sys/select.h ustat.h sys/ustat.h bits/ustat.h sys/sysinfo.h \
- regexp.h bits/select.h bits/mman.h sys/xattr.h \
- syslog.h sys/syslog.h \
- bits/syslog.h bits/syslog-ldbl.h bits/syslog-path.h bits/error.h \
- bits/select2.h bits/hwcap.h sys/auxv.h \
- sys/sysmacros.h bits/sysmacros.h bits/types/struct_iovec.h
-
-routines := brk sbrk sstk ioctl \
- readv writev preadv preadv64 pwritev pwritev64 \
- preadv2 preadv64v2 pwritev2 pwritev64v2 \
- setreuid setregid \
- seteuid setegid \
- getpagesize \
- getdtsz \
- gethostname sethostname getdomain setdomain \
- select pselect \
- acct chroot fsync sync fdatasync syncfs reboot \
- gethostid sethostid \
- revoke vhangup \
- swapon swapoff mktemp mkstemp mkstemp64 mkdtemp \
- mkostemp mkostemp64 mkstemps mkstemps64 mkostemps mkostemps64 \
- ualarm usleep \
- gtty stty \
- ptrace \
- fstab mntent mntent_r \
- utimes lutimes futimes futimesat \
- truncate ftruncate truncate64 ftruncate64 \
- chflags fchflags \
- insremque getttyent getusershell getpass ttyslot \
- syslog syscall daemon \
- mmap mmap64 munmap mprotect msync madvise mincore remap_file_pages\
- mlock munlock mlockall munlockall \
- efgcvt efgcvt_r qefgcvt qefgcvt_r \
- hsearch hsearch_r tsearch lsearch \
- err error ustat \
- getsysstats dirname regexp \
- getloadavg getclktck \
- fgetxattr flistxattr fremovexattr fsetxattr getxattr \
- listxattr lgetxattr llistxattr lremovexattr lsetxattr \
- removexattr setxattr getauxval ifunc-impl-list makedev
-
-generated += tst-error1.mtrace tst-error1-mem.out
-
-aux := init-misc
-install-lib := libg.a
-gpl2lgpl := error.c error.h
-
-tests := tst-dirname tst-tsearch tst-fdset tst-efgcvt tst-mntent tst-hsearch \
- tst-error1 tst-pselect tst-insremque tst-mntent2 bug-hsearch1 \
- tst-mntent-blank-corrupt tst-mntent-blank-passno bug18240 \
- tst-preadvwritev tst-preadvwritev64 tst-makedev tst-empty \
- tst-preadvwritev2 tst-preadvwritev64v2
-
-tests-internal := tst-atomic tst-atomic-long
-tests-static := tst-empty
-
-ifeq ($(run-built-tests),yes)
-tests-special += $(objpfx)tst-error1-mem.out
-endif
-
-CFLAGS-select.c = -fexceptions -fasynchronous-unwind-tables
-CFLAGS-tsearch.c = $(uses-callbacks)
-CFLAGS-lsearch.c = $(uses-callbacks)
-CFLAGS-pselect.c = -fexceptions
-CFLAGS-readv.c = -fexceptions -fasynchronous-unwind-tables
-CFLAGS-writev.c = -fexceptions -fasynchronous-unwind-tables
-CFLAGS-preadv.c = -fexceptions -fasynchronous-unwind-tables
-CFLAGS-preadv64.c = -fexceptions -fasynchronous-unwind-tables
-CFLAGS-pwritev.c = -fexceptions -fasynchronous-unwind-tables
-CFLAGS-pwritev64.c = -fexceptions -fasynchronous-unwind-tables
-CFLAGS-preadv2.c = -fexceptions -fasynchronous-unwind-tables
-CFLAGS-preadv64v2.c = -fexceptions -fasynchronous-unwind-tables
-CFLAGS-pwritev2.c = -fexceptions -fasynchronous-unwind-tables
-CFLAGS-pwritev64v2.c = -fexceptions -fasynchronous-unwind-tables
-CFLAGS-usleep.c = -fexceptions
-CFLAGS-syslog.c = -fexceptions
-CFLAGS-error.c = -fexceptions
-CFLAGS-getpass.c = -fexceptions
-CFLAGS-mkstemp.c = -fexceptions
-CFLAGS-mkstemp64.c = -fexceptions
-CFLAGS-getsysstats.c = -fexceptions
-CFLAGS-getusershell.c = -fexceptions
-CFLAGS-err.c = -fexceptions
-CFLAGS-tst-tsearch.c = $(stack-align-test-flags)
-CFLAGS-msync.c = -fexceptions -fasynchronous-unwind-tables
-CFLAGS-fdatasync.c = -fexceptions -fasynchronous-unwind-tables
-CFLAGS-fsync.c = -fexceptions -fasynchronous-unwind-tables
-
-# Called during static library initialization, so turn stack-protection
-# off for non-shared builds.
-CFLAGS-sbrk.o = $(no-stack-protector)
-CFLAGS-sbrk.op = $(no-stack-protector)
-CFLAGS-brk.o = $(no-stack-protector)
-CFLAGS-brk.op = $(no-stack-protector)
-
-include ../Rules
-
-$(objpfx)libg.a: $(dep-dummy-lib); $(make-dummy-lib)
-
-$(objpfx)tst-tsearch: $(libm)
-
-tst-error1-ENV = MALLOC_TRACE=$(objpfx)tst-error1.mtrace
-tst-error1-ARGS = $(objpfx)tst-error1.out
-$(objpfx)tst-error1-mem.out: $(objpfx)tst-error1.out
- $(common-objpfx)malloc/mtrace $(objpfx)tst-error1.mtrace > $@; \
- $(evaluate-test)
diff --git a/misc/Versions b/misc/Versions
deleted file mode 100644
index bafda78a1f..0000000000
--- a/misc/Versions
+++ /dev/null
@@ -1,167 +0,0 @@
-libc {
- GLIBC_2.0 {
- # global variables
- ___brk_addr; __curbrk; __progname; __progname_full;
-
- # interface of malloc functions
- __sbrk; __getpagesize;
-
- # functions used in other libraries
- __select;
-
- # variables in normal name space
- error_message_count; error_one_per_line; error_print_progname;
-
- # variables in normal name space
- loc1; loc2; locs;
- program_invocation_name; program_invocation_short_name;
-
- # a*
- acct; addmntent; advance;
-
- # b*
- brk;
-
- # c*
- chflags; chroot; closelog;
-
- # d*
- daemon; dirname;
-
- # e*
- ecvt; ecvt_r; endfsent; endmntent; endttyent; endusershell;
-
- # e*
- err; error; error_at_line; errx;
-
- # f*
- fchflags; fcvt; fcvt_r; fdatasync; fsync; ftruncate;
-
- # g*
- gcvt; get_avphys_pages; get_nprocs; get_nprocs_conf; get_phys_pages;
- getfsent; getfsfile; getfsspec; gethostid; gethostname; getmntent;
- getmntent_r; getpagesize; getpass; getttyent; getttynam; getusershell;
- gtty;
-
- # h*
- hasmntopt; hcreate; hcreate_r; hdestroy; hdestroy_r; hsearch; hsearch_r;
-
- # i*
- insque; ioctl;
-
- # j*
- jrand48; jrand48_r; lfind; lsearch;
-
- # m*
- madvise; mkstemp; mktemp; mlock; mlockall; mmap; mount; mprotect; msync;
- munlock; munlockall; munmap;
-
- # o*
- openlog;
-
- # p*
- ptrace;
-
- # q*
- qecvt; qecvt_r; qfcvt; qfcvt_r; qgcvt;
-
- # r*
- readv; reboot; remque; revoke;
-
- # s*
- sbrk; select; setdomainname; setfsent; sethostent; sethostid; sethostname;
- setlogmask; setmntent; setregid; setreuid; setttyent; setusershell; sstk;
- stty; sync; syscall; syslog;
-
- # t*
- tdelete; tfind; truncate; tsearch; ttyslot; twalk;
-
- # u*
- ualarm; usleep; ustat; utimes;
-
- # v*
- verr; verrx; vhangup; vsyslog; vwarn; vwarnx;
-
- # w*
- warn; warnx;
-
- # w*
- writev;
- }
- GLIBC_2.1 {
- # f*
- ftruncate64;
-
- # m*
- mmap64;
-
- # t*
- tdestroy; truncate64;
- }
- GLIBC_2.2 {
- # g*
- getloadavg;
-
- # m*
- mincore; mkdtemp; mkstemp64;
-
- # p*
- posix_madvise;
- }
- GLIBC_2.3 {
- # f*
- fgetxattr; flistxattr; fremovexattr; fsetxattr;
- futimes;
-
- # g*
- getxattr;
-
- # l*
- listxattr;
- lgetxattr; llistxattr; lremovexattr; lsetxattr;
- lutimes;
-
- # r*
- removexattr;
-
- # s*
- setxattr;
- }
- GLIBC_2.3.3 {
- remap_file_pages;
- }
- GLIBC_2.4 {
- futimesat;
- __syslog_chk; __vsyslog_chk;
- }
- GLIBC_2.7 {
- mkostemp; mkostemp64;
- }
- GLIBC_2.10 {
- preadv; preadv64; pwritev; pwritev64;
- }
- GLIBC_2.11 {
- mkstemps; mkstemps64; mkostemps; mkostemps64;
- }
- GLIBC_2.14 {
- syncfs;
- }
- GLIBC_2.16 {
- __getauxval; getauxval;
- }
- GLIBC_2.23 {
- # SHLIB_COMPAT(GLIBC_2_0, GLIBC_2_23) used in regexp.c
- }
- GLIBC_2.25 {
- gnu_dev_major; gnu_dev_minor; gnu_dev_makedev;
- }
- GLIBC_2.26 {
- preadv2; preadv64v2; pwritev2; pwritev64v2;
- }
- GLIBC_PRIVATE {
- __madvise;
- __mktemp;
- __libc_ifunc_impl_list;
- __tdelete; __tfind; __tsearch; __twalk;
- }
-}
diff --git a/misc/acct.c b/misc/acct.c
deleted file mode 100644
index 18959113e0..0000000000
--- a/misc/acct.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Copyright (C) 1991-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 <errno.h>
-#include <unistd.h>
-
-/* Turn accounting on if NAME is an existing file. The system will then write
- a record for each process as it terminates, to this file. If NAME is NULL,
- turn accounting off. This call is restricted to the super-user. */
-int
-acct (const char *name)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (acct)
diff --git a/misc/ar.h b/misc/ar.h
deleted file mode 100644
index bb40a0b8e4..0000000000
--- a/misc/ar.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Header describing `ar' archive file format.
- 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 _AR_H
-#define _AR_H 1
-
-#include <sys/cdefs.h>
-
-/* Archive files start with the ARMAG identifying string. Then follows a
- `struct ar_hdr', and as many bytes of member file data as its `ar_size'
- member indicates, for each member file. */
-
-#define ARMAG "!<arch>\n" /* String that begins an archive file. */
-#define SARMAG 8 /* Size of that string. */
-
-#define ARFMAG "`\n" /* String in ar_fmag at end of each header. */
-
-__BEGIN_DECLS
-
-struct ar_hdr
- {
- char ar_name[16]; /* Member file name, sometimes / terminated. */
- char ar_date[12]; /* File date, decimal seconds since Epoch. */
- char ar_uid[6], ar_gid[6]; /* User and group IDs, in ASCII decimal. */
- char ar_mode[8]; /* File mode, in ASCII octal. */
- char ar_size[10]; /* File size, in ASCII decimal. */
- char ar_fmag[2]; /* Always contains ARFMAG. */
- };
-
-__END_DECLS
-
-#endif /* ar.h */
diff --git a/misc/bits/error.h b/misc/bits/error.h
deleted file mode 100644
index c8f450810a..0000000000
--- a/misc/bits/error.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/* Specializations for error functions.
- Copyright (C) 2007-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 _ERROR_H
-# error "Never include <bits/error.h> directly; use <error.h> instead."
-#endif
-
-
-extern void __REDIRECT (__error_alias, (int __status, int __errnum,
- const char *__format, ...),
- error)
- __attribute__ ((__format__ (__printf__, 3, 4)));
-extern void __REDIRECT (__error_noreturn, (int __status, int __errnum,
- const char *__format, ...),
- error)
- __attribute__ ((__noreturn__, __format__ (__printf__, 3, 4)));
-
-
-/* If we know the function will never return make sure the compiler
- realizes that, too. */
-__extern_always_inline void
-error (int __status, int __errnum, const char *__format, ...)
-{
- if (__builtin_constant_p (__status) && __status != 0)
- __error_noreturn (__status, __errnum, __format, __va_arg_pack ());
- else
- __error_alias (__status, __errnum, __format, __va_arg_pack ());
-}
-
-
-extern void __REDIRECT (__error_at_line_alias, (int __status, int __errnum,
- const char *__fname,
- unsigned int __line,
- const char *__format, ...),
- error_at_line)
- __attribute__ ((__format__ (__printf__, 5, 6)));
-extern void __REDIRECT (__error_at_line_noreturn, (int __status, int __errnum,
- const char *__fname,
- unsigned int __line,
- const char *__format,
- ...),
- error_at_line)
- __attribute__ ((__noreturn__, __format__ (__printf__, 5, 6)));
-
-
-/* If we know the function will never return make sure the compiler
- realizes that, too. */
-__extern_always_inline void
-error_at_line (int __status, int __errnum, const char *__fname,
- unsigned int __line, const char *__format, ...)
-{
- if (__builtin_constant_p (__status) && __status != 0)
- __error_at_line_noreturn (__status, __errnum, __fname, __line, __format,
- __va_arg_pack ());
- else
- __error_at_line_alias (__status, __errnum, __fname, __line,
- __format, __va_arg_pack ());
-}
diff --git a/misc/bits/select2.h b/misc/bits/select2.h
deleted file mode 100644
index b4b85121a4..0000000000
--- a/misc/bits/select2.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Checking macros for select functions.
- 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/>. */
-
-#ifndef _SYS_SELECT_H
-# error "Never include <bits/select2.h> directly; use <sys/select.h> instead."
-#endif
-
-/* Helper functions to issue warnings and errors when needed. */
-extern long int __fdelt_chk (long int __d);
-extern long int __fdelt_warn (long int __d)
- __warnattr ("bit outside of fd_set selected");
-#undef __FD_ELT
-#define __FD_ELT(d) \
- __extension__ \
- ({ long int __d = (d); \
- (__builtin_constant_p (__d) \
- ? (0 <= __d && __d < __FD_SETSIZE \
- ? (__d / __NFDBITS) \
- : __fdelt_warn (__d)) \
- : __fdelt_chk (__d)); })
diff --git a/misc/bits/stab.def b/misc/bits/stab.def
deleted file mode 100644
index 127fffac9c..0000000000
--- a/misc/bits/stab.def
+++ /dev/null
@@ -1,233 +0,0 @@
-/* Table of DBX symbol codes for the GNU system.
- Copyright (C) 1988, 1997-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/>. */
-
-/* This contains contribution from Cygnus Support. */
-
-/* Global variable. Only the name is significant.
- To find the address, look in the corresponding external symbol. */
-__define_stab (N_GSYM, 0x20, "GSYM")
-
-/* Function name for BSD Fortran. Only the name is significant.
- To find the address, look in the corresponding external symbol. */
-__define_stab (N_FNAME, 0x22, "FNAME")
-
-/* Function name or text-segment variable for C. Value is its address.
- Desc is supposedly starting line number, but GCC doesn't set it
- and DBX seems not to miss it. */
-__define_stab (N_FUN, 0x24, "FUN")
-
-/* Data-segment variable with internal linkage. Value is its address.
- "Static Sym". */
-__define_stab (N_STSYM, 0x26, "STSYM")
-
-/* BSS-segment variable with internal linkage. Value is its address. */
-__define_stab (N_LCSYM, 0x28, "LCSYM")
-
-/* Name of main routine. Only the name is significant.
- This is not used in C. */
-__define_stab (N_MAIN, 0x2a, "MAIN")
-
-/* Global symbol in Pascal.
- Supposedly the value is its line number; I'm skeptical. */
-__define_stab (N_PC, 0x30, "PC")
-
-/* Number of symbols: 0, files,,funcs,lines according to Ultrix V4.0. */
-__define_stab (N_NSYMS, 0x32, "NSYMS")
-
-/* "No DST map for sym: name, ,0,type,ignored" according to Ultrix V4.0. */
-__define_stab (N_NOMAP, 0x34, "NOMAP")
-
-/* New stab from Solaris. I don't know what it means, but it
- don't seem to contain useful information. */
-__define_stab (N_OBJ, 0x38, "OBJ")
-
-/* New stab from Solaris. I don't know what it means, but it
- don't seem to contain useful information. Possibly related to the
- optimization flags used in this module. */
-__define_stab (N_OPT, 0x3c, "OPT")
-
-/* Register variable. Value is number of register. */
-__define_stab (N_RSYM, 0x40, "RSYM")
-
-/* Modula-2 compilation unit. Can someone say what info it contains? */
-__define_stab (N_M2C, 0x42, "M2C")
-
-/* Line number in text segment. Desc is the line number;
- value is corresponding address. */
-__define_stab (N_SLINE, 0x44, "SLINE")
-
-/* Similar, for data segment. */
-__define_stab (N_DSLINE, 0x46, "DSLINE")
-
-/* Similar, for bss segment. */
-__define_stab (N_BSLINE, 0x48, "BSLINE")
-
-/* Sun's source-code browser stabs. ?? Don't know what the fields are.
- Supposedly the field is "path to associated .cb file". THIS VALUE
- OVERLAPS WITH N_BSLINE! */
-__define_stab (N_BROWS, 0x48, "BROWS")
-
-/* GNU Modula-2 definition module dependency. Value is the modification time
- of the definition file. Other is non-zero if it is imported with the
- GNU M2 keyword %INITIALIZE. Perhaps N_M2C can be used if there
- are enough empty fields? */
-__define_stab(N_DEFD, 0x4a, "DEFD")
-
-/* THE FOLLOWING TWO STAB VALUES CONFLICT. Happily, one is for Modula-2
- and one is for C++. Still,... */
-/* GNU C++ exception variable. Name is variable name. */
-__define_stab (N_EHDECL, 0x50, "EHDECL")
-/* Modula2 info "for imc": name,,0,0,0 according to Ultrix V4.0. */
-__define_stab (N_MOD2, 0x50, "MOD2")
-
-/* GNU C++ `catch' clause. Value is its address. Desc is nonzero if
- this entry is immediately followed by a CAUGHT stab saying what exception
- was caught. Multiple CAUGHT stabs means that multiple exceptions
- can be caught here. If Desc is 0, it means all exceptions are caught
- here. */
-__define_stab (N_CATCH, 0x54, "CATCH")
-
-/* Structure or union element. Value is offset in the structure. */
-__define_stab (N_SSYM, 0x60, "SSYM")
-
-/* Name of main source file.
- Value is starting text address of the compilation. */
-__define_stab (N_SO, 0x64, "SO")
-
-/* Automatic variable in the stack. Value is offset from frame pointer.
- Also used for type descriptions. */
-__define_stab (N_LSYM, 0x80, "LSYM")
-
-/* Beginning of an include file. Only Sun uses this.
- In an object file, only the name is significant.
- The Sun linker puts data into some of the other fields. */
-__define_stab (N_BINCL, 0x82, "BINCL")
-
-/* Name of sub-source file (#include file).
- Value is starting text address of the compilation. */
-__define_stab (N_SOL, 0x84, "SOL")
-
-/* Parameter variable. Value is offset from argument pointer.
- (On most machines the argument pointer is the same as the frame pointer. */
-__define_stab (N_PSYM, 0xa0, "PSYM")
-
-/* End of an include file. No name.
- This and N_BINCL act as brackets around the file's output.
- In an object file, there is no significant data in this entry.
- The Sun linker puts data into some of the fields. */
-__define_stab (N_EINCL, 0xa2, "EINCL")
-
-/* Alternate entry point. Value is its address. */
-__define_stab (N_ENTRY, 0xa4, "ENTRY")
-
-/* Beginning of lexical block.
- The desc is the nesting level in lexical blocks.
- The value is the address of the start of the text for the block.
- The variables declared inside the block *precede* the N_LBRAC symbol. */
-__define_stab (N_LBRAC, 0xc0, "LBRAC")
-
-/* Place holder for deleted include file. Replaces a N_BINCL and everything
- up to the corresponding N_EINCL. The Sun linker generates these when
- it finds multiple identical copies of the symbols from an include file.
- This appears only in output from the Sun linker. */
-__define_stab (N_EXCL, 0xc2, "EXCL")
-
-/* Modula-2 scope information. Can someone say what info it contains? */
-__define_stab (N_SCOPE, 0xc4, "SCOPE")
-
-/* End of a lexical block. Desc matches the N_LBRAC's desc.
- The value is the address of the end of the text for the block. */
-__define_stab (N_RBRAC, 0xe0, "RBRAC")
-
-/* Begin named common block. Only the name is significant. */
-__define_stab (N_BCOMM, 0xe2, "BCOMM")
-
-/* End named common block. Only the name is significant
- (and it should match the N_BCOMM). */
-__define_stab (N_ECOMM, 0xe4, "ECOMM")
-
-/* End common (local name): value is address.
- I'm not sure how this is used. */
-__define_stab (N_ECOML, 0xe8, "ECOML")
-
-/* These STAB's are used on Gould systems for Non-Base register symbols
- or something like that. FIXME. I have assigned the values at random
- since I don't have a Gould here. Fixups from Gould folk welcome... */
-__define_stab (N_NBTEXT, 0xF0, "NBTEXT")
-__define_stab (N_NBDATA, 0xF2, "NBDATA")
-__define_stab (N_NBBSS, 0xF4, "NBBSS")
-__define_stab (N_NBSTS, 0xF6, "NBSTS")
-__define_stab (N_NBLCS, 0xF8, "NBLCS")
-
-/* Second symbol entry containing a length-value for the preceding entry.
- The value is the length. */
-__define_stab (N_LENG, 0xfe, "LENG")
-
-/* The above information, in matrix format.
-
- STAB MATRIX
- _________________________________________________
- | 00 - 1F are not dbx stab symbols |
- | In most cases, the low bit is the EXTernal bit|
-
- | 00 UNDEF | 02 ABS | 04 TEXT | 06 DATA |
- | 01 |EXT | 03 |EXT | 05 |EXT | 07 |EXT |
-
- | 08 BSS | 0A INDR | 0C FN_SEQ | 0E |
- | 09 |EXT | 0B | 0D | 0F |
-
- | 10 | 12 COMM | 14 SETA | 16 SETT |
- | 11 | 13 | 15 | 17 |
-
- | 18 SETD | 1A SETB | 1C SETV | 1E WARNING|
- | 19 | 1B | 1D | 1F FN |
-
- |_______________________________________________|
- | Debug entries with bit 01 set are unused. |
- | 20 GSYM | 22 FNAME | 24 FUN | 26 STSYM |
- | 28 LCSYM | 2A MAIN | 2C | 2E |
- | 30 PC | 32 NSYMS | 34 NOMAP | 36 |
- | 38 OBJ | 3A | 3C OPT | 3E |
- | 40 RSYM | 42 M2C | 44 SLINE | 46 DSLINE |
- | 48 BSLINE*| 4A DEFD | 4C | 4E |
- | 50 EHDECL*| 52 | 54 CATCH | 56 |
- | 58 | 5A | 5C | 5E |
- | 60 SSYM | 62 | 64 SO | 66 |
- | 68 | 6A | 6C | 6E |
- | 70 | 72 | 74 | 76 |
- | 78 | 7A | 7C | 7E |
- | 80 LSYM | 82 BINCL | 84 SOL | 86 |
- | 88 | 8A | 8C | 8E |
- | 90 | 92 | 94 | 96 |
- | 98 | 9A | 9C | 9E |
- | A0 PSYM | A2 EINCL | A4 ENTRY | A6 |
- | A8 | AA | AC | AE |
- | B0 | B2 | B4 | B6 |
- | B8 | BA | BC | BE |
- | C0 LBRAC | C2 EXCL | C4 SCOPE | C6 |
- | C8 | CA | CC | CE |
- | D0 | D2 | D4 | D6 |
- | D8 | DA | DC | DE |
- | E0 RBRAC | E2 BCOMM | E4 ECOMM | E6 |
- | E8 ECOML | EA | EC | EE |
- | F0 | F2 | F4 | F6 |
- | F8 | FA | FC | FE LENG |
- +-----------------------------------------------+
- * 50 EHDECL is also MOD2.
- * 48 BSLINE is also BROWS.
- */
diff --git a/misc/bits/syslog-ldbl.h b/misc/bits/syslog-ldbl.h
deleted file mode 100644
index 2bc38c0998..0000000000
--- a/misc/bits/syslog-ldbl.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/* -mlong-double-64 compatibility mode for syslog functions.
- Copyright (C) 2006-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_SYSLOG_H
-# error "Never include <bits/syslog-ldbl.h> directly; use <sys/syslog.h> instead."
-#endif
-
-__LDBL_REDIR_DECL (syslog)
-
-#ifdef __USE_MISC
-__LDBL_REDIR_DECL (vsyslog)
-#endif
-
-#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function
-__LDBL_REDIR_DECL (__syslog_chk)
-
-# ifdef __USE_MISC
-__LDBL_REDIR_DECL (__vsyslog_chk)
-# endif
-#endif
diff --git a/misc/bits/syslog.h b/misc/bits/syslog.h
deleted file mode 100644
index 0b6c913516..0000000000
--- a/misc/bits/syslog.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/* Checking macros for syslog 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 _SYS_SYSLOG_H
-# error "Never include <bits/syslog.h> directly; use <sys/syslog.h> instead."
-#endif
-
-
-extern void __syslog_chk (int __pri, int __flag, const char *__fmt, ...)
- __attribute__ ((__format__ (__printf__, 3, 4)));
-
-#ifdef __va_arg_pack
-__fortify_function void
-syslog (int __pri, const char *__fmt, ...)
-{
- __syslog_chk (__pri, __USE_FORTIFY_LEVEL - 1, __fmt, __va_arg_pack ());
-}
-#elif !defined __cplusplus
-# define syslog(pri, ...) \
- __syslog_chk (pri, __USE_FORTIFY_LEVEL - 1, __VA_ARGS__)
-#endif
-
-
-#ifdef __USE_MISC
-extern void __vsyslog_chk (int __pri, int __flag, const char *__fmt,
- __gnuc_va_list __ap)
- __attribute__ ((__format__ (__printf__, 3, 0)));
-
-__fortify_function void
-vsyslog (int __pri, const char *__fmt, __gnuc_va_list __ap)
-{
- __vsyslog_chk (__pri, __USE_FORTIFY_LEVEL - 1, __fmt, __ap);
-}
-#endif
diff --git a/misc/bits/types/struct_iovec.h b/misc/bits/types/struct_iovec.h
deleted file mode 100644
index bd625a302f..0000000000
--- a/misc/bits/types/struct_iovec.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Define struct iovec.
- 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 __iovec_defined
-#define __iovec_defined 1
-
-#define __need_size_t
-#include <stddef.h>
-
-/* Structure for scatter/gather I/O. */
-struct iovec
- {
- void *iov_base; /* Pointer to data. */
- size_t iov_len; /* Length of data. */
- };
-
-#endif
diff --git a/misc/brk.c b/misc/brk.c
deleted file mode 100644
index 45b7bf3dfd..0000000000
--- a/misc/brk.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Copyright (C) 1991-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 <errno.h>
-#include <unistd.h>
-
-/* sbrk.c expects this. */
-void *__curbrk;
-
-/* Set the end of the process's data space to ADDR.
- Return 0 if successful, -1 if not. */
-int
-__brk (void *addr)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-stub_warning (brk)
-
-weak_alias (__brk, brk)
diff --git a/misc/bug-hsearch1.c b/misc/bug-hsearch1.c
deleted file mode 100644
index 6097b5ad04..0000000000
--- a/misc/bug-hsearch1.c
+++ /dev/null
@@ -1,31 +0,0 @@
-#include <search.h>
-#include <stdio.h>
-
-static int
-do_test (void)
-{
- if (hcreate (1) == 0)
- {
- puts ("hcreate failed");
- return 1;
- }
- ENTRY e;
- e.key = (char *) "a";
- e.data = (char *) "b";
- if (hsearch (e, ENTER) == NULL)
- {
- puts ("ENTER failed");
- return 1;
- }
- ENTRY s;
- s.key = (char *) "c";
- if (hsearch (s, FIND) != NULL)
- {
- puts ("FIND succeeded");
- return 1;
- }
- return 0;
-}
-
-#define TEST_FUNCTION do_test ()
-#include "../test-skeleton.c"
diff --git a/misc/bug18240.c b/misc/bug18240.c
deleted file mode 100644
index 41d80a0375..0000000000
--- a/misc/bug18240.c
+++ /dev/null
@@ -1,97 +0,0 @@
-/* Test integer wraparound in hcreate.
- Copyright (C) 2016-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 <errno.h>
-#include <limits.h>
-#include <search.h>
-#include <stdbool.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <sys/resource.h>
-
-static void
-test_size (size_t size)
-{
- int res = hcreate (size);
- if (res == 0)
- {
- if (errno == ENOMEM)
- return;
- printf ("error: hcreate (%zu): %m\n", size);
- exit (1);
- }
- char *keys[100];
- for (int i = 0; i < 100; ++i)
- {
- if (asprintf (keys + i, "%d", i) < 0)
- {
- printf ("error: asprintf: %m\n");
- exit (1);
- }
- ENTRY e = { keys[i], (char *) "value" };
- if (hsearch (e, ENTER) == NULL)
- {
- printf ("error: hsearch (\"%s\"): %m\n", keys[i]);
- exit (1);
- }
- }
- hdestroy ();
-
- for (int i = 0; i < 100; ++i)
- free (keys[i]);
-}
-
-static int
-do_test (void)
-{
- /* Limit the size of the process, so that memory allocation will
- fail without impacting the entire system. */
- {
- struct rlimit limit;
- if (getrlimit (RLIMIT_AS, &limit) != 0)
- {
- printf ("getrlimit (RLIMIT_AS) failed: %m\n");
- return 1;
- }
- long target = 100 * 1024 * 1024;
- if (limit.rlim_cur == RLIM_INFINITY || limit.rlim_cur > target)
- {
- limit.rlim_cur = target;
- if (setrlimit (RLIMIT_AS, &limit) != 0)
- {
- printf ("setrlimit (RLIMIT_AS) failed: %m\n");
- return 1;
- }
- }
- }
-
- test_size (500);
- test_size (-1);
- test_size (-3);
- test_size (INT_MAX - 2);
- test_size (INT_MAX - 1);
- test_size (INT_MAX);
- test_size (((unsigned) INT_MAX) + 1);
- test_size (UINT_MAX - 2);
- test_size (UINT_MAX - 1);
- test_size (UINT_MAX);
- return 0;
-}
-
-#define TEST_FUNCTION do_test ()
-#include "../test-skeleton.c"
diff --git a/misc/chflags.c b/misc/chflags.c
deleted file mode 100644
index 3bf56dec06..0000000000
--- a/misc/chflags.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Copyright (C) 1991-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 <errno.h>
-#include <stddef.h>
-#include <sys/stat.h>
-
-/* Change the flags of FILE to FLAGS. */
-
-int chflags (const char *file, unsigned long int flags) __THROW;
-
-int
-chflags (const char *file, unsigned long int flags)
-{
- if (file == NULL)
- {
- __set_errno (EINVAL);
- return -1;
- }
-
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (chflags)
diff --git a/misc/chroot.c b/misc/chroot.c
deleted file mode 100644
index 78dc9ed848..0000000000
--- a/misc/chroot.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Copyright (C) 1991-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 <errno.h>
-#include <unistd.h>
-
-/* Make PATH be the root directory (the starting point for absolute paths).
- This call is restricted to the super-user. */
-int
-chroot (const char *path)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-
-stub_warning (chroot)
diff --git a/misc/daemon.c b/misc/daemon.c
deleted file mode 100644
index 9d186b24bd..0000000000
--- a/misc/daemon.c
+++ /dev/null
@@ -1,93 +0,0 @@
-/*-
- * Copyright (c) 1990, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#if defined(LIBC_SCCS) && !defined(lint)
-static char sccsid[] = "@(#)daemon.c 8.1 (Berkeley) 6/4/93";
-#endif /* LIBC_SCCS and not lint */
-
-#include <errno.h>
-#include <fcntl.h>
-#include <paths.h>
-#include <unistd.h>
-#include <sys/stat.h>
-
-#include <device-nrs.h>
-#include <not-cancel.h>
-
-int
-daemon (int nochdir, int noclose)
-{
- int fd;
-
- switch (__fork()) {
- case -1:
- return (-1);
- case 0:
- break;
- default:
- _exit(0);
- }
-
- if (__setsid() == -1)
- return (-1);
-
- if (!nochdir)
- (void)__chdir("/");
-
- if (!noclose) {
- struct stat64 st;
-
- if ((fd = open_not_cancel(_PATH_DEVNULL, O_RDWR, 0)) != -1
- && (__builtin_expect (__fxstat64 (_STAT_VER, fd, &st), 0)
- == 0)) {
- if (__builtin_expect (S_ISCHR (st.st_mode), 1) != 0
-#if defined DEV_NULL_MAJOR && defined DEV_NULL_MINOR
- && (st.st_rdev
- == makedev (DEV_NULL_MAJOR, DEV_NULL_MINOR))
-#endif
- ) {
- (void)__dup2(fd, STDIN_FILENO);
- (void)__dup2(fd, STDOUT_FILENO);
- (void)__dup2(fd, STDERR_FILENO);
- if (fd > 2)
- (void)__close (fd);
- } else {
- /* We must set an errno value since no
- function call actually failed. */
- close_not_cancel_no_status (fd);
- __set_errno (ENODEV);
- return -1;
- }
- } else {
- close_not_cancel_no_status (fd);
- return -1;
- }
- }
- return (0);
-}
diff --git a/misc/dirname.c b/misc/dirname.c
deleted file mode 100644
index 7400354c8e..0000000000
--- a/misc/dirname.c
+++ /dev/null
@@ -1,80 +0,0 @@
-/* dirname - return directory part of PATH.
- Copyright (C) 1996-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
-
- 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 <libgen.h>
-#include <string.h>
-
-
-char *
-dirname (char *path)
-{
- static const char dot[] = ".";
- char *last_slash;
-
- /* Find last '/'. */
- last_slash = path != NULL ? strrchr (path, '/') : NULL;
-
- if (last_slash != NULL && last_slash != path && last_slash[1] == '\0')
- {
- /* Determine whether all remaining characters are slashes. */
- char *runp;
-
- for (runp = last_slash; runp != path; --runp)
- if (runp[-1] != '/')
- break;
-
- /* The '/' is the last character, we have to look further. */
- if (runp != path)
- last_slash = __memrchr (path, '/', runp - path);
- }
-
- if (last_slash != NULL)
- {
- /* Determine whether all remaining characters are slashes. */
- char *runp;
-
- for (runp = last_slash; runp != path; --runp)
- if (runp[-1] != '/')
- break;
-
- /* Terminate the path. */
- if (runp == path)
- {
- /* The last slash is the first character in the string. We have to
- return "/". As a special case we have to return "//" if there
- are exactly two slashes at the beginning of the string. See
- XBD 4.10 Path Name Resolution for more information. */
- if (last_slash == path + 1)
- ++last_slash;
- else
- last_slash = path + 1;
- }
- else
- last_slash = runp;
-
- last_slash[0] = '\0';
- }
- else
- /* This assignment is ill-designed but the XPG specs require to
- return a string containing "." in any case no directory part is
- found and so a static and constant string is required. */
- path = (char *) dot;
-
- return path;
-}
diff --git a/misc/efgcvt.c b/misc/efgcvt.c
deleted file mode 100644
index 3a3665a250..0000000000
--- a/misc/efgcvt.c
+++ /dev/null
@@ -1,126 +0,0 @@
-/* Compatibility functions for floating point formatting.
- 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/>. */
-
-#include <math.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <sys/param.h>
-#include <float.h>
-#include <libc-lock.h>
-#include <math_ldbl_opt.h>
-
-#ifndef FLOAT_TYPE
-# define FLOAT_TYPE double
-# define FUNC_PREFIX
-# define FLOAT_FMT_FLAG
-/* Actually we have to write (DBL_DIG + log10 (DBL_MAX_10_EXP)) but we
- don't have log10 available in the preprocessor. */
-# define MAXDIG (NDIGIT_MAX + 3)
-# define FCVT_MAXDIG (DBL_MAX_10_EXP + MAXDIG)
-# if DBL_MANT_DIG == 53
-# define NDIGIT_MAX 17
-# elif DBL_MANT_DIG == 24
-# define NDIGIT_MAX 9
-# elif DBL_MANT_DIG == 56
-# define NDIGIT_MAX 18
-# else
-/* See IEEE 854 5.6, table 2 for this formula. Unfortunately we need a
- compile time constant here, so we cannot use it. */
-# error "NDIGIT_MAX must be precomputed"
-# define NDIGIT_MAX (lrint (ceil (M_LN2 / M_LN10 * DBL_MANT_DIG + 1.0)))
-# endif
-#else
-# define LONG_DOUBLE_CVT
-#endif
-
-#define APPEND(a, b) APPEND2 (a, b)
-#define APPEND2(a, b) a##b
-#define __APPEND(a, b) __APPEND2 (a, b)
-#define __APPEND2(a, b) __##a##b
-
-
-#define FCVT_BUFFER APPEND (FUNC_PREFIX, fcvt_buffer)
-#define FCVT_BUFPTR APPEND (FUNC_PREFIX, fcvt_bufptr)
-#define ECVT_BUFFER APPEND (FUNC_PREFIX, ecvt_buffer)
-
-
-static char FCVT_BUFFER[MAXDIG];
-static char ECVT_BUFFER[MAXDIG];
-libc_freeres_ptr (static char *FCVT_BUFPTR);
-
-char *
-__APPEND (FUNC_PREFIX, fcvt) (FLOAT_TYPE value, int ndigit, int *decpt,
- int *sign)
-{
- if (FCVT_BUFPTR == NULL)
- {
- if (__APPEND (FUNC_PREFIX, fcvt_r) (value, ndigit, decpt, sign,
- FCVT_BUFFER, MAXDIG) != -1)
- return FCVT_BUFFER;
-
- FCVT_BUFPTR = (char *) malloc (FCVT_MAXDIG);
- if (FCVT_BUFPTR == NULL)
- return FCVT_BUFFER;
- }
-
- (void) __APPEND (FUNC_PREFIX, fcvt_r) (value, ndigit, decpt, sign,
- FCVT_BUFPTR, FCVT_MAXDIG);
-
- return FCVT_BUFPTR;
-}
-
-
-char *
-__APPEND (FUNC_PREFIX, ecvt) (FLOAT_TYPE value, int ndigit, int *decpt,
- int *sign)
-{
- (void) __APPEND (FUNC_PREFIX, ecvt_r) (value, ndigit, decpt, sign,
- ECVT_BUFFER, MAXDIG);
-
- return ECVT_BUFFER;
-}
-
-char *
-__APPEND (FUNC_PREFIX, gcvt) (FLOAT_TYPE value, int ndigit, char *buf)
-{
- sprintf (buf, "%.*" FLOAT_FMT_FLAG "g", MIN (ndigit, NDIGIT_MAX), value);
- return buf;
-}
-
-#if LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)
-# ifdef LONG_DOUBLE_CVT
-# define cvt_symbol(symbol) \
- cvt_symbol_1 (libc, __APPEND (FUNC_PREFIX, symbol), \
- APPEND (FUNC_PREFIX, symbol), GLIBC_2_4)
-# define cvt_symbol_1(lib, local, symbol, version) \
- versioned_symbol (lib, local, symbol, version)
-# else
-# define cvt_symbol(symbol) \
- cvt_symbol_1 (libc, __APPEND (FUNC_PREFIX, symbol), \
- APPEND (q, symbol), GLIBC_2_0); \
- strong_alias (__APPEND (FUNC_PREFIX, symbol), APPEND (FUNC_PREFIX, symbol))
-# define cvt_symbol_1(lib, local, symbol, version) \
- compat_symbol (lib, local, symbol, version)
-# endif
-#else
-# define cvt_symbol(symbol) \
- strong_alias (__APPEND (FUNC_PREFIX, symbol), APPEND (FUNC_PREFIX, symbol))
-#endif
-cvt_symbol(fcvt);
-cvt_symbol(ecvt);
-cvt_symbol(gcvt);
diff --git a/misc/efgcvt_r.c b/misc/efgcvt_r.c
deleted file mode 100644
index e34c455f0a..0000000000
--- a/misc/efgcvt_r.c
+++ /dev/null
@@ -1,257 +0,0 @@
-/* Compatibility functions for floating point formatting, reentrant versions.
- 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/>. */
-
-#include <errno.h>
-#include <float.h>
-#include <stdio.h>
-#include <string.h>
-#include <ctype.h>
-#include <math.h>
-#include <stdlib.h>
-#include <sys/param.h>
-#include <math_ldbl_opt.h>
-
-#ifndef FLOAT_TYPE
-# define FLOAT_TYPE double
-# define FUNC_PREFIX
-# define FLOAT_FMT_FLAG
-# define FLOAT_NAME_EXT
-# define FLOAT_MIN_10_EXP DBL_MIN_10_EXP
-# if DBL_MANT_DIG == 53
-# define NDIGIT_MAX 17
-# elif DBL_MANT_DIG == 24
-# define NDIGIT_MAX 9
-# elif DBL_MANT_DIG == 56
-# define NDIGIT_MAX 18
-# else
-/* See IEEE 854 5.6, table 2 for this formula. Unfortunately we need a
- compile time constant here, so we cannot use it. */
-# error "NDIGIT_MAX must be precomputed"
-# define NDIGIT_MAX (lrint (ceil (M_LN2 / M_LN10 * DBL_MANT_DIG + 1.0)))
-# endif
-# if DBL_MIN_10_EXP == -37
-# define FLOAT_MIN_10_NORM 1.0e-37
-# elif DBL_MIN_10_EXP == -307
-# define FLOAT_MIN_10_NORM 1.0e-307
-# elif DBL_MIN_10_EXP == -4931
-# define FLOAT_MIN_10_NORM 1.0e-4931
-# else
-/* libc can't depend on libm. */
-# error "FLOAT_MIN_10_NORM must be precomputed"
-# define FLOAT_MIN_10_NORM exp10 (DBL_MIN_10_EXP)
-# endif
-#else
-# define LONG_DOUBLE_CVT
-#endif
-
-#define APPEND(a, b) APPEND2 (a, b)
-#define APPEND2(a, b) a##b
-#define __APPEND(a, b) __APPEND2 (a, b)
-#define __APPEND2(a, b) __##a##b
-
-#define FLOOR APPEND(floor, FLOAT_NAME_EXT)
-#define FABS APPEND(fabs, FLOAT_NAME_EXT)
-#define LOG10 APPEND(log10, FLOAT_NAME_EXT)
-#define EXP APPEND(exp, FLOAT_NAME_EXT)
-
-
-int
-__APPEND (FUNC_PREFIX, fcvt_r) (FLOAT_TYPE value, int ndigit, int *decpt,
- int *sign, char *buf, size_t len)
-{
- ssize_t n;
- ssize_t i;
- int left;
-
- if (buf == NULL)
- {
- __set_errno (EINVAL);
- return -1;
- }
-
- left = 0;
- if (isfinite (value))
- {
- *sign = signbit (value) != 0;
- if (*sign)
- value = -value;
-
- if (ndigit < 0)
- {
- /* Rounding to the left of the decimal point. */
- while (ndigit < 0)
- {
- FLOAT_TYPE new_value = value * 0.1;
-
- if (new_value < 1.0)
- {
- ndigit = 0;
- break;
- }
-
- value = new_value;
- ++left;
- ++ndigit;
- }
- }
- }
- else
- /* Value is Inf or NaN. */
- *sign = 0;
-
- n = __snprintf (buf, len, "%.*" FLOAT_FMT_FLAG "f", MIN (ndigit, NDIGIT_MAX),
- value);
- /* Check for a too small buffer. */
- if (n >= (ssize_t) len)
- return -1;
-
- i = 0;
- while (i < n && isdigit (buf[i]))
- ++i;
- *decpt = i;
-
- if (i == 0)
- /* Value is Inf or NaN. */
- return 0;
-
- if (i < n)
- {
- do
- ++i;
- while (i < n && !isdigit (buf[i]));
-
- if (*decpt == 1 && buf[0] == '0' && value != 0.0)
- {
- /* We must not have leading zeroes. Strip them all out and
- adjust *DECPT if necessary. */
- --*decpt;
- while (i < n && buf[i] == '0')
- {
- --*decpt;
- ++i;
- }
- }
-
- memmove (&buf[MAX (*decpt, 0)], &buf[i], n - i);
- buf[n - (i - MAX (*decpt, 0))] = '\0';
- }
-
- if (left)
- {
- *decpt += left;
- if ((ssize_t) --len > n)
- {
- while (left-- > 0 && n < (ssize_t) len)
- buf[n++] = '0';
- buf[n] = '\0';
- }
- }
-
- return 0;
-}
-
-int
-__APPEND (FUNC_PREFIX, ecvt_r) (FLOAT_TYPE value, int ndigit, int *decpt,
- int *sign, char *buf, size_t len)
-{
- int exponent = 0;
-
- if (isfinite (value) && value != 0.0)
- {
- /* Slow code that doesn't require -lm functions. */
- FLOAT_TYPE d;
- FLOAT_TYPE f = 1.0;
- if (value < 0.0)
- d = -value;
- else
- d = value;
- /* For denormalized numbers the d < 1.0 case below won't work,
- as f can overflow to +Inf. */
- if (d < FLOAT_MIN_10_NORM)
- {
- value /= FLOAT_MIN_10_NORM;
- if (value < 0.0)
- d = -value;
- else
- d = value;
- exponent += FLOAT_MIN_10_EXP;
- }
- if (d < 1.0)
- {
- do
- {
- f *= 10.0;
- --exponent;
- }
- while (d * f < 1.0);
-
- value *= f;
- }
- else if (d >= 10.0)
- {
- do
- {
- f *= 10;
- ++exponent;
- }
- while (d >= f * 10.0);
-
- value /= f;
- }
- }
- else if (value == 0.0)
- /* SUSv2 leaves it unspecified whether *DECPT is 0 or 1 for 0.0.
- This could be changed to -1 if we want to return 0. */
- exponent = 0;
-
- if (ndigit <= 0 && len > 0)
- {
- buf[0] = '\0';
- *decpt = 1;
- *sign = isfinite (value) ? signbit (value) != 0 : 0;
- }
- else
- if (__APPEND (FUNC_PREFIX, fcvt_r) (value, MIN (ndigit, NDIGIT_MAX) - 1,
- decpt, sign, buf, len))
- return -1;
-
- *decpt += exponent;
- return 0;
-}
-
-#if LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)
-# ifdef LONG_DOUBLE_CVT
-# define cvt_symbol(symbol) \
- cvt_symbol_1 (libc, __APPEND (FUNC_PREFIX, symbol), \
- APPEND (FUNC_PREFIX, symbol), GLIBC_2_4)
-# define cvt_symbol_1(lib, local, symbol, version) \
- versioned_symbol (lib, local, symbol, version)
-# else
-# define cvt_symbol(symbol) \
- cvt_symbol_1 (libc, __APPEND (FUNC_PREFIX, symbol), \
- APPEND (q, symbol), GLIBC_2_0); \
- weak_alias (__APPEND (FUNC_PREFIX, symbol), APPEND (FUNC_PREFIX, symbol))
-# define cvt_symbol_1(lib, local, symbol, version) \
- compat_symbol (lib, local, symbol, version)
-# endif
-#else
-# define cvt_symbol(symbol) \
- weak_alias (__APPEND (FUNC_PREFIX, symbol), APPEND (FUNC_PREFIX, symbol))
-#endif
-cvt_symbol(fcvt_r);
-cvt_symbol(ecvt_r);
diff --git a/misc/err.c b/misc/err.c
deleted file mode 100644
index 3da4e9d6b0..0000000000
--- a/misc/err.c
+++ /dev/null
@@ -1,179 +0,0 @@
-/* 4.4BSD utility functions for error messages.
- 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/>. */
-
-#include <stdarg.h>
-#include <err.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <string.h>
-#include <stdio.h>
-
-#include <wchar.h>
-#define flockfile(s) _IO_flockfile (s)
-#define funlockfile(s) _IO_funlockfile (s)
-
-extern char *__progname;
-
-#define VA(call) \
-{ \
- va_list ap; \
- va_start (ap, format); \
- call; \
- va_end (ap); \
-}
-
-static void
-convert_and_print (const char *format, __gnuc_va_list ap)
-{
-#define ALLOCA_LIMIT 2000
- size_t len;
- wchar_t *wformat = NULL;
- mbstate_t st;
- size_t res;
- const char *tmp;
-
- if (format == NULL)
- return;
-
- len = strlen (format) + 1;
-
- do
- {
- if (len < ALLOCA_LIMIT)
- wformat = (wchar_t *) alloca (len * sizeof (wchar_t));
- else
- {
- if (wformat != NULL && len / 2 < ALLOCA_LIMIT)
- wformat = NULL;
-
- wformat = (wchar_t *) realloc (wformat, len * sizeof (wchar_t));
-
- if (wformat == NULL)
- {
- fputws_unlocked (L"out of memory\n", stderr);
- return;
- }
- }
-
- memset (&st, '\0', sizeof (st));
- tmp =format;
- }
- while ((res = __mbsrtowcs (wformat, &tmp, len, &st)) == len);
-
- if (res == (size_t) -1)
- /* The string cannot be converted. */
- wformat = (wchar_t *) L"???";
-
- __vfwprintf (stderr, wformat, ap);
-}
-
-void
-vwarnx (const char *format, __gnuc_va_list ap)
-{
- flockfile (stderr);
- if (_IO_fwide (stderr, 0) > 0)
- {
- __fwprintf (stderr, L"%s: ", __progname);
- convert_and_print (format, ap);
- putwc_unlocked (L'\n', stderr);
- }
- else
- {
- fprintf (stderr, "%s: ", __progname);
- if (format)
- vfprintf (stderr, format, ap);
- putc_unlocked ('\n', stderr);
- }
- funlockfile (stderr);
-}
-libc_hidden_def (vwarnx)
-
-void
-vwarn (const char *format, __gnuc_va_list ap)
-{
- int error = errno;
-
- flockfile (stderr);
- if (_IO_fwide (stderr, 0) > 0)
- {
- __fwprintf (stderr, L"%s: ", __progname);
- if (format)
- {
- convert_and_print (format, ap);
- fputws_unlocked (L": ", stderr);
- }
- __set_errno (error);
- __fwprintf (stderr, L"%m\n");
- }
- else
- {
- fprintf (stderr, "%s: ", __progname);
- if (format)
- {
- vfprintf (stderr, format, ap);
- fputs_unlocked (": ", stderr);
- }
- __set_errno (error);
- fprintf (stderr, "%m\n");
- }
- funlockfile (stderr);
-}
-libc_hidden_def (vwarn)
-
-
-void
-warn (const char *format, ...)
-{
- VA (vwarn (format, ap))
-}
-libc_hidden_def (warn)
-
-void
-warnx (const char *format, ...)
-{
- VA (vwarnx (format, ap))
-}
-libc_hidden_def (warnx)
-
-void
-verr (int status, const char *format, __gnuc_va_list ap)
-{
- vwarn (format, ap);
- exit (status);
-}
-libc_hidden_def (verr)
-
-void
-verrx (int status, const char *format, __gnuc_va_list ap)
-{
- vwarnx (format, ap);
- exit (status);
-}
-libc_hidden_def (verrx)
-
-void
-err (int status, const char *format, ...)
-{
- VA (verr (status, format, ap))
-}
-
-void
-errx (int status, const char *format, ...)
-{
- VA (verrx (status, format, ap))
-}
diff --git a/misc/err.h b/misc/err.h
deleted file mode 100644
index d893a25eac..0000000000
--- a/misc/err.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/* 4.4BSD utility functions for error messages.
- 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 _ERR_H
-#define _ERR_H 1
-
-#include <features.h>
-
-#define __need___va_list
-#include <stdarg.h>
-#ifndef __GNUC_VA_LIST
-# define __gnuc_va_list __ptr_t
-#endif
-
-__BEGIN_DECLS
-
-/* Print "program: ", FORMAT, ": ", the standard error string for errno,
- and a newline, on stderr. */
-extern void warn (const char *__format, ...)
- __attribute__ ((__format__ (__printf__, 1, 2)));
-extern void vwarn (const char *__format, __gnuc_va_list)
- __attribute__ ((__format__ (__printf__, 1, 0)));
-
-/* Likewise, but without ": " and the standard error string. */
-extern void warnx (const char *__format, ...)
- __attribute__ ((__format__ (__printf__, 1, 2)));
-extern void vwarnx (const char *__format, __gnuc_va_list)
- __attribute__ ((__format__ (__printf__, 1, 0)));
-
-/* Likewise, and then exit with STATUS. */
-extern void err (int __status, const char *__format, ...)
- __attribute__ ((__noreturn__, __format__ (__printf__, 2, 3)));
-extern void verr (int __status, const char *__format, __gnuc_va_list)
- __attribute__ ((__noreturn__, __format__ (__printf__, 2, 0)));
-extern void errx (int __status, const char *__format, ...)
- __attribute__ ((__noreturn__, __format__ (__printf__, 2, 3)));
-extern void verrx (int __status, const char *, __gnuc_va_list)
- __attribute__ ((__noreturn__, __format__ (__printf__, 2, 0)));
-
-__END_DECLS
-
-#endif /* err.h */
diff --git a/misc/error.c b/misc/error.c
deleted file mode 100644
index 1d960be23f..0000000000
--- a/misc/error.c
+++ /dev/null
@@ -1,408 +0,0 @@
-/* Error handler for noninteractive utilities
- Copyright (C) 1990-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/>. */
-
-/* Written by David MacKenzie <djm@gnu.ai.mit.edu>. */
-
-#if !_LIBC
-# include <config.h>
-#endif
-
-#include "error.h"
-
-#include <stdarg.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#if !_LIBC && ENABLE_NLS
-# include "gettext.h"
-# define _(msgid) gettext (msgid)
-#endif
-
-#ifdef _LIBC
-# include <libintl.h>
-# include <stdbool.h>
-# include <stdint.h>
-# include <wchar.h>
-# define mbsrtowcs __mbsrtowcs
-# define USE_UNLOCKED_IO 0
-# define _GL_ATTRIBUTE_FORMAT_PRINTF(a, b)
-# define _GL_ARG_NONNULL(a)
-#endif
-
-#if USE_UNLOCKED_IO
-# include "unlocked-io.h"
-#endif
-
-#ifndef _
-# define _(String) String
-#endif
-
-/* If NULL, error will flush stdout, then print on stderr the program
- name, a colon and a space. Otherwise, error will call this
- function without parameters instead. */
-void (*error_print_progname) (void);
-
-/* This variable is incremented each time 'error' is called. */
-unsigned int error_message_count;
-
-#ifdef _LIBC
-/* In the GNU C library, there is a predefined variable for this. */
-
-# define program_name program_invocation_name
-# include <errno.h>
-# include <limits.h>
-# include <libio/libioP.h>
-
-/* In GNU libc we want do not want to use the common name 'error' directly.
- Instead make it a weak alias. */
-extern void __error (int status, int errnum, const char *message, ...)
- __attribute__ ((__format__ (__printf__, 3, 4)));
-extern void __error_at_line (int status, int errnum, const char *file_name,
- unsigned int line_number, const char *message,
- ...)
- __attribute__ ((__format__ (__printf__, 5, 6)));;
-# define error __error
-# define error_at_line __error_at_line
-
-# include <libio/iolibio.h>
-# define fflush(s) _IO_fflush (s)
-# undef putc
-# define putc(c, fp) _IO_putc (c, fp)
-
-# include <libc-lock.h>
-
-#else /* not _LIBC */
-
-# include <fcntl.h>
-# include <unistd.h>
-
-# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-/* Get declarations of the native Windows API functions. */
-# define WIN32_LEAN_AND_MEAN
-# include <windows.h>
-/* Get _get_osfhandle. */
-# include "msvc-nothrow.h"
-# endif
-
-/* The gnulib override of fcntl is not needed in this file. */
-# undef fcntl
-
-# if !HAVE_DECL_STRERROR_R
-# ifndef HAVE_DECL_STRERROR_R
-"this configure-time declaration test was not run"
-# endif
-# if STRERROR_R_CHAR_P
-char *strerror_r ();
-# else
-int strerror_r ();
-# endif
-# endif
-
-/* The calling program should define program_name and set it to the
- name of the executing program. */
-extern char *program_name;
-
-# if HAVE_STRERROR_R || defined strerror_r
-# define __strerror_r strerror_r
-# endif /* HAVE_STRERROR_R || defined strerror_r */
-#endif /* not _LIBC */
-
-#if !_LIBC
-/* Return non-zero if FD is open. */
-static int
-is_open (int fd)
-{
-# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
- /* On native Windows: The initial state of unassigned standard file
- descriptors is that they are open but point to an INVALID_HANDLE_VALUE.
- There is no fcntl, and the gnulib replacement fcntl does not support
- F_GETFL. */
- return (HANDLE) _get_osfhandle (fd) != INVALID_HANDLE_VALUE;
-# else
-# ifndef F_GETFL
-# error Please port fcntl to your platform
-# endif
- return 0 <= fcntl (fd, F_GETFL);
-# endif
-}
-#endif
-
-static void
-flush_stdout (void)
-{
-#if !_LIBC
- int stdout_fd;
-
-# if GNULIB_FREOPEN_SAFER
- /* Use of gnulib's freopen-safer module normally ensures that
- fileno (stdout) == 1
- whenever stdout is open. */
- stdout_fd = STDOUT_FILENO;
-# else
- /* POSIX states that fileno (stdout) after fclose is unspecified. But in
- practice it is not a problem, because stdout is statically allocated and
- the fd of a FILE stream is stored as a field in its allocated memory. */
- stdout_fd = fileno (stdout);
-# endif
- /* POSIX states that fflush (stdout) after fclose is unspecified; it
- is safe in glibc, but not on all other platforms. fflush (NULL)
- is always defined, but too draconian. */
- if (0 <= stdout_fd && is_open (stdout_fd))
-#endif
- fflush (stdout);
-}
-
-static void
-print_errno_message (int errnum)
-{
- char const *s;
-
-#if defined HAVE_STRERROR_R || _LIBC
- char errbuf[1024];
-# if _LIBC || STRERROR_R_CHAR_P
- s = __strerror_r (errnum, errbuf, sizeof errbuf);
-# else
- if (__strerror_r (errnum, errbuf, sizeof errbuf) == 0)
- s = errbuf;
- else
- s = 0;
-# endif
-#else
- s = strerror (errnum);
-#endif
-
-#if !_LIBC
- if (! s)
- s = _("Unknown system error");
-#endif
-
-#if _LIBC
- __fxprintf (NULL, ": %s", s);
-#else
- fprintf (stderr, ": %s", s);
-#endif
-}
-
-static void _GL_ATTRIBUTE_FORMAT_PRINTF (3, 0) _GL_ARG_NONNULL ((3))
-error_tail (int status, int errnum, const char *message, va_list args)
-{
-#if _LIBC
- if (_IO_fwide (stderr, 0) > 0)
- {
- size_t len = strlen (message) + 1;
- wchar_t *wmessage = NULL;
- mbstate_t st;
- size_t res;
- const char *tmp;
- bool use_malloc = false;
-
- while (1)
- {
- if (__libc_use_alloca (len * sizeof (wchar_t)))
- wmessage = (wchar_t *) alloca (len * sizeof (wchar_t));
- else
- {
- if (!use_malloc)
- wmessage = NULL;
-
- wchar_t *p = (wchar_t *) realloc (wmessage,
- len * sizeof (wchar_t));
- if (p == NULL)
- {
- free (wmessage);
- fputws_unlocked (L"out of memory\n", stderr);
- return;
- }
- wmessage = p;
- use_malloc = true;
- }
-
- memset (&st, '\0', sizeof (st));
- tmp = message;
-
- res = mbsrtowcs (wmessage, &tmp, len, &st);
- if (res != len)
- break;
-
- if (__builtin_expect (len >= SIZE_MAX / sizeof (wchar_t) / 2, 0))
- {
- /* This really should not happen if everything is fine. */
- res = (size_t) -1;
- break;
- }
-
- len *= 2;
- }
-
- if (res == (size_t) -1)
- {
- /* The string cannot be converted. */
- if (use_malloc)
- {
- free (wmessage);
- use_malloc = false;
- }
- wmessage = (wchar_t *) L"???";
- }
-
- __vfwprintf (stderr, wmessage, args);
-
- if (use_malloc)
- free (wmessage);
- }
- else
-#endif
- vfprintf (stderr, message, args);
- va_end (args);
-
- ++error_message_count;
- if (errnum)
- print_errno_message (errnum);
-#if _LIBC
- __fxprintf (NULL, "\n");
-#else
- putc ('\n', stderr);
-#endif
- fflush (stderr);
- if (status)
- exit (status);
-}
-
-
-/* Print the program name and error message MESSAGE, which is a printf-style
- format string with optional args.
- If ERRNUM is nonzero, print its corresponding system error message.
- Exit with status STATUS if it is nonzero. */
-void
-error (int status, int errnum, const char *message, ...)
-{
- va_list args;
-
-#if defined _LIBC && defined __libc_ptf_call
- /* We do not want this call to be cut short by a thread
- cancellation. Therefore disable cancellation for now. */
- int state = PTHREAD_CANCEL_ENABLE;
- __libc_ptf_call (__pthread_setcancelstate,
- (PTHREAD_CANCEL_DISABLE, &state), 0);
-#endif
-
- flush_stdout ();
-#ifdef _LIBC
- _IO_flockfile (stderr);
-#endif
- if (error_print_progname)
- (*error_print_progname) ();
- else
- {
-#if _LIBC
- __fxprintf (NULL, "%s: ", program_name);
-#else
- fprintf (stderr, "%s: ", program_name);
-#endif
- }
-
- va_start (args, message);
- error_tail (status, errnum, message, args);
-
-#ifdef _LIBC
- _IO_funlockfile (stderr);
-# ifdef __libc_ptf_call
- __libc_ptf_call (__pthread_setcancelstate, (state, NULL), 0);
-# endif
-#endif
-}
-
-/* Sometimes we want to have at most one error per line. This
- variable controls whether this mode is selected or not. */
-int error_one_per_line;
-
-void
-error_at_line (int status, int errnum, const char *file_name,
- unsigned int line_number, const char *message, ...)
-{
- va_list args;
-
- if (error_one_per_line)
- {
- static const char *old_file_name;
- static unsigned int old_line_number;
-
- if (old_line_number == line_number
- && (file_name == old_file_name
- || (old_file_name != NULL
- && file_name != NULL
- && strcmp (old_file_name, file_name) == 0)))
-
- /* Simply return and print nothing. */
- return;
-
- old_file_name = file_name;
- old_line_number = line_number;
- }
-
-#if defined _LIBC && defined __libc_ptf_call
- /* We do not want this call to be cut short by a thread
- cancellation. Therefore disable cancellation for now. */
- int state = PTHREAD_CANCEL_ENABLE;
- __libc_ptf_call (__pthread_setcancelstate,
- (PTHREAD_CANCEL_DISABLE, &state),
- 0);
-#endif
-
- flush_stdout ();
-#ifdef _LIBC
- _IO_flockfile (stderr);
-#endif
- if (error_print_progname)
- (*error_print_progname) ();
- else
- {
-#if _LIBC
- __fxprintf (NULL, "%s:", program_name);
-#else
- fprintf (stderr, "%s:", program_name);
-#endif
- }
-
-#if _LIBC
- __fxprintf (NULL, file_name != NULL ? "%s:%d: " : " ",
- file_name, line_number);
-#else
- fprintf (stderr, file_name != NULL ? "%s:%d: " : " ",
- file_name, line_number);
-#endif
-
- va_start (args, message);
- error_tail (status, errnum, message, args);
-
-#ifdef _LIBC
- _IO_funlockfile (stderr);
-# ifdef __libc_ptf_call
- __libc_ptf_call (__pthread_setcancelstate, (state, NULL), 0);
-# endif
-#endif
-}
-
-#ifdef _LIBC
-/* Make the weak alias. */
-# undef error
-# undef error_at_line
-weak_alias (__error, error)
-weak_alias (__error_at_line, error_at_line)
-#endif
diff --git a/misc/error.h b/misc/error.h
deleted file mode 100644
index 6461d840d8..0000000000
--- a/misc/error.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/* Declaration for error-reporting function
- 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 _ERROR_H
-#define _ERROR_H 1
-
-#include <features.h>
-
-
-__BEGIN_DECLS
-
-/* Print a message with `fprintf (stderr, FORMAT, ...)';
- if ERRNUM is nonzero, follow it with ": " and strerror (ERRNUM).
- If STATUS is nonzero, terminate the program with `exit (STATUS)'. */
-
-extern void error (int __status, int __errnum, const char *__format, ...)
- __attribute__ ((__format__ (__printf__, 3, 4)));
-
-extern void error_at_line (int __status, int __errnum, const char *__fname,
- unsigned int __lineno, const char *__format, ...)
- __attribute__ ((__format__ (__printf__, 5, 6)));
-
-/* If NULL, error will flush stdout, then print on stderr the program
- name, a colon and a space. Otherwise, error will call this
- function without parameters instead. */
-extern void (*error_print_progname) (void);
-
-/* This variable is incremented each time `error' is called. */
-extern unsigned int error_message_count;
-
-/* Sometimes we want to have at most one error per line. This
- variable controls whether this mode is selected or not. */
-extern int error_one_per_line;
-
-
-#if defined __extern_always_inline && defined __va_arg_pack
-# include <bits/error.h>
-#endif
-
-__END_DECLS
-
-#endif /* error.h */
diff --git a/misc/fchflags.c b/misc/fchflags.c
deleted file mode 100644
index b127695772..0000000000
--- a/misc/fchflags.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Copyright (C) 1991-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 <errno.h>
-#include <stddef.h>
-#include <sys/stat.h>
-
-/* Change the flags of the file referenced by FD to FLAGS. */
-
-int fchflags (int fd, unsigned long int flags) __THROW;
-
-int
-fchflags (int fd, unsigned long int flags)
-{
- if (fd < 0)
- {
- __set_errno (EINVAL);
- return -1;
- }
-
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (fchflags)
diff --git a/misc/fdatasync.c b/misc/fdatasync.c
deleted file mode 100644
index 6e4cb17b07..0000000000
--- a/misc/fdatasync.c
+++ /dev/null
@@ -1,27 +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/>. */
-
-#include <unistd.h>
-
-
-/* Synchronize at least the data part of a file with the underlying
- media. */
-int
-fdatasync (int fildes)
-{
- return fsync (fildes);
-}
diff --git a/misc/fgetxattr.c b/misc/fgetxattr.c
deleted file mode 100644
index 5f43604987..0000000000
--- a/misc/fgetxattr.c
+++ /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/>. */
-
-#include <errno.h>
-#include <sys/xattr.h>
-
-ssize_t
-fgetxattr (int __fd, const char *__name,
- void *__value, size_t __size)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (fgetxattr)
diff --git a/misc/flistxattr.c b/misc/flistxattr.c
deleted file mode 100644
index 9b315e6d96..0000000000
--- a/misc/flistxattr.c
+++ /dev/null
@@ -1,28 +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/>. */
-
-#include <errno.h>
-#include <sys/xattr.h>
-
-ssize_t
-flistxattr (int __fd, char *__list, size_t __size)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (flistxattr)
diff --git a/misc/fremovexattr.c b/misc/fremovexattr.c
deleted file mode 100644
index 8c1574f903..0000000000
--- a/misc/fremovexattr.c
+++ /dev/null
@@ -1,28 +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/>. */
-
-#include <errno.h>
-#include <sys/xattr.h>
-
-int
-fremovexattr (int __fd, const char *__name)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (fremovexattr)
diff --git a/misc/fsetxattr.c b/misc/fsetxattr.c
deleted file mode 100644
index 0633eb5b82..0000000000
--- a/misc/fsetxattr.c
+++ /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/>. */
-
-#include <errno.h>
-#include <sys/xattr.h>
-
-int
-fsetxattr (int __fd, const char *__name, const void *__value,
- size_t __size, int __flags)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (fsetxattr)
diff --git a/misc/fstab.c b/misc/fstab.c
deleted file mode 100644
index 7da7e2b62b..0000000000
--- a/misc/fstab.c
+++ /dev/null
@@ -1,186 +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/>. */
-
-#include <fstab.h>
-#include <mntent.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <libc-lock.h>
-
-#define BUFFER_SIZE 0x1fc0
-
-struct fstab_state
-{
- FILE *fs_fp;
- char *fs_buffer;
- struct mntent fs_mntres;
- struct fstab fs_ret;
-};
-
-static struct fstab_state *fstab_init (int opt_rewind);
-static struct mntent *fstab_fetch (struct fstab_state *state);
-static struct fstab *fstab_convert (struct fstab_state *state);
-
-static struct fstab_state fstab_state;
-
-
-int
-setfsent (void)
-{
- return fstab_init (1) != NULL;
-}
-
-
-struct fstab *
-getfsent (void)
-{
- struct fstab_state *state;
-
- state = fstab_init (0);
- if (state == NULL)
- return NULL;
- if (fstab_fetch (state) == NULL)
- return NULL;
- return fstab_convert (state);
-}
-
-
-struct fstab *
-getfsspec (const char *name)
-{
- struct fstab_state *state;
- struct mntent *m;
-
- state = fstab_init (1);
- if (state == NULL)
- return NULL;
- while ((m = fstab_fetch (state)) != NULL)
- if (strcmp (m->mnt_fsname, name) == 0)
- return fstab_convert (state);
- return NULL;
-}
-
-
-struct fstab *
-getfsfile (const char *name)
-{
- struct fstab_state *state;
- struct mntent *m;
-
- state = fstab_init (1);
- if (state == NULL)
- return NULL;
- while ((m = fstab_fetch (state)) != NULL)
- if (strcmp (m->mnt_dir, name) == 0)
- return fstab_convert (state);
- return NULL;
-}
-
-
-void
-endfsent (void)
-{
- struct fstab_state *state;
-
- state = &fstab_state;
- if (state->fs_fp != NULL)
- {
- (void) __endmntent (state->fs_fp);
- state->fs_fp = NULL;
- }
-}
-
-
-static struct fstab_state *
-fstab_init (int opt_rewind)
-{
- struct fstab_state *state;
- char *buffer;
- FILE *fp;
-
- state = &fstab_state;
-
- buffer = state->fs_buffer;
- if (buffer == NULL)
- {
- buffer = (char *) malloc (BUFFER_SIZE);
- if (buffer == NULL)
- return NULL;
- state->fs_buffer = buffer;
- }
-
- fp = state->fs_fp;
- if (fp != NULL)
- {
- if (opt_rewind)
- rewind (fp);
- }
- else
- {
- fp = __setmntent (_PATH_FSTAB, "r");
- if (fp == NULL)
- return NULL;
- state->fs_fp = fp;
- }
-
- return state;
-}
-
-
-static struct mntent *
-fstab_fetch (struct fstab_state *state)
-{
- return __getmntent_r (state->fs_fp, &state->fs_mntres,
- state->fs_buffer, BUFFER_SIZE);
-}
-
-
-static struct fstab *
-fstab_convert (struct fstab_state *state)
-{
- struct mntent *m;
- struct fstab *f;
-
- m = &state->fs_mntres;
- f = &state->fs_ret;
-
- f->fs_spec = m->mnt_fsname;
- f->fs_file = m->mnt_dir;
- f->fs_vfstype = m->mnt_type;
- f->fs_mntops = m->mnt_opts;
- f->fs_type = (__hasmntopt (m, FSTAB_RW) ? FSTAB_RW :
- __hasmntopt (m, FSTAB_RQ) ? FSTAB_RQ :
- __hasmntopt (m, FSTAB_RO) ? FSTAB_RO :
- __hasmntopt (m, FSTAB_SW) ? FSTAB_SW :
- __hasmntopt (m, FSTAB_XX) ? FSTAB_XX :
- "??");
- f->fs_freq = m->mnt_freq;
- f->fs_passno = m->mnt_passno;
- return f;
-}
-
-
-/* Make sure the memory is freed if the programs ends while in
- memory-debugging mode and something actually was allocated. */
-libc_freeres_fn (fstab_free)
-{
- char *buffer;
-
- buffer = fstab_state.fs_buffer;
- free ((void *) buffer);
-}
diff --git a/misc/fstab.h b/misc/fstab.h
deleted file mode 100644
index 9f17e1b96a..0000000000
--- a/misc/fstab.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright (c) 1980, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * @(#)fstab.h 8.1 (Berkeley) 6/2/93
- */
-
-#ifndef _FSTAB_H
-#define _FSTAB_H 1
-
-#include <features.h>
-
-/*
- * File system table, see fstab(5).
- *
- * Used by dump, mount, umount, swapon, fsck, df, ...
- *
- * For ufs fs_spec field is the block special name. Programs that want to
- * use the character special name must create that name by prepending a 'r'
- * after the right most slash. Quota files are always named "quotas", so
- * if type is "rq", then use concatenation of fs_file and "quotas" to locate
- * quota file.
- */
-#define _PATH_FSTAB "/etc/fstab"
-#define FSTAB "/etc/fstab" /* deprecated */
-
-#define FSTAB_RW "rw" /* read/write device */
-#define FSTAB_RQ "rq" /* read/write with quotas */
-#define FSTAB_RO "ro" /* read-only device */
-#define FSTAB_SW "sw" /* swap device */
-#define FSTAB_XX "xx" /* ignore totally */
-
-struct fstab
- {
- char *fs_spec; /* block special device name */
- char *fs_file; /* file system path prefix */
- char *fs_vfstype; /* File system type, ufs, nfs */
- char *fs_mntops; /* Mount options ala -o */
- const char *fs_type; /* FSTAB_* from fs_mntops */
- int fs_freq; /* dump frequency, in days */
- int fs_passno; /* pass number on parallel dump */
- };
-
-
-__BEGIN_DECLS
-
-extern struct fstab *getfsent (void) __THROW;
-extern struct fstab *getfsspec (const char *__name) __THROW;
-extern struct fstab *getfsfile (const char *__name) __THROW;
-extern int setfsent (void) __THROW;
-extern void endfsent (void) __THROW;
-
-__END_DECLS
-
-#endif /* fstab.h */
diff --git a/misc/fsync.c b/misc/fsync.c
deleted file mode 100644
index 5d425579e0..0000000000
--- a/misc/fsync.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Copyright (C) 1991-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 <errno.h>
-#include <unistd.h>
-
-/* Make all changes done to FD actually appear on disk. */
-int
-fsync (int fd)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-
-stub_warning (fsync)
diff --git a/misc/ftruncate.c b/misc/ftruncate.c
deleted file mode 100644
index 82b5d5a1f8..0000000000
--- a/misc/ftruncate.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright (C) 1991-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 <errno.h>
-#include <sys/types.h>
-#include <unistd.h>
-
-/* Truncate the file referenced by FD to LENGTH bytes. */
-int
-__ftruncate (int fd, off_t length)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-weak_alias (__ftruncate, ftruncate)
-
-stub_warning (ftruncate)
diff --git a/misc/ftruncate64.c b/misc/ftruncate64.c
deleted file mode 100644
index 4789ad3f21..0000000000
--- a/misc/ftruncate64.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Copyright (C) 1997-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/types.h>
-#include <errno.h>
-#include <unistd.h>
-
-/* Truncate the file referenced by FD to LENGTH bytes. */
-int
-__ftruncate64 (int fd, off64_t length)
-{
- if ((off_t) length != length)
- {
- __set_errno (EINVAL);
- return -1;
- }
- return __ftruncate (fd, (off_t) length);
-}
-weak_alias (__ftruncate64, ftruncate64)
diff --git a/misc/futimes.c b/misc/futimes.c
deleted file mode 100644
index 6dad9996fa..0000000000
--- a/misc/futimes.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* futimes -- change access and modification times of open file. Stub version.
- 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/>. */
-
-#include <sys/time.h>
-#include <errno.h>
-
-/* Change the access time of FILE to TVP[0] and
- the modification time of FILE to TVP[1], but do not follow symlinks. */
-int
-__futimes (int fd, const struct timeval tvp[2])
-{
- __set_errno (ENOSYS);
- return -1;
-}
-weak_alias (__futimes, futimes)
-
-stub_warning (futimes)
diff --git a/misc/futimesat.c b/misc/futimesat.c
deleted file mode 100644
index 6f2191b0bc..0000000000
--- a/misc/futimesat.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/* 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/>. */
-
-#include <errno.h>
-#include <fcntl.h>
-#include <stddef.h>
-#include <sys/time.h>
-
-
-/* Change the access time of FILE relative to FD to TVP[0] and
- the modification time of FILE to TVP[1]. */
-int
-futimesat (int fd, const char *file, const struct timeval tvp[2])
-{
- if (fd < 0
- && (file == NULL
- || (fd != AT_FDCWD && file[0] != '/')))
- {
- __set_errno (EBADF);
- return -1;
- }
-
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (futimesat)
diff --git a/misc/getauxval.c b/misc/getauxval.c
deleted file mode 100644
index c83fbce054..0000000000
--- a/misc/getauxval.c
+++ /dev/null
@@ -1,45 +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/>. */
-
-#include <sys/auxv.h>
-#include <errno.h>
-#include <ldsodefs.h>
-
-
-unsigned long int
-__getauxval (unsigned long int type)
-{
-#ifdef HAVE_AUX_VECTOR
- ElfW(auxv_t) *p;
-#endif
-
- if (type == AT_HWCAP)
- return GLRO(dl_hwcap);
- else if (type == AT_HWCAP2)
- return GLRO(dl_hwcap2);
-
-#ifdef HAVE_AUX_VECTOR
- for (p = GLRO(dl_auxv); p->a_type != AT_NULL; p++)
- if (p->a_type == type)
- return p->a_un.a_val;
-#endif
-
- __set_errno (ENOENT);
- return 0;
-}
-
-weak_alias (__getauxval, getauxval)
diff --git a/misc/getclktck.c b/misc/getclktck.c
deleted file mode 100644
index b64eb6f121..0000000000
--- a/misc/getclktck.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Copyright (C) 2000-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>
-
-/* Return frequency of times(). */
-int
-__getclktck (void)
-{
-#ifdef CLK_TCK
- return CLK_TCK;
-#else
- return 60;
-#endif
-}
diff --git a/misc/getdomain.c b/misc/getdomain.c
deleted file mode 100644
index c84d769342..0000000000
--- a/misc/getdomain.c
+++ /dev/null
@@ -1,58 +0,0 @@
-/* Copyright (C) 1994-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/>. */
-
-/* Put the name of the current YP domain in no more than LEN bytes of NAME.
- The result is null-terminated if LEN is large enough for the full
- name and the terminator. */
-
-#include <errno.h>
-#include <unistd.h>
-#include <sys/param.h>
-#include <sys/utsname.h>
-#include <string.h>
-
-#if _UTSNAME_DOMAIN_LENGTH
-/* The `uname' information includes the domain name. */
-
-int
-getdomainname (char *name, size_t len)
-{
- struct utsname u;
- size_t u_len;
-
- if (uname (&u) < 0)
- return -1;
-
- u_len = strlen (u.domainname);
- memcpy (name, u.domainname, MIN (u_len + 1, len));
- return 0;
-}
-
-#else
-
-int
-getdomainname (char *name, size_t len)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (getdomainname)
-
-#endif
-
-libc_hidden_def (getdomainname)
diff --git a/misc/getdtsz.c b/misc/getdtsz.c
deleted file mode 100644
index 3fa95d92a4..0000000000
--- a/misc/getdtsz.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Copyright (C) 1991-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 <errno.h>
-#include <unistd.h>
-
-/* Return the maximum number of file descriptors
- the current process could possibly have. */
-int
-__getdtablesize (void)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-stub_warning (getdtablesize)
-
-weak_alias (__getdtablesize, getdtablesize)
diff --git a/misc/gethostid.c b/misc/gethostid.c
deleted file mode 100644
index 3b1b667b0e..0000000000
--- a/misc/gethostid.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Copyright (C) 1991-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 <errno.h>
-#include <unistd.h>
-
-/* Return the current machine's Internet number. */
-long int
-gethostid (void)
-{
- __set_errno (ENOSYS);
- return -1L;
-}
-
-
-stub_warning (gethostid)
diff --git a/misc/gethostname.c b/misc/gethostname.c
deleted file mode 100644
index cfdd1c282f..0000000000
--- a/misc/gethostname.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright (C) 1991-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 <errno.h>
-#include <unistd.h>
-
-/* Put the name of the current host in no more than LEN bytes of NAME.
- The result is null-terminated if LEN is large enough for the full
- name and the terminator. */
-int
-__gethostname (char *name, size_t len)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-stub_warning (gethostname)
-
-weak_alias (__gethostname, gethostname)
diff --git a/misc/getloadavg.c b/misc/getloadavg.c
deleted file mode 100644
index 6dde29dee4..0000000000
--- a/misc/getloadavg.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Get system load averages. Stub version.
- 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/>. */
-
-#include <errno.h>
-#include <unistd.h>
-#include <stdlib.h>
-
-
-/* Put the 1 minute, 5 minute and 15 minute load averages
- into the first NELEM elements of LOADAVG.
- Return the number written (never more than 3, but may be less than NELEM),
- or -1 if an error occurred. */
-
-int
-getloadavg (double loadavg[], int nelem)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-stub_warning (getloadavg)
diff --git a/misc/getpagesize.c b/misc/getpagesize.c
deleted file mode 100644
index df1b8abbd7..0000000000
--- a/misc/getpagesize.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Copyright (C) 1991-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 <errno.h>
-#include <unistd.h>
-
-/* Return the system page size. */
-int
-__getpagesize (void)
-{
- __set_errno (ENOSYS);
- return 0;
-}
-libc_hidden_def (__getpagesize)
-stub_warning (getpagesize)
-
-weak_alias (__getpagesize, getpagesize)
diff --git a/misc/getpass.c b/misc/getpass.c
deleted file mode 100644
index 89c783fe20..0000000000
--- a/misc/getpass.c
+++ /dev/null
@@ -1,124 +0,0 @@
-/* Copyright (C) 1992-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 <stdio.h>
-#include <stdio_ext.h>
-#include <string.h> /* For string function builtin redirect. */
-#include <termios.h>
-#include <unistd.h>
-
-#include <wchar.h>
-#define flockfile(s) _IO_flockfile (s)
-#define funlockfile(s) _IO_funlockfile (s)
-#include <libc-lock.h>
-
-/* It is desirable to use this bit on systems that have it.
- The only bit of terminal state we want to twiddle is echoing, which is
- done in software; there is no need to change the state of the terminal
- hardware. */
-
-#ifndef TCSASOFT
-#define TCSASOFT 0
-#endif
-
-static void
-call_fclose (void *arg)
-{
- if (arg != NULL)
- fclose (arg);
-}
-
-char *
-getpass (const char *prompt)
-{
- FILE *in, *out;
- struct termios s, t;
- int tty_changed;
- static char *buf;
- static size_t bufsize;
- ssize_t nread;
-
- /* Try to write to and read from the terminal if we can.
- If we can't open the terminal, use stderr and stdin. */
-
- in = fopen ("/dev/tty", "w+ce");
- if (in == NULL)
- {
- in = stdin;
- out = stderr;
- }
- else
- {
- /* We do the locking ourselves. */
- __fsetlocking (in, FSETLOCKING_BYCALLER);
-
- out = in;
- }
-
- /* Make sure the stream we opened is closed even if the thread is
- canceled. */
- __libc_cleanup_push (call_fclose, in == out ? in : NULL);
-
- flockfile (out);
-
- /* Turn echoing off if it is on now. */
-
- if (__tcgetattr (fileno (in), &t) == 0)
- {
- /* Save the old one. */
- s = t;
- /* Tricky, tricky. */
- t.c_lflag &= ~(ECHO|ISIG);
- tty_changed = (tcsetattr (fileno (in), TCSAFLUSH|TCSASOFT, &t) == 0);
- }
- else
- tty_changed = 0;
-
- /* Write the prompt. */
- __fxprintf (out, "%s", prompt);
- __fflush_unlocked (out);
-
- /* Read the password. */
- nread = __getline (&buf, &bufsize, in);
- if (buf != NULL)
- {
- if (nread < 0)
- buf[0] = '\0';
- else if (buf[nread - 1] == '\n')
- {
- /* Remove the newline. */
- buf[nread - 1] = '\0';
- if (tty_changed)
- /* Write the newline that was not echoed. */
- __fxprintf (out, "\n");
- }
- }
-
- /* Restore the original setting. */
- if (tty_changed)
- (void) tcsetattr (fileno (in), TCSAFLUSH|TCSASOFT, &s);
-
- funlockfile (out);
-
- __libc_cleanup_pop (0);
-
- if (in != stdin)
- /* We opened the terminal; now close it. */
- fclose (in);
-
- return buf;
-}
diff --git a/misc/getsysstats.c b/misc/getsysstats.c
deleted file mode 100644
index d25770ec52..0000000000
--- a/misc/getsysstats.c
+++ /dev/null
@@ -1,67 +0,0 @@
-/* getsysstats - Determine various system internal values, stub version.
- Copyright (C) 1996-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <errno.h>
-#include <sys/sysinfo.h>
-
-int
-__get_nprocs_conf (void)
-{
- /* We don't know how to determine the number. Simply return always 1. */
- return 1;
-}
-weak_alias (__get_nprocs_conf, get_nprocs_conf)
-
-link_warning (get_nprocs_conf, "warning: get_nprocs_conf will always return 1")
-
-
-
-int
-__get_nprocs (void)
-{
- /* We don't know how to determine the number. Simply return always 1. */
- return 1;
-}
-weak_alias (__get_nprocs, get_nprocs)
-
-link_warning (get_nprocs, "warning: get_nprocs will always return 1")
-
-
-long int
-__get_phys_pages (void)
-{
- /* We have no general way to determine this value. */
- __set_errno (ENOSYS);
- return -1;
-}
-weak_alias (__get_phys_pages, get_phys_pages)
-
-stub_warning (get_phys_pages)
-
-
-long int
-__get_avphys_pages (void)
-{
- /* We have no general way to determine this value. */
- __set_errno (ENOSYS);
- return -1;
-}
-weak_alias (__get_avphys_pages, get_avphys_pages)
-
-stub_warning (get_avphys_pages)
diff --git a/misc/getttyent.c b/misc/getttyent.c
deleted file mode 100644
index 73002f52d1..0000000000
--- a/misc/getttyent.c
+++ /dev/null
@@ -1,215 +0,0 @@
-/*
- * Copyright (c) 1989, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#if defined(LIBC_SCCS) && !defined(lint)
-static char sccsid[] = "@(#)getttyent.c 8.1 (Berkeley) 6/4/93";
-#endif /* LIBC_SCCS and not lint */
-
-#include <ttyent.h>
-#include <stdio.h>
-#include <stdio_ext.h>
-#include <ctype.h>
-#include <string.h>
-
-#define flockfile(s) _IO_flockfile (s)
-#define funlockfile(s) _IO_funlockfile (s)
-
-static char zapchar;
-static FILE *tf;
-
-struct ttyent *
-__getttynam (const char *tty)
-{
- struct ttyent *t;
-
- __setttyent();
- while ((t = __getttyent()))
- if (!strcmp(tty, t->ty_name))
- break;
- __endttyent();
- return (t);
-}
-weak_alias (__getttynam, getttynam)
-
-static char *skip (char *) __THROW internal_function;
-static char *value (char *) __THROW internal_function;
-
-struct ttyent *
-__getttyent (void)
-{
- static struct ttyent tty;
- int c;
- char *p;
-#define MAXLINELENGTH 100
- static char line[MAXLINELENGTH];
-
- if (!tf && !__setttyent())
- return (NULL);
- flockfile (tf);
- for (;;) {
- if (!__fgets_unlocked(p = line, sizeof(line), tf)) {
- funlockfile (tf);
- return (NULL);
- }
- /* skip lines that are too big */
- if (!strchr (p, '\n')) {
- while ((c = getc_unlocked(tf)) != '\n' && c != EOF)
- ;
- continue;
- }
- while (isspace(*p))
- ++p;
- if (*p && *p != '#')
- break;
- }
-
- zapchar = 0;
- tty.ty_name = p;
- p = skip(p);
- if (!*(tty.ty_getty = p))
- tty.ty_getty = tty.ty_type = NULL;
- else {
- p = skip(p);
- if (!*(tty.ty_type = p))
- tty.ty_type = NULL;
- else
- p = skip(p);
- }
- tty.ty_status = 0;
- tty.ty_window = NULL;
-
-#define scmp(e) !strncmp(p, e, sizeof(e) - 1) && isspace(p[sizeof(e) - 1])
-#define vcmp(e) !strncmp(p, e, sizeof(e) - 1) && p[sizeof(e) - 1] == '='
- for (; *p; p = skip(p)) {
- if (scmp(_TTYS_OFF))
- tty.ty_status &= ~TTY_ON;
- else if (scmp(_TTYS_ON))
- tty.ty_status |= TTY_ON;
- else if (scmp(_TTYS_SECURE))
- tty.ty_status |= TTY_SECURE;
- else if (vcmp(_TTYS_WINDOW))
- tty.ty_window = value(p);
- else
- break;
- }
- /* We can release the lock only here since `zapchar' is global. */
- funlockfile(tf);
-
- if (zapchar == '#' || *p == '#')
- while ((c = *++p) == ' ' || c == '\t')
- ;
- tty.ty_comment = p;
- if (*p == 0)
- tty.ty_comment = 0;
- if ((p = strchr (p, '\n')))
- *p = '\0';
- return (&tty);
-}
-libc_hidden_def (__getttyent)
-weak_alias (__getttyent, getttyent)
-
-#define QUOTED 1
-
-/*
- * Skip over the current field, removing quotes, and return a pointer to
- * the next field.
- */
-static char *
-internal_function
-skip (char *p)
-{
- char *t;
- int c, q;
-
- for (q = 0, t = p; (c = *p) != '\0'; p++) {
- if (c == '"') {
- q ^= QUOTED; /* obscure, but nice */
- continue;
- }
- if (q == QUOTED && *p == '\\' && *(p+1) == '"')
- p++;
- *t++ = *p;
- if (q == QUOTED)
- continue;
- if (c == '#') {
- zapchar = c;
- *p = 0;
- break;
- }
- if (c == '\t' || c == ' ' || c == '\n') {
- zapchar = c;
- *p++ = 0;
- while ((c = *p) == '\t' || c == ' ' || c == '\n')
- p++;
- break;
- }
- }
- *--t = '\0';
- return (p);
-}
-
-static char *
-internal_function
-value (char *p)
-{
-
- return ((p = strchr (p, '=')) ? ++p : NULL);
-}
-
-int
-__setttyent (void)
-{
-
- if (tf) {
- (void)rewind(tf);
- return (1);
- } else if ((tf = fopen(_PATH_TTYS, "rce"))) {
- /* We do the locking ourselves. */
- __fsetlocking (tf, FSETLOCKING_BYCALLER);
- return (1);
- }
- return (0);
-}
-libc_hidden_def (__setttyent)
-weak_alias (__setttyent, setttyent)
-
-int
-__endttyent (void)
-{
- int rval;
-
- if (tf) {
- rval = !(fclose(tf) == EOF);
- tf = NULL;
- return (rval);
- }
- return (1);
-}
-libc_hidden_def (__endttyent)
-weak_alias (__endttyent, endttyent)
diff --git a/misc/getusershell.c b/misc/getusershell.c
deleted file mode 100644
index fc2c43b771..0000000000
--- a/misc/getusershell.c
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * Copyright (c) 1985, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#if defined(LIBC_SCCS) && !defined(lint)
-static char sccsid[] = "@(#)getusershell.c 8.1 (Berkeley) 6/4/93";
-#endif /* LIBC_SCCS and not lint */
-
-#include <sys/param.h>
-#include <sys/file.h>
-#include <sys/stat.h>
-#include <stdio.h>
-#include <stdio_ext.h>
-#include <ctype.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <paths.h>
-
-/*
- * Local shells should NOT be added here. They should be added in
- * /etc/shells.
- */
-
-/* NB: we do not initialize okshells here. The initialization needs
- relocations. These interfaces are used so rarely that this is not
- justified. Instead explicitly initialize the array when it is
- used. */
-#if 0
-static const char *const okshells[] = { _PATH_BSHELL, _PATH_CSHELL, NULL };
-#else
-static const char *okshells[3];
-#endif
-static char **curshell, **shells, *strings;
-static char **initshells (void) __THROW;
-
-/*
- * Get a list of shells from _PATH_SHELLS, if it exists.
- */
-char *
-getusershell (void)
-{
- char *ret;
-
- if (curshell == NULL)
- curshell = initshells();
- ret = *curshell;
- if (ret != NULL)
- curshell++;
- return (ret);
-}
-
-void
-endusershell (void)
-{
-
- free(shells);
- shells = NULL;
- free(strings);
- strings = NULL;
- curshell = NULL;
-}
-
-void
-setusershell (void)
-{
-
- curshell = initshells();
-}
-
-static char **
-initshells (void)
-{
- char **sp, *cp;
- FILE *fp;
- struct stat64 statb;
- size_t flen;
-
- free(shells);
- shells = NULL;
- free(strings);
- strings = NULL;
- if ((fp = fopen(_PATH_SHELLS, "rce")) == NULL)
- goto init_okshells_noclose;
- if (fstat64(fileno(fp), &statb) == -1) {
- init_okshells:
- (void)fclose(fp);
- init_okshells_noclose:
- okshells[0] = _PATH_BSHELL;
- okshells[1] = _PATH_CSHELL;
- return (char **) okshells;
- }
- if (statb.st_size > ~(size_t)0 / sizeof (char *) * 3)
- goto init_okshells;
- flen = statb.st_size + 3;
- if ((strings = malloc(flen)) == NULL)
- goto init_okshells;
- shells = malloc(statb.st_size / 3 * sizeof (char *));
- if (shells == NULL) {
- free(strings);
- strings = NULL;
- goto init_okshells;
- }
- sp = shells;
- cp = strings;
- while (fgets_unlocked(cp, flen - (cp - strings), fp) != NULL) {
- while (*cp != '#' && *cp != '/' && *cp != '\0')
- cp++;
- if (*cp == '#' || *cp == '\0' || cp[1] == '\0')
- continue;
- *sp++ = cp;
- while (!isspace(*cp) && *cp != '#' && *cp != '\0')
- cp++;
- *cp++ = '\0';
- }
- *sp = NULL;
- (void)fclose(fp);
- return (shells);
-}
diff --git a/misc/getxattr.c b/misc/getxattr.c
deleted file mode 100644
index 5f9a50d1ad..0000000000
--- a/misc/getxattr.c
+++ /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/>. */
-
-#include <errno.h>
-#include <sys/xattr.h>
-
-ssize_t
-getxattr (const char *__path, const char *__name,
- void *__value, size_t __size)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (getxattr)
diff --git a/misc/gtty.c b/misc/gtty.c
deleted file mode 100644
index 48c702743b..0000000000
--- a/misc/gtty.c
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Copyright (C) 1991-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 <errno.h>
-#include <sgtty.h>
-#include <stddef.h>
-
-/* Fill in *PARAMS with terminal parameters associated with FD. */
-int
-gtty (int fd, struct sgttyb *params)
-{
- if (params == NULL)
- {
- __set_errno (EINVAL);
- return -1;
- }
-
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (gtty)
diff --git a/misc/hsearch.c b/misc/hsearch.c
deleted file mode 100644
index 663f1a4ddb..0000000000
--- a/misc/hsearch.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/* Copyright (C) 1993-2017 Free Software Foundation, Inc.
- Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>
- 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 <search.h>
-
-/* The non-reentrant version use a global space for storing the table. */
-static struct hsearch_data htab;
-
-
-/* Define the non-reentrant function using the reentrant counterparts. */
-ENTRY *
-hsearch (ENTRY item, ACTION action)
-{
- ENTRY *result;
-
- (void) __hsearch_r (item, action, &result, &htab);
-
- return result;
-}
-
-
-int
-hcreate (size_t nel)
-{
- return __hcreate_r (nel, &htab);
-}
-
-
-void
-__hdestroy (void)
-{
- __hdestroy_r (&htab);
-}
-weak_alias (__hdestroy, hdestroy)
-
-/* Make sure the table is freed if we want to free everything before
- exiting. */
-text_set_element (__libc_subfreeres, __hdestroy);
diff --git a/misc/hsearch_r.c b/misc/hsearch_r.c
deleted file mode 100644
index b7441eb987..0000000000
--- a/misc/hsearch_r.c
+++ /dev/null
@@ -1,231 +0,0 @@
-/* Copyright (C) 1993-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1993.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <errno.h>
-#include <malloc.h>
-#include <string.h>
-#include <stdint.h>
-#include <search.h>
-#include <limits.h>
-
-/* [Aho,Sethi,Ullman] Compilers: Principles, Techniques and Tools, 1986
- [Knuth] The Art of Computer Programming, part 3 (6.4) */
-
-
-/* The reentrant version has no static variables to maintain the state.
- Instead the interface of all functions is extended to take an argument
- which describes the current status. */
-typedef struct _ENTRY
-{
- unsigned int used;
- ENTRY entry;
-}
-_ENTRY;
-
-
-/* For the used double hash method the table size has to be a prime. To
- correct the user given table size we need a prime test. This trivial
- algorithm is adequate because
- a) the code is (most probably) called a few times per program run and
- b) the number is small because the table must fit in the core */
-static int
-isprime (unsigned int number)
-{
- /* no even number will be passed */
- for (unsigned int div = 3; div <= number / div; div += 2)
- if (number % div == 0)
- return 0;
- return 1;
-}
-
-/* Before using the hash table we must allocate memory for it.
- Test for an existing table are done. We allocate one element
- more as the found prime number says. This is done for more effective
- indexing as explained in the comment for the hsearch function.
- The contents of the table is zeroed, especially the field used
- becomes zero. */
-int
-__hcreate_r (size_t nel, struct hsearch_data *htab)
-{
- /* Test for correct arguments. */
- if (htab == NULL)
- {
- __set_errno (EINVAL);
- return 0;
- }
-
- /* There is still another table active. Return with error. */
- if (htab->table != NULL)
- return 0;
-
- /* We need a size of at least 3. Otherwise the hash functions we
- use will not work. */
- if (nel < 3)
- nel = 3;
-
- /* Change nel to the first prime number in the range [nel, UINT_MAX - 2],
- The '- 2' means 'nel += 2' cannot overflow. */
- for (nel |= 1; ; nel += 2)
- {
- if (UINT_MAX - 2 < nel)
- {
- __set_errno (ENOMEM);
- return 0;
- }
- if (isprime (nel))
- break;
- }
-
- htab->size = nel;
- htab->filled = 0;
-
- /* allocate memory and zero out */
- htab->table = (_ENTRY *) calloc (htab->size + 1, sizeof (_ENTRY));
- if (htab->table == NULL)
- return 0;
-
- /* everything went alright */
- return 1;
-}
-libc_hidden_def (__hcreate_r)
-weak_alias (__hcreate_r, hcreate_r)
-
-
-/* After using the hash table it has to be destroyed. The used memory can
- be freed and the local static variable can be marked as not used. */
-void
-__hdestroy_r (struct hsearch_data *htab)
-{
- /* Test for correct arguments. */
- if (htab == NULL)
- {
- __set_errno (EINVAL);
- return;
- }
-
- /* Free used memory. */
- free (htab->table);
-
- /* the sign for an existing table is an value != NULL in htable */
- htab->table = NULL;
-}
-libc_hidden_def (__hdestroy_r)
-weak_alias (__hdestroy_r, hdestroy_r)
-
-
-/* This is the search function. It uses double hashing with open addressing.
- The argument item.key has to be a pointer to an zero terminated, most
- probably strings of chars. The function for generating a number of the
- strings is simple but fast. It can be replaced by a more complex function
- like ajw (see [Aho,Sethi,Ullman]) if the needs are shown.
-
- We use an trick to speed up the lookup. The table is created by hcreate
- with one more element available. This enables us to use the index zero
- special. This index will never be used because we store the first hash
- index in the field used where zero means not used. Every other value
- means used. The used field can be used as a first fast comparison for
- equality of the stored and the parameter value. This helps to prevent
- unnecessary expensive calls of strcmp. */
-int
-__hsearch_r (ENTRY item, ACTION action, ENTRY **retval,
- struct hsearch_data *htab)
-{
- unsigned int hval;
- unsigned int count;
- unsigned int len = strlen (item.key);
- unsigned int idx;
-
- /* Compute an value for the given string. Perhaps use a better method. */
- hval = len;
- count = len;
- while (count-- > 0)
- {
- hval <<= 4;
- hval += item.key[count];
- }
- if (hval == 0)
- ++hval;
-
- /* First hash function: simply take the modul but prevent zero. */
- idx = hval % htab->size + 1;
-
- if (htab->table[idx].used)
- {
- /* Further action might be required according to the action value. */
- if (htab->table[idx].used == hval
- && strcmp (item.key, htab->table[idx].entry.key) == 0)
- {
- *retval = &htab->table[idx].entry;
- return 1;
- }
-
- /* Second hash function, as suggested in [Knuth] */
- unsigned int hval2 = 1 + hval % (htab->size - 2);
- unsigned int first_idx = idx;
-
- do
- {
- /* Because SIZE is prime this guarantees to step through all
- available indeces. */
- if (idx <= hval2)
- idx = htab->size + idx - hval2;
- else
- idx -= hval2;
-
- /* If we visited all entries leave the loop unsuccessfully. */
- if (idx == first_idx)
- break;
-
- /* If entry is found use it. */
- if (htab->table[idx].used == hval
- && strcmp (item.key, htab->table[idx].entry.key) == 0)
- {
- *retval = &htab->table[idx].entry;
- return 1;
- }
- }
- while (htab->table[idx].used);
- }
-
- /* An empty bucket has been found. */
- if (action == ENTER)
- {
- /* If table is full and another entry should be entered return
- with error. */
- if (htab->filled == htab->size)
- {
- __set_errno (ENOMEM);
- *retval = NULL;
- return 0;
- }
-
- htab->table[idx].used = hval;
- htab->table[idx].entry = item;
-
- ++htab->filled;
-
- *retval = &htab->table[idx].entry;
- return 1;
- }
-
- __set_errno (ESRCH);
- *retval = NULL;
- return 0;
-}
-libc_hidden_def (__hsearch_r)
-weak_alias (__hsearch_r, hsearch_r)
diff --git a/misc/ifunc-impl-list.c b/misc/ifunc-impl-list.c
deleted file mode 100644
index 01df87f6df..0000000000
--- a/misc/ifunc-impl-list.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Enumerate available IFUNC implementations of a function. Stub 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/>. */
-
-#include <ifunc-impl-list.h>
-
-/* Fill ARRAY of MAX elements with IFUNC implementations for function
- NAME supported on target machine and return the number of valid
- entries. */
-
-size_t
-__libc_ifunc_impl_list
- (const char *name __attribute__ ((unused)),
- struct libc_ifunc_impl *array __attribute__ ((unused)),
- size_t max __attribute__ ((unused)))
-{
- return 0;
-}
diff --git a/misc/init-misc.c b/misc/init-misc.c
deleted file mode 100644
index 02f2b0fa12..0000000000
--- a/misc/init-misc.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Define and initialize `__progname' et. al.
- Copyright (C) 1994-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 <string.h>
-#include <libc-internal.h>
-
-char *__progname_full = (char *) "";
-char *__progname = (char *) "";
-weak_alias (__progname_full, program_invocation_name)
-weak_alias (__progname, program_invocation_short_name)
-
-
-void
-__init_misc (int argc, char **argv, char **envp)
-{
- if (argv && argv[0])
- {
- char *p = strrchr (argv[0], '/');
- if (p == NULL)
- __progname = argv[0];
- else
- __progname = p + 1;
- __progname_full = argv[0];
- }
-}
diff --git a/misc/insremque.c b/misc/insremque.c
deleted file mode 100644
index e16d22b91d..0000000000
--- a/misc/insremque.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/* Copyright (C) 1992-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 <stddef.h>
-#include <search.h>
-
-/* Insert ELEM into a doubly-linked list, after PREV. */
-
-void
-insque (void *elem, void *prev)
-{
- if (prev == NULL)
- {
- ((struct qelem *) elem)->q_forw = NULL;
- ((struct qelem *) elem)->q_back = NULL;
- }
- else
- {
- struct qelem *next = ((struct qelem *) prev)->q_forw;
- ((struct qelem *) prev)->q_forw = (struct qelem *) elem;
- if (next != NULL)
- next->q_back = (struct qelem *) elem;
- ((struct qelem *) elem)->q_forw = next;
- ((struct qelem *) elem)->q_back = (struct qelem *) prev;
- }
-}
-
-/* Unlink ELEM from the doubly-linked list that it is in. */
-
-void
-remque (void *elem)
-{
- struct qelem *next = ((struct qelem *) elem)->q_forw;
- struct qelem *prev = ((struct qelem *) elem)->q_back;
- if (next != NULL)
- next->q_back = prev;
- if (prev != NULL)
- prev->q_forw = (struct qelem *) next;
-}
diff --git a/misc/ioctl.c b/misc/ioctl.c
deleted file mode 100644
index 9b90102544..0000000000
--- a/misc/ioctl.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Copyright (C) 1991-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 <errno.h>
-#include <sys/ioctl.h>
-
-/* Perform the I/O control operation specified by REQUEST on FD.
- The actual type and use of ARG and the return value depend on REQUEST. */
-int
-__ioctl (int fd, unsigned long int request, ...)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-stub_warning (ioctl)
-
-weak_alias (__ioctl, ioctl)
diff --git a/misc/lgetxattr.c b/misc/lgetxattr.c
deleted file mode 100644
index 91e92efa7e..0000000000
--- a/misc/lgetxattr.c
+++ /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/>. */
-
-#include <errno.h>
-#include <sys/xattr.h>
-
-ssize_t
-lgetxattr (const char *__path, const char *__name,
- void *__value, size_t __size)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (lgetxattr)
diff --git a/misc/libgen.h b/misc/libgen.h
deleted file mode 100644
index 0a12a2ddf7..0000000000
--- a/misc/libgen.h
+++ /dev/null
@@ -1,39 +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 _LIBGEN_H
-#define _LIBGEN_H 1
-
-#include <features.h>
-
-__BEGIN_DECLS
-
-/* Return directory part of PATH or "." if none is available. */
-extern char *dirname (char *__path) __THROW;
-
-/* Return final component of PATH.
-
- This is the weird XPG version of this function. It sometimes will
- modify its argument. Therefore we normally use the GNU version (in
- <string.h>) and only if this header is included make the XPG
- version available under the real name. */
-extern char *__xpg_basename (char *__path) __THROW;
-#define basename __xpg_basename
-
-__END_DECLS
-
-#endif /* libgen.h */
diff --git a/misc/listxattr.c b/misc/listxattr.c
deleted file mode 100644
index 88d5c80176..0000000000
--- a/misc/listxattr.c
+++ /dev/null
@@ -1,28 +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/>. */
-
-#include <errno.h>
-#include <sys/xattr.h>
-
-ssize_t
-listxattr (const char *__path, char *__list, size_t __size)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (listxattr)
diff --git a/misc/llistxattr.c b/misc/llistxattr.c
deleted file mode 100644
index ed86f964cb..0000000000
--- a/misc/llistxattr.c
+++ /dev/null
@@ -1,28 +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/>. */
-
-#include <errno.h>
-#include <sys/xattr.h>
-
-ssize_t
-llistxattr (const char *__path, char *__list, size_t __size)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (llistxattr)
diff --git a/misc/lremovexattr.c b/misc/lremovexattr.c
deleted file mode 100644
index 53cdf3c152..0000000000
--- a/misc/lremovexattr.c
+++ /dev/null
@@ -1,28 +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/>. */
-
-#include <errno.h>
-#include <sys/xattr.h>
-
-int
-lremovexattr (const char *__path, const char *__name)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (lremovexattr)
diff --git a/misc/lsearch.c b/misc/lsearch.c
deleted file mode 100644
index 8eb3809ff8..0000000000
--- a/misc/lsearch.c
+++ /dev/null
@@ -1,58 +0,0 @@
-/* Linear search functions.
- Copyright (C) 1996-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
-
- 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 <search.h>
-#include <string.h>
-
-
-void *
-lsearch (const void *key, void *base, size_t *nmemb, size_t size,
- __compar_fn_t compar)
-{
- void *result;
-
- /* Try to find it. */
- result = lfind (key, base, nmemb, size, compar);
- if (result == NULL)
- {
- /* Not available. Insert at the end. */
- result = memcpy (base + (*nmemb) * size, key, size);
- ++(*nmemb);
- }
-
- return result;
-}
-
-
-void *
-lfind (const void *key, const void *base, size_t *nmemb, size_t size,
- __compar_fn_t compar)
-{
- const void *result = base;
- size_t cnt = 0;
-
- while (cnt < *nmemb && (*compar) (key, result) != 0)
- {
- result += size;
- ++cnt;
- }
-
- return cnt < *nmemb ? (void *) result : NULL;
-}
-libc_hidden_def (lfind)
diff --git a/misc/lsetxattr.c b/misc/lsetxattr.c
deleted file mode 100644
index 09e19cd086..0000000000
--- a/misc/lsetxattr.c
+++ /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/>. */
-
-#include <errno.h>
-#include <sys/xattr.h>
-
-int
-lsetxattr (const char *__path, const char *__name,
- const void *__value, size_t __size, int __flags)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (lsetxattr)
diff --git a/misc/lutimes.c b/misc/lutimes.c
deleted file mode 100644
index c4cce8f3b6..0000000000
--- a/misc/lutimes.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/* lutimes -- change access and modification times of a symlink. Stub version.
- 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/>. */
-
-#include <sys/time.h>
-#include <errno.h>
-#include <stddef.h>
-
-/* Change the access time of FILE to TVP[0] and
- the modification time of FILE to TVP[1], but do not follow symlinks. */
-int
-__lutimes (const char *file, const struct timeval tvp[2])
-{
- __set_errno (ENOSYS);
- return -1;
-}
-weak_alias (__lutimes, lutimes)
-
-stub_warning (lutimes)
diff --git a/misc/madvise.c b/misc/madvise.c
deleted file mode 100644
index 3239561c97..0000000000
--- a/misc/madvise.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Advise system about intentions for a memory region. Stub version.
- Copyright (C) 1994-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/types.h>
-#include <sys/mman.h>
-#include <errno.h>
-
-/* Advise the system about particular usage patterns the program follows
- for the region starting at ADDR and extending LEN bytes. */
-
-int
-__madvise (void *addr, size_t len, int advice)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-libc_hidden_def (__madvise)
-weak_alias (__madvise, madvise)
-
-stub_warning (madvise)
diff --git a/misc/makedev.c b/misc/makedev.c
deleted file mode 100644
index 90be690bd0..0000000000
--- a/misc/makedev.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Definitions of functions to access `dev_t' values.
- 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 <features.h>
-
-#undef __USE_EXTERN_INLINES
-#define __SYSMACROS_NEED_IMPLEMENTATION
-#include <sys/sysmacros.h>
-
-#define OUT_OF_LINE_IMPL_TEMPL(rtype, name, proto) \
- rtype gnu_dev_##name proto
-
-__SYSMACROS_DEFINE_MAJOR(OUT_OF_LINE_IMPL_TEMPL)
-__SYSMACROS_DEFINE_MINOR(OUT_OF_LINE_IMPL_TEMPL)
-__SYSMACROS_DEFINE_MAKEDEV(OUT_OF_LINE_IMPL_TEMPL)
diff --git a/misc/mincore.c b/misc/mincore.c
deleted file mode 100644
index cb78a6a274..0000000000
--- a/misc/mincore.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Copyright (C) 2000-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/mman.h>
-#include <errno.h>
-
-int
-mincore (void *__start, size_t __len, unsigned char *__vec)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (mincore)
diff --git a/misc/mkdtemp.c b/misc/mkdtemp.c
deleted file mode 100644
index a55828e4c9..0000000000
--- a/misc/mkdtemp.c
+++ /dev/null
@@ -1,33 +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/>. */
-
-#include <stdio.h>
-#include <stdlib.h>
-
-/* Generate a unique temporary directory from TEMPLATE.
- The last six characters of TEMPLATE must be "XXXXXX";
- they are replaced with a string that makes the filename unique.
- The directory is created, mode 700, and its name is returned.
- (This function comes from OpenBSD.) */
-char *
-mkdtemp (char *template)
-{
- if (__gen_tempname (template, 0, 0, __GT_DIR))
- return NULL;
- else
- return template;
-}
diff --git a/misc/mkostemp.c b/misc/mkostemp.c
deleted file mode 100644
index 00854a39c2..0000000000
--- a/misc/mkostemp.c
+++ /dev/null
@@ -1,38 +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/>. */
-
-#include <fcntl.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-#ifndef __GT_FILE
-# define __GT_FILE 0
-#endif
-
-/* Generate a unique temporary file name from TEMPLATE.
- The last six characters of TEMPLATE must be "XXXXXX";
- they are replaced with a string that makes the filename unique.
- Then open the file and return a fd. */
-int
-mkostemp (char *template, int flags)
-{
- return __gen_tempname (template, 0, flags, __GT_FILE);
-}
-
-#if !defined O_LARGEFILE || O_LARGEFILE == 0
-weak_alias (mkostemp, mkostemp64)
-#endif
diff --git a/misc/mkostemp64.c b/misc/mkostemp64.c
deleted file mode 100644
index 2512e7f733..0000000000
--- a/misc/mkostemp64.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright (C) 2000-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 <fcntl.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-/* If O_LARGEFILE is zero, mkostemp.c defines mkostemp64 as an alias. */
-#if defined O_LARGEFILE && O_LARGEFILE != 0
-
-/* Generate a unique temporary file name from TEMPLATE.
- The last six characters of TEMPLATE must be "XXXXXX";
- they are replaced with a string that makes the filename unique.
- Then open the file and return a fd. */
-int
-mkostemp64 (char *template, int flags)
-{
- return __gen_tempname (template, 0, flags | O_LARGEFILE, __GT_FILE);
-}
-
-#endif
diff --git a/misc/mkostemps.c b/misc/mkostemps.c
deleted file mode 100644
index 49b9c859b7..0000000000
--- a/misc/mkostemps.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Copyright (C) 2009-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 <errno.h>
-#include <fcntl.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-#ifndef __GT_FILE
-# define __GT_FILE 0
-#endif
-
-/* Generate a unique temporary file name from TEMPLATE. The last six
- characters before a suffix of length SUFFIXLEN of TEMPLATE must be
- "XXXXXX"; they are replaced with a string that makes the filename
- unique. Then open the file and return a fd. */
-int
-mkostemps (char *template, int suffixlen, int flags)
-{
- if (suffixlen < 0)
- {
- __set_errno (EINVAL);
- return -1;
- }
-
- return __gen_tempname (template, suffixlen, flags, __GT_FILE);
-}
-
-#if !defined O_LARGEFILE || O_LARGEFILE == 0
-weak_alias (mkostemps, mkostemps64)
-#endif
diff --git a/misc/mkostemps64.c b/misc/mkostemps64.c
deleted file mode 100644
index dff8500089..0000000000
--- a/misc/mkostemps64.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Copyright (C) 2000-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 <errno.h>
-#include <fcntl.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-/* If O_LARGEFILE is zero, mkostemps.c defines mkostemps64 as an alias. */
-#if defined O_LARGEFILE && O_LARGEFILE != 0
-
-/* Generate a unique temporary file name from TEMPLATE. The last six
- characters before a suffix of length SUFFIXLEN of TEMPLATE must be
- "XXXXXX"; they are replaced with a string that makes the filename
- unique. Then open the file and return a fd. */
-int
-mkostemps64 (char *template, int suffixlen, int flags)
-{
- if (suffixlen < 0)
- {
- __set_errno (EINVAL);
- return -1;
- }
-
- return __gen_tempname (template, suffixlen, flags | O_LARGEFILE, __GT_FILE);
-}
-
-#endif
diff --git a/misc/mkstemp.c b/misc/mkstemp.c
deleted file mode 100644
index c63cf119db..0000000000
--- a/misc/mkstemp.c
+++ /dev/null
@@ -1,38 +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/>. */
-
-#include <fcntl.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-#ifndef __GT_FILE
-# define __GT_FILE 0
-#endif
-
-/* Generate a unique temporary file name from TEMPLATE.
- The last six characters of TEMPLATE must be "XXXXXX";
- they are replaced with a string that makes the filename unique.
- Then open the file and return a fd. */
-int
-mkstemp (char *template)
-{
- return __gen_tempname (template, 0, 0, __GT_FILE);
-}
-
-#if !defined O_LARGEFILE || O_LARGEFILE == 0
-weak_alias (mkstemp, mkstemp64)
-#endif
diff --git a/misc/mkstemp64.c b/misc/mkstemp64.c
deleted file mode 100644
index e1e8d02045..0000000000
--- a/misc/mkstemp64.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright (C) 2000-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 <fcntl.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-/* If O_LARGEFILE is zero, mkstemp.c defines mkstemp64 as an alias. */
-#if defined O_LARGEFILE && O_LARGEFILE != 0
-
-/* Generate a unique temporary file name from TEMPLATE.
- The last six characters of TEMPLATE must be "XXXXXX";
- they are replaced with a string that makes the filename unique.
- Then open the file and return a fd. */
-int
-mkstemp64 (char *template)
-{
- return __gen_tempname (template, 0, O_LARGEFILE, __GT_FILE);
-}
-
-#endif
diff --git a/misc/mkstemps.c b/misc/mkstemps.c
deleted file mode 100644
index 41e58ed3e8..0000000000
--- a/misc/mkstemps.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Copyright (C) 2009-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 <errno.h>
-#include <fcntl.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-#ifndef __GT_FILE
-# define __GT_FILE 0
-#endif
-
-/* Generate a unique temporary file name from TEMPLATE. The last six
- characters before a suffix of length SUFFIXLEN of TEMPLATE must be
- "XXXXXX"; they are replaced with a string that makes the filename
- unique. Then open the file and return a fd. */
-int
-mkstemps (char *template, int suffixlen)
-{
- if (suffixlen < 0)
- {
- __set_errno (EINVAL);
- return -1;
- }
-
- return __gen_tempname (template, suffixlen, 0, __GT_FILE);
-}
-
-#if !defined O_LARGEFILE || O_LARGEFILE == 0
-weak_alias (mkstemps, mkstemps64)
-#endif
diff --git a/misc/mkstemps64.c b/misc/mkstemps64.c
deleted file mode 100644
index 18be96f363..0000000000
--- a/misc/mkstemps64.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Copyright (C) 2000-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 <errno.h>
-#include <fcntl.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-/* If O_LARGEFILE is zero, mkstemps.c defines mkstemps64 as an alias. */
-#if defined O_LARGEFILE && O_LARGEFILE != 0
-
-/* Generate a unique temporary file name from TEMPLATE. The last six
- characters before a suffix of length SUFFIXLEN of TEMPLATE must be
- "XXXXXX"; they are replaced with a string that makes the filename
- unique. Then open the file and return a fd. */
-int
-mkstemps64 (char *template, int suffixlen)
-{
- if (suffixlen < 0)
- {
- __set_errno (EINVAL);
- return -1;
- }
-
- return __gen_tempname (template, suffixlen, O_LARGEFILE, __GT_FILE);
-}
-
-#endif
diff --git a/misc/mktemp.c b/misc/mktemp.c
deleted file mode 100644
index fee0e7b227..0000000000
--- a/misc/mktemp.c
+++ /dev/null
@@ -1,36 +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/>. */
-
-#include <stdio.h>
-#include <stdlib.h>
-
-/* Generate a unique temporary file name from TEMPLATE.
- The last six characters of TEMPLATE must be "XXXXXX";
- they are replaced with a string that makes the filename unique. */
-char *
-__mktemp (char *template)
-{
- if (__gen_tempname (template, 0, 0, __GT_NOCREATE) < 0)
- /* We return the null string if we can't find a unique file name. */
- template[0] = '\0';
-
- return template;
-}
-weak_alias (__mktemp, mktemp)
-
-link_warning (mktemp, "the use of `mktemp' is dangerous, "
- "better use `mkstemp' or `mkdtemp'")
diff --git a/misc/mlock.c b/misc/mlock.c
deleted file mode 100644
index 364decec22..0000000000
--- a/misc/mlock.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/* mlock -- guarantee pages are resident in memory. Stub 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/>. */
-
-#include <sys/types.h>
-#include <sys/mman.h>
-#include <errno.h>
-
-/* Guarantee all whole pages mapped by the range [ADDR,ADDR+LEN) to
- be memory resident. */
-
-int
-mlock (const void *addr, size_t len)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (mlock)
diff --git a/misc/mlockall.c b/misc/mlockall.c
deleted file mode 100644
index 8375d8e8ca..0000000000
--- a/misc/mlockall.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/* mlockall -- lock in core all the pages in this process. Stub 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/>. */
-
-#include <sys/types.h>
-#include <sys/mman.h>
-#include <errno.h>
-
-/* Cause all currently mapped pages of the process to be memory resident
- until unlocked by a call to the `munlockall', until the process exits,
- or until the process calls `execve'. */
-
-int
-mlockall (int flags)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (mlockall)
diff --git a/misc/mmap.c b/misc/mmap.c
deleted file mode 100644
index 576d66a1e8..0000000000
--- a/misc/mmap.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Copyright (C) 1994-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/types.h>
-#include <sys/mman.h>
-#include <errno.h>
-
-/* Map addresses starting near ADDR and extending for LEN bytes. From
- OFFSET into the file FD describes according to PROT and FLAGS. If ADDR
- is nonzero, it is the desired mapping address. If the MAP_FIXED bit is
- set in FLAGS, the mapping will be at ADDR exactly (which must be
- page-aligned); otherwise the system chooses a convenient nearby address.
- The return value is the actual mapping address chosen or MAP_FAILED
- for errors (in which case `errno' is set). A successful `mmap' call
- deallocates any previous mapping for the affected region. */
-
-__ptr_t
-__mmap (__ptr_t addr, size_t len, int prot, int flags, int fd, off_t offset)
-{
- __set_errno (ENOSYS);
- return MAP_FAILED;
-}
-
-stub_warning (mmap)
-weak_alias (__mmap, mmap)
diff --git a/misc/mmap64.c b/misc/mmap64.c
deleted file mode 100644
index 6b1ac41c84..0000000000
--- a/misc/mmap64.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Copyright (C) 1997-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 <errno.h>
-#include <sys/mman.h>
-#include <sys/types.h>
-
-/* Map addresses starting near ADDR and extending for LEN bytes. From
- OFFSET into the file FD describes according to PROT and FLAGS. If ADDR
- is nonzero, it is the desired mapping address. If the MAP_FIXED bit is
- set in FLAGS, the mapping will be at ADDR exactly (which must be
- page-aligned); otherwise the system chooses a convenient nearby address.
- The return value is the actual mapping address chosen or MAP_FAILED
- for errors (in which case `errno' is set). A successful `mmap' call
- deallocates any previous mapping for the affected region. */
-
-__ptr_t
-__mmap64 (__ptr_t addr, size_t len, int prot, int flags, int fd,
- __off64_t offset)
-{
- off_t small_offset = (off_t) offset;
-
- if (small_offset != offset)
- {
- /* We cannot do this since the offset is too large. */
- __set_errno (EOVERFLOW);
- return MAP_FAILED;
- }
-
- return __mmap (addr, len, prot, flags, fd, small_offset);
-}
-
-weak_alias (__mmap64, mmap64)
diff --git a/misc/mntent.c b/misc/mntent.c
deleted file mode 100644
index ae7ee26d1a..0000000000
--- a/misc/mntent.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/* Utilities for reading/writing fstab, mtab, etc.
- 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/>. */
-
-#include <mntent.h>
-#include <stdlib.h>
-#include <libc-lock.h>
-
-/* We don't want to allocate the static buffer all the time since it
- is not always used (in fact, rather infrequently). Accept the
- extra cost of a `malloc'. */
-libc_freeres_ptr (static char *getmntent_buffer);
-
-/* This is the size of the buffer. This is really big. */
-#define BUFFER_SIZE 4096
-
-
-static void
-allocate (void)
-{
- getmntent_buffer = (char *) malloc (BUFFER_SIZE);
-}
-
-
-struct mntent *
-getmntent (FILE *stream)
-{
- static struct mntent m;
- __libc_once_define (static, once);
- __libc_once (once, allocate);
-
- if (getmntent_buffer == NULL)
- /* If no core is available we don't have a chance to run the
- program successfully and so returning NULL is an acceptable
- result. */
- return NULL;
-
- return __getmntent_r (stream, &m, getmntent_buffer, BUFFER_SIZE);
-}
diff --git a/misc/mntent.h b/misc/mntent.h
deleted file mode 100644
index e54e165637..0000000000
--- a/misc/mntent.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/* Utilities for reading/writing fstab, mtab, etc.
- 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 _MNTENT_H
-#define _MNTENT_H 1
-
-#include <features.h>
-#include <paths.h>
-#include <bits/types/FILE.h>
-
-/* File listing canonical interesting mount points. */
-#define MNTTAB _PATH_MNTTAB /* Deprecated alias. */
-
-/* File listing currently active mount points. */
-#define MOUNTED _PATH_MOUNTED /* Deprecated alias. */
-
-
-/* General filesystem types. */
-#define MNTTYPE_IGNORE "ignore" /* Ignore this entry. */
-#define MNTTYPE_NFS "nfs" /* Network file system. */
-#define MNTTYPE_SWAP "swap" /* Swap device. */
-
-
-/* Generic mount options. */
-#define MNTOPT_DEFAULTS "defaults" /* Use all default options. */
-#define MNTOPT_RO "ro" /* Read only. */
-#define MNTOPT_RW "rw" /* Read/write. */
-#define MNTOPT_SUID "suid" /* Set uid allowed. */
-#define MNTOPT_NOSUID "nosuid" /* No set uid allowed. */
-#define MNTOPT_NOAUTO "noauto" /* Do not auto mount. */
-
-
-__BEGIN_DECLS
-
-/* Structure describing a mount table entry. */
-struct mntent
- {
- char *mnt_fsname; /* Device or server for filesystem. */
- char *mnt_dir; /* Directory mounted on. */
- char *mnt_type; /* Type of filesystem: ufs, nfs, etc. */
- char *mnt_opts; /* Comma-separated options for fs. */
- int mnt_freq; /* Dump frequency (in days). */
- int mnt_passno; /* Pass number for `fsck'. */
- };
-
-
-/* Prepare to begin reading and/or writing mount table entries from the
- beginning of FILE. MODE is as for `fopen'. */
-extern FILE *setmntent (const char *__file, const char *__mode) __THROW;
-
-/* Read one mount table entry from STREAM. Returns a pointer to storage
- reused on the next call, or null for EOF or error (use feof/ferror to
- check). */
-extern struct mntent *getmntent (FILE *__stream) __THROW;
-
-#ifdef __USE_MISC
-/* Reentrant version of the above function. */
-extern struct mntent *getmntent_r (FILE *__restrict __stream,
- struct mntent *__restrict __result,
- char *__restrict __buffer,
- int __bufsize) __THROW;
-#endif
-
-/* Write the mount table entry described by MNT to STREAM.
- Return zero on success, nonzero on failure. */
-extern int addmntent (FILE *__restrict __stream,
- const struct mntent *__restrict __mnt) __THROW;
-
-/* Close a stream opened with `setmntent'. */
-extern int endmntent (FILE *__stream) __THROW;
-
-/* Search MNT->mnt_opts for an option matching OPT.
- Returns the address of the substring, or null if none found. */
-extern char *hasmntopt (const struct mntent *__mnt,
- const char *__opt) __THROW;
-
-
-__END_DECLS
-
-#endif /* mntent.h */
diff --git a/misc/mntent_r.c b/misc/mntent_r.c
deleted file mode 100644
index 30f55212be..0000000000
--- a/misc/mntent_r.c
+++ /dev/null
@@ -1,296 +0,0 @@
-/* Utilities for reading/writing fstab, mtab, etc.
- 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/>. */
-
-#include <alloca.h>
-#include <mntent.h>
-#include <stdio.h>
-#include <stdio_ext.h>
-#include <string.h>
-#include <sys/types.h>
-
-#define flockfile(s) _IO_flockfile (s)
-#define funlockfile(s) _IO_funlockfile (s)
-
-#undef __setmntent
-#undef __endmntent
-#undef __getmntent_r
-
-/* Prepare to begin reading and/or writing mount table entries from the
- beginning of FILE. MODE is as for `fopen'. */
-FILE *
-__setmntent (const char *file, const char *mode)
-{
- /* Extend the mode parameter with "c" to disable cancellation in the
- I/O functions and "e" to set FD_CLOEXEC. */
- size_t modelen = strlen (mode);
- char newmode[modelen + 3];
- memcpy (mempcpy (newmode, mode, modelen), "ce", 3);
- FILE *result = fopen (file, newmode);
-
- if (result != NULL)
- /* We do the locking ourselves. */
- __fsetlocking (result, FSETLOCKING_BYCALLER);
-
- return result;
-}
-libc_hidden_def (__setmntent)
-weak_alias (__setmntent, setmntent)
-
-
-/* Close a stream opened with `setmntent'. */
-int
-__endmntent (FILE *stream)
-{
- if (stream) /* SunOS 4.x allows for NULL stream */
- fclose (stream);
- return 1; /* SunOS 4.x says to always return 1 */
-}
-libc_hidden_def (__endmntent)
-weak_alias (__endmntent, endmntent)
-
-
-/* Since the values in a line are separated by spaces, a name cannot
- contain a space. Therefore some programs encode spaces in names
- by the strings "\040". We undo the encoding when reading an entry.
- The decoding happens in place. */
-static char *
-decode_name (char *buf)
-{
- char *rp = buf;
- char *wp = buf;
-
- do
- if (rp[0] == '\\' && rp[1] == '0' && rp[2] == '4' && rp[3] == '0')
- {
- /* \040 is a SPACE. */
- *wp++ = ' ';
- rp += 3;
- }
- else if (rp[0] == '\\' && rp[1] == '0' && rp[2] == '1' && rp[3] == '1')
- {
- /* \011 is a TAB. */
- *wp++ = '\t';
- rp += 3;
- }
- else if (rp[0] == '\\' && rp[1] == '0' && rp[2] == '1' && rp[3] == '2')
- {
- /* \012 is a NEWLINE. */
- *wp++ = '\n';
- rp += 3;
- }
- else if (rp[0] == '\\' && rp[1] == '\\')
- {
- /* We have to escape \\ to be able to represent all characters. */
- *wp++ = '\\';
- rp += 1;
- }
- else if (rp[0] == '\\' && rp[1] == '1' && rp[2] == '3' && rp[3] == '4')
- {
- /* \134 is also \\. */
- *wp++ = '\\';
- rp += 3;
- }
- else
- *wp++ = *rp;
- while (*rp++ != '\0');
-
- return buf;
-}
-
-
-/* Read one mount table entry from STREAM. Returns a pointer to storage
- reused on the next call, or null for EOF or error (use feof/ferror to
- check). */
-struct mntent *
-__getmntent_r (FILE *stream, struct mntent *mp, char *buffer, int bufsiz)
-{
- char *cp;
- char *head;
-
- flockfile (stream);
- do
- {
- char *end_ptr;
-
- if (__fgets_unlocked (buffer, bufsiz, stream) == NULL)
- {
- funlockfile (stream);
- return NULL;
- }
-
- end_ptr = strchr (buffer, '\n');
- if (end_ptr != NULL) /* chop newline */
- {
- /* Do not walk past the start of buffer if it's all whitespace. */
- while (end_ptr != buffer
- && (end_ptr[-1] == ' ' || end_ptr[-1] == '\t'))
- end_ptr--;
- *end_ptr = '\0';
- }
- else
- {
- /* Not the whole line was read. Do it now but forget it. */
- char tmp[1024];
- while (__fgets_unlocked (tmp, sizeof tmp, stream) != NULL)
- if (strchr (tmp, '\n') != NULL)
- break;
- }
-
- head = buffer + strspn (buffer, " \t");
- /* skip empty lines and comment lines: */
- }
- while (head[0] == '\0' || head[0] == '#');
-
- cp = __strsep (&head, " \t");
- mp->mnt_fsname = cp != NULL ? decode_name (cp) : (char *) "";
- if (head)
- head += strspn (head, " \t");
- cp = __strsep (&head, " \t");
- mp->mnt_dir = cp != NULL ? decode_name (cp) : (char *) "";
- if (head)
- head += strspn (head, " \t");
- cp = __strsep (&head, " \t");
- mp->mnt_type = cp != NULL ? decode_name (cp) : (char *) "";
- if (head)
- head += strspn (head, " \t");
- cp = __strsep (&head, " \t");
- mp->mnt_opts = cp != NULL ? decode_name (cp) : (char *) "";
- switch (head ? sscanf (head, " %d %d ", &mp->mnt_freq, &mp->mnt_passno) : 0)
- {
- case 0:
- mp->mnt_freq = 0;
- case 1:
- mp->mnt_passno = 0;
- case 2:
- break;
- }
- funlockfile (stream);
-
- return mp;
-}
-libc_hidden_def (__getmntent_r)
-weak_alias (__getmntent_r, getmntent_r)
-
-
-/* We have to use an encoding for names if they contain spaces or tabs.
- To be able to represent all characters we also have to escape the
- backslash itself. This "function" must be a macro since we use
- `alloca'. */
-#define encode_name(name) \
- do { \
- const char *rp = name; \
- \
- while (*rp != '\0') \
- if (*rp == ' ' || *rp == '\t' || *rp == '\n' || *rp == '\\') \
- break; \
- else \
- ++rp; \
- \
- if (*rp != '\0') \
- { \
- /* In the worst case the length of the string can increase to \
- four times the current length. */ \
- char *wp; \
- \
- rp = name; \
- name = wp = (char *) alloca (strlen (name) * 4 + 1); \
- \
- do \
- if (*rp == ' ') \
- { \
- *wp++ = '\\'; \
- *wp++ = '0'; \
- *wp++ = '4'; \
- *wp++ = '0'; \
- } \
- else if (*rp == '\t') \
- { \
- *wp++ = '\\'; \
- *wp++ = '0'; \
- *wp++ = '1'; \
- *wp++ = '1'; \
- } \
- else if (*rp == '\n') \
- { \
- *wp++ = '\\'; \
- *wp++ = '0'; \
- *wp++ = '1'; \
- *wp++ = '2'; \
- } \
- else if (*rp == '\\') \
- { \
- *wp++ = '\\'; \
- *wp++ = '\\'; \
- } \
- else \
- *wp++ = *rp; \
- while (*rp++ != '\0'); \
- } \
- } while (0)
-
-
-/* Write the mount table entry described by MNT to STREAM.
- Return zero on success, nonzero on failure. */
-int
-__addmntent (FILE *stream, const struct mntent *mnt)
-{
- struct mntent mntcopy = *mnt;
- if (fseek (stream, 0, SEEK_END))
- return 1;
-
- /* Encode spaces and tabs in the names. */
- encode_name (mntcopy.mnt_fsname);
- encode_name (mntcopy.mnt_dir);
- encode_name (mntcopy.mnt_type);
- encode_name (mntcopy.mnt_opts);
-
- return (fprintf (stream, "%s %s %s %s %d %d\n",
- mntcopy.mnt_fsname,
- mntcopy.mnt_dir,
- mntcopy.mnt_type,
- mntcopy.mnt_opts,
- mntcopy.mnt_freq,
- mntcopy.mnt_passno) < 0
- || fflush (stream) != 0);
-}
-weak_alias (__addmntent, addmntent)
-
-
-/* Search MNT->mnt_opts for an option matching OPT.
- Returns the address of the substring, or null if none found. */
-char *
-__hasmntopt (const struct mntent *mnt, const char *opt)
-{
- const size_t optlen = strlen (opt);
- char *rest = mnt->mnt_opts, *p;
-
- while ((p = strstr (rest, opt)) != NULL)
- {
- if ((p == rest || p[-1] == ',')
- && (p[optlen] == '\0' || p[optlen] == '=' || p[optlen] == ','))
- return p;
-
- rest = strchr (p, ',');
- if (rest == NULL)
- break;
- ++rest;
- }
-
- return NULL;
-}
-weak_alias (__hasmntopt, hasmntopt)
diff --git a/misc/mprotect.c b/misc/mprotect.c
deleted file mode 100644
index 271106426c..0000000000
--- a/misc/mprotect.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Copyright (C) 1994-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/types.h>
-#include <sys/mman.h>
-#include <errno.h>
-
-/* Change the memory protection of the region starting at ADDR and
- extending LEN bytes to PROT. Returns 0 if successful, -1 for errors
- (and sets errno). */
-
-int
-__mprotect (__ptr_t addr, size_t len, int prot)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-weak_alias (__mprotect, mprotect)
-
-stub_warning (mprotect)
diff --git a/misc/msync.c b/misc/msync.c
deleted file mode 100644
index 361185e83d..0000000000
--- a/misc/msync.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Copyright (C) 1994-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/types.h>
-#include <sys/mman.h>
-#include <errno.h>
-
-/* Synchronize the region starting at ADDR and extending LEN bytes with the
- file it maps. Filesystem operations on a file being mapped are
- unpredictable before this is done. */
-
-int
-msync (__ptr_t addr, size_t len, int flags)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (msync)
diff --git a/misc/munlock.c b/misc/munlock.c
deleted file mode 100644
index 89e9b96814..0000000000
--- a/misc/munlock.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* munlock -- undo the effects of prior mlock calls. Stub 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/>. */
-
-#include <sys/types.h>
-#include <sys/mman.h>
-#include <errno.h>
-
-/* Undo the effects on these whole pages of any prior mlock calls. */
-
-int
-munlock (const void *addr, size_t len)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (munlock)
diff --git a/misc/munlockall.c b/misc/munlockall.c
deleted file mode 100644
index fa787203f5..0000000000
--- a/misc/munlockall.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* munlockall -- undo the effects of all prior mlock calls. Stub 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/>. */
-
-#include <sys/types.h>
-#include <sys/mman.h>
-#include <errno.h>
-
-/* Undo the effects of all prior mlock calls in this process. */
-
-int
-munlockall (void)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (munlockall)
diff --git a/misc/munmap.c b/misc/munmap.c
deleted file mode 100644
index b3ba789d3b..0000000000
--- a/misc/munmap.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Copyright (C) 1994-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/types.h>
-#include <sys/mman.h>
-#include <errno.h>
-
-/* Deallocate any mapping for the region starting at ADDR and extending LEN
- bytes. Returns 0 if successful, -1 for errors (and sets errno). */
-
-int
-__munmap (__ptr_t addr, size_t len)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (munmap)
-weak_alias (__munmap, munmap)
diff --git a/misc/preadv.c b/misc/preadv.c
deleted file mode 100644
index cf45f9c3d0..0000000000
--- a/misc/preadv.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright (C) 2009-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 <errno.h>
-#include <unistd.h>
-#include <sys/uio.h>
-
-/* Read data from file descriptor FD at the given position OFFSET
- without change the file pointer, and put the result in the buffers
- described by VECTOR, which is a vector of COUNT 'struct iovec's.
- The buffers are filled in the order specified. Operates just like
- 'pread' (see <unistd.h>) except that data are put in VECTOR instead
- of a contiguous buffer. */
-ssize_t
-preadv (int fd, const struct iovec *vector, int count, off_t offset)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (preadv)
diff --git a/misc/preadv2.c b/misc/preadv2.c
deleted file mode 100644
index a62dcaa699..0000000000
--- a/misc/preadv2.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Default implementation of preadv2.
- Copyright (C) 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/uio.h>
-
-/* Same as preadv but with an additional flags argument. */
-ssize_t
-preadv2 (int fd, const struct iovec *vector, int count, off_t offset,
- int flags)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (preadv2)
diff --git a/misc/preadv64.c b/misc/preadv64.c
deleted file mode 100644
index ce048bea90..0000000000
--- a/misc/preadv64.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright (C) 2009-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 <errno.h>
-#include <unistd.h>
-#include <sys/uio.h>
-
-/* Read data from file descriptor FD at the given position OFFSET
- without change the file pointer, and put the result in the buffers
- described by VECTOR, which is a vector of COUNT 'struct iovec's.
- The buffers are filled in the order specified. Operates just like
- 'pread' (see <unistd.h>) except that data are put in VECTOR instead
- of a contiguous buffer. */
-ssize_t
-preadv64 (int fd, const struct iovec *vector, int count, off64_t offset)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (preadv64)
diff --git a/misc/preadv64v2.c b/misc/preadv64v2.c
deleted file mode 100644
index a802c2f1ab..0000000000
--- a/misc/preadv64v2.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Default implementation of preadv2 (LFS version).
- Copyright (C) 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/uio.h>
-
-/* Same as preadv64 but with an addional flag argument. */
-ssize_t
-preadv64v2 (int fd, const struct iovec *vector, int count, off64_t offset,
- int flags)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (preadv64v2)
diff --git a/misc/pselect.c b/misc/pselect.c
deleted file mode 100644
index 2292219d3d..0000000000
--- a/misc/pselect.c
+++ /dev/null
@@ -1,78 +0,0 @@
-/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <errno.h>
-#include <signal.h>
-#include <stddef.h> /* For NULL. */
-#include <sys/time.h>
-#include <sys/select.h>
-#include <sysdep-cancel.h>
-
-
-/* Check the first NFDS descriptors each in READFDS (if not NULL) for read
- readiness, in WRITEFDS (if not NULL) for write readiness, and in EXCEPTFDS
- (if not NULL) for exceptional conditions. If TIMEOUT is not NULL, time out
- after waiting the interval specified therein. Additionally set the sigmask
- SIGMASK for this call. Returns the number of ready descriptors, or -1 for
- errors. */
-int
-__pselect (int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds,
- const struct timespec *timeout, const sigset_t *sigmask)
-{
- struct timeval tval;
- int retval;
- sigset_t savemask;
-
- /* Change nanosecond number to microseconds. This might mean losing
- precision and therefore the `pselect` should be available. But
- for now it is hardly found. */
- if (timeout != NULL)
- {
- /* Catch bugs which would be hidden by the TIMESPEC_TO_TIMEVAL
- computations. The division by 1000 truncates values. */
- if (__glibc_unlikely (timeout->tv_nsec < 0))
- {
- __set_errno (EINVAL);
- return -1;
- }
-
- TIMESPEC_TO_TIMEVAL (&tval, timeout);
- }
-
- /* The setting and restoring of the signal mask and the select call
- should be an atomic operation. This can't be done without kernel
- help. */
- if (sigmask != NULL)
- __sigprocmask (SIG_SETMASK, sigmask, &savemask);
-
- /* Note the pselect() is a cancellation point. But since we call
- select() which itself is a cancellation point we do not have
- to do anything here. */
- retval = __select (nfds, readfds, writefds, exceptfds,
- timeout != NULL ? &tval : NULL);
-
- if (sigmask != NULL)
- __sigprocmask (SIG_SETMASK, &savemask, NULL);
-
- return retval;
-}
-#ifndef __pselect
-weak_alias (__pselect, pselect)
-/* __select handles cancellation. */
-LIBC_CANCEL_HANDLED ();
-#endif
diff --git a/misc/ptrace.c b/misc/ptrace.c
deleted file mode 100644
index aace1b5a34..0000000000
--- a/misc/ptrace.c
+++ /dev/null
@@ -1,108 +0,0 @@
-/* Copyright (C) 1991-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 <errno.h>
-#include <sys/ptrace.h>
-#include <sys/types.h>
-#include <stdarg.h>
-
-/* Perform process tracing functions. REQUEST is one of the values
- in <sys/ptrace.h>, and determines the action to be taken.
- For all requests except PTRACE_TRACEME, PID specifies the process to be
- traced.
-
- PID and the other arguments described above for the various requests should
- appear (those that are used for the particular request) as:
- pid_t PID, void *ADDR, int DATA, void *ADDR2
- after PID. */
-int
-ptrace (enum __ptrace_request request, ...)
-{
- pid_t pid;
- void *addr;
- void *addr2;
- int data;
- va_list ap;
-
- switch (request)
- {
- case PTRACE_TRACEME:
- case PTRACE_CONT:
- case PTRACE_KILL:
- case PTRACE_SINGLESTEP:
- case PTRACE_ATTACH:
- case PTRACE_DETACH:
- break;
-
- case PTRACE_PEEKTEXT:
- case PTRACE_PEEKDATA:
- case PTRACE_PEEKUSER:
- case PTRACE_GETREGS:
- case PTRACE_SETREGS:
-#ifdef PTRACE_GETFPREGS
- case PTRACE_GETFPGEGS:
-#endif
- case PTRACE_SETFPREGS:
- case PTRACE_GETFPAREGS:
- case PTRACE_SETFPAREGS:
- va_start (ap, request);
- pid = va_arg (ap, pid_t);
- addr = va_arg (ap, void *);
- va_end (ap);
- ignore_value (pid);
- ignore_value (addr);
- break;
-
- case PTRACE_POKETEXT:
- case PTRACE_POKEDATA:
- case PTRACE_POKEUSER:
- va_start (ap, request);
- pid = va_arg (ap, pid_t);
- addr = va_arg (ap, void *);
- data = va_arg (ap, int);
- va_end (ap);
- ignore_value (pid);
- ignore_value (addr);
- ignore_value (data);
- break;
-
- case PTRACE_READDATA:
- case PTRACE_WRITEDATA:
- case PTRACE_READTEXT:
- case PTRACE_WRITETEXT:
- va_start (ap, request);
- pid = va_arg (ap, pid_t);
- addr = va_arg (ap, void *);
- data = va_arg (ap, int);
- addr2 = va_arg (ap, void *);
- va_end (ap);
- ignore_value (pid);
- ignore_value (addr);
- ignore_value (data);
- ignore_value (addr2);
- break;
-
- default:
- __set_errno (EINVAL);
- return -1;
- }
-
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (ptrace)
diff --git a/misc/pwritev.c b/misc/pwritev.c
deleted file mode 100644
index f825ae4208..0000000000
--- a/misc/pwritev.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright (C) 2009-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 <errno.h>
-#include <unistd.h>
-#include <sys/uio.h>
-
-/* Write data pointed by the buffers described by VECTOR, which is a
- vector of COUNT 'struct iovec's, to file descriptor FD at the given
- position OFFSET without change the file pointer. The data is
- written in the order specified. Operates just like 'pwrite' (see
- <unistd.h>) except that the data are taken from VECTOR instead of a
- contiguous buffer. */
-ssize_t
-pwritev (int fd, const struct iovec *vector, int count, off_t offset)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (pwritev)
diff --git a/misc/pwritev2.c b/misc/pwritev2.c
deleted file mode 100644
index b9e07272da..0000000000
--- a/misc/pwritev2.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Default implementation of pwritev2.
- Copyright (C) 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/uio.h>
-
-/* Same as pwritev but with an additional flags argument. */
-ssize_t
-pwritev2 (int fd, const struct iovec *vector, int count, off_t offset,
- int flags)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (pwritev2)
diff --git a/misc/pwritev64.c b/misc/pwritev64.c
deleted file mode 100644
index 380d4d32aa..0000000000
--- a/misc/pwritev64.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright (C) 2009-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 <errno.h>
-#include <unistd.h>
-#include <sys/uio.h>
-
-/* Write data pointed by the buffers described by VECTOR, which is a
- vector of COUNT 'struct iovec's, to file descriptor FD at the given
- position OFFSET without change the file pointer. The data is
- written in the order specified. Operates just like 'pwrite' (see
- <unistd.h>) except that the data are taken from VECTOR instead of a
- contiguous buffer. */
-ssize_t
-pwritev64 (int fd, const struct iovec *vector, int count, off64_t offset)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (pwritev64)
diff --git a/misc/pwritev64v2.c b/misc/pwritev64v2.c
deleted file mode 100644
index 1f874f054c..0000000000
--- a/misc/pwritev64v2.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Default implementation of pwritev2 (LFS version).
- Copyright (C) 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/uio.h>
-
-/* Same as preadv64 but with an addional flag argument. */
-ssize_t
-pwritev64v2 (int fd, const struct iovec *vector, int count, off64_t offset,
- int flags)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (pwritev64v2)
diff --git a/misc/qefgcvt.c b/misc/qefgcvt.c
deleted file mode 100644
index d003bb905b..0000000000
--- a/misc/qefgcvt.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/* Compatibility functions for floating point formatting, long double version.
- 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/>. */
-
-#include <float.h>
-
-#define FLOAT_TYPE long double
-#define FUNC_PREFIX q
-#define FLOAT_FMT_FLAG "L"
-/* Actually we have to write (LDBL_DIG + log10 (LDBL_MAX_10_EXP)) but
- we don't have log10 available in the preprocessor. Since we cannot
- assume anything on the used `long double' format be generous. */
-#define MAXDIG (NDIGIT_MAX + 12)
-#define FCVT_MAXDIG (LDBL_MAX_10_EXP + MAXDIG)
-#if LDBL_MANT_DIG == 64
-# define NDIGIT_MAX 21
-#elif LDBL_MANT_DIG == 53
-# define NDIGIT_MAX 17
-#elif LDBL_MANT_DIG == 113
-# define NDIGIT_MAX 36
-#elif LDBL_MANT_DIG == 106
-# define NDIGIT_MAX 34
-#elif LDBL_MANT_DIG == 56
-# define NDIGIT_MAX 18
-#else
-/* See IEEE 854 5.6, table 2 for this formula. Unfortunately we need a
- compile time constant here, so we cannot use it. */
-# error "NDIGIT_MAX must be precomputed"
-# define NDIGIT_MAX (lrint (ceil (M_LN2 / M_LN10 * LDBL_MANT_DIG + 1.0)))
-#endif
-
-#include "efgcvt.c"
diff --git a/misc/qefgcvt_r.c b/misc/qefgcvt_r.c
deleted file mode 100644
index 7725274916..0000000000
--- a/misc/qefgcvt_r.c
+++ /dev/null
@@ -1,57 +0,0 @@
-/* Compatibility functions for floating point formatting, reentrant,
- long double versions.
- 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/>. */
-
-#include <float.h>
-
-#define FLOAT_TYPE long double
-#define FUNC_PREFIX q
-#define FLOAT_FMT_FLAG "L"
-#define FLOAT_NAME_EXT l
-#define FLOAT_MIN_10_EXP LDBL_MIN_10_EXP
-#if LDBL_MANT_DIG == 64
-# define NDIGIT_MAX 21
-#elif LDBL_MANT_DIG == 53
-# define NDIGIT_MAX 17
-#elif LDBL_MANT_DIG == 113
-# define NDIGIT_MAX 36
-#elif LDBL_MANT_DIG == 106
-# define NDIGIT_MAX 34
-#elif LDBL_MANT_DIG == 56
-# define NDIGIT_MAX 18
-#else
-/* See IEEE 854 5.6, table 2 for this formula. Unfortunately we need a
- compile time constant here, so we cannot use it. */
-# error "NDIGIT_MAX must be precomputed"
-# define NDIGIT_MAX (lrint (ceil (M_LN2 / M_LN10 * LDBL_MANT_DIG + 1.0)))
-#endif
-#if LDBL_MIN_10_EXP == -37
-# define FLOAT_MIN_10_NORM 1.0e-37L
-#elif LDBL_MIN_10_EXP == -291
-# define FLOAT_MIN_10_NORM 1.0e-291L
-#elif LDBL_MIN_10_EXP == -307
-# define FLOAT_MIN_10_NORM 1.0e-307L
-#elif LDBL_MIN_10_EXP == -4931
-# define FLOAT_MIN_10_NORM 1.0e-4931L
-#else
-/* libc can't depend on libm. */
-# error "FLOAT_MIN_10_NORM must be precomputed"
-# define FLOAT_MIN_10_NORM exp10l (LDBL_MIN_10_EXP)
-#endif
-
-#include "efgcvt_r.c"
diff --git a/misc/readv.c b/misc/readv.c
deleted file mode 100644
index 064f88523c..0000000000
--- a/misc/readv.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright (C) 1991-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 <errno.h>
-#include <unistd.h>
-#include <sys/uio.h>
-
-/* Read data from file descriptor FD, and put the result in the
- buffers described by VECTOR, which is a vector of COUNT `struct iovec's.
- The buffers are filled in the order specified.
- Operates just like `read' (see <unistd.h>) except that data are
- put in VECTOR instead of a contiguous buffer. */
-ssize_t
-__readv (int fd, const struct iovec *vector, int count)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-weak_alias (__readv, readv)
-
-stub_warning (readv)
diff --git a/misc/reboot.c b/misc/reboot.c
deleted file mode 100644
index 70549c41b7..0000000000
--- a/misc/reboot.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Copyright (C) 1992-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 <errno.h>
-#include <unistd.h>
-#include <sys/reboot.h>
-#include <libc-diag.h>
-
-/* Reboot the system. */
-int
-reboot (int howto)
-{
- ignore_value (howto);
-
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (reboot)
diff --git a/misc/regexp.c b/misc/regexp.c
deleted file mode 100644
index 19d76c0c37..0000000000
--- a/misc/regexp.c
+++ /dev/null
@@ -1,92 +0,0 @@
-/* Compatibility symbols for the obsolete <regexp.h> interface.
- Copyright (C) 1996-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
-
- 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/>. */
-
-/* regexp.h now contains only an #error directive, so it cannot be
- used in this file.
-
- The function that would produce an 'expbuf' to use as the second
- argument to 'step' and 'advance' was defined only in regexp.h,
- as its definition depended on macros defined by the user. */
-
-#include <regex.h>
-#include <shlib-compat.h>
-
-#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_23)
-
-/* Define the variables used for the interface. */
-char *loc1;
-char *loc2;
-compat_symbol (libc, loc1, loc1, GLIBC_2_0);
-compat_symbol (libc, loc2, loc2, GLIBC_2_0);
-
-/* Although we do not support the use we define this variable as well. */
-char *locs;
-compat_symbol (libc, locs, locs, GLIBC_2_0);
-
-
-/* Find the next match in STRING. The compiled regular expression is
- found in the buffer starting at EXPBUF. `loc1' will return the
- first character matched and `loc2' points to the next unmatched
- character. */
-int
-weak_function attribute_compat_text_section
-step (const char *string, const char *expbuf)
-{
- regmatch_t match; /* We only need info about the full match. */
-
- expbuf += __alignof (regex_t *);
- expbuf -= (expbuf - ((const char *) 0)) % __alignof__ (regex_t *);
-
- if (__regexec ((const regex_t *) expbuf, string, 1, &match, REG_NOTEOL)
- == REG_NOMATCH)
- return 0;
-
- loc1 = (char *) string + match.rm_so;
- loc2 = (char *) string + match.rm_eo;
- return 1;
-}
-compat_symbol (libc, step, step, GLIBC_2_0);
-
-
-/* Match the beginning of STRING with the compiled regular expression
- in EXPBUF. If the match is successful `loc2' will contain the
- position of the first unmatched character. */
-int
-weak_function attribute_compat_text_section
-advance (const char *string, const char *expbuf)
-{
- regmatch_t match; /* We only need info about the full match. */
-
- expbuf += __alignof__ (regex_t *);
- expbuf -= (expbuf - ((const char *) 0)) % __alignof__ (regex_t *);
-
- if (__regexec ((const regex_t *) expbuf, string, 1, &match, REG_NOTEOL)
- == REG_NOMATCH
- /* We have to check whether the check is at the beginning of the
- buffer. */
- || match.rm_so != 0)
- return 0;
-
- loc2 = (char *) string + match.rm_eo;
- return 1;
-}
-compat_symbol (libc, advance, advance, GLIBC_2_0);
-
-
-#endif /* SHLIB_COMPAT (2.0, 2.23) */
diff --git a/misc/regexp.h b/misc/regexp.h
deleted file mode 100644
index f9451f50db..0000000000
--- a/misc/regexp.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
-
- 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 _REGEXP_H
-#define _REGEXP_H 1
-
-/* The contents of this header file were originally standardized in
- the Single Unix Specification, Issue 3 (1992). In Issue 4 (1994)
- the header was marked as TO BE WITHDRAWN, and new applications
- were encouraged to use <regex.h> instead. It was officially
- withdrawn from the standard in Issue 6 (aka POSIX.1-2001).
-
- The GNU C Library provided this header through version 2.22. */
-
-#error "The GNU C Library no longer implements <regexp.h>."
-#error "Please update your code to use <regex.h> instead (no trailing 'p')."
-
-#endif /* regexp.h */
diff --git a/misc/remap_file_pages.c b/misc/remap_file_pages.c
deleted file mode 100644
index 478ed72c5f..0000000000
--- a/misc/remap_file_pages.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/* 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 <sys/mman.h>
-#include <errno.h>
-
-/* Remap arbitrary pages of a shared backing store within an existing
- VMA. */
-
-int
-__remap_file_pages (void *start, size_t size, int prot, size_t pgoff,
- int flags)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (remap_file_pages)
-weak_alias (__remap_file_pages, remap_file_pages)
diff --git a/misc/removexattr.c b/misc/removexattr.c
deleted file mode 100644
index a73840fa7f..0000000000
--- a/misc/removexattr.c
+++ /dev/null
@@ -1,28 +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/>. */
-
-#include <errno.h>
-#include <sys/xattr.h>
-
-int
-removexattr (const char *__path, const char *__name)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (removexattr)
diff --git a/misc/revoke.c b/misc/revoke.c
deleted file mode 100644
index d953216246..0000000000
--- a/misc/revoke.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Revoke the access of all descriptors currently open on a file.
- 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/>. */
-
-#include <unistd.h>
-#include <errno.h>
-
-int
-revoke (const char *file)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-stub_warning (revoke)
diff --git a/misc/sbrk.c b/misc/sbrk.c
deleted file mode 100644
index 965c0ef879..0000000000
--- a/misc/sbrk.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/* Copyright (C) 1991-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 <errno.h>
-#include <stdint.h>
-#include <unistd.h>
-
-/* Defined in brk.c. */
-extern void *__curbrk;
-extern int __brk (void *addr);
-
-/* Defined in init-first.c. */
-extern int __libc_multiple_libcs attribute_hidden;
-
-/* Extend the process's data space by INCREMENT.
- If INCREMENT is negative, shrink data space by - INCREMENT.
- Return start of new space allocated, or -1 for errors. */
-void *
-__sbrk (intptr_t increment)
-{
- void *oldbrk;
-
- /* If this is not part of the dynamic library or the library is used
- via dynamic loading in a statically linked program update
- __curbrk from the kernel's brk value. That way two separate
- instances of __brk and __sbrk can share the heap, returning
- interleaved pieces of it. */
- if (__curbrk == NULL || __libc_multiple_libcs)
- if (__brk (0) < 0) /* Initialize the break. */
- return (void *) -1;
-
- if (increment == 0)
- return __curbrk;
-
- oldbrk = __curbrk;
- if (increment > 0
- ? ((uintptr_t) oldbrk + (uintptr_t) increment < (uintptr_t) oldbrk)
- : ((uintptr_t) oldbrk < (uintptr_t) -increment))
- {
- __set_errno (ENOMEM);
- return (void *) -1;
- }
-
- if (__brk (oldbrk + increment) < 0)
- return (void *) -1;
-
- return oldbrk;
-}
-libc_hidden_def (__sbrk)
-weak_alias (__sbrk, sbrk)
diff --git a/misc/search.h b/misc/search.h
deleted file mode 100644
index ae122eec69..0000000000
--- a/misc/search.h
+++ /dev/null
@@ -1,174 +0,0 @@
-/* Declarations for System V style searching functions.
- 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 _SEARCH_H
-#define _SEARCH_H 1
-
-#include <features.h>
-
-#define __need_size_t
-#include <stddef.h>
-
-__BEGIN_DECLS
-
-#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED
-/* Prototype structure for a linked-list data structure.
- This is the type used by the `insque' and `remque' functions. */
-
-# ifdef __USE_GNU
-struct qelem
- {
- struct qelem *q_forw;
- struct qelem *q_back;
- char q_data[1];
- };
-# endif
-
-
-/* Insert ELEM into a doubly-linked list, after PREV. */
-extern void insque (void *__elem, void *__prev) __THROW;
-
-/* Unlink ELEM from the doubly-linked list that it is in. */
-extern void remque (void *__elem) __THROW;
-#endif
-
-
-/* For use with hsearch(3). */
-#ifndef __COMPAR_FN_T
-# define __COMPAR_FN_T
-typedef int (*__compar_fn_t) (const void *, const void *);
-
-# ifdef __USE_GNU
-typedef __compar_fn_t comparison_fn_t;
-# endif
-#endif
-
-/* Action which shall be performed in the call the hsearch. */
-typedef enum
- {
- FIND,
- ENTER
- }
-ACTION;
-
-typedef struct entry
- {
- char *key;
- void *data;
- }
-ENTRY;
-
-/* Opaque type for internal use. */
-struct _ENTRY;
-
-/* Family of hash table handling functions. The functions also
- have reentrant counterparts ending with _r. The non-reentrant
- functions all work on a signle internal hashing table. */
-
-/* Search for entry matching ITEM.key in internal hash table. If
- ACTION is `FIND' return found entry or signal error by returning
- NULL. If ACTION is `ENTER' replace existing data (if any) with
- ITEM.data. */
-extern ENTRY *hsearch (ENTRY __item, ACTION __action) __THROW;
-
-/* Create a new hashing table which will at most contain NEL elements. */
-extern int hcreate (size_t __nel) __THROW;
-
-/* Destroy current internal hashing table. */
-extern void hdestroy (void) __THROW;
-
-#ifdef __USE_GNU
-/* Data type for reentrant functions. */
-struct hsearch_data
- {
- struct _ENTRY *table;
- unsigned int size;
- unsigned int filled;
- };
-
-/* Reentrant versions which can handle multiple hashing tables at the
- same time. */
-extern int hsearch_r (ENTRY __item, ACTION __action, ENTRY **__retval,
- struct hsearch_data *__htab) __THROW;
-extern int hcreate_r (size_t __nel, struct hsearch_data *__htab) __THROW;
-extern void hdestroy_r (struct hsearch_data *__htab) __THROW;
-#endif
-
-
-/* The tsearch routines are very interesting. They make many
- assumptions about the compiler. It assumes that the first field
- in node must be the "key" field, which points to the datum.
- Everything depends on that. */
-/* For tsearch */
-typedef enum
-{
- preorder,
- postorder,
- endorder,
- leaf
-}
-VISIT;
-
-/* Search for an entry matching the given KEY in the tree pointed to
- by *ROOTP and insert a new element if not found. */
-extern void *tsearch (const void *__key, void **__rootp,
- __compar_fn_t __compar);
-
-/* Search for an entry matching the given KEY in the tree pointed to
- by *ROOTP. If no matching entry is available return NULL. */
-extern void *tfind (const void *__key, void *const *__rootp,
- __compar_fn_t __compar);
-
-/* Remove the element matching KEY from the tree pointed to by *ROOTP. */
-extern void *tdelete (const void *__restrict __key,
- void **__restrict __rootp,
- __compar_fn_t __compar);
-
-#ifndef __ACTION_FN_T
-# define __ACTION_FN_T
-typedef void (*__action_fn_t) (const void *__nodep, VISIT __value,
- int __level);
-#endif
-
-/* Walk through the whole tree and call the ACTION callback for every node
- or leaf. */
-extern void twalk (const void *__root, __action_fn_t __action);
-
-#ifdef __USE_GNU
-/* Callback type for function to free a tree node. If the keys are atomic
- data this function should do nothing. */
-typedef void (*__free_fn_t) (void *__nodep);
-
-/* Destroy the whole tree, call FREEFCT for each node or leaf. */
-extern void tdestroy (void *__root, __free_fn_t __freefct);
-#endif
-
-
-/* Perform linear search for KEY by comparing by COMPAR in an array
- [BASE,BASE+NMEMB*SIZE). */
-extern void *lfind (const void *__key, const void *__base,
- size_t *__nmemb, size_t __size, __compar_fn_t __compar);
-
-/* Perform linear search for KEY by comparing by COMPAR function in
- array [BASE,BASE+NMEMB*SIZE) and insert entry if not found. */
-extern void *lsearch (const void *__key, void *__base,
- size_t *__nmemb, size_t __size, __compar_fn_t __compar);
-
-__END_DECLS
-
-#endif /* search.h */
diff --git a/misc/select.c b/misc/select.c
deleted file mode 100644
index 711683a96f..0000000000
--- a/misc/select.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Copyright (C) 1991-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>
-#include <sys/types.h>
-#include <errno.h>
-
-/* Check the first NFDS descriptors each in READFDS (if not NULL) for read
- readiness, in WRITEFDS (if not NULL) for write readiness, and in EXCEPTFDS
- (if not NULL) for exceptional conditions. If TIMEOUT is not NULL, time out
- after waiting the interval specified therein. Returns the number of ready
- descriptors, or -1 for errors. */
-int
-__select (int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds,
- struct timeval *timeout)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-libc_hidden_def (__select)
-stub_warning (select)
-
-weak_alias (__select, select)
diff --git a/misc/setdomain.c b/misc/setdomain.c
deleted file mode 100644
index e0fdf1da47..0000000000
--- a/misc/setdomain.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Copyright (C) 1994-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 <errno.h>
-#include <unistd.h>
-
-/* Set the name of the current YP domain to NAME, which is LEN bytes long.
- This call is restricted to the super-user. */
-int
-setdomainname (const char *name, size_t len)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (setdomainname)
diff --git a/misc/setegid.c b/misc/setegid.c
deleted file mode 100644
index 0343691ab8..0000000000
--- a/misc/setegid.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Copyright (C) 1992-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 <errno.h>
-#include <unistd.h>
-
-/* Set the effective group ID of the calling process to GID. */
-int
-setegid (__gid_t gid)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-libc_hidden_def (setegid)
-stub_warning (setegid)
diff --git a/misc/seteuid.c b/misc/seteuid.c
deleted file mode 100644
index f0f2df1c58..0000000000
--- a/misc/seteuid.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Copyright (C) 1992-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 <errno.h>
-#include <unistd.h>
-
-/* Set the effective user ID of the calling process to UID. */
-int
-seteuid (__uid_t uid)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-libc_hidden_def (seteuid)
-stub_warning (seteuid)
diff --git a/misc/sethostid.c b/misc/sethostid.c
deleted file mode 100644
index 19dd30e53f..0000000000
--- a/misc/sethostid.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Copyright (C) 1991-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 <errno.h>
-#include <unistd.h>
-
-/* Set the current machine's Internet number to ID.
- This call is restricted to the super-user. */
-int
-sethostid (long int id)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-
-stub_warning (sethostid)
diff --git a/misc/sethostname.c b/misc/sethostname.c
deleted file mode 100644
index 00527d85e2..0000000000
--- a/misc/sethostname.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Copyright (C) 1991-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 <errno.h>
-#include <unistd.h>
-
-/* Set the name of the current host to NAME, which is LEN bytes long.
- This call is restricted to the super-user. */
-int
-sethostname (const char *name, size_t len)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-
-stub_warning (sethostname)
diff --git a/misc/setregid.c b/misc/setregid.c
deleted file mode 100644
index e5c4808ad9..0000000000
--- a/misc/setregid.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright (C) 1991-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 <errno.h>
-#include <unistd.h>
-#include <sys/types.h>
-
-/* Set the real group ID of the calling process to RGID,
- and the effective group ID of the calling process to EGID. */
-int
-__setregid (gid_t effective_gid, gid_t real_gid)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-stub_warning (setregid)
-
-weak_alias (__setregid, setregid)
diff --git a/misc/setreuid.c b/misc/setreuid.c
deleted file mode 100644
index 173e076197..0000000000
--- a/misc/setreuid.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright (C) 1991-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 <errno.h>
-#include <unistd.h>
-#include <sys/types.h>
-
-/* Set the real user ID of the calling process to RUID,
- and the effective user ID of the calling process to EUID. */
-int
-__setreuid (uid_t effective_uid, uid_t real_uid)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-stub_warning (setreuid)
-
-weak_alias (__setreuid, setreuid)
diff --git a/misc/setxattr.c b/misc/setxattr.c
deleted file mode 100644
index eb78d05f16..0000000000
--- a/misc/setxattr.c
+++ /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/>. */
-
-#include <errno.h>
-#include <sys/xattr.h>
-
-int
-setxattr (const char *__path, const char *__name,
- const void *__value, size_t __size, int __flags)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (setxattr)
diff --git a/misc/sgtty.h b/misc/sgtty.h
deleted file mode 100644
index ac8980dcfa..0000000000
--- a/misc/sgtty.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Copyright (C) 1991-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 _SGTTY_H
-#define _SGTTY_H 1
-
-#include <features.h>
-
-#include <sys/ioctl.h>
-
-/* On some systems this type is not defined by <bits/ioctl-types.h>;
- in that case, the functions are just stubs that return ENOSYS. */
-struct sgttyb;
-
-__BEGIN_DECLS
-
-/* Fill in *PARAMS with terminal parameters associated with FD. */
-extern int gtty (int __fd, struct sgttyb *__params) __THROW;
-
-/* Set the terminal parameters associated with FD to *PARAMS. */
-extern int stty (int __fd, const struct sgttyb *__params) __THROW;
-
-
-__END_DECLS
-
-#endif /* sgtty.h */
diff --git a/misc/sstk.c b/misc/sstk.c
deleted file mode 100644
index 7e8a38287c..0000000000
--- a/misc/sstk.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright (C) 1991-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 <errno.h>
-
-/* Increase the size of the stack by INCREMENT,
- and return the address of the bottom of the stack. */
-
-void *sstk (int increment) __THROW;
-
-void *
-sstk (int increment)
-{
- __set_errno (ENOSYS);
- return (void *) -1;
-}
-
-stub_warning (sstk)
diff --git a/misc/stab.h b/misc/stab.h
deleted file mode 100644
index 9dc3c32ecb..0000000000
--- a/misc/stab.h
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef __GNU_STAB__
-
-/* Indicate the GNU stab.h is in use. */
-
-#define __GNU_STAB__
-
-#define __define_stab(NAME, CODE, STRING) NAME=CODE,
-
-enum __stab_debug_code
-{
-#include <bits/stab.def>
-LAST_UNUSED_STAB_CODE
-};
-
-#undef __define_stab
-
-#endif /* __GNU_STAB_ */
diff --git a/misc/stty.c b/misc/stty.c
deleted file mode 100644
index 1e4ee993f8..0000000000
--- a/misc/stty.c
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Copyright (C) 1991-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 <errno.h>
-#include <sgtty.h>
-#include <stddef.h>
-
-/* Set the terminal parameters associated with FD to *PARAMS. */
-int
-stty (int fd, const struct sgttyb *params)
-{
- if (params == NULL)
- {
- __set_errno (EINVAL);
- return -1;
- }
-
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (stty)
diff --git a/misc/swapoff.c b/misc/swapoff.c
deleted file mode 100644
index 6c1f388a17..0000000000
--- a/misc/swapoff.c
+++ /dev/null
@@ -1,29 +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/>. */
-
-#include <errno.h>
-#include <unistd.h>
-
-/* Stop using block special device PATH for swapping. */
-int
-swapoff (const char *path)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (swapoff)
diff --git a/misc/swapon.c b/misc/swapon.c
deleted file mode 100644
index 07a2c30386..0000000000
--- a/misc/swapon.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Copyright (C) 1991-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 <errno.h>
-#include <unistd.h>
-#include <sys/swap.h>
-
-/* Make the block special device PATH available to the system for swapping.
- This call is restricted to the super-user. */
-int
-swapon (const char *path, int flags)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (swapon)
diff --git a/misc/sync.c b/misc/sync.c
deleted file mode 100644
index ec9cb1706f..0000000000
--- a/misc/sync.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Copyright (C) 1991-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 <errno.h>
-#include <unistd.h>
-
-/* Make all changes done to all files actually appear on disk. */
-void
-sync (void)
-{
- __set_errno (ENOSYS);
-}
-
-
-stub_warning (sync)
diff --git a/misc/syncfs.c b/misc/syncfs.c
deleted file mode 100644
index 2f505977be..0000000000
--- a/misc/syncfs.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/* 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 <errno.h>
-#include <unistd.h>
-
-/* Make all changes done to all files on the file system associated
- with FD actually appear on disk. */
-int
-syncfs (int fd)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-
-stub_warning (syncfs)
diff --git a/misc/sys/auxv.h b/misc/sys/auxv.h
deleted file mode 100644
index 9ec84e50a5..0000000000
--- a/misc/sys/auxv.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Access to the auxiliary vector.
- 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_AUXV_H
-#define _SYS_AUXV_H 1
-
-#include <elf.h>
-#include <sys/cdefs.h>
-#include <bits/hwcap.h>
-
-__BEGIN_DECLS
-
-/* Return the value associated with an Elf*_auxv_t type from the auxv list
- passed to the program on startup. If TYPE was not present in the auxv
- list, returns zero and sets errno to ENOENT. */
-extern unsigned long int getauxval (unsigned long int __type)
- __THROW;
-
-__END_DECLS
-
-#endif /* sys/auxv.h */
diff --git a/misc/sys/cdefs.h b/misc/sys/cdefs.h
deleted file mode 100644
index 06523bfe9c..0000000000
--- a/misc/sys/cdefs.h
+++ /dev/null
@@ -1,483 +0,0 @@
-/* Copyright (C) 1992-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_CDEFS_H
-#define _SYS_CDEFS_H 1
-
-/* We are almost always included from features.h. */
-#ifndef _FEATURES_H
-# include <features.h>
-#endif
-
-/* The GNU libc does not support any K&R compilers or the traditional mode
- of ISO C compilers anymore. Check for some of the combinations not
- anymore supported. */
-#if defined __GNUC__ && !defined __STDC__
-# error "You need a ISO C conforming compiler to use the glibc headers"
-#endif
-
-/* Some user header file might have defined this before. */
-#undef __P
-#undef __PMT
-
-#ifdef __GNUC__
-
-/* All functions, except those with callbacks or those that
- synchronize memory, are leaf functions. */
-# if __GNUC_PREREQ (4, 6) && !defined _LIBC
-# define __LEAF , __leaf__
-# define __LEAF_ATTR __attribute__ ((__leaf__))
-# else
-# define __LEAF
-# define __LEAF_ATTR
-# endif
-
-/* GCC can always grok prototypes. For C++ programs we add throw()
- to help it optimize the function calls. But this works only with
- gcc 2.8.x and egcs. For gcc 3.2 and up we even mark C functions
- as non-throwing using a function attribute since programs can use
- the -fexceptions options for C code as well. */
-# if !defined __cplusplus && __GNUC_PREREQ (3, 3)
-# define __THROW __attribute__ ((__nothrow__ __LEAF))
-# define __THROWNL __attribute__ ((__nothrow__))
-# define __NTH(fct) __attribute__ ((__nothrow__ __LEAF)) fct
-# define __NTHNL(fct) __attribute__ ((__nothrow__)) fct
-# else
-# if defined __cplusplus && __GNUC_PREREQ (2,8)
-# define __THROW throw ()
-# define __THROWNL throw ()
-# define __NTH(fct) __LEAF_ATTR fct throw ()
-# define __NTHNL(fct) fct throw ()
-# else
-# define __THROW
-# define __THROWNL
-# define __NTH(fct) fct
-# define __NTHNL(fct) fct
-# endif
-# endif
-
-#else /* Not GCC. */
-
-# define __inline /* No inline functions. */
-
-# define __THROW
-# define __THROWNL
-# define __NTH(fct) fct
-
-#endif /* GCC. */
-
-/* Compilers that are not clang may object to
- #if defined __clang__ && __has_extension(...)
- even though they do not need to evaluate the right-hand side of the &&. */
-#if defined __clang__ && defined __has_extension
-# define __glibc_clang_has_extension(ext) __has_extension (ext)
-#else
-# define __glibc_clang_has_extension(ext) 0
-#endif
-
-/* These two macros are not used in glibc anymore. They are kept here
- only because some other projects expect the macros to be defined. */
-#define __P(args) args
-#define __PMT(args) args
-
-/* For these things, GCC behaves the ANSI way normally,
- and the non-ANSI way under -traditional. */
-
-#define __CONCAT(x,y) x ## y
-#define __STRING(x) #x
-
-/* This is not a typedef so `const __ptr_t' does the right thing. */
-#define __ptr_t void *
-#define __long_double_t long double
-
-
-/* C++ needs to know that types and declarations are C, not C++. */
-#ifdef __cplusplus
-# define __BEGIN_DECLS extern "C" {
-# define __END_DECLS }
-#else
-# define __BEGIN_DECLS
-# define __END_DECLS
-#endif
-
-
-/* Fortify support. */
-#define __bos(ptr) __builtin_object_size (ptr, __USE_FORTIFY_LEVEL > 1)
-#define __bos0(ptr) __builtin_object_size (ptr, 0)
-
-#if __GNUC_PREREQ (4,3)
-# define __warndecl(name, msg) \
- extern void name (void) __attribute__((__warning__ (msg)))
-# define __warnattr(msg) __attribute__((__warning__ (msg)))
-# define __errordecl(name, msg) \
- extern void name (void) __attribute__((__error__ (msg)))
-#else
-# define __warndecl(name, msg) extern void name (void)
-# define __warnattr(msg)
-# define __errordecl(name, msg) extern void name (void)
-#endif
-
-/* Support for flexible arrays.
- Headers that should use flexible arrays only if they're "real"
- (e.g. only if they won't affect sizeof()) should test
- #if __glibc_c99_flexarr_available. */
-#if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L
-# define __flexarr []
-# define __glibc_c99_flexarr_available 1
-#elif __GNUC_PREREQ (2,97)
-/* GCC 2.97 supports C99 flexible array members as an extension,
- even when in C89 mode or compiling C++ (any version). */
-# define __flexarr []
-# define __glibc_c99_flexarr_available 1
-#elif defined __GNUC__
-/* Pre-2.97 GCC did not support C99 flexible arrays but did have
- an equivalent extension with slightly different notation. */
-# define __flexarr [0]
-# define __glibc_c99_flexarr_available 1
-#else
-/* Some other non-C99 compiler. Approximate with [1]. */
-# define __flexarr [1]
-# define __glibc_c99_flexarr_available 0
-#endif
-
-
-/* __asm__ ("xyz") is used throughout the headers to rename functions
- at the assembly language level. This is wrapped by the __REDIRECT
- macro, in order to support compilers that can do this some other
- way. When compilers don't support asm-names at all, we have to do
- preprocessor tricks instead (which don't have exactly the right
- semantics, but it's the best we can do).
-
- Example:
- int __REDIRECT(setpgrp, (__pid_t pid, __pid_t pgrp), setpgid); */
-
-#if defined __GNUC__ && __GNUC__ >= 2
-
-# define __REDIRECT(name, proto, alias) name proto __asm__ (__ASMNAME (#alias))
-# ifdef __cplusplus
-# define __REDIRECT_NTH(name, proto, alias) \
- name proto __THROW __asm__ (__ASMNAME (#alias))
-# define __REDIRECT_NTHNL(name, proto, alias) \
- name proto __THROWNL __asm__ (__ASMNAME (#alias))
-# else
-# define __REDIRECT_NTH(name, proto, alias) \
- name proto __asm__ (__ASMNAME (#alias)) __THROW
-# define __REDIRECT_NTHNL(name, proto, alias) \
- name proto __asm__ (__ASMNAME (#alias)) __THROWNL
-# endif
-# define __ASMNAME(cname) __ASMNAME2 (__USER_LABEL_PREFIX__, cname)
-# define __ASMNAME2(prefix, cname) __STRING (prefix) cname
-
-/*
-#elif __SOME_OTHER_COMPILER__
-
-# define __REDIRECT(name, proto, alias) name proto; \
- _Pragma("let " #name " = " #alias)
-*/
-#endif
-
-/* GCC has various useful declarations that can be made with the
- `__attribute__' syntax. All of the ways we use this do fine if
- they are omitted for compilers that don't understand it. */
-#if !defined __GNUC__ || __GNUC__ < 2
-# define __attribute__(xyz) /* Ignore */
-#endif
-
-/* At some point during the gcc 2.96 development the `malloc' attribute
- for functions was introduced. We don't want to use it unconditionally
- (although this would be possible) since it generates warnings. */
-#if __GNUC_PREREQ (2,96)
-# define __attribute_malloc__ __attribute__ ((__malloc__))
-#else
-# define __attribute_malloc__ /* Ignore */
-#endif
-
-/* Tell the compiler which arguments to an allocation function
- indicate the size of the allocation. */
-#if __GNUC_PREREQ (4, 3)
-# define __attribute_alloc_size__(params) \
- __attribute__ ((__alloc_size__ params))
-#else
-# define __attribute_alloc_size__(params) /* Ignore. */
-#endif
-
-/* At some point during the gcc 2.96 development the `pure' attribute
- for functions was introduced. We don't want to use it unconditionally
- (although this would be possible) since it generates warnings. */
-#if __GNUC_PREREQ (2,96)
-# define __attribute_pure__ __attribute__ ((__pure__))
-#else
-# define __attribute_pure__ /* Ignore */
-#endif
-
-/* This declaration tells the compiler that the value is constant. */
-#if __GNUC_PREREQ (2,5)
-# define __attribute_const__ __attribute__ ((__const__))
-#else
-# define __attribute_const__ /* Ignore */
-#endif
-
-/* At some point during the gcc 3.1 development the `used' attribute
- for functions was introduced. We don't want to use it unconditionally
- (although this would be possible) since it generates warnings. */
-#if __GNUC_PREREQ (3,1)
-# define __attribute_used__ __attribute__ ((__used__))
-# define __attribute_noinline__ __attribute__ ((__noinline__))
-#else
-# define __attribute_used__ __attribute__ ((__unused__))
-# define __attribute_noinline__ /* Ignore */
-#endif
-
-/* Since version 3.2, gcc allows marking deprecated functions. */
-#if __GNUC_PREREQ (3,2)
-# define __attribute_deprecated__ __attribute__ ((__deprecated__))
-#else
-# define __attribute_deprecated__ /* Ignore */
-#endif
-
-/* Since version 4.5, gcc also allows one to specify the message printed
- when a deprecated function is used. clang claims to be gcc 4.2, but
- may also support this feature. */
-#if __GNUC_PREREQ (4,5) || \
- __glibc_clang_has_extension (__attribute_deprecated_with_message__)
-# define __attribute_deprecated_msg__(msg) \
- __attribute__ ((__deprecated__ (msg)))
-#else
-# define __attribute_deprecated_msg__(msg) __attribute_deprecated__
-#endif
-
-/* At some point during the gcc 2.8 development the `format_arg' attribute
- for functions was introduced. We don't want to use it unconditionally
- (although this would be possible) since it generates warnings.
- If several `format_arg' attributes are given for the same function, in
- gcc-3.0 and older, all but the last one are ignored. In newer gccs,
- all designated arguments are considered. */
-#if __GNUC_PREREQ (2,8)
-# define __attribute_format_arg__(x) __attribute__ ((__format_arg__ (x)))
-#else
-# define __attribute_format_arg__(x) /* Ignore */
-#endif
-
-/* At some point during the gcc 2.97 development the `strfmon' format
- attribute for functions was introduced. We don't want to use it
- unconditionally (although this would be possible) since it
- generates warnings. */
-#if __GNUC_PREREQ (2,97)
-# define __attribute_format_strfmon__(a,b) \
- __attribute__ ((__format__ (__strfmon__, a, b)))
-#else
-# define __attribute_format_strfmon__(a,b) /* Ignore */
-#endif
-
-/* The nonull function attribute allows to mark pointer parameters which
- must not be NULL. */
-#if __GNUC_PREREQ (3,3)
-# define __nonnull(params) __attribute__ ((__nonnull__ params))
-#else
-# define __nonnull(params)
-#endif
-
-/* If fortification mode, we warn about unused results of certain
- function calls which can lead to problems. */
-#if __GNUC_PREREQ (3,4)
-# define __attribute_warn_unused_result__ \
- __attribute__ ((__warn_unused_result__))
-# if __USE_FORTIFY_LEVEL > 0
-# define __wur __attribute_warn_unused_result__
-# endif
-#else
-# define __attribute_warn_unused_result__ /* empty */
-#endif
-#ifndef __wur
-# define __wur /* Ignore */
-#endif
-
-/* Forces a function to be always inlined. */
-#if __GNUC_PREREQ (3,2)
-/* The Linux kernel defines __always_inline in stddef.h (283d7573), and
- it conflicts with this definition. Therefore undefine it first to
- allow either header to be included first. */
-# undef __always_inline
-# define __always_inline __inline __attribute__ ((__always_inline__))
-#else
-# undef __always_inline
-# define __always_inline __inline
-#endif
-
-/* Associate error messages with the source location of the call site rather
- than with the source location inside the function. */
-#if __GNUC_PREREQ (4,3)
-# define __attribute_artificial__ __attribute__ ((__artificial__))
-#else
-# define __attribute_artificial__ /* Ignore */
-#endif
-
-/* GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99
- inline semantics, unless -fgnu89-inline is used. Using __GNUC_STDC_INLINE__
- or __GNUC_GNU_INLINE is not a good enough check for gcc because gcc versions
- older than 4.3 may define these macros and still not guarantee GNU inlining
- semantics.
-
- clang++ identifies itself as gcc-4.2, but has support for GNU inlining
- semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
- __GNUC_GNU_INLINE__ macro definitions. */
-#if (!defined __cplusplus || __GNUC_PREREQ (4,3) \
- || (defined __clang__ && (defined __GNUC_STDC_INLINE__ \
- || defined __GNUC_GNU_INLINE__)))
-# if defined __GNUC_STDC_INLINE__ || defined __cplusplus
-# define __extern_inline extern __inline __attribute__ ((__gnu_inline__))
-# define __extern_always_inline \
- extern __always_inline __attribute__ ((__gnu_inline__))
-# else
-# define __extern_inline extern __inline
-# define __extern_always_inline extern __always_inline
-# endif
-#endif
-
-#ifdef __extern_always_inline
-# define __fortify_function __extern_always_inline __attribute_artificial__
-#endif
-
-/* GCC 4.3 and above allow passing all anonymous arguments of an
- __extern_always_inline function to some other vararg function. */
-#if __GNUC_PREREQ (4,3)
-# define __va_arg_pack() __builtin_va_arg_pack ()
-# define __va_arg_pack_len() __builtin_va_arg_pack_len ()
-#endif
-
-/* It is possible to compile containing GCC extensions even if GCC is
- run in pedantic mode if the uses are carefully marked using the
- `__extension__' keyword. But this is not generally available before
- version 2.8. */
-#if !__GNUC_PREREQ (2,8)
-# define __extension__ /* Ignore */
-#endif
-
-/* __restrict is known in EGCS 1.2 and above. */
-#if !__GNUC_PREREQ (2,92)
-# define __restrict /* Ignore */
-#endif
-
-/* ISO C99 also allows to declare arrays as non-overlapping. The syntax is
- array_name[restrict]
- GCC 3.1 supports this. */
-#if __GNUC_PREREQ (3,1) && !defined __GNUG__
-# define __restrict_arr __restrict
-#else
-# ifdef __GNUC__
-# define __restrict_arr /* Not supported in old GCC. */
-# else
-# if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L
-# define __restrict_arr restrict
-# else
-/* Some other non-C99 compiler. */
-# define __restrict_arr /* Not supported. */
-# endif
-# endif
-#endif
-
-#if __GNUC__ >= 3
-# define __glibc_unlikely(cond) __builtin_expect ((cond), 0)
-# define __glibc_likely(cond) __builtin_expect ((cond), 1)
-#else
-# define __glibc_unlikely(cond) (cond)
-# define __glibc_likely(cond) (cond)
-#endif
-
-#if (!defined _Noreturn \
- && (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) < 201112 \
- && !__GNUC_PREREQ (4,7))
-# if __GNUC_PREREQ (2,8)
-# define _Noreturn __attribute__ ((__noreturn__))
-# else
-# define _Noreturn
-# endif
-#endif
-
-#if (!defined _Static_assert && !defined __cplusplus \
- && (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) < 201112 \
- && (!__GNUC_PREREQ (4, 6) || defined __STRICT_ANSI__))
-# define _Static_assert(expr, diagnostic) \
- extern int (*__Static_assert_function (void)) \
- [!!sizeof (struct { int __error_if_negative: (expr) ? 2 : -1; })]
-#endif
-
-#include <bits/wordsize.h>
-#include <bits/long-double.h>
-
-#if defined __LONG_DOUBLE_MATH_OPTIONAL && defined __NO_LONG_DOUBLE_MATH
-# define __LDBL_COMPAT 1
-# ifdef __REDIRECT
-# define __LDBL_REDIR1(name, proto, alias) __REDIRECT (name, proto, alias)
-# define __LDBL_REDIR(name, proto) \
- __LDBL_REDIR1 (name, proto, __nldbl_##name)
-# define __LDBL_REDIR1_NTH(name, proto, alias) __REDIRECT_NTH (name, proto, alias)
-# define __LDBL_REDIR_NTH(name, proto) \
- __LDBL_REDIR1_NTH (name, proto, __nldbl_##name)
-# define __LDBL_REDIR1_DECL(name, alias) \
- extern __typeof (name) name __asm (__ASMNAME (#alias));
-# define __LDBL_REDIR_DECL(name) \
- extern __typeof (name) name __asm (__ASMNAME ("__nldbl_" #name));
-# define __REDIRECT_LDBL(name, proto, alias) \
- __LDBL_REDIR1 (name, proto, __nldbl_##alias)
-# define __REDIRECT_NTH_LDBL(name, proto, alias) \
- __LDBL_REDIR1_NTH (name, proto, __nldbl_##alias)
-# endif
-#endif
-#if !defined __LDBL_COMPAT || !defined __REDIRECT
-# define __LDBL_REDIR1(name, proto, alias) name proto
-# define __LDBL_REDIR(name, proto) name proto
-# define __LDBL_REDIR1_NTH(name, proto, alias) name proto __THROW
-# define __LDBL_REDIR_NTH(name, proto) name proto __THROW
-# define __LDBL_REDIR_DECL(name)
-# ifdef __REDIRECT
-# define __REDIRECT_LDBL(name, proto, alias) __REDIRECT (name, proto, alias)
-# define __REDIRECT_NTH_LDBL(name, proto, alias) \
- __REDIRECT_NTH (name, proto, alias)
-# endif
-#endif
-
-/* __glibc_macro_warning (MESSAGE) issues warning MESSAGE. This is
- intended for use in preprocessor macros.
-
- Note: MESSAGE must be a _single_ string; concatenation of string
- literals is not supported. */
-#if __GNUC_PREREQ (4,8) || __glibc_clang_prereq (3,5)
-# define __glibc_macro_warning1(message) _Pragma (#message)
-# define __glibc_macro_warning(message) \
- __glibc_macro_warning1 (GCC warning message)
-#else
-# define __glibc_macro_warning(msg)
-#endif
-
-/* Support for generic selection (ISO C11) is available in GCC since
- version 4.9. Previous versions do not provide generic selection,
- even though they might set __STDC_VERSION__ to 201112L, when in
- -std=c11 mode. Thus, we must check for !defined __GNUC__ when
- testing __STDC_VERSION__ for generic selection support.
- On the other hand, Clang also defines __GNUC__, so a clang-specific
- check is required to enable the use of generic selection. */
-#if __GNUC_PREREQ (4, 9) \
- || __glibc_clang_has_extension (c_generic_selections) \
- || (!defined __GNUC__ && defined __STDC_VERSION__ \
- && __STDC_VERSION__ >= 201112L)
-# define __HAVE_GENERIC_SELECTION 1
-#else
-# define __HAVE_GENERIC_SELECTION 0
-#endif
-
-#endif /* sys/cdefs.h */
diff --git a/misc/sys/dir.h b/misc/sys/dir.h
deleted file mode 100644
index 51b704475b..0000000000
--- a/misc/sys/dir.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Copyright (C) 1991-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_DIR_H
-#define _SYS_DIR_H 1
-
-#include <features.h>
-
-#include <dirent.h>
-
-#define direct dirent
-
-#endif /* sys/dir.h */
diff --git a/misc/sys/file.h b/misc/sys/file.h
deleted file mode 100644
index 3ee0c445f2..0000000000
--- a/misc/sys/file.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/* Copyright (C) 1991-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_FILE_H
-#define _SYS_FILE_H 1
-
-#include <features.h>
-
-#ifndef _FCNTL_H
-# include <fcntl.h>
-#endif
-
-__BEGIN_DECLS
-
-
-/* Alternate names for values for the WHENCE argument to `lseek'.
- These are the same as SEEK_SET, SEEK_CUR, and SEEK_END, respectively. */
-#ifndef L_SET
-# define L_SET 0 /* Seek from beginning of file. */
-# define L_INCR 1 /* Seek from current position. */
-# define L_XTND 2 /* Seek from end of file. */
-#endif
-
-
-/* Operations for the `flock' call. */
-#define LOCK_SH 1 /* Shared lock. */
-#define LOCK_EX 2 /* Exclusive lock. */
-#define LOCK_UN 8 /* Unlock. */
-
-/* Can be OR'd in to one of the above. */
-#define LOCK_NB 4 /* Don't block when locking. */
-
-
-/* Apply or remove an advisory lock, according to OPERATION,
- on the file FD refers to. */
-extern int flock (int __fd, int __operation) __THROW;
-
-
-__END_DECLS
-
-#endif /* sys/file.h */
diff --git a/misc/sys/ioctl.h b/misc/sys/ioctl.h
deleted file mode 100644
index 6780e5b560..0000000000
--- a/misc/sys/ioctl.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Copyright (C) 1991-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_IOCTL_H
-#define _SYS_IOCTL_H 1
-
-#include <features.h>
-
-__BEGIN_DECLS
-
-/* Get the list of `ioctl' requests and related constants. */
-#include <bits/ioctls.h>
-
-/* Define some types used by `ioctl' requests. */
-#include <bits/ioctl-types.h>
-
-/* On a Unix system, the system <sys/ioctl.h> probably defines some of
- the symbols we define in <sys/ttydefaults.h> (usually with the same
- values). The code to generate <bits/ioctls.h> has omitted these
- symbols to avoid the conflict, but a Unix program expects <sys/ioctl.h>
- to define them, so we must include <sys/ttydefaults.h> here. */
-#include <sys/ttydefaults.h>
-
-/* Perform the I/O control operation specified by REQUEST on FD.
- One argument may follow; its presence and type depend on REQUEST.
- Return value depends on REQUEST. Usually -1 indicates error. */
-extern int ioctl (int __fd, unsigned long int __request, ...) __THROW;
-
-__END_DECLS
-
-#endif /* sys/ioctl.h */
diff --git a/misc/sys/mman.h b/misc/sys/mman.h
deleted file mode 100644
index d6bc842ca7..0000000000
--- a/misc/sys/mman.h
+++ /dev/null
@@ -1,151 +0,0 @@
-/* Definitions for BSD-style memory management.
- Copyright (C) 1994-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
-#define _SYS_MMAN_H 1
-
-#include <features.h>
-#include <bits/types.h>
-#define __need_size_t
-#include <stddef.h>
-
-#ifndef __off_t_defined
-# ifndef __USE_FILE_OFFSET64
-typedef __off_t off_t;
-# else
-typedef __off64_t off_t;
-# endif
-# define __off_t_defined
-#endif
-
-#ifndef __mode_t_defined
-typedef __mode_t mode_t;
-# define __mode_t_defined
-#endif
-
-#include <bits/mman.h>
-
-/* Return value of `mmap' in case of an error. */
-#define MAP_FAILED ((void *) -1)
-
-__BEGIN_DECLS
-/* Map addresses starting near ADDR and extending for LEN bytes. from
- OFFSET into the file FD describes according to PROT and FLAGS. If ADDR
- is nonzero, it is the desired mapping address. If the MAP_FIXED bit is
- set in FLAGS, the mapping will be at ADDR exactly (which must be
- page-aligned); otherwise the system chooses a convenient nearby address.
- The return value is the actual mapping address chosen or MAP_FAILED
- for errors (in which case `errno' is set). A successful `mmap' call
- deallocates any previous mapping for the affected region. */
-
-#ifndef __USE_FILE_OFFSET64
-extern void *mmap (void *__addr, size_t __len, int __prot,
- int __flags, int __fd, __off_t __offset) __THROW;
-#else
-# ifdef __REDIRECT_NTH
-extern void * __REDIRECT_NTH (mmap,
- (void *__addr, size_t __len, int __prot,
- int __flags, int __fd, __off64_t __offset),
- mmap64);
-# else
-# define mmap mmap64
-# endif
-#endif
-#ifdef __USE_LARGEFILE64
-extern void *mmap64 (void *__addr, size_t __len, int __prot,
- int __flags, int __fd, __off64_t __offset) __THROW;
-#endif
-
-/* Deallocate any mapping for the region starting at ADDR and extending LEN
- bytes. Returns 0 if successful, -1 for errors (and sets errno). */
-extern int munmap (void *__addr, size_t __len) __THROW;
-
-/* Change the memory protection of the region starting at ADDR and
- extending LEN bytes to PROT. Returns 0 if successful, -1 for errors
- (and sets errno). */
-extern int mprotect (void *__addr, size_t __len, int __prot) __THROW;
-
-/* Synchronize the region starting at ADDR and extending LEN bytes with the
- file it maps. Filesystem operations on a file being mapped are
- unpredictable before this is done. Flags are from the MS_* set.
-
- This function is a cancellation point and therefore not marked with
- __THROW. */
-extern int msync (void *__addr, size_t __len, int __flags);
-
-#ifdef __USE_MISC
-/* Advise the system about particular usage patterns the program follows
- for the region starting at ADDR and extending LEN bytes. */
-extern int madvise (void *__addr, size_t __len, int __advice) __THROW;
-#endif
-#ifdef __USE_XOPEN2K
-/* This is the POSIX name for this function. */
-extern int posix_madvise (void *__addr, size_t __len, int __advice) __THROW;
-#endif
-
-/* Guarantee all whole pages mapped by the range [ADDR,ADDR+LEN) to
- be memory resident. */
-extern int mlock (const void *__addr, size_t __len) __THROW;
-
-/* Unlock whole pages previously mapped by the range [ADDR,ADDR+LEN). */
-extern int munlock (const void *__addr, size_t __len) __THROW;
-
-/* Cause all currently mapped pages of the process to be memory resident
- until unlocked by a call to the `munlockall', until the process exits,
- or until the process calls `execve'. */
-extern int mlockall (int __flags) __THROW;
-
-/* All currently mapped pages of the process' address space become
- unlocked. */
-extern int munlockall (void) __THROW;
-
-#ifdef __USE_MISC
-/* mincore returns the memory residency status of the pages in the
- current process's address space specified by [start, start + len).
- The status is returned in a vector of bytes. The least significant
- bit of each byte is 1 if the referenced page is in memory, otherwise
- it is zero. */
-extern int mincore (void *__start, size_t __len, unsigned char *__vec)
- __THROW;
-#endif
-
-#ifdef __USE_GNU
-/* Remap pages mapped by the range [ADDR,ADDR+OLD_LEN) to new length
- NEW_LEN. If MREMAP_MAYMOVE is set in FLAGS the returned address
- may differ from ADDR. If MREMAP_FIXED is set in FLAGS the function
- takes another parameter which is a fixed address at which the block
- resides after a successful call. */
-extern void *mremap (void *__addr, size_t __old_len, size_t __new_len,
- int __flags, ...) __THROW;
-
-/* Remap arbitrary pages of a shared backing store within an existing
- VMA. */
-extern int remap_file_pages (void *__start, size_t __size, int __prot,
- size_t __pgoff, int __flags) __THROW;
-#endif
-
-
-/* Open shared memory segment. */
-extern int shm_open (const char *__name, int __oflag, mode_t __mode);
-
-/* Remove shared memory segment. */
-extern int shm_unlink (const char *__name);
-
-__END_DECLS
-
-#endif /* sys/mman.h */
diff --git a/misc/sys/param.h b/misc/sys/param.h
deleted file mode 100644
index 97216135f2..0000000000
--- a/misc/sys/param.h
+++ /dev/null
@@ -1,106 +0,0 @@
-/* Compatibility header for old-style Unix parameters and limits.
- 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_PARAM_H
-#define _SYS_PARAM_H 1
-
-#define __need_NULL
-#include <stddef.h>
-
-#include <sys/types.h>
-#include <limits.h>
-#include <endian.h> /* Define BYTE_ORDER et al. */
-#include <signal.h> /* Define NSIG. */
-
-/* This file defines some things in system-specific ways. */
-#include <bits/param.h>
-
-
-/* BSD names for some <limits.h> values. */
-
-#define NBBY CHAR_BIT
-
-#if !defined NGROUPS && defined NGROUPS_MAX
-# define NGROUPS NGROUPS_MAX
-#endif
-#if !defined MAXSYMLINKS && defined SYMLOOP_MAX
-# define MAXSYMLINKS SYMLOOP_MAX
-#endif
-#if !defined CANBSIZ && defined MAX_CANON
-# define CANBSIZ MAX_CANON
-#endif
-#if !defined MAXPATHLEN && defined PATH_MAX
-# define MAXPATHLEN PATH_MAX
-#endif
-#if !defined NOFILE && defined OPEN_MAX
-# define NOFILE OPEN_MAX
-#endif
-#if !defined MAXHOSTNAMELEN && defined HOST_NAME_MAX
-# define MAXHOSTNAMELEN HOST_NAME_MAX
-#endif
-#ifndef NCARGS
-# ifdef ARG_MAX
-# define NCARGS ARG_MAX
-# else
-/* ARG_MAX is unlimited, but we define NCARGS for BSD programs that want to
- compare against some fixed limit. */
-# define NCARGS INT_MAX
-# endif
-#endif
-
-
-/* Magical constants. */
-#ifndef NOGROUP
-# define NOGROUP 65535 /* Marker for empty group set member. */
-#endif
-#ifndef NODEV
-# define NODEV ((dev_t) -1) /* Non-existent device. */
-#endif
-
-
-/* Unit of `st_blocks'. */
-#ifndef DEV_BSIZE
-# define DEV_BSIZE 512
-#endif
-
-
-/* Bit map related macros. */
-#define setbit(a,i) ((a)[(i)/NBBY] |= 1<<((i)%NBBY))
-#define clrbit(a,i) ((a)[(i)/NBBY] &= ~(1<<((i)%NBBY)))
-#define isset(a,i) ((a)[(i)/NBBY] & (1<<((i)%NBBY)))
-#define isclr(a,i) (((a)[(i)/NBBY] & (1<<((i)%NBBY))) == 0)
-
-/* Macros for counting and rounding. */
-#ifndef howmany
-# define howmany(x, y) (((x) + ((y) - 1)) / (y))
-#endif
-#ifdef __GNUC__
-# define roundup(x, y) (__builtin_constant_p (y) && powerof2 (y) \
- ? (((x) + (y) - 1) & ~((y) - 1)) \
- : ((((x) + ((y) - 1)) / (y)) * (y)))
-#else
-# define roundup(x, y) ((((x) + ((y) - 1)) / (y)) * (y))
-#endif
-#define powerof2(x) ((((x) - 1) & (x)) == 0)
-
-/* Macros for min/max. */
-#define MIN(a,b) (((a)<(b))?(a):(b))
-#define MAX(a,b) (((a)>(b))?(a):(b))
-
-
-#endif /* sys/param.h */
diff --git a/misc/sys/queue.h b/misc/sys/queue.h
deleted file mode 100644
index daf4553d33..0000000000
--- a/misc/sys/queue.h
+++ /dev/null
@@ -1,574 +0,0 @@
-/*
- * Copyright (c) 1991, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * @(#)queue.h 8.5 (Berkeley) 8/20/94
- */
-
-#ifndef _SYS_QUEUE_H_
-#define _SYS_QUEUE_H_
-
-/*
- * This file defines five types of data structures: singly-linked lists,
- * lists, simple queues, tail queues, and circular queues.
- *
- * A singly-linked list is headed by a single forward pointer. The
- * elements are singly linked for minimum space and pointer manipulation
- * overhead at the expense of O(n) removal for arbitrary elements. New
- * elements can be added to the list after an existing element or at the
- * head of the list. Elements being removed from the head of the list
- * should use the explicit macro for this purpose for optimum
- * efficiency. A singly-linked list may only be traversed in the forward
- * direction. Singly-linked lists are ideal for applications with large
- * datasets and few or no removals or for implementing a LIFO queue.
- *
- * A list is headed by a single forward pointer (or an array of forward
- * pointers for a hash table header). The elements are doubly linked
- * so that an arbitrary element can be removed without a need to
- * traverse the list. New elements can be added to the list before
- * or after an existing element or at the head of the list. A list
- * may only be traversed in the forward direction.
- *
- * A simple queue is headed by a pair of pointers, one the head of the
- * list and the other to the tail of the list. The elements are singly
- * linked to save space, so elements can only be removed from the
- * head of the list. New elements can be added to the list after
- * an existing element, at the head of the list, or at the end of the
- * list. A simple queue may only be traversed in the forward direction.
- *
- * A tail queue is headed by a pair of pointers, one to the head of the
- * list and the other to the tail of the list. The elements are doubly
- * linked so that an arbitrary element can be removed without a need to
- * traverse the list. New elements can be added to the list before or
- * after an existing element, at the head of the list, or at the end of
- * the list. A tail queue may be traversed in either direction.
- *
- * A circle queue is headed by a pair of pointers, one to the head of the
- * list and the other to the tail of the list. The elements are doubly
- * linked so that an arbitrary element can be removed without a need to
- * traverse the list. New elements can be added to the list before or after
- * an existing element, at the head of the list, or at the end of the list.
- * A circle queue may be traversed in either direction, but has a more
- * complex end of list detection.
- *
- * For details on the use of these macros, see the queue(3) manual page.
- */
-
-/*
- * List definitions.
- */
-#define LIST_HEAD(name, type) \
-struct name { \
- struct type *lh_first; /* first element */ \
-}
-
-#define LIST_HEAD_INITIALIZER(head) \
- { NULL }
-
-#define LIST_ENTRY(type) \
-struct { \
- struct type *le_next; /* next element */ \
- struct type **le_prev; /* address of previous next element */ \
-}
-
-/*
- * List functions.
- */
-#define LIST_INIT(head) do { \
- (head)->lh_first = NULL; \
-} while (/*CONSTCOND*/0)
-
-#define LIST_INSERT_AFTER(listelm, elm, field) do { \
- if (((elm)->field.le_next = (listelm)->field.le_next) != NULL) \
- (listelm)->field.le_next->field.le_prev = \
- &(elm)->field.le_next; \
- (listelm)->field.le_next = (elm); \
- (elm)->field.le_prev = &(listelm)->field.le_next; \
-} while (/*CONSTCOND*/0)
-
-#define LIST_INSERT_BEFORE(listelm, elm, field) do { \
- (elm)->field.le_prev = (listelm)->field.le_prev; \
- (elm)->field.le_next = (listelm); \
- *(listelm)->field.le_prev = (elm); \
- (listelm)->field.le_prev = &(elm)->field.le_next; \
-} while (/*CONSTCOND*/0)
-
-#define LIST_INSERT_HEAD(head, elm, field) do { \
- if (((elm)->field.le_next = (head)->lh_first) != NULL) \
- (head)->lh_first->field.le_prev = &(elm)->field.le_next;\
- (head)->lh_first = (elm); \
- (elm)->field.le_prev = &(head)->lh_first; \
-} while (/*CONSTCOND*/0)
-
-#define LIST_REMOVE(elm, field) do { \
- if ((elm)->field.le_next != NULL) \
- (elm)->field.le_next->field.le_prev = \
- (elm)->field.le_prev; \
- *(elm)->field.le_prev = (elm)->field.le_next; \
-} while (/*CONSTCOND*/0)
-
-#define LIST_FOREACH(var, head, field) \
- for ((var) = ((head)->lh_first); \
- (var); \
- (var) = ((var)->field.le_next))
-
-/*
- * List access methods.
- */
-#define LIST_EMPTY(head) ((head)->lh_first == NULL)
-#define LIST_FIRST(head) ((head)->lh_first)
-#define LIST_NEXT(elm, field) ((elm)->field.le_next)
-
-
-/*
- * Singly-linked List definitions.
- */
-#define SLIST_HEAD(name, type) \
-struct name { \
- struct type *slh_first; /* first element */ \
-}
-
-#define SLIST_HEAD_INITIALIZER(head) \
- { NULL }
-
-#define SLIST_ENTRY(type) \
-struct { \
- struct type *sle_next; /* next element */ \
-}
-
-/*
- * Singly-linked List functions.
- */
-#define SLIST_INIT(head) do { \
- (head)->slh_first = NULL; \
-} while (/*CONSTCOND*/0)
-
-#define SLIST_INSERT_AFTER(slistelm, elm, field) do { \
- (elm)->field.sle_next = (slistelm)->field.sle_next; \
- (slistelm)->field.sle_next = (elm); \
-} while (/*CONSTCOND*/0)
-
-#define SLIST_INSERT_HEAD(head, elm, field) do { \
- (elm)->field.sle_next = (head)->slh_first; \
- (head)->slh_first = (elm); \
-} while (/*CONSTCOND*/0)
-
-#define SLIST_REMOVE_HEAD(head, field) do { \
- (head)->slh_first = (head)->slh_first->field.sle_next; \
-} while (/*CONSTCOND*/0)
-
-#define SLIST_REMOVE(head, elm, type, field) do { \
- if ((head)->slh_first == (elm)) { \
- SLIST_REMOVE_HEAD((head), field); \
- } \
- else { \
- struct type *curelm = (head)->slh_first; \
- while(curelm->field.sle_next != (elm)) \
- curelm = curelm->field.sle_next; \
- curelm->field.sle_next = \
- curelm->field.sle_next->field.sle_next; \
- } \
-} while (/*CONSTCOND*/0)
-
-#define SLIST_FOREACH(var, head, field) \
- for((var) = (head)->slh_first; (var); (var) = (var)->field.sle_next)
-
-/*
- * Singly-linked List access methods.
- */
-#define SLIST_EMPTY(head) ((head)->slh_first == NULL)
-#define SLIST_FIRST(head) ((head)->slh_first)
-#define SLIST_NEXT(elm, field) ((elm)->field.sle_next)
-
-
-/*
- * Singly-linked Tail queue declarations.
- */
-#define STAILQ_HEAD(name, type) \
-struct name { \
- struct type *stqh_first; /* first element */ \
- struct type **stqh_last; /* addr of last next element */ \
-}
-
-#define STAILQ_HEAD_INITIALIZER(head) \
- { NULL, &(head).stqh_first }
-
-#define STAILQ_ENTRY(type) \
-struct { \
- struct type *stqe_next; /* next element */ \
-}
-
-/*
- * Singly-linked Tail queue functions.
- */
-#define STAILQ_INIT(head) do { \
- (head)->stqh_first = NULL; \
- (head)->stqh_last = &(head)->stqh_first; \
-} while (/*CONSTCOND*/0)
-
-#define STAILQ_INSERT_HEAD(head, elm, field) do { \
- if (((elm)->field.stqe_next = (head)->stqh_first) == NULL) \
- (head)->stqh_last = &(elm)->field.stqe_next; \
- (head)->stqh_first = (elm); \
-} while (/*CONSTCOND*/0)
-
-#define STAILQ_INSERT_TAIL(head, elm, field) do { \
- (elm)->field.stqe_next = NULL; \
- *(head)->stqh_last = (elm); \
- (head)->stqh_last = &(elm)->field.stqe_next; \
-} while (/*CONSTCOND*/0)
-
-#define STAILQ_INSERT_AFTER(head, listelm, elm, field) do { \
- if (((elm)->field.stqe_next = (listelm)->field.stqe_next) == NULL)\
- (head)->stqh_last = &(elm)->field.stqe_next; \
- (listelm)->field.stqe_next = (elm); \
-} while (/*CONSTCOND*/0)
-
-#define STAILQ_REMOVE_HEAD(head, field) do { \
- if (((head)->stqh_first = (head)->stqh_first->field.stqe_next) == NULL) \
- (head)->stqh_last = &(head)->stqh_first; \
-} while (/*CONSTCOND*/0)
-
-#define STAILQ_REMOVE(head, elm, type, field) do { \
- if ((head)->stqh_first == (elm)) { \
- STAILQ_REMOVE_HEAD((head), field); \
- } else { \
- struct type *curelm = (head)->stqh_first; \
- while (curelm->field.stqe_next != (elm)) \
- curelm = curelm->field.stqe_next; \
- if ((curelm->field.stqe_next = \
- curelm->field.stqe_next->field.stqe_next) == NULL) \
- (head)->stqh_last = &(curelm)->field.stqe_next; \
- } \
-} while (/*CONSTCOND*/0)
-
-#define STAILQ_FOREACH(var, head, field) \
- for ((var) = ((head)->stqh_first); \
- (var); \
- (var) = ((var)->field.stqe_next))
-
-#define STAILQ_CONCAT(head1, head2) do { \
- if (!STAILQ_EMPTY((head2))) { \
- *(head1)->stqh_last = (head2)->stqh_first; \
- (head1)->stqh_last = (head2)->stqh_last; \
- STAILQ_INIT((head2)); \
- } \
-} while (/*CONSTCOND*/0)
-
-/*
- * Singly-linked Tail queue access methods.
- */
-#define STAILQ_EMPTY(head) ((head)->stqh_first == NULL)
-#define STAILQ_FIRST(head) ((head)->stqh_first)
-#define STAILQ_NEXT(elm, field) ((elm)->field.stqe_next)
-
-
-/*
- * Simple queue definitions.
- */
-#define SIMPLEQ_HEAD(name, type) \
-struct name { \
- struct type *sqh_first; /* first element */ \
- struct type **sqh_last; /* addr of last next element */ \
-}
-
-#define SIMPLEQ_HEAD_INITIALIZER(head) \
- { NULL, &(head).sqh_first }
-
-#define SIMPLEQ_ENTRY(type) \
-struct { \
- struct type *sqe_next; /* next element */ \
-}
-
-/*
- * Simple queue functions.
- */
-#define SIMPLEQ_INIT(head) do { \
- (head)->sqh_first = NULL; \
- (head)->sqh_last = &(head)->sqh_first; \
-} while (/*CONSTCOND*/0)
-
-#define SIMPLEQ_INSERT_HEAD(head, elm, field) do { \
- if (((elm)->field.sqe_next = (head)->sqh_first) == NULL) \
- (head)->sqh_last = &(elm)->field.sqe_next; \
- (head)->sqh_first = (elm); \
-} while (/*CONSTCOND*/0)
-
-#define SIMPLEQ_INSERT_TAIL(head, elm, field) do { \
- (elm)->field.sqe_next = NULL; \
- *(head)->sqh_last = (elm); \
- (head)->sqh_last = &(elm)->field.sqe_next; \
-} while (/*CONSTCOND*/0)
-
-#define SIMPLEQ_INSERT_AFTER(head, listelm, elm, field) do { \
- if (((elm)->field.sqe_next = (listelm)->field.sqe_next) == NULL)\
- (head)->sqh_last = &(elm)->field.sqe_next; \
- (listelm)->field.sqe_next = (elm); \
-} while (/*CONSTCOND*/0)
-
-#define SIMPLEQ_REMOVE_HEAD(head, field) do { \
- if (((head)->sqh_first = (head)->sqh_first->field.sqe_next) == NULL) \
- (head)->sqh_last = &(head)->sqh_first; \
-} while (/*CONSTCOND*/0)
-
-#define SIMPLEQ_REMOVE(head, elm, type, field) do { \
- if ((head)->sqh_first == (elm)) { \
- SIMPLEQ_REMOVE_HEAD((head), field); \
- } else { \
- struct type *curelm = (head)->sqh_first; \
- while (curelm->field.sqe_next != (elm)) \
- curelm = curelm->field.sqe_next; \
- if ((curelm->field.sqe_next = \
- curelm->field.sqe_next->field.sqe_next) == NULL) \
- (head)->sqh_last = &(curelm)->field.sqe_next; \
- } \
-} while (/*CONSTCOND*/0)
-
-#define SIMPLEQ_FOREACH(var, head, field) \
- for ((var) = ((head)->sqh_first); \
- (var); \
- (var) = ((var)->field.sqe_next))
-
-/*
- * Simple queue access methods.
- */
-#define SIMPLEQ_EMPTY(head) ((head)->sqh_first == NULL)
-#define SIMPLEQ_FIRST(head) ((head)->sqh_first)
-#define SIMPLEQ_NEXT(elm, field) ((elm)->field.sqe_next)
-
-
-/*
- * Tail queue definitions.
- */
-#define _TAILQ_HEAD(name, type, qual) \
-struct name { \
- qual type *tqh_first; /* first element */ \
- qual type *qual *tqh_last; /* addr of last next element */ \
-}
-#define TAILQ_HEAD(name, type) _TAILQ_HEAD(name, struct type,)
-
-#define TAILQ_HEAD_INITIALIZER(head) \
- { NULL, &(head).tqh_first }
-
-#define _TAILQ_ENTRY(type, qual) \
-struct { \
- qual type *tqe_next; /* next element */ \
- qual type *qual *tqe_prev; /* address of previous next element */\
-}
-#define TAILQ_ENTRY(type) _TAILQ_ENTRY(struct type,)
-
-/*
- * Tail queue functions.
- */
-#define TAILQ_INIT(head) do { \
- (head)->tqh_first = NULL; \
- (head)->tqh_last = &(head)->tqh_first; \
-} while (/*CONSTCOND*/0)
-
-#define TAILQ_INSERT_HEAD(head, elm, field) do { \
- if (((elm)->field.tqe_next = (head)->tqh_first) != NULL) \
- (head)->tqh_first->field.tqe_prev = \
- &(elm)->field.tqe_next; \
- else \
- (head)->tqh_last = &(elm)->field.tqe_next; \
- (head)->tqh_first = (elm); \
- (elm)->field.tqe_prev = &(head)->tqh_first; \
-} while (/*CONSTCOND*/0)
-
-#define TAILQ_INSERT_TAIL(head, elm, field) do { \
- (elm)->field.tqe_next = NULL; \
- (elm)->field.tqe_prev = (head)->tqh_last; \
- *(head)->tqh_last = (elm); \
- (head)->tqh_last = &(elm)->field.tqe_next; \
-} while (/*CONSTCOND*/0)
-
-#define TAILQ_INSERT_AFTER(head, listelm, elm, field) do { \
- if (((elm)->field.tqe_next = (listelm)->field.tqe_next) != NULL)\
- (elm)->field.tqe_next->field.tqe_prev = \
- &(elm)->field.tqe_next; \
- else \
- (head)->tqh_last = &(elm)->field.tqe_next; \
- (listelm)->field.tqe_next = (elm); \
- (elm)->field.tqe_prev = &(listelm)->field.tqe_next; \
-} while (/*CONSTCOND*/0)
-
-#define TAILQ_INSERT_BEFORE(listelm, elm, field) do { \
- (elm)->field.tqe_prev = (listelm)->field.tqe_prev; \
- (elm)->field.tqe_next = (listelm); \
- *(listelm)->field.tqe_prev = (elm); \
- (listelm)->field.tqe_prev = &(elm)->field.tqe_next; \
-} while (/*CONSTCOND*/0)
-
-#define TAILQ_REMOVE(head, elm, field) do { \
- if (((elm)->field.tqe_next) != NULL) \
- (elm)->field.tqe_next->field.tqe_prev = \
- (elm)->field.tqe_prev; \
- else \
- (head)->tqh_last = (elm)->field.tqe_prev; \
- *(elm)->field.tqe_prev = (elm)->field.tqe_next; \
-} while (/*CONSTCOND*/0)
-
-#define TAILQ_FOREACH(var, head, field) \
- for ((var) = ((head)->tqh_first); \
- (var); \
- (var) = ((var)->field.tqe_next))
-
-#define TAILQ_FOREACH_REVERSE(var, head, headname, field) \
- for ((var) = (*(((struct headname *)((head)->tqh_last))->tqh_last)); \
- (var); \
- (var) = (*(((struct headname *)((var)->field.tqe_prev))->tqh_last)))
-
-#define TAILQ_CONCAT(head1, head2, field) do { \
- if (!TAILQ_EMPTY(head2)) { \
- *(head1)->tqh_last = (head2)->tqh_first; \
- (head2)->tqh_first->field.tqe_prev = (head1)->tqh_last; \
- (head1)->tqh_last = (head2)->tqh_last; \
- TAILQ_INIT((head2)); \
- } \
-} while (/*CONSTCOND*/0)
-
-/*
- * Tail queue access methods.
- */
-#define TAILQ_EMPTY(head) ((head)->tqh_first == NULL)
-#define TAILQ_FIRST(head) ((head)->tqh_first)
-#define TAILQ_NEXT(elm, field) ((elm)->field.tqe_next)
-
-#define TAILQ_LAST(head, headname) \
- (*(((struct headname *)((head)->tqh_last))->tqh_last))
-#define TAILQ_PREV(elm, headname, field) \
- (*(((struct headname *)((elm)->field.tqe_prev))->tqh_last))
-
-
-/*
- * Circular queue definitions.
- */
-#define CIRCLEQ_HEAD(name, type) \
-struct name { \
- struct type *cqh_first; /* first element */ \
- struct type *cqh_last; /* last element */ \
-}
-
-#define CIRCLEQ_HEAD_INITIALIZER(head) \
- { (void *)&head, (void *)&head }
-
-#define CIRCLEQ_ENTRY(type) \
-struct { \
- struct type *cqe_next; /* next element */ \
- struct type *cqe_prev; /* previous element */ \
-}
-
-/*
- * Circular queue functions.
- */
-#define CIRCLEQ_INIT(head) do { \
- (head)->cqh_first = (void *)(head); \
- (head)->cqh_last = (void *)(head); \
-} while (/*CONSTCOND*/0)
-
-#define CIRCLEQ_INSERT_AFTER(head, listelm, elm, field) do { \
- (elm)->field.cqe_next = (listelm)->field.cqe_next; \
- (elm)->field.cqe_prev = (listelm); \
- if ((listelm)->field.cqe_next == (void *)(head)) \
- (head)->cqh_last = (elm); \
- else \
- (listelm)->field.cqe_next->field.cqe_prev = (elm); \
- (listelm)->field.cqe_next = (elm); \
-} while (/*CONSTCOND*/0)
-
-#define CIRCLEQ_INSERT_BEFORE(head, listelm, elm, field) do { \
- (elm)->field.cqe_next = (listelm); \
- (elm)->field.cqe_prev = (listelm)->field.cqe_prev; \
- if ((listelm)->field.cqe_prev == (void *)(head)) \
- (head)->cqh_first = (elm); \
- else \
- (listelm)->field.cqe_prev->field.cqe_next = (elm); \
- (listelm)->field.cqe_prev = (elm); \
-} while (/*CONSTCOND*/0)
-
-#define CIRCLEQ_INSERT_HEAD(head, elm, field) do { \
- (elm)->field.cqe_next = (head)->cqh_first; \
- (elm)->field.cqe_prev = (void *)(head); \
- if ((head)->cqh_last == (void *)(head)) \
- (head)->cqh_last = (elm); \
- else \
- (head)->cqh_first->field.cqe_prev = (elm); \
- (head)->cqh_first = (elm); \
-} while (/*CONSTCOND*/0)
-
-#define CIRCLEQ_INSERT_TAIL(head, elm, field) do { \
- (elm)->field.cqe_next = (void *)(head); \
- (elm)->field.cqe_prev = (head)->cqh_last; \
- if ((head)->cqh_first == (void *)(head)) \
- (head)->cqh_first = (elm); \
- else \
- (head)->cqh_last->field.cqe_next = (elm); \
- (head)->cqh_last = (elm); \
-} while (/*CONSTCOND*/0)
-
-#define CIRCLEQ_REMOVE(head, elm, field) do { \
- if ((elm)->field.cqe_next == (void *)(head)) \
- (head)->cqh_last = (elm)->field.cqe_prev; \
- else \
- (elm)->field.cqe_next->field.cqe_prev = \
- (elm)->field.cqe_prev; \
- if ((elm)->field.cqe_prev == (void *)(head)) \
- (head)->cqh_first = (elm)->field.cqe_next; \
- else \
- (elm)->field.cqe_prev->field.cqe_next = \
- (elm)->field.cqe_next; \
-} while (/*CONSTCOND*/0)
-
-#define CIRCLEQ_FOREACH(var, head, field) \
- for ((var) = ((head)->cqh_first); \
- (var) != (const void *)(head); \
- (var) = ((var)->field.cqe_next))
-
-#define CIRCLEQ_FOREACH_REVERSE(var, head, field) \
- for ((var) = ((head)->cqh_last); \
- (var) != (const void *)(head); \
- (var) = ((var)->field.cqe_prev))
-
-/*
- * Circular queue access methods.
- */
-#define CIRCLEQ_EMPTY(head) ((head)->cqh_first == (void *)(head))
-#define CIRCLEQ_FIRST(head) ((head)->cqh_first)
-#define CIRCLEQ_LAST(head) ((head)->cqh_last)
-#define CIRCLEQ_NEXT(elm, field) ((elm)->field.cqe_next)
-#define CIRCLEQ_PREV(elm, field) ((elm)->field.cqe_prev)
-
-#define CIRCLEQ_LOOP_NEXT(head, elm, field) \
- (((elm)->field.cqe_next == (void *)(head)) \
- ? ((head)->cqh_first) \
- : (elm->field.cqe_next))
-#define CIRCLEQ_LOOP_PREV(head, elm, field) \
- (((elm)->field.cqe_prev == (void *)(head)) \
- ? ((head)->cqh_last) \
- : (elm->field.cqe_prev))
-
-#endif /* sys/queue.h */
diff --git a/misc/sys/select.h b/misc/sys/select.h
deleted file mode 100644
index 06dd31b476..0000000000
--- a/misc/sys/select.h
+++ /dev/null
@@ -1,128 +0,0 @@
-/* `fd_set' type and related macros, and `select'/`pselect' declarations.
- 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/>. */
-
-/* POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h> */
-
-#ifndef _SYS_SELECT_H
-#define _SYS_SELECT_H 1
-
-#include <features.h>
-
-/* Get definition of needed basic types. */
-#include <bits/types.h>
-
-/* Get __FD_* definitions. */
-#include <bits/select.h>
-
-/* Get sigset_t. */
-#include <bits/types/sigset_t.h>
-
-/* Get definition of timer specification structures. */
-#include <bits/types/time_t.h>
-#include <bits/types/struct_timeval.h>
-#ifdef __USE_XOPEN2K
-# include <bits/types/struct_timespec.h>
-#endif
-
-#ifndef __suseconds_t_defined
-typedef __suseconds_t suseconds_t;
-# define __suseconds_t_defined
-#endif
-
-
-/* The fd_set member is required to be an array of longs. */
-typedef long int __fd_mask;
-
-/* Some versions of <linux/posix_types.h> define this macros. */
-#undef __NFDBITS
-/* It's easier to assume 8-bit bytes than to get CHAR_BIT. */
-#define __NFDBITS (8 * (int) sizeof (__fd_mask))
-#define __FD_ELT(d) ((d) / __NFDBITS)
-#define __FD_MASK(d) ((__fd_mask) (1UL << ((d) % __NFDBITS)))
-
-/* fd_set for select and pselect. */
-typedef struct
- {
- /* XPG4.2 requires this member name. Otherwise avoid the name
- from the global namespace. */
-#ifdef __USE_XOPEN
- __fd_mask fds_bits[__FD_SETSIZE / __NFDBITS];
-# define __FDS_BITS(set) ((set)->fds_bits)
-#else
- __fd_mask __fds_bits[__FD_SETSIZE / __NFDBITS];
-# define __FDS_BITS(set) ((set)->__fds_bits)
-#endif
- } fd_set;
-
-/* Maximum number of file descriptors in `fd_set'. */
-#define FD_SETSIZE __FD_SETSIZE
-
-#ifdef __USE_MISC
-/* Sometimes the fd_set member is assumed to have this type. */
-typedef __fd_mask fd_mask;
-
-/* Number of bits per word of `fd_set' (some code assumes this is 32). */
-# define NFDBITS __NFDBITS
-#endif
-
-
-/* Access macros for `fd_set'. */
-#define FD_SET(fd, fdsetp) __FD_SET (fd, fdsetp)
-#define FD_CLR(fd, fdsetp) __FD_CLR (fd, fdsetp)
-#define FD_ISSET(fd, fdsetp) __FD_ISSET (fd, fdsetp)
-#define FD_ZERO(fdsetp) __FD_ZERO (fdsetp)
-
-
-__BEGIN_DECLS
-
-/* Check the first NFDS descriptors each in READFDS (if not NULL) for read
- readiness, in WRITEFDS (if not NULL) for write readiness, and in EXCEPTFDS
- (if not NULL) for exceptional conditions. If TIMEOUT is not NULL, time out
- after waiting the interval specified therein. Returns the number of ready
- descriptors, or -1 for errors.
-
- This function is a cancellation point and therefore not marked with
- __THROW. */
-extern int select (int __nfds, fd_set *__restrict __readfds,
- fd_set *__restrict __writefds,
- fd_set *__restrict __exceptfds,
- struct timeval *__restrict __timeout);
-
-#ifdef __USE_XOPEN2K
-/* Same as above only that the TIMEOUT value is given with higher
- resolution and a sigmask which is been set temporarily. This version
- should be used.
-
- This function is a cancellation point and therefore not marked with
- __THROW. */
-extern int pselect (int __nfds, fd_set *__restrict __readfds,
- fd_set *__restrict __writefds,
- fd_set *__restrict __exceptfds,
- const struct timespec *__restrict __timeout,
- const __sigset_t *__restrict __sigmask);
-#endif
-
-
-/* Define some inlines helping to catch common problems. */
-#if __USE_FORTIFY_LEVEL > 0 && defined __GNUC__
-# include <bits/select2.h>
-#endif
-
-__END_DECLS
-
-#endif /* sys/select.h */
diff --git a/misc/sys/syslog.h b/misc/sys/syslog.h
deleted file mode 100644
index ee01478c4b..0000000000
--- a/misc/sys/syslog.h
+++ /dev/null
@@ -1,215 +0,0 @@
-/*
- * Copyright (c) 1982, 1986, 1988, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * @(#)syslog.h 8.1 (Berkeley) 6/2/93
- */
-
-#ifndef _SYS_SYSLOG_H
-#define _SYS_SYSLOG_H 1
-
-#include <features.h>
-#define __need___va_list
-#include <stdarg.h>
-
-/* This file defines _PATH_LOG. */
-#include <bits/syslog-path.h>
-
-/*
- * priorities/facilities are encoded into a single 32-bit quantity, where the
- * bottom 3 bits are the priority (0-7) and the top 28 bits are the facility
- * (0-big number). Both the priorities and the facilities map roughly
- * one-to-one to strings in the syslogd(8) source code. This mapping is
- * included in this file.
- *
- * priorities (these are ordered)
- */
-#define LOG_EMERG 0 /* system is unusable */
-#define LOG_ALERT 1 /* action must be taken immediately */
-#define LOG_CRIT 2 /* critical conditions */
-#define LOG_ERR 3 /* error conditions */
-#define LOG_WARNING 4 /* warning conditions */
-#define LOG_NOTICE 5 /* normal but significant condition */
-#define LOG_INFO 6 /* informational */
-#define LOG_DEBUG 7 /* debug-level messages */
-
-#define LOG_PRIMASK 0x07 /* mask to extract priority part (internal) */
- /* extract priority */
-#define LOG_PRI(p) ((p) & LOG_PRIMASK)
-#define LOG_MAKEPRI(fac, pri) ((fac) | (pri))
-
-#ifdef SYSLOG_NAMES
-#define INTERNAL_NOPRI 0x10 /* the "no priority" priority */
- /* mark "facility" */
-#define INTERNAL_MARK LOG_MAKEPRI(LOG_NFACILITIES << 3, 0)
-typedef struct _code {
- char *c_name;
- int c_val;
-} CODE;
-
-CODE prioritynames[] =
- {
- { "alert", LOG_ALERT },
- { "crit", LOG_CRIT },
- { "debug", LOG_DEBUG },
- { "emerg", LOG_EMERG },
- { "err", LOG_ERR },
- { "error", LOG_ERR }, /* DEPRECATED */
- { "info", LOG_INFO },
- { "none", INTERNAL_NOPRI }, /* INTERNAL */
- { "notice", LOG_NOTICE },
- { "panic", LOG_EMERG }, /* DEPRECATED */
- { "warn", LOG_WARNING }, /* DEPRECATED */
- { "warning", LOG_WARNING },
- { NULL, -1 }
- };
-#endif
-
-/* facility codes */
-#define LOG_KERN (0<<3) /* kernel messages */
-#define LOG_USER (1<<3) /* random user-level messages */
-#define LOG_MAIL (2<<3) /* mail system */
-#define LOG_DAEMON (3<<3) /* system daemons */
-#define LOG_AUTH (4<<3) /* security/authorization messages */
-#define LOG_SYSLOG (5<<3) /* messages generated internally by syslogd */
-#define LOG_LPR (6<<3) /* line printer subsystem */
-#define LOG_NEWS (7<<3) /* network news subsystem */
-#define LOG_UUCP (8<<3) /* UUCP subsystem */
-#define LOG_CRON (9<<3) /* clock daemon */
-#define LOG_AUTHPRIV (10<<3) /* security/authorization messages (private) */
-#define LOG_FTP (11<<3) /* ftp daemon */
-
- /* other codes through 15 reserved for system use */
-#define LOG_LOCAL0 (16<<3) /* reserved for local use */
-#define LOG_LOCAL1 (17<<3) /* reserved for local use */
-#define LOG_LOCAL2 (18<<3) /* reserved for local use */
-#define LOG_LOCAL3 (19<<3) /* reserved for local use */
-#define LOG_LOCAL4 (20<<3) /* reserved for local use */
-#define LOG_LOCAL5 (21<<3) /* reserved for local use */
-#define LOG_LOCAL6 (22<<3) /* reserved for local use */
-#define LOG_LOCAL7 (23<<3) /* reserved for local use */
-
-#define LOG_NFACILITIES 24 /* current number of facilities */
-#define LOG_FACMASK 0x03f8 /* mask to extract facility part */
- /* facility of pri */
-#define LOG_FAC(p) (((p) & LOG_FACMASK) >> 3)
-
-#ifdef SYSLOG_NAMES
-CODE facilitynames[] =
- {
- { "auth", LOG_AUTH },
- { "authpriv", LOG_AUTHPRIV },
- { "cron", LOG_CRON },
- { "daemon", LOG_DAEMON },
- { "ftp", LOG_FTP },
- { "kern", LOG_KERN },
- { "lpr", LOG_LPR },
- { "mail", LOG_MAIL },
- { "mark", INTERNAL_MARK }, /* INTERNAL */
- { "news", LOG_NEWS },
- { "security", LOG_AUTH }, /* DEPRECATED */
- { "syslog", LOG_SYSLOG },
- { "user", LOG_USER },
- { "uucp", LOG_UUCP },
- { "local0", LOG_LOCAL0 },
- { "local1", LOG_LOCAL1 },
- { "local2", LOG_LOCAL2 },
- { "local3", LOG_LOCAL3 },
- { "local4", LOG_LOCAL4 },
- { "local5", LOG_LOCAL5 },
- { "local6", LOG_LOCAL6 },
- { "local7", LOG_LOCAL7 },
- { NULL, -1 }
- };
-#endif
-
-/*
- * arguments to setlogmask.
- */
-#define LOG_MASK(pri) (1 << (pri)) /* mask for one priority */
-#define LOG_UPTO(pri) ((1 << ((pri)+1)) - 1) /* all priorities through pri */
-
-/*
- * Option flags for openlog.
- *
- * LOG_ODELAY no longer does anything.
- * LOG_NDELAY is the inverse of what it used to be.
- */
-#define LOG_PID 0x01 /* log the pid with each message */
-#define LOG_CONS 0x02 /* log on the console if errors in sending */
-#define LOG_ODELAY 0x04 /* delay open until first syslog() (default) */
-#define LOG_NDELAY 0x08 /* don't delay open */
-#define LOG_NOWAIT 0x10 /* don't wait for console forks: DEPRECATED */
-#define LOG_PERROR 0x20 /* log to stderr as well */
-
-__BEGIN_DECLS
-
-/* Close descriptor used to write to system logger.
-
- This function is a possible cancellation point and therefore not
- marked with __THROW. */
-extern void closelog (void);
-
-/* Open connection to system logger.
-
- This function is a possible cancellation point and therefore not
- marked with __THROW. */
-extern void openlog (const char *__ident, int __option, int __facility);
-
-/* Set the log mask level. */
-extern int setlogmask (int __mask) __THROW;
-
-/* Generate a log message using FMT string and option arguments.
-
- This function is a possible cancellation point and therefore not
- marked with __THROW. */
-extern void syslog (int __pri, const char *__fmt, ...)
- __attribute__ ((__format__ (__printf__, 2, 3)));
-
-#ifdef __USE_MISC
-/* Generate a log message using FMT and using arguments pointed to by AP.
-
- This function is not part of POSIX and therefore no official
- cancellation point. But due to similarity with an POSIX interface
- or due to the implementation it is a cancellation point and
- therefore not marked with __THROW. */
-extern void vsyslog (int __pri, const char *__fmt, __gnuc_va_list __ap)
- __attribute__ ((__format__ (__printf__, 2, 0)));
-#endif
-
-
-/* Define some macros helping to catch buffer overflows. */
-#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function
-# include <bits/syslog.h>
-#endif
-#ifdef __LDBL_COMPAT
-# include <bits/syslog-ldbl.h>
-#endif
-
-__END_DECLS
-
-#endif /* sys/syslog.h */
diff --git a/misc/sys/sysmacros.h b/misc/sys/sysmacros.h
deleted file mode 100644
index 8cacc595e7..0000000000
--- a/misc/sys/sysmacros.h
+++ /dev/null
@@ -1,110 +0,0 @@
-/* Definitions of macros to access `dev_t' values.
- 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_SYSMACROS_H_OUTER
-
-#ifndef __SYSMACROS_DEPRECATED_INCLUSION
-# define _SYS_SYSMACROS_H_OUTER 1
-#endif
-
-/* If <sys/sysmacros.h> is included after <sys/types.h>, these macros
- will already be defined, and we need to redefine them without the
- deprecation warnings. (If they are included in the opposite order,
- the outer #ifndef will suppress this entire file and the macros
- will be usable without warnings.) */
-#undef major
-#undef minor
-#undef makedev
-
-/* This is the macro that must be defined to satisfy the misuse check
- in bits/sysmacros.h. */
-#ifndef _SYS_SYSMACROS_H
-#define _SYS_SYSMACROS_H 1
-
-#include <features.h>
-#include <bits/types.h>
-#include <bits/sysmacros.h>
-
-/* Caution: The text of this deprecation message is unquoted, so that
- #symbol can be substituted. (It is converted to a string by
- __SYSMACROS_DM1.) This means the message must be a sequence of
- complete pp-tokens; in particular, English contractions (it's,
- can't) cannot be used.
-
- The message has been manually word-wrapped to fit in 80 columns
- when output by GCC 5 and 6. The first line is shorter to leave
- some room for the "foo.c:23: warning:" annotation. */
-#define __SYSMACROS_DM(symbol) __SYSMACROS_DM1 \
- (In the GNU C Library, #symbol is defined\n\
- by <sys/sysmacros.h>. For historical compatibility, it is\n\
- currently defined by <sys/types.h> as well, but we plan to\n\
- remove this soon. To use #symbol, include <sys/sysmacros.h>\n\
- directly. If you did not intend to use a system-defined macro\n\
- #symbol, you should undefine it after including <sys/types.h>.)
-
-/* This macro is variadic because the deprecation message above
- contains commas. */
-#define __SYSMACROS_DM1(...) __glibc_macro_warning (#__VA_ARGS__)
-
-#define __SYSMACROS_DECL_TEMPL(rtype, name, proto) \
- extern rtype gnu_dev_##name proto __THROW __attribute_const__;
-
-#define __SYSMACROS_IMPL_TEMPL(rtype, name, proto) \
- __extension__ __extern_inline __attribute_const__ rtype \
- __NTH (gnu_dev_##name proto)
-
-__BEGIN_DECLS
-
-__SYSMACROS_DECLARE_MAJOR (__SYSMACROS_DECL_TEMPL)
-__SYSMACROS_DECLARE_MINOR (__SYSMACROS_DECL_TEMPL)
-__SYSMACROS_DECLARE_MAKEDEV (__SYSMACROS_DECL_TEMPL)
-
-#ifdef __USE_EXTERN_INLINES
-
-__SYSMACROS_DEFINE_MAJOR (__SYSMACROS_IMPL_TEMPL)
-__SYSMACROS_DEFINE_MINOR (__SYSMACROS_IMPL_TEMPL)
-__SYSMACROS_DEFINE_MAKEDEV (__SYSMACROS_IMPL_TEMPL)
-
-#endif
-
-__END_DECLS
-
-#endif /* _SYS_SYSMACROS_H */
-
-#ifndef __SYSMACROS_NEED_IMPLEMENTATION
-# undef __SYSMACROS_DECL_TEMPL
-# undef __SYSMACROS_IMPL_TEMPL
-# undef __SYSMACROS_DECLARE_MAJOR
-# undef __SYSMACROS_DECLARE_MINOR
-# undef __SYSMACROS_DECLARE_MAKEDEV
-# undef __SYSMACROS_DEFINE_MAJOR
-# undef __SYSMACROS_DEFINE_MINOR
-# undef __SYSMACROS_DEFINE_MAKEDEV
-#endif
-
-#ifdef __SYSMACROS_DEPRECATED_INCLUSION
-# define major(dev) __SYSMACROS_DM (major) gnu_dev_major (dev)
-# define minor(dev) __SYSMACROS_DM (minor) gnu_dev_minor (dev)
-# define makedev(maj, min) __SYSMACROS_DM (makedev) gnu_dev_makedev (maj, min)
-#else
-# define major(dev) gnu_dev_major (dev)
-# define minor(dev) gnu_dev_minor (dev)
-# define makedev(maj, min) gnu_dev_makedev (maj, min)
-#endif
-
-#endif /* sys/sysmacros.h */
diff --git a/misc/sys/uio.h b/misc/sys/uio.h
deleted file mode 100644
index 66c22f04f6..0000000000
--- a/misc/sys/uio.h
+++ /dev/null
@@ -1,163 +0,0 @@
-/* Copyright (C) 1991-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_UIO_H
-#define _SYS_UIO_H 1
-
-#include <features.h>
-
-#include <sys/types.h>
-
-__BEGIN_DECLS
-
-/* This file defines `struct iovec'. */
-#include <bits/uio.h>
-
-
-/* Read data from file descriptor FD, and put the result in the
- buffers described by IOVEC, which is a vector of COUNT 'struct iovec's.
- The buffers are filled in the order specified.
- Operates just like 'read' (see <unistd.h>) except that data are
- put in IOVEC instead of a contiguous buffer.
-
- This function is a cancellation point and therefore not marked with
- __THROW. */
-extern ssize_t readv (int __fd, const struct iovec *__iovec, int __count)
- __wur;
-
-/* Write data pointed by the buffers described by IOVEC, which
- is a vector of COUNT 'struct iovec's, to file descriptor FD.
- The data is written in the order specified.
- Operates just like 'write' (see <unistd.h>) except that the data
- are taken from IOVEC instead of a contiguous buffer.
-
- This function is a cancellation point and therefore not marked with
- __THROW. */
-extern ssize_t writev (int __fd, const struct iovec *__iovec, int __count)
- __wur;
-
-
-#ifdef __USE_MISC
-# ifndef __USE_FILE_OFFSET64
-/* Read data from file descriptor FD at the given position OFFSET
- without change the file pointer, and put the result in the buffers
- described by IOVEC, which is a vector of COUNT 'struct iovec's.
- The buffers are filled in the order specified. Operates just like
- 'pread' (see <unistd.h>) except that data are put in IOVEC instead
- of a contiguous buffer.
-
- This function is a cancellation point and therefore not marked with
- __THROW. */
-extern ssize_t preadv (int __fd, const struct iovec *__iovec, int __count,
- __off_t __offset) __wur;
-
-/* Write data pointed by the buffers described by IOVEC, which is a
- vector of COUNT 'struct iovec's, to file descriptor FD at the given
- position OFFSET without change the file pointer. The data is
- written in the order specified. Operates just like 'pwrite' (see
- <unistd.h>) except that the data are taken from IOVEC instead of a
- contiguous buffer.
-
- This function is a cancellation point and therefore not marked with
- __THROW. */
-extern ssize_t pwritev (int __fd, const struct iovec *__iovec, int __count,
- __off_t __offset) __wur;
-
-# else
-# ifdef __REDIRECT
-extern ssize_t __REDIRECT (preadv, (int __fd, const struct iovec *__iovec,
- int __count, __off64_t __offset),
- preadv64) __wur;
-extern ssize_t __REDIRECT (pwritev, (int __fd, const struct iovec *__iovec,
- int __count, __off64_t __offset),
- pwritev64) __wur;
-# else
-# define preadv preadv64
-# define pwritev pwritev64
-# endif
-# endif
-
-# ifdef __USE_LARGEFILE64
-/* Read data from file descriptor FD at the given position OFFSET
- without change the file pointer, and put the result in the buffers
- described by IOVEC, which is a vector of COUNT 'struct iovec's.
- The buffers are filled in the order specified. Operates just like
- 'pread' (see <unistd.h>) except that data are put in IOVEC instead
- of a contiguous buffer.
-
- This function is a cancellation point and therefore not marked with
- __THROW. */
-extern ssize_t preadv64 (int __fd, const struct iovec *__iovec, int __count,
- __off64_t __offset) __wur;
-
-/* Write data pointed by the buffers described by IOVEC, which is a
- vector of COUNT 'struct iovec's, to file descriptor FD at the given
- position OFFSET without change the file pointer. The data is
- written in the order specified. Operates just like 'pwrite' (see
- <unistd.h>) except that the data are taken from IOVEC instead of a
- contiguous buffer.
-
- This function is a cancellation point and therefore not marked with
- __THROW. */
-extern ssize_t pwritev64 (int __fd, const struct iovec *__iovec, int __count,
- __off64_t __offset) __wur;
-# endif
-#endif /* Use misc. */
-
-
-#ifdef __USE_GNU
-# ifndef __USE_FILE_OFFSET64
-/* Same as preadv but with an additional flag argumenti defined at uio.h. */
-extern ssize_t preadv2 (int __fp, const struct iovec *__iovec, int __count,
- __off_t __offset, int ___flags) __wur;
-
-/* Same as preadv but with an additional flag argument defined at uio.h. */
-extern ssize_t pwritev2 (int __fd, const struct iovec *__iodev, int __count,
- __off_t __offset, int __flags) __wur;
-
-# else
-# ifdef __REDIRECT
-extern ssize_t __REDIRECT (pwritev2, (int __fd, const struct iovec *__iovec,
- int __count, __off64_t __offset,
- int __flags),
- pwritev64v2) __wur;
-extern ssize_t __REDIRECT (preadv2, (int __fd, const struct iovec *__iovec,
- int __count, __off64_t __offset,
- int __flags),
- preadv64v2) __wur;
-# else
-# define preadv2 preadv64v2
-# define pwritev2 pwritev64v2
-# endif
-# endif
-
-# ifdef __USE_LARGEFILE64
-/* Same as preadv but with an additional flag argumenti defined at uio.h. */
-extern ssize_t preadv64v2 (int __fp, const struct iovec *__iovec,
- int __count, __off64_t __offset,
- int ___flags) __wur;
-
-/* Same as preadv but with an additional flag argument defined at uio.h. */
-extern ssize_t pwritev64v2 (int __fd, const struct iovec *__iodev,
- int __count, __off64_t __offset,
- int __flags) __wur;
-# endif
-#endif /* Use GNU. */
-
-__END_DECLS
-
-#endif /* sys/uio.h */
diff --git a/misc/sys/ustat.h b/misc/sys/ustat.h
deleted file mode 100644
index 8aef9aeddb..0000000000
--- a/misc/sys/ustat.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Header describing obsolete `ustat' interface.
- 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/>. */
-
-/*
- * This interface is obsolete. Use <sys/statfs.h> instead.
- */
-
-#ifndef _SYS_USTAT_H
-#define _SYS_USTAT_H 1
-
-#include <features.h>
-
-#include <sys/types.h>
-#include <bits/ustat.h>
-
-__BEGIN_DECLS
-
-extern int ustat (__dev_t __dev, struct ustat *__ubuf) __THROW;
-
-__END_DECLS
-
-#endif /* sys/ustat.h */
diff --git a/misc/sys/xattr.h b/misc/sys/xattr.h
deleted file mode 100644
index f5d639833a..0000000000
--- a/misc/sys/xattr.h
+++ /dev/null
@@ -1,105 +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_XATTR_H
-#define _SYS_XATTR_H 1
-
-#include <features.h>
-#include <sys/types.h>
-
-
-__BEGIN_DECLS
-
-/* The following constants should be used for the fifth parameter of
- `*setxattr'. */
-#ifndef __USE_KERNEL_XATTR_DEFS
-enum
-{
- XATTR_CREATE = 1, /* set value, fail if attr already exists. */
-#define XATTR_CREATE XATTR_CREATE
- XATTR_REPLACE = 2 /* set value, fail if attr does not exist. */
-#define XATTR_REPLACE XATTR_REPLACE
-};
-#endif
-
-/* Set the attribute NAME of the file pointed to by PATH to VALUE (which
- is SIZE bytes long). Return 0 on success, -1 for errors. */
-extern int setxattr (const char *__path, const char *__name,
- const void *__value, size_t __size, int __flags)
- __THROW;
-
-/* Set the attribute NAME of the file pointed to by PATH to VALUE (which is
- SIZE bytes long), not following symlinks for the last pathname component.
- Return 0 on success, -1 for errors. */
-extern int lsetxattr (const char *__path, const char *__name,
- const void *__value, size_t __size, int __flags)
- __THROW;
-
-/* Set the attribute NAME of the file descriptor FD to VALUE (which is SIZE
- bytes long). Return 0 on success, -1 for errors. */
-extern int fsetxattr (int __fd, const char *__name, const void *__value,
- size_t __size, int __flags) __THROW;
-
-/* Get the attribute NAME of the file pointed to by PATH to VALUE (which is
- SIZE bytes long). Return 0 on success, -1 for errors. */
-extern ssize_t getxattr (const char *__path, const char *__name,
- void *__value, size_t __size) __THROW;
-
-/* Get the attribute NAME of the file pointed to by PATH to VALUE (which is
- SIZE bytes long), not following symlinks for the last pathname component.
- Return 0 on success, -1 for errors. */
-extern ssize_t lgetxattr (const char *__path, const char *__name,
- void *__value, size_t __size) __THROW;
-
-/* Get the attribute NAME of the file descriptor FD to VALUE (which is SIZE
- bytes long). Return 0 on success, -1 for errors. */
-extern ssize_t fgetxattr (int __fd, const char *__name, void *__value,
- size_t __size) __THROW;
-
-/* List attributes of the file pointed to by PATH into the user-supplied
- buffer LIST (which is SIZE bytes big). Return 0 on success, -1 for
- errors. */
-extern ssize_t listxattr (const char *__path, char *__list, size_t __size)
- __THROW;
-
-/* List attributes of the file pointed to by PATH into the user-supplied
- buffer LIST (which is SIZE bytes big), not following symlinks for the
- last pathname component. Return 0 on success, -1 for errors. */
-extern ssize_t llistxattr (const char *__path, char *__list, size_t __size)
- __THROW;
-
-/* List attributes of the file descriptor FD into the user-supplied buffer
- LIST (which is SIZE bytes big). Return 0 on success, -1 for errors. */
-extern ssize_t flistxattr (int __fd, char *__list, size_t __size)
- __THROW;
-
-/* Remove the attribute NAME from the file pointed to by PATH. Return 0
- on success, -1 for errors. */
-extern int removexattr (const char *__path, const char *__name) __THROW;
-
-/* Remove the attribute NAME from the file pointed to by PATH, not
- following symlinks for the last pathname component. Return 0 on
- success, -1 for errors. */
-extern int lremovexattr (const char *__path, const char *__name) __THROW;
-
-/* Remove the attribute NAME from the file descriptor FD. Return 0 on
- success, -1 for errors. */
-extern int fremovexattr (int __fd, const char *__name) __THROW;
-
-__END_DECLS
-
-#endif /* sys/xattr.h */
diff --git a/misc/syscall.c b/misc/syscall.c
deleted file mode 100644
index bce222ea66..0000000000
--- a/misc/syscall.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright (C) 1993-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 <sysdep.h>
-#include <errno.h>
-#include <unistd.h>
-
-/* Do system call CALLNO, passing it the remaining arguments.
- This only makes sense in certain operating systems. */
-
-long int
-syscall (long int callno, ...)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (syscall)
diff --git a/misc/syscall.h b/misc/syscall.h
deleted file mode 100644
index 4c30578447..0000000000
--- a/misc/syscall.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <sys/syscall.h>
diff --git a/misc/sysexits.h b/misc/sysexits.h
deleted file mode 100644
index 37246b6e75..0000000000
--- a/misc/sysexits.h
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Copyright (c) 1987, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * @(#)sysexits.h 8.1 (Berkeley) 6/2/93
- */
-
-#ifndef _SYSEXITS_H
-#define _SYSEXITS_H 1
-
-/*
- * SYSEXITS.H -- Exit status codes for system programs.
- *
- * This include file attempts to categorize possible error
- * exit statuses for system programs, notably delivermail
- * and the Berkeley network.
- *
- * Error numbers begin at EX__BASE to reduce the possibility of
- * clashing with other exit statuses that random programs may
- * already return. The meaning of the codes is approximately
- * as follows:
- *
- * EX_USAGE -- The command was used incorrectly, e.g., with
- * the wrong number of arguments, a bad flag, a bad
- * syntax in a parameter, or whatever.
- * EX_DATAERR -- The input data was incorrect in some way.
- * This should only be used for user's data & not
- * system files.
- * EX_NOINPUT -- An input file (not a system file) did not
- * exist or was not readable. This could also include
- * errors like "No message" to a mailer (if it cared
- * to catch it).
- * EX_NOUSER -- The user specified did not exist. This might
- * be used for mail addresses or remote logins.
- * EX_NOHOST -- The host specified did not exist. This is used
- * in mail addresses or network requests.
- * EX_UNAVAILABLE -- A service is unavailable. This can occur
- * if a support program or file does not exist. This
- * can also be used as a catchall message when something
- * you wanted to do doesn't work, but you don't know
- * why.
- * EX_SOFTWARE -- An internal software error has been detected.
- * This should be limited to non-operating system related
- * errors as possible.
- * EX_OSERR -- An operating system error has been detected.
- * This is intended to be used for such things as "cannot
- * fork", "cannot create pipe", or the like. It includes
- * things like getuid returning a user that does not
- * exist in the passwd file.
- * EX_OSFILE -- Some system file (e.g., /etc/passwd, /etc/utmp,
- * etc.) does not exist, cannot be opened, or has some
- * sort of error (e.g., syntax error).
- * EX_CANTCREAT -- A (user specified) output file cannot be
- * created.
- * EX_IOERR -- An error occurred while doing I/O on some file.
- * EX_TEMPFAIL -- temporary failure, indicating something that
- * is not really an error. In sendmail, this means
- * that a mailer (e.g.) could not create a connection,
- * and the request should be reattempted later.
- * EX_PROTOCOL -- the remote system returned something that
- * was "not possible" during a protocol exchange.
- * EX_NOPERM -- You did not have sufficient permission to
- * perform the operation. This is not intended for
- * file system problems, which should use NOINPUT or
- * CANTCREAT, but rather for higher level permissions.
- */
-
-#define EX_OK 0 /* successful termination */
-
-#define EX__BASE 64 /* base value for error messages */
-
-#define EX_USAGE 64 /* command line usage error */
-#define EX_DATAERR 65 /* data format error */
-#define EX_NOINPUT 66 /* cannot open input */
-#define EX_NOUSER 67 /* addressee unknown */
-#define EX_NOHOST 68 /* host name unknown */
-#define EX_UNAVAILABLE 69 /* service unavailable */
-#define EX_SOFTWARE 70 /* internal software error */
-#define EX_OSERR 71 /* system error (e.g., can't fork) */
-#define EX_OSFILE 72 /* critical OS file missing */
-#define EX_CANTCREAT 73 /* can't create (user) output file */
-#define EX_IOERR 74 /* input/output error */
-#define EX_TEMPFAIL 75 /* temp failure; user is invited to retry */
-#define EX_PROTOCOL 76 /* remote error in protocol */
-#define EX_NOPERM 77 /* permission denied */
-#define EX_CONFIG 78 /* configuration error */
-
-#define EX__MAX 78 /* maximum listed value */
-
-#endif /* sysexits.h */
diff --git a/misc/syslog.c b/misc/syslog.c
deleted file mode 100644
index 6922ad685c..0000000000
--- a/misc/syslog.c
+++ /dev/null
@@ -1,436 +0,0 @@
-/*
- * Copyright (c) 1983, 1988, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#if defined(LIBC_SCCS) && !defined(lint)
-static char sccsid[] = "@(#)syslog.c 8.4 (Berkeley) 3/18/94";
-#endif /* LIBC_SCCS and not lint */
-
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <sys/syslog.h>
-#include <sys/uio.h>
-#include <sys/un.h>
-#include <netdb.h>
-
-#include <errno.h>
-#include <fcntl.h>
-#include <paths.h>
-#include <stdio.h>
-#include <stdio_ext.h>
-#include <string.h>
-#include <time.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <libc-lock.h>
-#include <signal.h>
-#include <locale.h>
-
-#include <stdarg.h>
-
-#include <libio/iolibio.h>
-#include <math_ldbl_opt.h>
-
-#include <kernel-features.h>
-
-#define ftell(s) _IO_ftell (s)
-
-static int LogType = SOCK_DGRAM; /* type of socket connection */
-static int LogFile = -1; /* fd for log */
-static int connected; /* have done connect */
-static int LogStat; /* status bits, set by openlog() */
-static const char *LogTag; /* string to tag the entry with */
-static int LogFacility = LOG_USER; /* default facility code */
-static int LogMask = 0xff; /* mask of priorities to be logged */
-extern char *__progname; /* Program name, from crt0. */
-
-/* Define the lock. */
-__libc_lock_define_initialized (static, syslog_lock)
-
-static void openlog_internal(const char *, int, int) internal_function;
-static void closelog_internal(void);
-#ifndef NO_SIGPIPE
-static void sigpipe_handler (int);
-#endif
-
-#ifndef send_flags
-# define send_flags 0
-#endif
-
-struct cleanup_arg
-{
- void *buf;
- struct sigaction *oldaction;
-};
-
-static void
-cancel_handler (void *ptr)
-{
-#ifndef NO_SIGPIPE
- /* Restore the old signal handler. */
- struct cleanup_arg *clarg = (struct cleanup_arg *) ptr;
-
- if (clarg != NULL && clarg->oldaction != NULL)
- __sigaction (SIGPIPE, clarg->oldaction, NULL);
-#endif
-
- /* Free the lock. */
- __libc_lock_unlock (syslog_lock);
-}
-
-
-/*
- * syslog, vsyslog --
- * print message on log file; output is intended for syslogd(8).
- */
-void
-__syslog(int pri, const char *fmt, ...)
-{
- va_list ap;
-
- va_start(ap, fmt);
- __vsyslog_chk(pri, -1, fmt, ap);
- va_end(ap);
-}
-ldbl_hidden_def (__syslog, syslog)
-ldbl_strong_alias (__syslog, syslog)
-
-void
-__syslog_chk(int pri, int flag, const char *fmt, ...)
-{
- va_list ap;
-
- va_start(ap, fmt);
- __vsyslog_chk(pri, flag, fmt, ap);
- va_end(ap);
-}
-
-void
-__vsyslog_chk(int pri, int flag, const char *fmt, va_list ap)
-{
- struct tm now_tm;
- time_t now;
- int fd;
- FILE *f;
- char *buf = 0;
- size_t bufsize = 0;
- size_t msgoff;
-#ifndef NO_SIGPIPE
- struct sigaction action, oldaction;
- int sigpipe;
-#endif
- int saved_errno = errno;
- char failbuf[3 * sizeof (pid_t) + sizeof "out of memory []"];
-
-#define INTERNALLOG LOG_ERR|LOG_CONS|LOG_PERROR|LOG_PID
- /* Check for invalid bits. */
- if (pri & ~(LOG_PRIMASK|LOG_FACMASK)) {
- syslog(INTERNALLOG,
- "syslog: unknown facility/priority: %x", pri);
- pri &= LOG_PRIMASK|LOG_FACMASK;
- }
-
- /* Check priority against setlogmask values. */
- if ((LOG_MASK (LOG_PRI (pri)) & LogMask) == 0)
- return;
-
- /* Set default facility if none specified. */
- if ((pri & LOG_FACMASK) == 0)
- pri |= LogFacility;
-
- /* Build the message in a memory-buffer stream. */
- f = __open_memstream (&buf, &bufsize);
- if (f == NULL)
- {
- /* We cannot get a stream. There is not much we can do but
- emitting an error messages. */
- char numbuf[3 * sizeof (pid_t)];
- char *nump;
- char *endp = __stpcpy (failbuf, "out of memory [");
- pid_t pid = __getpid ();
-
- nump = numbuf + sizeof (numbuf);
- /* The PID can never be zero. */
- do
- *--nump = '0' + pid % 10;
- while ((pid /= 10) != 0);
-
- endp = __mempcpy (endp, nump, (numbuf + sizeof (numbuf)) - nump);
- *endp++ = ']';
- *endp = '\0';
- buf = failbuf;
- bufsize = endp - failbuf;
- msgoff = 0;
- }
- else
- {
- __fsetlocking (f, FSETLOCKING_BYCALLER);
- fprintf (f, "<%d>", pri);
- (void) time (&now);
- f->_IO_write_ptr += __strftime_l (f->_IO_write_ptr,
- f->_IO_write_end
- - f->_IO_write_ptr,
- "%h %e %T ",
- __localtime_r (&now, &now_tm),
- _nl_C_locobj_ptr);
- msgoff = ftell (f);
- if (LogTag == NULL)
- LogTag = __progname;
- if (LogTag != NULL)
- __fputs_unlocked (LogTag, f);
- if (LogStat & LOG_PID)
- fprintf (f, "[%d]", (int) __getpid ());
- if (LogTag != NULL)
- {
- putc_unlocked (':', f);
- putc_unlocked (' ', f);
- }
-
- /* Restore errno for %m format. */
- __set_errno (saved_errno);
-
- /* We have the header. Print the user's format into the
- buffer. */
- if (flag == -1)
- vfprintf (f, fmt, ap);
- else
- __vfprintf_chk (f, flag, fmt, ap);
-
- /* Close the memory stream; this will finalize the data
- into a malloc'd buffer in BUF. */
- fclose (f);
- }
-
- /* Output to stderr if requested. */
- if (LogStat & LOG_PERROR) {
- struct iovec iov[2];
- struct iovec *v = iov;
-
- v->iov_base = buf + msgoff;
- v->iov_len = bufsize - msgoff;
- /* Append a newline if necessary. */
- if (buf[bufsize - 1] != '\n')
- {
- ++v;
- v->iov_base = (char *) "\n";
- v->iov_len = 1;
- }
-
- __libc_cleanup_push (free, buf == failbuf ? NULL : buf);
-
- /* writev is a cancellation point. */
- (void)__writev(STDERR_FILENO, iov, v - iov + 1);
-
- __libc_cleanup_pop (0);
- }
-
- /* Prepare for multiple users. We have to take care: open and
- write are cancellation points. */
- struct cleanup_arg clarg;
- clarg.buf = buf;
- clarg.oldaction = NULL;
- __libc_cleanup_push (cancel_handler, &clarg);
- __libc_lock_lock (syslog_lock);
-
-#ifndef NO_SIGPIPE
- /* Prepare for a broken connection. */
- memset (&action, 0, sizeof (action));
- action.sa_handler = sigpipe_handler;
- sigemptyset (&action.sa_mask);
- sigpipe = __sigaction (SIGPIPE, &action, &oldaction);
- if (sigpipe == 0)
- clarg.oldaction = &oldaction;
-#endif
-
- /* Get connected, output the message to the local logger. */
- if (!connected)
- openlog_internal(LogTag, LogStat | LOG_NDELAY, 0);
-
- /* If we have a SOCK_STREAM connection, also send ASCII NUL as
- a record terminator. */
- if (LogType == SOCK_STREAM)
- ++bufsize;
-
- if (!connected || __send(LogFile, buf, bufsize, send_flags) < 0)
- {
- if (connected)
- {
- /* Try to reopen the syslog connection. Maybe it went
- down. */
- closelog_internal ();
- openlog_internal(LogTag, LogStat | LOG_NDELAY, 0);
- }
-
- if (!connected || __send(LogFile, buf, bufsize, send_flags) < 0)
- {
- closelog_internal (); /* attempt re-open next time */
- /*
- * Output the message to the console; don't worry
- * about blocking, if console blocks everything will.
- * Make sure the error reported is the one from the
- * syslogd failure.
- */
- if (LogStat & LOG_CONS &&
- (fd = __open(_PATH_CONSOLE, O_WRONLY|O_NOCTTY, 0)) >= 0)
- {
- __dprintf (fd, "%s\r\n", buf + msgoff);
- (void)__close(fd);
- }
- }
- }
-
-#ifndef NO_SIGPIPE
- if (sigpipe == 0)
- __sigaction (SIGPIPE, &oldaction, (struct sigaction *) NULL);
-#endif
-
- /* End of critical section. */
- __libc_cleanup_pop (0);
- __libc_lock_unlock (syslog_lock);
-
- if (buf != failbuf)
- free (buf);
-}
-libc_hidden_def (__vsyslog_chk)
-
-void
-__vsyslog(int pri, const char *fmt, va_list ap)
-{
- __vsyslog_chk (pri, -1, fmt, ap);
-}
-ldbl_hidden_def (__vsyslog, vsyslog)
-ldbl_weak_alias (__vsyslog, vsyslog)
-
-static struct sockaddr_un SyslogAddr; /* AF_UNIX address of local logger */
-
-
-static void
-internal_function
-openlog_internal(const char *ident, int logstat, int logfac)
-{
- if (ident != NULL)
- LogTag = ident;
- LogStat = logstat;
- if (logfac != 0 && (logfac &~ LOG_FACMASK) == 0)
- LogFacility = logfac;
-
- int retry = 0;
- while (retry < 2) {
- if (LogFile == -1) {
- SyslogAddr.sun_family = AF_UNIX;
- (void)strncpy(SyslogAddr.sun_path, _PATH_LOG,
- sizeof(SyslogAddr.sun_path));
- if (LogStat & LOG_NDELAY) {
- LogFile = __socket(AF_UNIX, LogType | SOCK_CLOEXEC, 0);
- if (LogFile == -1)
- return;
- }
- }
- if (LogFile != -1 && !connected)
- {
- int old_errno = errno;
- if (__connect(LogFile, &SyslogAddr, sizeof(SyslogAddr))
- == -1)
- {
- int saved_errno = errno;
- int fd = LogFile;
- LogFile = -1;
- (void)__close(fd);
- __set_errno (old_errno);
- if (saved_errno == EPROTOTYPE)
- {
- /* retry with the other type: */
- LogType = (LogType == SOCK_DGRAM
- ? SOCK_STREAM : SOCK_DGRAM);
- ++retry;
- continue;
- }
- } else
- connected = 1;
- }
- break;
- }
-}
-
-void
-openlog (const char *ident, int logstat, int logfac)
-{
- /* Protect against multiple users and cancellation. */
- __libc_cleanup_push (cancel_handler, NULL);
- __libc_lock_lock (syslog_lock);
-
- openlog_internal (ident, logstat, logfac);
-
- __libc_cleanup_pop (1);
-}
-
-#ifndef NO_SIGPIPE
-static void
-sigpipe_handler (int signo)
-{
- closelog_internal ();
-}
-#endif
-
-static void
-closelog_internal (void)
-{
- if (!connected)
- return;
-
- __close (LogFile);
- LogFile = -1;
- connected = 0;
-}
-
-void
-closelog (void)
-{
- /* Protect against multiple users and cancellation. */
- __libc_cleanup_push (cancel_handler, NULL);
- __libc_lock_lock (syslog_lock);
-
- closelog_internal ();
- LogTag = NULL;
- LogType = SOCK_DGRAM; /* this is the default */
-
- /* Free the lock. */
- __libc_cleanup_pop (1);
-}
-
-/* setlogmask -- set the log mask level */
-int
-setlogmask (int pmask)
-{
- int omask;
-
- omask = LogMask;
- if (pmask != 0)
- LogMask = pmask;
- return (omask);
-}
diff --git a/misc/syslog.h b/misc/syslog.h
deleted file mode 100644
index 830b4928ad..0000000000
--- a/misc/syslog.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <sys/syslog.h>
diff --git a/misc/truncate.c b/misc/truncate.c
deleted file mode 100644
index e5df1dbbd3..0000000000
--- a/misc/truncate.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Copyright (C) 1991-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/types.h>
-#include <errno.h>
-
-/* Truncate PATH to LENGTH bytes. */
-int
-__truncate (const char *path, off_t length)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-weak_alias (__truncate, truncate)
-
-stub_warning (truncate)
diff --git a/misc/truncate64.c b/misc/truncate64.c
deleted file mode 100644
index 220f89a6e7..0000000000
--- a/misc/truncate64.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright (C) 1997-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/types.h>
-#include <errno.h>
-#include <unistd.h>
-
-/* Truncate PATH to LENGTH bytes. */
-int
-truncate64 (const char *path, off64_t length)
-{
- if ((off_t) length != length)
- {
- __set_errno (EINVAL);
- return -1;
- }
- return __truncate (path, (off_t) length);
-}
diff --git a/misc/tsearch.c b/misc/tsearch.c
deleted file mode 100644
index 5e2e7986d3..0000000000
--- a/misc/tsearch.c
+++ /dev/null
@@ -1,750 +0,0 @@
-/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>, 1997.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-/* Tree search for red/black trees.
- The algorithm for adding nodes is taken from one of the many "Algorithms"
- books by Robert Sedgewick, although the implementation differs.
- The algorithm for deleting nodes can probably be found in a book named
- "Introduction to Algorithms" by Cormen/Leiserson/Rivest. At least that's
- the book that my professor took most algorithms from during the "Data
- Structures" course...
-
- Totally public domain. */
-
-/* Red/black trees are binary trees in which the edges are colored either red
- or black. They have the following properties:
- 1. The number of black edges on every path from the root to a leaf is
- constant.
- 2. No two red edges are adjacent.
- Therefore there is an upper bound on the length of every path, it's
- O(log n) where n is the number of nodes in the tree. No path can be longer
- than 1+2*P where P is the length of the shortest path in the tree.
- Useful for the implementation:
- 3. If one of the children of a node is NULL, then the other one is red
- (if it exists).
-
- In the implementation, not the edges are colored, but the nodes. The color
- interpreted as the color of the edge leading to this node. The color is
- meaningless for the root node, but we color the root node black for
- convenience. All added nodes are red initially.
-
- Adding to a red/black tree is rather easy. The right place is searched
- with a usual binary tree search. Additionally, whenever a node N is
- reached that has two red successors, the successors are colored black and
- the node itself colored red. This moves red edges up the tree where they
- pose less of a problem once we get to really insert the new node. Changing
- N's color to red may violate rule 2, however, so rotations may become
- necessary to restore the invariants. Adding a new red leaf may violate
- the same rule, so afterwards an additional check is run and the tree
- possibly rotated.
-
- Deleting is hairy. There are mainly two nodes involved: the node to be
- deleted (n1), and another node that is to be unchained from the tree (n2).
- If n1 has a successor (the node with a smallest key that is larger than
- n1), then the successor becomes n2 and its contents are copied into n1,
- otherwise n1 becomes n2.
- Unchaining a node may violate rule 1: if n2 is black, one subtree is
- missing one black edge afterwards. The algorithm must try to move this
- error upwards towards the root, so that the subtree that does not have
- enough black edges becomes the whole tree. Once that happens, the error
- has disappeared. It may not be necessary to go all the way up, since it
- is possible that rotations and recoloring can fix the error before that.
-
- Although the deletion algorithm must walk upwards through the tree, we
- do not store parent pointers in the nodes. Instead, delete allocates a
- small array of parent pointers and fills it while descending the tree.
- Since we know that the length of a path is O(log n), where n is the number
- of nodes, this is likely to use less memory. */
-
-/* Tree rotations look like this:
- A C
- / \ / \
- B C A G
- / \ / \ --> / \
- D E F G B F
- / \
- D E
-
- In this case, A has been rotated left. This preserves the ordering of the
- binary tree. */
-
-#include <assert.h>
-#include <stdalign.h>
-#include <stddef.h>
-#include <stdlib.h>
-#include <string.h>
-#include <search.h>
-
-/* Assume malloc returns naturally aligned (alignof (max_align_t))
- pointers so we can use the low bits to store some extra info. This
- works for the left/right node pointers since they are not user
- visible and always allocated by malloc. The user provides the key
- pointer and so that can point anywhere and doesn't have to be
- aligned. */
-#define USE_MALLOC_LOW_BIT 1
-
-#ifndef USE_MALLOC_LOW_BIT
-typedef struct node_t
-{
- /* Callers expect this to be the first element in the structure - do not
- move! */
- const void *key;
- struct node_t *left_node;
- struct node_t *right_node;
- unsigned int is_red:1;
-} *node;
-
-#define RED(N) (N)->is_red
-#define SETRED(N) (N)->is_red = 1
-#define SETBLACK(N) (N)->is_red = 0
-#define SETNODEPTR(NP,P) (*NP) = (P)
-#define LEFT(N) (N)->left_node
-#define LEFTPTR(N) (&(N)->left_node)
-#define SETLEFT(N,L) (N)->left_node = (L)
-#define RIGHT(N) (N)->right_node
-#define RIGHTPTR(N) (&(N)->right_node)
-#define SETRIGHT(N,R) (N)->right_node = (R)
-#define DEREFNODEPTR(NP) (*(NP))
-
-#else /* USE_MALLOC_LOW_BIT */
-
-typedef struct node_t
-{
- /* Callers expect this to be the first element in the structure - do not
- move! */
- const void *key;
- uintptr_t left_node; /* Includes whether the node is red in low-bit. */
- uintptr_t right_node;
-} *node;
-
-#define RED(N) (node)((N)->left_node & ((uintptr_t) 0x1))
-#define SETRED(N) (N)->left_node |= ((uintptr_t) 0x1)
-#define SETBLACK(N) (N)->left_node &= ~((uintptr_t) 0x1)
-#define SETNODEPTR(NP,P) (*NP) = (node)((((uintptr_t)(*NP)) \
- & (uintptr_t) 0x1) | (uintptr_t)(P))
-#define LEFT(N) (node)((N)->left_node & ~((uintptr_t) 0x1))
-#define LEFTPTR(N) (node *)(&(N)->left_node)
-#define SETLEFT(N,L) (N)->left_node = (((N)->left_node & (uintptr_t) 0x1) \
- | (uintptr_t)(L))
-#define RIGHT(N) (node)((N)->right_node)
-#define RIGHTPTR(N) (node *)(&(N)->right_node)
-#define SETRIGHT(N,R) (N)->right_node = (uintptr_t)(R)
-#define DEREFNODEPTR(NP) (node)((uintptr_t)(*(NP)) & ~((uintptr_t) 0x1))
-
-#endif /* USE_MALLOC_LOW_BIT */
-typedef const struct node_t *const_node;
-
-#undef DEBUGGING
-
-#ifdef DEBUGGING
-
-/* Routines to check tree invariants. */
-
-#define CHECK_TREE(a) check_tree(a)
-
-static void
-check_tree_recurse (node p, int d_sofar, int d_total)
-{
- if (p == NULL)
- {
- assert (d_sofar == d_total);
- return;
- }
-
- check_tree_recurse (LEFT(p), d_sofar + (LEFT(p) && !RED(LEFT(p))),
- d_total);
- check_tree_recurse (RIGHT(p), d_sofar + (RIGHT(p) && !RED(RIGHT(p))),
- d_total);
- if (LEFT(p))
- assert (!(RED(LEFT(p)) && RED(p)));
- if (RIGHT(p))
- assert (!(RED(RIGHT(p)) && RED(p)));
-}
-
-static void
-check_tree (node root)
-{
- int cnt = 0;
- node p;
- if (root == NULL)
- return;
- SETBLACK(root);
- for(p = LEFT(root); p; p = LEFT(p))
- cnt += !RED(p);
- check_tree_recurse (root, 0, cnt);
-}
-
-#else
-
-#define CHECK_TREE(a)
-
-#endif
-
-/* Possibly "split" a node with two red successors, and/or fix up two red
- edges in a row. ROOTP is a pointer to the lowest node we visited, PARENTP
- and GPARENTP pointers to its parent/grandparent. P_R and GP_R contain the
- comparison values that determined which way was taken in the tree to reach
- ROOTP. MODE is 1 if we need not do the split, but must check for two red
- edges between GPARENTP and ROOTP. */
-static void
-maybe_split_for_insert (node *rootp, node *parentp, node *gparentp,
- int p_r, int gp_r, int mode)
-{
- node root = DEREFNODEPTR(rootp);
- node *rp, *lp;
- node rpn, lpn;
- rp = RIGHTPTR(root);
- rpn = RIGHT(root);
- lp = LEFTPTR(root);
- lpn = LEFT(root);
-
- /* See if we have to split this node (both successors red). */
- if (mode == 1
- || ((rpn) != NULL && (lpn) != NULL && RED(rpn) && RED(lpn)))
- {
- /* This node becomes red, its successors black. */
- SETRED(root);
- if (rpn)
- SETBLACK(rpn);
- if (lpn)
- SETBLACK(lpn);
-
- /* If the parent of this node is also red, we have to do
- rotations. */
- if (parentp != NULL && RED(DEREFNODEPTR(parentp)))
- {
- node gp = DEREFNODEPTR(gparentp);
- node p = DEREFNODEPTR(parentp);
- /* There are two main cases:
- 1. The edge types (left or right) of the two red edges differ.
- 2. Both red edges are of the same type.
- There exist two symmetries of each case, so there is a total of
- 4 cases. */
- if ((p_r > 0) != (gp_r > 0))
- {
- /* Put the child at the top of the tree, with its parent
- and grandparent as successors. */
- SETRED(p);
- SETRED(gp);
- SETBLACK(root);
- if (p_r < 0)
- {
- /* Child is left of parent. */
- SETLEFT(p,rpn);
- SETNODEPTR(rp,p);
- SETRIGHT(gp,lpn);
- SETNODEPTR(lp,gp);
- }
- else
- {
- /* Child is right of parent. */
- SETRIGHT(p,lpn);
- SETNODEPTR(lp,p);
- SETLEFT(gp,rpn);
- SETNODEPTR(rp,gp);
- }
- SETNODEPTR(gparentp,root);
- }
- else
- {
- SETNODEPTR(gparentp,p);
- /* Parent becomes the top of the tree, grandparent and
- child are its successors. */
- SETBLACK(p);
- SETRED(gp);
- if (p_r < 0)
- {
- /* Left edges. */
- SETLEFT(gp,RIGHT(p));
- SETRIGHT(p,gp);
- }
- else
- {
- /* Right edges. */
- SETRIGHT(gp,LEFT(p));
- SETLEFT(p,gp);
- }
- }
- }
- }
-}
-
-/* Find or insert datum into search tree.
- KEY is the key to be located, ROOTP is the address of tree root,
- COMPAR the ordering function. */
-void *
-__tsearch (const void *key, void **vrootp, __compar_fn_t compar)
-{
- node q, root;
- node *parentp = NULL, *gparentp = NULL;
- node *rootp = (node *) vrootp;
- node *nextp;
- int r = 0, p_r = 0, gp_r = 0; /* No they might not, Mr Compiler. */
-
-#ifdef USE_MALLOC_LOW_BIT
- static_assert (alignof (max_align_t) > 1, "malloc must return aligned ptrs");
-#endif
-
- if (rootp == NULL)
- return NULL;
-
- /* This saves some additional tests below. */
- root = DEREFNODEPTR(rootp);
- if (root != NULL)
- SETBLACK(root);
-
- CHECK_TREE (root);
-
- nextp = rootp;
- while (DEREFNODEPTR(nextp) != NULL)
- {
- root = DEREFNODEPTR(rootp);
- r = (*compar) (key, root->key);
- if (r == 0)
- return root;
-
- maybe_split_for_insert (rootp, parentp, gparentp, p_r, gp_r, 0);
- /* If that did any rotations, parentp and gparentp are now garbage.
- That doesn't matter, because the values they contain are never
- used again in that case. */
-
- nextp = r < 0 ? LEFTPTR(root) : RIGHTPTR(root);
- if (DEREFNODEPTR(nextp) == NULL)
- break;
-
- gparentp = parentp;
- parentp = rootp;
- rootp = nextp;
-
- gp_r = p_r;
- p_r = r;
- }
-
- q = (struct node_t *) malloc (sizeof (struct node_t));
- if (q != NULL)
- {
- /* Make sure the malloc implementation returns naturally aligned
- memory blocks when expected. Or at least even pointers, so we
- can use the low bit as red/black flag. Even though we have a
- static_assert to make sure alignof (max_align_t) > 1 there could
- be an interposed malloc implementation that might cause havoc by
- not obeying the malloc contract. */
-#ifdef USE_MALLOC_LOW_BIT
- assert (((uintptr_t) q & (uintptr_t) 0x1) == 0);
-#endif
- SETNODEPTR(nextp,q); /* link new node to old */
- q->key = key; /* initialize new node */
- SETRED(q);
- SETLEFT(q,NULL);
- SETRIGHT(q,NULL);
-
- if (nextp != rootp)
- /* There may be two red edges in a row now, which we must avoid by
- rotating the tree. */
- maybe_split_for_insert (nextp, rootp, parentp, r, p_r, 1);
- }
-
- return q;
-}
-libc_hidden_def (__tsearch)
-weak_alias (__tsearch, tsearch)
-
-
-/* Find datum in search tree.
- KEY is the key to be located, ROOTP is the address of tree root,
- COMPAR the ordering function. */
-void *
-__tfind (const void *key, void *const *vrootp, __compar_fn_t compar)
-{
- node root;
- node *rootp = (node *) vrootp;
-
- if (rootp == NULL)
- return NULL;
-
- root = DEREFNODEPTR(rootp);
- CHECK_TREE (root);
-
- while (DEREFNODEPTR(rootp) != NULL)
- {
- root = DEREFNODEPTR(rootp);
- int r;
-
- r = (*compar) (key, root->key);
- if (r == 0)
- return root;
-
- rootp = r < 0 ? LEFTPTR(root) : RIGHTPTR(root);
- }
- return NULL;
-}
-libc_hidden_def (__tfind)
-weak_alias (__tfind, tfind)
-
-
-/* Delete node with given key.
- KEY is the key to be deleted, ROOTP is the address of the root of tree,
- COMPAR the comparison function. */
-void *
-__tdelete (const void *key, void **vrootp, __compar_fn_t compar)
-{
- node p, q, r, retval;
- int cmp;
- node *rootp = (node *) vrootp;
- node root, unchained;
- /* Stack of nodes so we remember the parents without recursion. It's
- _very_ unlikely that there are paths longer than 40 nodes. The tree
- would need to have around 250.000 nodes. */
- int stacksize = 40;
- int sp = 0;
- node **nodestack = alloca (sizeof (node *) * stacksize);
-
- if (rootp == NULL)
- return NULL;
- p = DEREFNODEPTR(rootp);
- if (p == NULL)
- return NULL;
-
- CHECK_TREE (p);
-
- root = DEREFNODEPTR(rootp);
- while ((cmp = (*compar) (key, root->key)) != 0)
- {
- if (sp == stacksize)
- {
- node **newstack;
- stacksize += 20;
- newstack = alloca (sizeof (node *) * stacksize);
- nodestack = memcpy (newstack, nodestack, sp * sizeof (node *));
- }
-
- nodestack[sp++] = rootp;
- p = DEREFNODEPTR(rootp);
- if (cmp < 0)
- {
- rootp = LEFTPTR(p);
- root = LEFT(p);
- }
- else
- {
- rootp = RIGHTPTR(p);
- root = RIGHT(p);
- }
- if (root == NULL)
- return NULL;
- }
-
- /* This is bogus if the node to be deleted is the root... this routine
- really should return an integer with 0 for success, -1 for failure
- and errno = ESRCH or something. */
- retval = p;
-
- /* We don't unchain the node we want to delete. Instead, we overwrite
- it with its successor and unchain the successor. If there is no
- successor, we really unchain the node to be deleted. */
-
- root = DEREFNODEPTR(rootp);
-
- r = RIGHT(root);
- q = LEFT(root);
-
- if (q == NULL || r == NULL)
- unchained = root;
- else
- {
- node *parentp = rootp, *up = RIGHTPTR(root);
- node upn;
- for (;;)
- {
- if (sp == stacksize)
- {
- node **newstack;
- stacksize += 20;
- newstack = alloca (sizeof (node *) * stacksize);
- nodestack = memcpy (newstack, nodestack, sp * sizeof (node *));
- }
- nodestack[sp++] = parentp;
- parentp = up;
- upn = DEREFNODEPTR(up);
- if (LEFT(upn) == NULL)
- break;
- up = LEFTPTR(upn);
- }
- unchained = DEREFNODEPTR(up);
- }
-
- /* We know that either the left or right successor of UNCHAINED is NULL.
- R becomes the other one, it is chained into the parent of UNCHAINED. */
- r = LEFT(unchained);
- if (r == NULL)
- r = RIGHT(unchained);
- if (sp == 0)
- SETNODEPTR(rootp,r);
- else
- {
- q = DEREFNODEPTR(nodestack[sp-1]);
- if (unchained == RIGHT(q))
- SETRIGHT(q,r);
- else
- SETLEFT(q,r);
- }
-
- if (unchained != root)
- root->key = unchained->key;
- if (!RED(unchained))
- {
- /* Now we lost a black edge, which means that the number of black
- edges on every path is no longer constant. We must balance the
- tree. */
- /* NODESTACK now contains all parents of R. R is likely to be NULL
- in the first iteration. */
- /* NULL nodes are considered black throughout - this is necessary for
- correctness. */
- while (sp > 0 && (r == NULL || !RED(r)))
- {
- node *pp = nodestack[sp - 1];
- p = DEREFNODEPTR(pp);
- /* Two symmetric cases. */
- if (r == LEFT(p))
- {
- /* Q is R's brother, P is R's parent. The subtree with root
- R has one black edge less than the subtree with root Q. */
- q = RIGHT(p);
- if (RED(q))
- {
- /* If Q is red, we know that P is black. We rotate P left
- so that Q becomes the top node in the tree, with P below
- it. P is colored red, Q is colored black.
- This action does not change the black edge count for any
- leaf in the tree, but we will be able to recognize one
- of the following situations, which all require that Q
- is black. */
- SETBLACK(q);
- SETRED(p);
- /* Left rotate p. */
- SETRIGHT(p,LEFT(q));
- SETLEFT(q,p);
- SETNODEPTR(pp,q);
- /* Make sure pp is right if the case below tries to use
- it. */
- nodestack[sp++] = pp = LEFTPTR(q);
- q = RIGHT(p);
- }
- /* We know that Q can't be NULL here. We also know that Q is
- black. */
- if ((LEFT(q) == NULL || !RED(LEFT(q)))
- && (RIGHT(q) == NULL || !RED(RIGHT(q))))
- {
- /* Q has two black successors. We can simply color Q red.
- The whole subtree with root P is now missing one black
- edge. Note that this action can temporarily make the
- tree invalid (if P is red). But we will exit the loop
- in that case and set P black, which both makes the tree
- valid and also makes the black edge count come out
- right. If P is black, we are at least one step closer
- to the root and we'll try again the next iteration. */
- SETRED(q);
- r = p;
- }
- else
- {
- /* Q is black, one of Q's successors is red. We can
- repair the tree with one operation and will exit the
- loop afterwards. */
- if (RIGHT(q) == NULL || !RED(RIGHT(q)))
- {
- /* The left one is red. We perform the same action as
- in maybe_split_for_insert where two red edges are
- adjacent but point in different directions:
- Q's left successor (let's call it Q2) becomes the
- top of the subtree we are looking at, its parent (Q)
- and grandparent (P) become its successors. The former
- successors of Q2 are placed below P and Q.
- P becomes black, and Q2 gets the color that P had.
- This changes the black edge count only for node R and
- its successors. */
- node q2 = LEFT(q);
- if (RED(p))
- SETRED(q2);
- else
- SETBLACK(q2);
- SETRIGHT(p,LEFT(q2));
- SETLEFT(q,RIGHT(q2));
- SETRIGHT(q2,q);
- SETLEFT(q2,p);
- SETNODEPTR(pp,q2);
- SETBLACK(p);
- }
- else
- {
- /* It's the right one. Rotate P left. P becomes black,
- and Q gets the color that P had. Q's right successor
- also becomes black. This changes the black edge
- count only for node R and its successors. */
- if (RED(p))
- SETRED(q);
- else
- SETBLACK(q);
- SETBLACK(p);
-
- SETBLACK(RIGHT(q));
-
- /* left rotate p */
- SETRIGHT(p,LEFT(q));
- SETLEFT(q,p);
- SETNODEPTR(pp,q);
- }
-
- /* We're done. */
- sp = 1;
- r = NULL;
- }
- }
- else
- {
- /* Comments: see above. */
- q = LEFT(p);
- if (RED(q))
- {
- SETBLACK(q);
- SETRED(p);
- SETLEFT(p,RIGHT(q));
- SETRIGHT(q,p);
- SETNODEPTR(pp,q);
- nodestack[sp++] = pp = RIGHTPTR(q);
- q = LEFT(p);
- }
- if ((RIGHT(q) == NULL || !RED(RIGHT(q)))
- && (LEFT(q) == NULL || !RED(LEFT(q))))
- {
- SETRED(q);
- r = p;
- }
- else
- {
- if (LEFT(q) == NULL || !RED(LEFT(q)))
- {
- node q2 = RIGHT(q);
- if (RED(p))
- SETRED(q2);
- else
- SETBLACK(q2);
- SETLEFT(p,RIGHT(q2));
- SETRIGHT(q,LEFT(q2));
- SETLEFT(q2,q);
- SETRIGHT(q2,p);
- SETNODEPTR(pp,q2);
- SETBLACK(p);
- }
- else
- {
- if (RED(p))
- SETRED(q);
- else
- SETBLACK(q);
- SETBLACK(p);
- SETBLACK(LEFT(q));
- SETLEFT(p,RIGHT(q));
- SETRIGHT(q,p);
- SETNODEPTR(pp,q);
- }
- sp = 1;
- r = NULL;
- }
- }
- --sp;
- }
- if (r != NULL)
- SETBLACK(r);
- }
-
- free (unchained);
- return retval;
-}
-libc_hidden_def (__tdelete)
-weak_alias (__tdelete, tdelete)
-
-
-/* Walk the nodes of a tree.
- ROOT is the root of the tree to be walked, ACTION the function to be
- called at each node. LEVEL is the level of ROOT in the whole tree. */
-static void
-internal_function
-trecurse (const void *vroot, __action_fn_t action, int level)
-{
- const_node root = (const_node) vroot;
-
- if (LEFT(root) == NULL && RIGHT(root) == NULL)
- (*action) (root, leaf, level);
- else
- {
- (*action) (root, preorder, level);
- if (LEFT(root) != NULL)
- trecurse (LEFT(root), action, level + 1);
- (*action) (root, postorder, level);
- if (RIGHT(root) != NULL)
- trecurse (RIGHT(root), action, level + 1);
- (*action) (root, endorder, level);
- }
-}
-
-
-/* Walk the nodes of a tree.
- ROOT is the root of the tree to be walked, ACTION the function to be
- called at each node. */
-void
-__twalk (const void *vroot, __action_fn_t action)
-{
- const_node root = (const_node) vroot;
-
- CHECK_TREE ((node) root);
-
- if (root != NULL && action != NULL)
- trecurse (root, action, 0);
-}
-libc_hidden_def (__twalk)
-weak_alias (__twalk, twalk)
-
-
-
-/* The standardized functions miss an important functionality: the
- tree cannot be removed easily. We provide a function to do this. */
-static void
-internal_function
-tdestroy_recurse (node root, __free_fn_t freefct)
-{
- if (LEFT(root) != NULL)
- tdestroy_recurse (LEFT(root), freefct);
- if (RIGHT(root) != NULL)
- tdestroy_recurse (RIGHT(root), freefct);
- (*freefct) ((void *) root->key);
- /* Free the node itself. */
- free (root);
-}
-
-void
-__tdestroy (void *vroot, __free_fn_t freefct)
-{
- node root = (node) vroot;
-
- CHECK_TREE (root);
-
- if (root != NULL)
- tdestroy_recurse (root, freefct);
-}
-weak_alias (__tdestroy, tdestroy)
diff --git a/misc/tst-atomic-long.c b/misc/tst-atomic-long.c
deleted file mode 100644
index f64d0638b1..0000000000
--- a/misc/tst-atomic-long.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Tests for atomic.h macros.
- Copyright (C) 2003-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
-
- 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 <bits/wordsize.h>
-
-#define atomic_t long
-#if __WORDSIZE == 64
-# define TEST_ATOMIC64 1
-#endif
-
-#include "tst-atomic.c"
diff --git a/misc/tst-atomic.c b/misc/tst-atomic.c
deleted file mode 100644
index 8c730f9923..0000000000
--- a/misc/tst-atomic.c
+++ /dev/null
@@ -1,639 +0,0 @@
-/* Tests for atomic.h macros.
- Copyright (C) 2003-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
-
- 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 <stdio.h>
-#include <atomic.h>
-
-#ifndef atomic_t
-# define atomic_t int
-#endif
-
-/* Test various atomic.h macros. */
-static int
-do_test (void)
-{
- atomic_t mem, expected;
- int ret = 0;
-
-#ifdef atomic_compare_and_exchange_val_acq
- mem = 24;
- if (atomic_compare_and_exchange_val_acq (&mem, 35, 24) != 24
- || mem != 35)
- {
- puts ("atomic_compare_and_exchange_val_acq test 1 failed");
- ret = 1;
- }
-
- mem = 12;
- if (atomic_compare_and_exchange_val_acq (&mem, 10, 15) != 12
- || mem != 12)
- {
- puts ("atomic_compare_and_exchange_val_acq test 2 failed");
- ret = 1;
- }
-
- mem = -15;
- if (atomic_compare_and_exchange_val_acq (&mem, -56, -15) != -15
- || mem != -56)
- {
- puts ("atomic_compare_and_exchange_val_acq test 3 failed");
- ret = 1;
- }
-
- mem = -1;
- if (atomic_compare_and_exchange_val_acq (&mem, 17, 0) != -1
- || mem != -1)
- {
- puts ("atomic_compare_and_exchange_val_acq test 4 failed");
- ret = 1;
- }
-#endif
-
- mem = 24;
- if (atomic_compare_and_exchange_bool_acq (&mem, 35, 24)
- || mem != 35)
- {
- puts ("atomic_compare_and_exchange_bool_acq test 1 failed");
- ret = 1;
- }
-
- mem = 12;
- if (! atomic_compare_and_exchange_bool_acq (&mem, 10, 15)
- || mem != 12)
- {
- puts ("atomic_compare_and_exchange_bool_acq test 2 failed");
- ret = 1;
- }
-
- mem = -15;
- if (atomic_compare_and_exchange_bool_acq (&mem, -56, -15)
- || mem != -56)
- {
- puts ("atomic_compare_and_exchange_bool_acq test 3 failed");
- ret = 1;
- }
-
- mem = -1;
- if (! atomic_compare_and_exchange_bool_acq (&mem, 17, 0)
- || mem != -1)
- {
- puts ("atomic_compare_and_exchange_bool_acq test 4 failed");
- ret = 1;
- }
-
- mem = 64;
- if (atomic_exchange_acq (&mem, 31) != 64
- || mem != 31)
- {
- puts ("atomic_exchange_acq test failed");
- ret = 1;
- }
-
- mem = 2;
- if (atomic_exchange_and_add (&mem, 11) != 2
- || mem != 13)
- {
- puts ("atomic_exchange_and_add test failed");
- ret = 1;
- }
-
- mem = 2;
- if (atomic_exchange_and_add_acq (&mem, 11) != 2
- || mem != 13)
- {
- puts ("atomic_exchange_and_add test failed");
- ret = 1;
- }
-
- mem = 2;
- if (atomic_exchange_and_add_rel (&mem, 11) != 2
- || mem != 13)
- {
- puts ("atomic_exchange_and_add test failed");
- ret = 1;
- }
-
- mem = -21;
- atomic_add (&mem, 22);
- if (mem != 1)
- {
- puts ("atomic_add test failed");
- ret = 1;
- }
-
- mem = -1;
- atomic_increment (&mem);
- if (mem != 0)
- {
- puts ("atomic_increment test failed");
- ret = 1;
- }
-
- mem = 2;
- if (atomic_increment_val (&mem) != 3)
- {
- puts ("atomic_increment_val test failed");
- ret = 1;
- }
-
- mem = 0;
- if (atomic_increment_and_test (&mem)
- || mem != 1)
- {
- puts ("atomic_increment_and_test test 1 failed");
- ret = 1;
- }
-
- mem = 35;
- if (atomic_increment_and_test (&mem)
- || mem != 36)
- {
- puts ("atomic_increment_and_test test 2 failed");
- ret = 1;
- }
-
- mem = -1;
- if (! atomic_increment_and_test (&mem)
- || mem != 0)
- {
- puts ("atomic_increment_and_test test 3 failed");
- ret = 1;
- }
-
- mem = 17;
- atomic_decrement (&mem);
- if (mem != 16)
- {
- puts ("atomic_decrement test failed");
- ret = 1;
- }
-
- if (atomic_decrement_val (&mem) != 15)
- {
- puts ("atomic_decrement_val test failed");
- ret = 1;
- }
-
- mem = 0;
- if (atomic_decrement_and_test (&mem)
- || mem != -1)
- {
- puts ("atomic_decrement_and_test test 1 failed");
- ret = 1;
- }
-
- mem = 15;
- if (atomic_decrement_and_test (&mem)
- || mem != 14)
- {
- puts ("atomic_decrement_and_test test 2 failed");
- ret = 1;
- }
-
- mem = 1;
- if (! atomic_decrement_and_test (&mem)
- || mem != 0)
- {
- puts ("atomic_decrement_and_test test 3 failed");
- ret = 1;
- }
-
- mem = 1;
- if (atomic_decrement_if_positive (&mem) != 1
- || mem != 0)
- {
- puts ("atomic_decrement_if_positive test 1 failed");
- ret = 1;
- }
-
- mem = 0;
- if (atomic_decrement_if_positive (&mem) != 0
- || mem != 0)
- {
- puts ("atomic_decrement_if_positive test 2 failed");
- ret = 1;
- }
-
- mem = -1;
- if (atomic_decrement_if_positive (&mem) != -1
- || mem != -1)
- {
- puts ("atomic_decrement_if_positive test 3 failed");
- ret = 1;
- }
-
- mem = -12;
- if (! atomic_add_negative (&mem, 10)
- || mem != -2)
- {
- puts ("atomic_add_negative test 1 failed");
- ret = 1;
- }
-
- mem = 0;
- if (atomic_add_negative (&mem, 100)
- || mem != 100)
- {
- puts ("atomic_add_negative test 2 failed");
- ret = 1;
- }
-
- mem = 15;
- if (atomic_add_negative (&mem, -10)
- || mem != 5)
- {
- puts ("atomic_add_negative test 3 failed");
- ret = 1;
- }
-
- mem = -12;
- if (atomic_add_negative (&mem, 14)
- || mem != 2)
- {
- puts ("atomic_add_negative test 4 failed");
- ret = 1;
- }
-
- mem = 0;
- if (! atomic_add_negative (&mem, -1)
- || mem != -1)
- {
- puts ("atomic_add_negative test 5 failed");
- ret = 1;
- }
-
- mem = -31;
- if (atomic_add_negative (&mem, 31)
- || mem != 0)
- {
- puts ("atomic_add_negative test 6 failed");
- ret = 1;
- }
-
- mem = -34;
- if (atomic_add_zero (&mem, 31)
- || mem != -3)
- {
- puts ("atomic_add_zero test 1 failed");
- ret = 1;
- }
-
- mem = -36;
- if (! atomic_add_zero (&mem, 36)
- || mem != 0)
- {
- puts ("atomic_add_zero test 2 failed");
- ret = 1;
- }
-
- mem = 113;
- if (atomic_add_zero (&mem, -13)
- || mem != 100)
- {
- puts ("atomic_add_zero test 3 failed");
- ret = 1;
- }
-
- mem = -18;
- if (atomic_add_zero (&mem, 20)
- || mem != 2)
- {
- puts ("atomic_add_zero test 4 failed");
- ret = 1;
- }
-
- mem = 10;
- if (atomic_add_zero (&mem, -20)
- || mem != -10)
- {
- puts ("atomic_add_zero test 5 failed");
- ret = 1;
- }
-
- mem = 10;
- if (! atomic_add_zero (&mem, -10)
- || mem != 0)
- {
- puts ("atomic_add_zero test 6 failed");
- ret = 1;
- }
-
- mem = 0;
- atomic_bit_set (&mem, 1);
- if (mem != 2)
- {
- puts ("atomic_bit_set test 1 failed");
- ret = 1;
- }
-
- mem = 8;
- atomic_bit_set (&mem, 3);
- if (mem != 8)
- {
- puts ("atomic_bit_set test 2 failed");
- ret = 1;
- }
-
-#ifdef TEST_ATOMIC64
- mem = 16;
- atomic_bit_set (&mem, 35);
- if (mem != 0x800000010LL)
- {
- puts ("atomic_bit_set test 3 failed");
- ret = 1;
- }
-#endif
-
- mem = 0;
- if (atomic_bit_test_set (&mem, 1)
- || mem != 2)
- {
- puts ("atomic_bit_test_set test 1 failed");
- ret = 1;
- }
-
- mem = 8;
- if (! atomic_bit_test_set (&mem, 3)
- || mem != 8)
- {
- puts ("atomic_bit_test_set test 2 failed");
- ret = 1;
- }
-
-#ifdef TEST_ATOMIC64
- mem = 16;
- if (atomic_bit_test_set (&mem, 35)
- || mem != 0x800000010LL)
- {
- puts ("atomic_bit_test_set test 3 failed");
- ret = 1;
- }
-
- mem = 0x100000000LL;
- if (! atomic_bit_test_set (&mem, 32)
- || mem != 0x100000000LL)
- {
- puts ("atomic_bit_test_set test 4 failed");
- ret = 1;
- }
-#endif
-
-#ifdef catomic_compare_and_exchange_val_acq
- mem = 24;
- if (catomic_compare_and_exchange_val_acq (&mem, 35, 24) != 24
- || mem != 35)
- {
- puts ("catomic_compare_and_exchange_val_acq test 1 failed");
- ret = 1;
- }
-
- mem = 12;
- if (catomic_compare_and_exchange_val_acq (&mem, 10, 15) != 12
- || mem != 12)
- {
- puts ("catomic_compare_and_exchange_val_acq test 2 failed");
- ret = 1;
- }
-
- mem = -15;
- if (catomic_compare_and_exchange_val_acq (&mem, -56, -15) != -15
- || mem != -56)
- {
- puts ("catomic_compare_and_exchange_val_acq test 3 failed");
- ret = 1;
- }
-
- mem = -1;
- if (catomic_compare_and_exchange_val_acq (&mem, 17, 0) != -1
- || mem != -1)
- {
- puts ("catomic_compare_and_exchange_val_acq test 4 failed");
- ret = 1;
- }
-#endif
-
- mem = 24;
- if (catomic_compare_and_exchange_bool_acq (&mem, 35, 24)
- || mem != 35)
- {
- puts ("catomic_compare_and_exchange_bool_acq test 1 failed");
- ret = 1;
- }
-
- mem = 12;
- if (! catomic_compare_and_exchange_bool_acq (&mem, 10, 15)
- || mem != 12)
- {
- puts ("catomic_compare_and_exchange_bool_acq test 2 failed");
- ret = 1;
- }
-
- mem = -15;
- if (catomic_compare_and_exchange_bool_acq (&mem, -56, -15)
- || mem != -56)
- {
- puts ("catomic_compare_and_exchange_bool_acq test 3 failed");
- ret = 1;
- }
-
- mem = -1;
- if (! catomic_compare_and_exchange_bool_acq (&mem, 17, 0)
- || mem != -1)
- {
- puts ("catomic_compare_and_exchange_bool_acq test 4 failed");
- ret = 1;
- }
-
- mem = 2;
- if (catomic_exchange_and_add (&mem, 11) != 2
- || mem != 13)
- {
- puts ("catomic_exchange_and_add test failed");
- ret = 1;
- }
-
- mem = -21;
- catomic_add (&mem, 22);
- if (mem != 1)
- {
- puts ("catomic_add test failed");
- ret = 1;
- }
-
- mem = -1;
- catomic_increment (&mem);
- if (mem != 0)
- {
- puts ("catomic_increment test failed");
- ret = 1;
- }
-
- mem = 2;
- if (catomic_increment_val (&mem) != 3)
- {
- puts ("catomic_increment_val test failed");
- ret = 1;
- }
-
- mem = 17;
- catomic_decrement (&mem);
- if (mem != 16)
- {
- puts ("catomic_decrement test failed");
- ret = 1;
- }
-
- if (catomic_decrement_val (&mem) != 15)
- {
- puts ("catomic_decrement_val test failed");
- ret = 1;
- }
-
- /* Tests for C11-like atomics. */
- mem = 11;
- if (atomic_load_relaxed (&mem) != 11 || atomic_load_acquire (&mem) != 11)
- {
- puts ("atomic_load_{relaxed,acquire} test failed");
- ret = 1;
- }
-
- atomic_store_relaxed (&mem, 12);
- if (mem != 12)
- {
- puts ("atomic_store_relaxed test failed");
- ret = 1;
- }
- atomic_store_release (&mem, 13);
- if (mem != 13)
- {
- puts ("atomic_store_release test failed");
- ret = 1;
- }
-
- mem = 14;
- expected = 14;
- if (!atomic_compare_exchange_weak_relaxed (&mem, &expected, 25)
- || mem != 25 || expected != 14)
- {
- puts ("atomic_compare_exchange_weak_relaxed test 1 failed");
- ret = 1;
- }
- if (atomic_compare_exchange_weak_relaxed (&mem, &expected, 14)
- || mem != 25 || expected != 25)
- {
- puts ("atomic_compare_exchange_weak_relaxed test 2 failed");
- ret = 1;
- }
- mem = 14;
- expected = 14;
- if (!atomic_compare_exchange_weak_acquire (&mem, &expected, 25)
- || mem != 25 || expected != 14)
- {
- puts ("atomic_compare_exchange_weak_acquire test 1 failed");
- ret = 1;
- }
- if (atomic_compare_exchange_weak_acquire (&mem, &expected, 14)
- || mem != 25 || expected != 25)
- {
- puts ("atomic_compare_exchange_weak_acquire test 2 failed");
- ret = 1;
- }
- mem = 14;
- expected = 14;
- if (!atomic_compare_exchange_weak_release (&mem, &expected, 25)
- || mem != 25 || expected != 14)
- {
- puts ("atomic_compare_exchange_weak_release test 1 failed");
- ret = 1;
- }
- if (atomic_compare_exchange_weak_release (&mem, &expected, 14)
- || mem != 25 || expected != 25)
- {
- puts ("atomic_compare_exchange_weak_release test 2 failed");
- ret = 1;
- }
-
- mem = 23;
- if (atomic_exchange_acquire (&mem, 42) != 23 || mem != 42)
- {
- puts ("atomic_exchange_acquire test failed");
- ret = 1;
- }
- mem = 23;
- if (atomic_exchange_release (&mem, 42) != 23 || mem != 42)
- {
- puts ("atomic_exchange_release test failed");
- ret = 1;
- }
-
- mem = 23;
- if (atomic_fetch_add_relaxed (&mem, 1) != 23 || mem != 24)
- {
- puts ("atomic_fetch_add_relaxed test failed");
- ret = 1;
- }
- mem = 23;
- if (atomic_fetch_add_acquire (&mem, 1) != 23 || mem != 24)
- {
- puts ("atomic_fetch_add_acquire test failed");
- ret = 1;
- }
- mem = 23;
- if (atomic_fetch_add_release (&mem, 1) != 23 || mem != 24)
- {
- puts ("atomic_fetch_add_release test failed");
- ret = 1;
- }
- mem = 23;
- if (atomic_fetch_add_acq_rel (&mem, 1) != 23 || mem != 24)
- {
- puts ("atomic_fetch_add_acq_rel test failed");
- ret = 1;
- }
-
- mem = 3;
- if (atomic_fetch_and_acquire (&mem, 2) != 3 || mem != 2)
- {
- puts ("atomic_fetch_and_acquire test failed");
- ret = 1;
- }
-
- mem = 4;
- if (atomic_fetch_or_relaxed (&mem, 2) != 4 || mem != 6)
- {
- puts ("atomic_fetch_or_relaxed test failed");
- ret = 1;
- }
- mem = 4;
- if (atomic_fetch_or_acquire (&mem, 2) != 4 || mem != 6)
- {
- puts ("atomic_fetch_or_acquire test failed");
- ret = 1;
- }
-
- /* This is a single-threaded test, so we can't test the effects of the
- fences. */
- atomic_thread_fence_acquire ();
- atomic_thread_fence_release ();
- atomic_thread_fence_seq_cst ();
-
- return ret;
-}
-
-#include <support/test-driver.c>
diff --git a/misc/tst-dirname.c b/misc/tst-dirname.c
deleted file mode 100644
index 41c2a9ba75..0000000000
--- a/misc/tst-dirname.c
+++ /dev/null
@@ -1,72 +0,0 @@
-/* Test program for dirname function a la XPG.
- Copyright (C) 1996-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
-
- 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/>. */
-
-#define _GNU_SOURCE 1
-#include <libgen.h>
-#include <stdio.h>
-#include <string.h>
-
-
-static int
-test (const char *input, const char *result)
-{
- int retval;
- char *cp;
- cp = strdupa (input);
- cp = dirname (cp);
- retval = strcmp (cp, result);
- if (retval)
- printf ("dirname(\"%s\") should be \"%s\", but is \"%s\"\n",
- input, result, cp);
- return retval;
-}
-
-static int
-do_test (void)
-{
- int result = 0;
-
- /* These are the examples given in XPG4.2. */
- result |= test ("/usr/lib", "/usr");
- result |= test ("/usr/", "/");
- result |= test ("usr", ".");
- result |= test ("/", "/");
- result |= test (".", ".");
- result |= test ("..", ".");
-
- /* Some more tests. */
- result |= test ("/usr/lib/", "/usr");
- result |= test ("/usr", "/");
- result |= test ("a//", ".");
- result |= test ("a////", ".");
- result |= test ("////usr", "/");
- result |= test ("////usr//", "/");
- result |= test ("//usr", "//");
- result |= test ("//usr//", "//");
- result |= test ("//", "//");
-
- /* Other Unix implementations behave like this. */
- result |= test ("x///y", "x");
- result |= test ("x/////y", "x");
-
- return result != 0;
-}
-
-#define TEST_FUNCTION do_test ()
-#include "../test-skeleton.c"
diff --git a/misc/tst-efgcvt.c b/misc/tst-efgcvt.c
deleted file mode 100644
index 4459f6248a..0000000000
--- a/misc/tst-efgcvt.c
+++ /dev/null
@@ -1,216 +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 _GNU_SOURCE
-# define _GNU_SOURCE 1
-#endif
-
-#include <float.h>
-#include <math.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-int error_count;
-
-typedef struct
-{
- double value;
- int ndigit;
- int decpt;
- char result[30];
-} testcase;
-
-typedef char * ((*efcvt_func) (double, int, int *, int *));
-
-typedef int ((*efcvt_r_func) (double, int, int *, int *, char *, size_t));
-
-
-static testcase ecvt_tests[] =
-{
- { 0.0, 0, 1, "" },
- { 10.0, 0, 2, "" },
- { 10.0, 1, 2, "1" },
- { 10.0, 5, 2, "10000" },
- { -12.0, 5, 2, "12000" },
- { 0.2, 4, 0, "2000" },
- { 0.02, 4, -1, "2000" },
- { 5.5, 1, 1, "6" },
- { 1.0, -1, 1, "" },
- { 0.01, 2, -1, "10" },
- { 100.0, -2, 3, "" },
- { 100.0, -5, 3, "" },
- { 100.0, -4, 3, "" },
- { 100.01, -4, 3, "" },
- { 123.01, -4, 3, "" },
- { 126.71, -4, 3, "" },
- { 0.0, 4, 1, "0000" },
-#if DBL_MANT_DIG == 53
- { 0x1p-1074, 3, -323, "494" },
- { -0x1p-1074, 3, -323, "494" },
-#endif
- /* -1.0 is end marker. */
- { -1.0, 0, 0, "" }
-};
-
-static testcase fcvt_tests[] =
-{
- { 0.0, 0, 1, "0" },
- { 10.0, 0, 2, "10" },
- { 10.0, 1, 2, "100" },
- { 10.0, 4, 2, "100000" },
- { -12.0, 5, 2, "1200000" },
- { 0.2, 4, 0, "2000" },
- { 0.02, 4, -1, "200" },
- { 5.5, 1, 1, "55" },
- { 5.5, 0, 1, "6" },
- { 0.01, 2, -1, "1" },
- { 100.0, -2, 3, "100" },
- { 100.0, -5, 3, "100" },
- { 100.0, -4, 3, "100" },
- { 100.01, -4, 3, "100" },
- { 123.01, -4, 3, "100" },
- { 126.71, -4, 3, "100" },
- { 322.5, 16, 3, "3225000000000000000" },
- /* -1.0 is end marker. */
- { -1.0, 0, 0, "" }
-};
-
-static void
-output_error (const char *name, double value, int ndigit,
- const char *exp_p, int exp_decpt, int exp_sign,
- char *res_p, int res_decpt, int res_sign)
-{
- printf ("%s returned wrong result for value: %f, ndigits: %d\n",
- name, value, ndigit);
- printf ("Result was p: \"%s\", decpt: %d, sign: %d\n",
- res_p, res_decpt, res_sign);
- printf ("Should be p: \"%s\", decpt: %d, sign: %d\n",
- exp_p, exp_decpt, exp_sign);
- ++error_count;
-}
-
-
-static void
-output_r_error (const char *name, double value, int ndigit,
- const char *exp_p, int exp_decpt, int exp_sign, int exp_return,
- char *res_p, int res_decpt, int res_sign, int res_return)
-{
- printf ("%s returned wrong result for value: %f, ndigits: %d\n",
- name, value, ndigit);
- printf ("Result was buf: \"%s\", decpt: %d, sign: %d return value: %d\n",
- res_p, res_decpt, res_sign, res_return);
- printf ("Should be buf: \"%s\", decpt: %d, sign: %d\n",
- exp_p, exp_decpt, exp_sign);
- ++error_count;
-}
-
-static void
-test (testcase tests[], efcvt_func efcvt, const char *name)
-{
- int no = 0;
- int decpt, sign;
- char *p;
-
- while (tests[no].value != -1.0)
- {
- p = efcvt (tests[no].value, tests[no].ndigit, &decpt, &sign);
- if (decpt != tests[no].decpt
- || sign != (tests[no].value < 0)
- || strcmp (p, tests[no].result) != 0)
- output_error (name, tests[no].value, tests[no].ndigit,
- tests[no].result, tests[no].decpt,
- (tests[no].value < 0),
- p, decpt, sign);
- ++no;
- }
-}
-
-static void
-test_r (testcase tests[], efcvt_r_func efcvt_r, const char *name)
-{
- int no = 0;
- int decpt, sign, res;
- char buf [1024];
-
-
- while (tests[no].value != -1.0)
- {
- res = efcvt_r (tests[no].value, tests[no].ndigit, &decpt, &sign,
- buf, sizeof (buf));
- if (res != 0
- || decpt != tests[no].decpt
- || sign != (tests[no].value < 0)
- || strcmp (buf, tests[no].result) != 0)
- output_r_error (name, tests[no].value, tests[no].ndigit,
- tests[no].result, tests[no].decpt, 0,
- (tests[no].value < 0),
- buf, decpt, sign, res);
- ++no;
- }
-}
-
-static void
-special (void)
-{
- int decpt, sign, res;
- char *p;
- char buf [1024];
-
- p = ecvt (NAN, 10, &decpt, &sign);
- if (sign != 0 || strcmp (p, "nan") != 0)
- output_error ("ecvt", NAN, 10, "nan", 0, 0, p, decpt, sign);
-
- p = ecvt (INFINITY, 10, &decpt, &sign);
- if (sign != 0 || strcmp (p, "inf") != 0)
- output_error ("ecvt", INFINITY, 10, "inf", 0, 0, p, decpt, sign);
-
- /* Simply make sure these calls with large NDIGITs don't crash. */
- (void) ecvt (123.456, 10000, &decpt, &sign);
- (void) fcvt (123.456, 10000, &decpt, &sign);
-
- /* Some tests for the reentrant functions. */
- /* Use a too small buffer. */
- res = ecvt_r (123.456, 10, &decpt, &sign, buf, 1);
- if (res == 0)
- {
- printf ("ecvt_r with a too small buffer was succesful.\n");
- ++error_count;
- }
- res = fcvt_r (123.456, 10, &decpt, &sign, buf, 1);
- if (res == 0)
- {
- printf ("fcvt_r with a too small buffer was succesful.\n");
- ++error_count;
- }
-}
-
-
-static int
-do_test (void)
-{
- test (ecvt_tests, ecvt, "ecvt");
- test (fcvt_tests, fcvt, "fcvt");
- test_r (ecvt_tests, ecvt_r, "ecvt_r");
- test_r (fcvt_tests, fcvt_r, "fcvt_r");
- special ();
-
- return error_count;
-}
-
-#define TEST_FUNCTION do_test ()
-#include "../test-skeleton.c"
diff --git a/misc/tst-empty.c b/misc/tst-empty.c
deleted file mode 100644
index 31860b06b3..0000000000
--- a/misc/tst-empty.c
+++ /dev/null
@@ -1,8 +0,0 @@
-/* The most useful C program known to man. */
-static int
-do_test (void)
-{
- return 0;
-}
-
-#include <support/test-driver.c>
diff --git a/misc/tst-error1.c b/misc/tst-error1.c
deleted file mode 100644
index 9c4a62fbd0..0000000000
--- a/misc/tst-error1.c
+++ /dev/null
@@ -1,37 +0,0 @@
-#include <error.h>
-#include <mcheck.h>
-#include <stdio.h>
-#include <string.h>
-#include <wchar.h>
-#include <libc-diag.h>
-
-static int
-do_test (int argc, char *argv[])
-{
- mtrace ();
- (void) freopen (argc == 1 ? "/dev/stdout" : argv[1], "a", stderr);
- /* Orient the stream. */
- fwprintf (stderr, L"hello world\n");
- char buf[20000];
- static const char str[] = "hello world! ";
- for (int i = 0; i < 1000; ++i)
- memcpy (&buf[i * (sizeof (str) - 1)], str, sizeof (str));
- error (0, 0, str);
-
- /* We're testing a large format string here and need to generate it
- to avoid this source file being ridiculous. So disable the warning
- about a generated format string. */
- DIAG_PUSH_NEEDS_COMMENT;
- DIAG_IGNORE_NEEDS_COMMENT (4.9, "-Wformat-security");
-
- error (0, 0, buf);
- error (0, 0, buf);
-
- DIAG_POP_NEEDS_COMMENT;
-
- error (0, 0, str);
- return 0;
-}
-
-#define TEST_FUNCTION do_test (argc, argv)
-#include "../test-skeleton.c"
diff --git a/misc/tst-fdset.c b/misc/tst-fdset.c
deleted file mode 100644
index f0944bdbd3..0000000000
--- a/misc/tst-fdset.c
+++ /dev/null
@@ -1,67 +0,0 @@
-/* Test FD* macros.
- Copyright (C) 1997-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Robert Bihlmeyer <robbe@orcus.priv.at>.
-
- 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 <stdio.h>
-#include <sys/types.h>
-
-static int
-do_test (void)
-{
- int retval = 0;
- int i;
- fd_set set;
-
- FD_ZERO (&set);
- for (i=0; i < FD_SETSIZE; ++i)
- {
- printf ("%d => check:", i);
- if (FD_ISSET (i, &set) == 0)
- fputs ("ok", stdout);
- else
- {
- fputs ("nok", stdout);
- retval = 1;
- }
- fputs (", set", stdout);
- FD_SET (i, &set);
- fputs (", check:", stdout);
- if (FD_ISSET (i, &set))
- fputs ("ok", stdout);
- else
- {
- fputs ("nok", stdout);
- retval = 1;
- }
- fputs (", clear", stdout);
- FD_CLR (i, &set);
- fputs (", check:", stdout);
- if (FD_ISSET (i, &set) == 0)
- puts ("ok");
- else
- {
- puts ("nok");
- retval = 1;
- }
- }
-
- return retval;
-}
-
-#define TEST_FUNCTION do_test ()
-#include "../test-skeleton.c"
diff --git a/misc/tst-hsearch.c b/misc/tst-hsearch.c
deleted file mode 100644
index d390f1dcf3..0000000000
--- a/misc/tst-hsearch.c
+++ /dev/null
@@ -1,34 +0,0 @@
-#include <search.h>
-#include <stdio.h>
-
-static int
-do_test (void)
-{
- int a = 1;
- int b = 2;
- ENTRY i;
- ENTRY *e;
-
- if (hcreate (20) == 0)
- {
- puts ("hcreate failed");
- return 1;
- }
-
- i.key = (char *) "one";
- i.data = &a;
- if (hsearch (i, ENTER) == NULL)
- return 1;
-
- i.key = (char *) "one";
- i.data = &b;
- e = hsearch (i, ENTER);
- printf ("e.data = %d\n", *(int *) e->data);
- if (*(int *) e->data != 1)
- return 1;
-
- return 0;
-}
-
-#define TEST_FUNCTION do_test ()
-#include "../test-skeleton.c"
diff --git a/misc/tst-insremque.c b/misc/tst-insremque.c
deleted file mode 100644
index 9f17055ef5..0000000000
--- a/misc/tst-insremque.c
+++ /dev/null
@@ -1,61 +0,0 @@
-#include <search.h>
-#include <stdio.h>
-#include <string.h>
-
-#define CHECK(cond) \
- do \
- if (! (cond)) \
- { \
- printf ("Condition " #cond " not true on line %d\n", __LINE__); \
- ret = 1; \
- } \
- while (0)
-
-static int
-do_test (void)
-{
- struct qelem elements[4];
- int ret = 0;
-
- /* Linear list. */
- memset (elements, 0xff, sizeof (elements));
- insque (&elements[0], NULL);
- remque (&elements[0]);
- insque (&elements[0], NULL);
- insque (&elements[2], &elements[0]);
- insque (&elements[1], &elements[0]);
- insque (&elements[3], &elements[2]);
- remque (&elements[2]);
- insque (&elements[2], &elements[0]);
- CHECK (elements[0].q_back == NULL);
- CHECK (elements[0].q_forw == &elements[2]);
- CHECK (elements[1].q_back == &elements[2]);
- CHECK (elements[1].q_forw == &elements[3]);
- CHECK (elements[2].q_back == &elements[0]);
- CHECK (elements[2].q_forw == &elements[1]);
- CHECK (elements[3].q_back == &elements[1]);
- CHECK (elements[3].q_forw == NULL);
-
- /* Circular list. */
- memset (elements, 0xff, sizeof (elements));
- elements[0].q_back = &elements[0];
- elements[0].q_forw = &elements[0];
- insque (&elements[2], &elements[0]);
- insque (&elements[1], &elements[0]);
- insque (&elements[3], &elements[2]);
- remque (&elements[2]);
- insque (&elements[2], &elements[0]);
- CHECK (elements[0].q_back == &elements[3]);
- CHECK (elements[0].q_forw == &elements[2]);
- CHECK (elements[1].q_back == &elements[2]);
- CHECK (elements[1].q_forw == &elements[3]);
- CHECK (elements[2].q_back == &elements[0]);
- CHECK (elements[2].q_forw == &elements[1]);
- CHECK (elements[3].q_back == &elements[1]);
- CHECK (elements[3].q_forw == &elements[0]);
-
- return ret;
-}
-
-#define TEST_FUNCTION do_test ()
-#include "../test-skeleton.c"
diff --git a/misc/tst-makedev.c b/misc/tst-makedev.c
deleted file mode 100644
index 173896849a..0000000000
--- a/misc/tst-makedev.c
+++ /dev/null
@@ -1,104 +0,0 @@
-/* Tests of functions to access `dev_t' values.
- Copyright (C) 2016-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/types.h>
-#include <sys/sysmacros.h>
-#include <stdio.h>
-#include <inttypes.h>
-
-/* Confirm that makedev (major (d), minor (d)) == d. */
-static int
-do_test_split_combine (dev_t d1)
-{
- unsigned int maj = major (d1);
- unsigned int min = minor (d1);
- dev_t d2 = makedev (maj, min);
- if (d1 != d2)
- {
- printf ("FAIL: %016" PRIx64 " != %016" PRIx64 " (maj %08x min %08x)\n",
- (uint64_t)d2, (uint64_t)d1, maj, min);
- return 1;
- }
- else
- return 0;
-}
-
-/* Confirm that major (makedev (maj, min)) == maj and
- minor (makedev (maj, min)) == min. */
-static int
-do_test_combine_split (unsigned int maj1, unsigned int min1)
-{
- dev_t d = makedev (maj1, min1);
- unsigned int maj2 = major (d);
- unsigned int min2 = minor (d);
- if (maj1 != maj2 && min1 != min2)
- {
- printf ("FAIL: %08x != %08x, %08x != %08x (dev %016" PRIx64 ")\n",
- maj2, maj1, min2, min1, (uint64_t)d);
- return 1;
- }
- else if (maj1 != maj2)
- {
- printf ("FAIL: %08x != %08x, %08x == %08x (dev %016" PRIx64 ")\n",
- maj2, maj1, min2, min1, (uint64_t)d);
- return 1;
- }
- else if (min1 != min2)
- {
- printf ("FAIL: %08x == %08x, %08x != %08x (dev %016" PRIx64 ")\n",
- maj2, maj1, min2, min1, (uint64_t)d);
- return 1;
- }
- else
- return 0;
-}
-
-static int
-do_test (void)
-{
- dev_t d;
- unsigned int maj, min;
- int status = 0;
-
- /* Test the traditional range (16-bit dev_t, 8-bit each maj/min)
- exhaustively. */
- for (d = 0; d <= 0xFFFF; d++)
- status |= do_test_split_combine (d);
-
- for (maj = 0; maj <= 0xFF; maj++)
- for (min = 0; min <= 0xFF; min++)
- status |= do_test_combine_split (maj, min);
-
- /* Test glibc's expanded range (64-bit dev_t, 32-bit each maj/min).
- Exhaustive testing would take much too long, instead we shift a
- pair of 1-bits over each range. */
- {
- unsigned int a, b;
- for (a = 0; a <= 63; a++)
- do_test_split_combine (((dev_t) 0x03) << a);
-
- for (a = 0; a < 31; a++)
- for (b = 0; b <= 31; b++)
- do_test_combine_split (0x03u << a, 0x03u << b);
- }
-
- return status;
-}
-
-#define TEST_FUNCTION do_test ()
-#include "../test-skeleton.c"
diff --git a/misc/tst-mntent-blank-corrupt.c b/misc/tst-mntent-blank-corrupt.c
deleted file mode 100644
index cff3d6de3f..0000000000
--- a/misc/tst-mntent-blank-corrupt.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Make sure blank lines does not cause memory corruption BZ #18887.
-
- Copyright (C) 2009-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 <mntent.h>
-#include <stdio.h>
-#include <string.h>
-
-/* Make sure blank lines don't trigger memory corruption. This doesn't happen
- for all targets though, so it's a best effort test BZ #18887. */
-static int
-do_test (void)
-{
- FILE *fp;
-
- fp = tmpfile ();
- fputs ("\n \n/foo\\040dir /bar\\040dir auto bind \t \n", fp);
- rewind (fp);
-
- /* The corruption happens here ... */
- getmntent (fp);
- /* ... but trigers here. */
- endmntent (fp);
-
- /* If the test failed, we would crash, and not hit this point. */
- return 0;
-}
-
-#define TEST_FUNCTION do_test ()
-#include "../test-skeleton.c"
diff --git a/misc/tst-mntent-blank-passno.c b/misc/tst-mntent-blank-passno.c
deleted file mode 100644
index b8c826db37..0000000000
--- a/misc/tst-mntent-blank-passno.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/* Make sure trailing whitespace is handled properly BZ #17273.
-
- Copyright (C) 2009-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 <mntent.h>
-#include <stdio.h>
-#include <string.h>
-
-/* Check entries to make sure trailing whitespace is ignored and we return the
- correct passno value BZ #17273. */
-static int
-do_test (void)
-{
- int result = 0;
- FILE *fp;
- struct mntent *mnt;
-
- fp = tmpfile ();
- fputs ("/foo\\040dir /bar\\040dir auto bind \t \n", fp);
- rewind (fp);
-
- mnt = getmntent (fp);
- if (strcmp (mnt->mnt_fsname, "/foo dir") != 0
- || strcmp (mnt->mnt_dir, "/bar dir") != 0
- || strcmp (mnt->mnt_type, "auto") != 0
- || strcmp (mnt->mnt_opts, "bind") != 0
- || mnt->mnt_freq != 0
- || mnt->mnt_passno != 0)
- {
- puts ("Error while reading entry with trailing whitespaces");
- result = 1;
- }
-
- return result;
-}
-
-#define TEST_FUNCTION do_test ()
-#include "../test-skeleton.c"
diff --git a/misc/tst-mntent.c b/misc/tst-mntent.c
deleted file mode 100644
index b6ad8afcc6..0000000000
--- a/misc/tst-mntent.c
+++ /dev/null
@@ -1,82 +0,0 @@
-/* Test case by Horst von Brand <vonbrand@sleipnir.valparaiso.cl>
- and Ulrich Drepper <drepper@cygnus.com>. */
-#include <mntent.h>
-#include <stdio.h>
-#include <string.h>
-
-
-static int
-do_test (void)
-{
- int result = 0;
- struct mntent mef;
- struct mntent *mnt = &mef;
- FILE *fp;
-
- mef.mnt_fsname = strdupa ("/dev/hda1");
- mef.mnt_dir = strdupa ("/some dir");
- mef.mnt_type = strdupa ("ext2");
- mef.mnt_opts = strdupa ("defaults");
- mef.mnt_freq = 1;
- mef.mnt_passno = 2;
-
- if (hasmntopt (mnt, "defaults"))
- printf ("Found!\n");
- else
- {
- printf ("Didn't find it\n");
- result = 1;
- }
-
- fp = tmpfile ();
- if (fp == NULL)
- {
- printf ("Cannot open temporary file: %m\n");
- result = 1;
- }
- else
- {
- char buf[1024];
-
- /* Write the name entry. */
- addmntent (fp, &mef);
-
- /* Prepare for reading. */
- rewind (fp);
-
- /* First, read it raw. */
- if (fgets (buf, sizeof (buf), fp) == NULL)
- {
- printf ("Cannot read temporary file: %m");
- result = 1;
- }
- else
- if (strcmp (buf, "/dev/hda1 /some\\040dir ext2 defaults 1 2\n") != 0)
- {
- puts ("Raw file data not correct");
- result = 1;
- }
-
- /* Prepare for reading, part II. */
- rewind (fp);
-
- /* Now read it cooked. */
- mnt = getmntent (fp);
-
- if (strcmp (mnt->mnt_fsname, "/dev/hda1") != 0
- || strcmp (mnt->mnt_dir, "/some dir") != 0
- || strcmp (mnt->mnt_type, "ext2") != 0
- || strcmp (mnt->mnt_opts, "defaults") != 0
- || mnt->mnt_freq != 1
- || mnt->mnt_passno != 2)
- {
- puts ("Error while reading written entry back in");
- result = 1;
- }
- }
-
- return result;
-}
-
-#define TEST_FUNCTION do_test ()
-#include "../test-skeleton.c"
diff --git a/misc/tst-mntent2.c b/misc/tst-mntent2.c
deleted file mode 100644
index ba1ee0ae19..0000000000
--- a/misc/tst-mntent2.c
+++ /dev/null
@@ -1,44 +0,0 @@
-#include <mntent.h>
-#include <stdio.h>
-#include <string.h>
-
-
-static int
-do_test (void)
-{
- int result = 0;
- struct mntent mef;
-
- mef.mnt_fsname = strdupa ("/dev/sdf6");
- mef.mnt_dir = strdupa ("/some dir");
- mef.mnt_type = strdupa ("ext3");
- mef.mnt_opts = strdupa ("opt1,opt2,noopt=6,rw,norw,brw");
- mef.mnt_freq = 1;
- mef.mnt_passno = 2;
-
-#define TEST(opt, found) \
- if ((!!hasmntopt (&mef, (opt))) != (found)) \
- { \
- printf ("Option %s was %sfound\n", (opt), (found) ? "not " : ""); \
- result = 1; \
- }
-
- TEST ("opt1", 1)
- TEST ("opt2", 1)
- TEST ("noopt", 1)
- TEST ("rw", 1)
- TEST ("norw", 1)
- TEST ("brw", 1)
- TEST ("opt", 0)
- TEST ("oopt", 0)
- TEST ("w", 0)
- TEST ("r", 0)
- TEST ("br", 0)
- TEST ("nor", 0)
- TEST ("or", 0)
-
- return result;
-}
-
-#define TEST_FUNCTION do_test ()
-#include "../test-skeleton.c"
diff --git a/misc/tst-preadvwritev-common.c b/misc/tst-preadvwritev-common.c
deleted file mode 100644
index 676d4953ac..0000000000
--- a/misc/tst-preadvwritev-common.c
+++ /dev/null
@@ -1,122 +0,0 @@
-/* Common definitions for preadv and pwritev.
- Copyright (C) 2016-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 <stdio.h>
-#include <stdint.h>
-#include <errno.h>
-#include <string.h>
-#include <sys/uio.h>
-#include <sys/stat.h>
-
-#include <support/check.h>
-#include <support/temp_file.h>
-
-static char *temp_filename;
-static int temp_fd;
-
-static int do_test (void);
-
-static void
-do_prepare (int argc, char **argv)
-{
- temp_fd = create_temp_file ("tst-preadvwritev.", &temp_filename);
- if (temp_fd == -1)
- FAIL_EXIT1 ("cannot create temporary file");
-}
-#define PREPARE do_prepare
-
-#ifndef PREADV
-# define PREADV(__fd, __iov, __iovcnt, __offset) \
- preadv (__fd, __iov, __iovcnt, __offset)
-#endif
-
-#ifndef PWRITEV
-# define PWRITEV(__fd, __iov, __iovcnt, __offset) \
- pwritev (__fd, __iov, __iovcnt, __offset)
-#endif
-
-static int
-do_test_with_offset (off_t offset)
-{
- struct iovec iov[2];
- ssize_t ret;
-
- char buf1[32];
- char buf2[64];
-
- memset (buf1, 0xf0, sizeof buf1);
- memset (buf2, 0x0f, sizeof buf2);
-
- /* Write two buffer with 32 and 64 bytes respectively. */
- memset (iov, 0, sizeof iov);
- iov[0].iov_base = buf1;
- iov[0].iov_len = sizeof buf1;
- iov[1].iov_base = buf2;
- iov[1].iov_len = sizeof buf2;
-
- ret = PWRITEV (temp_fd, iov, 2, offset);
- if (ret == -1)
- FAIL_RET ("first pwritev returned -1");
- if (ret != (sizeof buf1 + sizeof buf2))
- FAIL_RET ("first pwritev returned an unexpected value");
-
- ret = PWRITEV (temp_fd, iov, 2, sizeof buf1 + sizeof buf2 + offset);
- if (ret == -1)
- FAIL_RET ("second pwritev returned -1");
- if (ret != (sizeof buf1 + sizeof buf2))
- FAIL_RET ("second pwritev returned an unexpected value");
-
- char buf3[32];
- char buf4[64];
-
- memset (buf3, 0x0f, sizeof buf3);
- memset (buf4, 0xf0, sizeof buf4);
-
- iov[0].iov_base = buf3;
- iov[0].iov_len = sizeof buf3;
- iov[1].iov_base = buf4;
- iov[1].iov_len = sizeof buf4;
-
- /* Now read two buffer with 32 and 64 bytes respectively. */
- ret = PREADV (temp_fd, iov, 2, offset);
- if (ret == -1)
- FAIL_RET ("first preadv returned -1");
- if (ret != (sizeof buf3 + sizeof buf4))
- FAIL_RET ("first preadv returned an unexpected value");
-
- if (memcmp (buf1, buf3, sizeof buf1) != 0)
- FAIL_RET ("first buffer from first preadv different than expected");
- if (memcmp (buf2, buf4, sizeof buf2) != 0)
- FAIL_RET ("second buffer from first preadv different than expected");
-
- ret = PREADV (temp_fd, iov, 2, sizeof buf3 + sizeof buf4 + offset);
- if (ret == -1)
- FAIL_RET ("second preadv returned -1");
- if (ret != (sizeof buf3 + sizeof buf4))
- FAIL_RET ("second preadv returned an unexpected value");
-
- /* And compare the buffers read and written to check if there are equal. */
- if (memcmp (buf1, buf3, sizeof buf1) != 0)
- FAIL_RET ("first buffer from second preadv different than expected");
- if (memcmp (buf2, buf4, sizeof buf2) != 0)
- FAIL_RET ("second buffer from second preadv different than expected");
-
- return 0;
-}
-
-#include <support/test-driver.c>
diff --git a/misc/tst-preadvwritev.c b/misc/tst-preadvwritev.c
deleted file mode 100644
index 72742bfa54..0000000000
--- a/misc/tst-preadvwritev.c
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Tests for preadv and pwritev.
- Copyright (C) 2016-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 "tst-preadvwritev-common.c"
-
-static int
-do_test (void)
-{
- return do_test_with_offset (0);
-}
diff --git a/misc/tst-preadvwritev2.c b/misc/tst-preadvwritev2.c
deleted file mode 100644
index cf36272dd3..0000000000
--- a/misc/tst-preadvwritev2.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Tests for preadv2 and pwritev2.
- Copyright (C) 2016-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/>. */
-
-#define PREADV(__fd, __iov, __iovcnt, __offset) \
- preadv2 (__fd, __iov, __iovcnt, __offset, 0)
-
-#define PWRITEV(__fd, __iov, __iovcnt, __offset) \
- pwritev2 (__fd, __iov, __iovcnt, __offset, 0)
-
-#include "tst-preadvwritev-common.c"
-
-static int
-do_test (void)
-{
- return do_test_with_offset (0);
-}
diff --git a/misc/tst-preadvwritev64.c b/misc/tst-preadvwritev64.c
deleted file mode 100644
index b115041b90..0000000000
--- a/misc/tst-preadvwritev64.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Tests for pread64 and pwrite64.
- Copyright (C) 2016-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/>. */
-
-#define _FILE_OFFSET_BITS 64
-#include "tst-preadvwritev-common.c"
-
-static int
-do_test (void)
-{
- int ret;
-
- ret = do_test_with_offset (0);
-
- /* Create a sparse file larger than 4GB to check if offset is handled
- correctly in p{write,read}v64. */
- off_t base_offset = UINT32_MAX + 2048LL;
- ret += do_test_with_offset (base_offset);
-
- struct stat st;
- if (fstat (temp_fd, &st) == -1)
- {
- printf ("error: fstat on temporary file failed: %m");
- return 1;
- }
-
- /* The total size should base_offset plus 2 * 96. */
- off_t expected_value = base_offset + (2 * (96LL));
- if (st.st_size != expected_value)
- {
- printf ("error: file size different than expected (%jd != %jd)\n",
- (intmax_t) expected_value, (intmax_t) st.st_size);
- return 1;
- }
-
- return ret;
-}
diff --git a/misc/tst-preadvwritev64v2.c b/misc/tst-preadvwritev64v2.c
deleted file mode 100644
index 8d0c48ea78..0000000000
--- a/misc/tst-preadvwritev64v2.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Tests for preadv2 and pwritev2 (LFS version).
- Copyright (C) 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/>. */
-
-#define _FILE_OFFSET_BITS 64
-
-#define PREADV(__fd, __iov, __iovcnt, __offset) \
- preadv2 (__fd, __iov, __iovcnt, __offset, 0)
-
-#define PWRITEV(__fd, __iov, __iovcnt, __offset) \
- pwritev2 (__fd, __iov, __iovcnt, __offset, 0)
-
-#include "tst-preadvwritev-common.c"
-
-static int
-do_test (void)
-{
- return do_test_with_offset (0);
-}
diff --git a/misc/tst-pselect.c b/misc/tst-pselect.c
deleted file mode 100644
index 0d11a809a0..0000000000
--- a/misc/tst-pselect.c
+++ /dev/null
@@ -1,130 +0,0 @@
-#include <errno.h>
-#include <signal.h>
-#include <stdio.h>
-#include <unistd.h>
-#include <sys/select.h>
-#include <sys/wait.h>
-#include <stdlib.h>
-
-
-static volatile int handler_called;
-
-static void
-handler (int sig)
-{
- handler_called = 1;
-}
-
-
-static int
-do_test (void)
-{
- struct sigaction sa;
- sa.sa_handler = handler;
- sa.sa_flags = 0;
- sigemptyset (&sa.sa_mask);
-
- if (sigaction (SIGUSR1, &sa, NULL) != 0)
- {
- puts ("sigaction failed");
- return 1;
- }
-
- sa.sa_handler = SIG_IGN;
- if (sigaction (SIGCHLD, &sa, NULL) != 0)
- {
- puts ("2nd sigaction failed");
- return 1;
- }
-
- sigset_t ss_usr1;
- sigemptyset (&ss_usr1);
- sigaddset (&ss_usr1, SIGUSR1);
- if (sigprocmask (SIG_BLOCK, &ss_usr1, NULL) != 0)
- {
- puts ("sigprocmask failed");
- return 1;
- }
-
- int fds[2][2];
-
- if (pipe (fds[0]) != 0 || pipe (fds[1]) != 0)
- {
- puts ("pipe failed");
- return 1;
- }
-
- fd_set rfds;
- FD_ZERO (&rfds);
-
- sigset_t ss;
- sigprocmask (SIG_SETMASK, NULL, &ss);
- sigdelset (&ss, SIGUSR1);
-
- struct timespec to = { .tv_sec = 0, .tv_nsec = 500000000 };
-
- pid_t parent = getpid ();
- pid_t p = fork ();
- if (p == 0)
- {
- close (fds[0][1]);
- close (fds[1][0]);
-
- FD_SET (fds[0][0], &rfds);
-
- int e;
- do
- {
- if (getppid () != parent)
- exit (2);
-
- errno = 0;
- e = pselect (fds[0][0] + 1, &rfds, NULL, NULL, &to, &ss);
- }
- while (e == 0);
-
- if (e != -1)
- {
- puts ("child: pselect did not fail");
- return 0;
- }
- if (errno != EINTR)
- {
- puts ("child: pselect did not set errno to EINTR");
- return 0;
- }
-
- TEMP_FAILURE_RETRY (write (fds[1][1], "foo", 3));
-
- exit (0);
- }
-
- close (fds[0][0]);
- close (fds[1][1]);
-
- FD_SET (fds[1][0], &rfds);
-
- kill (p, SIGUSR1);
-
- int e = pselect (fds[1][0] + 1, &rfds, NULL, NULL, NULL, &ss);
- if (e == -1)
- {
- puts ("parent: pselect failed");
- return 1;
- }
- if (e != 1)
- {
- puts ("parent: pselect did not report readable fd");
- return 1;
- }
- if (!FD_ISSET (fds[1][0], &rfds))
- {
- puts ("parent: pselect reports wrong fd");
- return 1;
- }
-
- return 0;
-}
-
-#define TEST_FUNCTION do_test ()
-#include "../test-skeleton.c"
diff --git a/misc/tst-tsearch.c b/misc/tst-tsearch.c
deleted file mode 100644
index 6c8fff0e3f..0000000000
--- a/misc/tst-tsearch.c
+++ /dev/null
@@ -1,356 +0,0 @@
-/* Test program for tsearch et al.
- Copyright (C) 1997-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 _GNU_SOURCE
-# define _GNU_SOURCE 1
-#endif
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <search.h>
-#include <tst-stack-align.h>
-
-#define SEED 0
-#define BALANCED 1
-#define PASSES 100
-
-#if BALANCED
-#include <math.h>
-#define SIZE 1000
-#else
-#define SIZE 100
-#endif
-
-enum order
-{
- ascending,
- descending,
- randomorder
-};
-
-enum action
-{
- build,
- build_and_del,
- delete,
- find
-};
-
-/* Set to 1 if a test is flunked. */
-static int error = 0;
-
-/* The keys we add to the tree. */
-static int x[SIZE];
-
-/* Pointers into the key array, possibly permutated, to define an order
- for insertion/removal. */
-static int y[SIZE];
-
-/* Flags set for each element visited during a tree walk. */
-static int z[SIZE];
-
-/* Depths for all the elements, to check that the depth is constant for
- all three visits. */
-static int depths[SIZE];
-
-/* Maximum depth during a tree walk. */
-static int max_depth;
-
-static int stack_align_check[2];
-
-/* Compare two keys. */
-static int
-cmp_fn (const void *a, const void *b)
-{
- if (!stack_align_check[0])
- stack_align_check[0] = TEST_STACK_ALIGN () ? -1 : 1;
- return *(const int *) a - *(const int *) b;
-}
-
-/* Permute an array of integers. */
-static void
-memfry (int *string)
-{
- int i;
-
- for (i = 0; i < SIZE; ++i)
- {
- int32_t j;
- int c;
-
- j = random () % SIZE;
-
- c = string[i];
- string[i] = string[j];
- string[j] = c;
- }
-}
-
-static void
-walk_action (const void *nodep, const VISIT which, const int depth)
-{
- int key = **(int **) nodep;
-
- if (!stack_align_check[1])
- stack_align_check[1] = TEST_STACK_ALIGN () ? -1 : 1;
-
- if (depth > max_depth)
- max_depth = depth;
- if (which == leaf || which == preorder)
- {
- ++z[key];
- depths[key] = depth;
- }
- else
- {
- if (depths[key] != depth)
- {
- fputs ("Depth for one element is not constant during tree walk.\n",
- stdout);
- }
- }
-}
-
-static void
-walk_tree (void *root, int expected_count)
-{
- int i;
-
- memset (z, 0, sizeof z);
- max_depth = 0;
-
- twalk (root, walk_action);
- for (i = 0; i < expected_count; ++i)
- if (z[i] != 1)
- {
- fputs ("Node was not visited.\n", stdout);
- error = 1;
- }
-
-#if BALANCED
- if (max_depth > log (expected_count) * 2 + 2)
-#else
- if (max_depth > expected_count)
-#endif
- {
- fputs ("Depth too large during tree walk.\n", stdout);
- error = 1;
- }
-}
-
-/* Perform an operation on a tree. */
-static void
-mangle_tree (enum order how, enum action what, void **root, int lag)
-{
- int i;
-
- if (how == randomorder)
- {
- for (i = 0; i < SIZE; ++i)
- y[i] = i;
- memfry (y);
- }
-
- for (i = 0; i < SIZE + lag; ++i)
- {
- void *elem;
- int j, k;
-
- switch (how)
- {
- case randomorder:
- if (i >= lag)
- k = y[i - lag];
- else
- /* Ensure that the array index is within bounds. */
- k = y[(SIZE - i - 1 + lag) % SIZE];
- j = y[i % SIZE];
- break;
-
- case ascending:
- k = i - lag;
- j = i;
- break;
-
- case descending:
- k = SIZE - i - 1 + lag;
- j = SIZE - i - 1;
- break;
-
- default:
- /* This never should happen, but gcc isn't smart enough to
- recognize it. */
- abort ();
- }
-
- switch (what)
- {
- case build_and_del:
- case build:
- if (i < SIZE)
- {
- if (tfind (x + j, (void *const *) root, cmp_fn) != NULL)
- {
- fputs ("Found element which is not in tree yet.\n", stdout);
- error = 1;
- }
- elem = tsearch (x + j, root, cmp_fn);
- if (elem == 0
- || tfind (x + j, (void *const *) root, cmp_fn) == NULL)
- {
- fputs ("Couldn't find element after it was added.\n",
- stdout);
- error = 1;
- }
- }
-
- if (what == build || i < lag)
- break;
-
- j = k;
- /* fall through */
-
- case delete:
- elem = tfind (x + j, (void *const *) root, cmp_fn);
- if (elem == NULL || tdelete (x + j, root, cmp_fn) == NULL)
- {
- fputs ("Error deleting element.\n", stdout);
- error = 1;
- }
- break;
-
- case find:
- if (tfind (x + j, (void *const *) root, cmp_fn) == NULL)
- {
- fputs ("Couldn't find element after it was added.\n", stdout);
- error = 1;
- }
- break;
-
- }
- }
-}
-
-
-static int
-do_test (void)
-{
- int total_error = 0;
- static char state[8] = { 1, 2, 3, 4, 5, 6, 7, 8 };
- void *root = NULL;
- int i, j;
-
- initstate (SEED, state, 8);
-
- for (i = 0; i < SIZE; ++i)
- x[i] = i;
-
- /* Do this loop several times to get different permutations for the
- random case. */
- fputs ("Series I\n", stdout);
- for (i = 0; i < PASSES; ++i)
- {
- fprintf (stdout, "Pass %d... ", i + 1);
- fflush (stdout);
- error = 0;
-
- mangle_tree (ascending, build, &root, 0);
- mangle_tree (ascending, find, &root, 0);
- mangle_tree (descending, find, &root, 0);
- mangle_tree (randomorder, find, &root, 0);
- walk_tree (root, SIZE);
- mangle_tree (ascending, delete, &root, 0);
-
- mangle_tree (ascending, build, &root, 0);
- walk_tree (root, SIZE);
- mangle_tree (descending, delete, &root, 0);
-
- mangle_tree (ascending, build, &root, 0);
- walk_tree (root, SIZE);
- mangle_tree (randomorder, delete, &root, 0);
-
- mangle_tree (descending, build, &root, 0);
- mangle_tree (ascending, find, &root, 0);
- mangle_tree (descending, find, &root, 0);
- mangle_tree (randomorder, find, &root, 0);
- walk_tree (root, SIZE);
- mangle_tree (descending, delete, &root, 0);
-
- mangle_tree (descending, build, &root, 0);
- walk_tree (root, SIZE);
- mangle_tree (descending, delete, &root, 0);
-
- mangle_tree (descending, build, &root, 0);
- walk_tree (root, SIZE);
- mangle_tree (randomorder, delete, &root, 0);
-
- mangle_tree (randomorder, build, &root, 0);
- mangle_tree (ascending, find, &root, 0);
- mangle_tree (descending, find, &root, 0);
- mangle_tree (randomorder, find, &root, 0);
- walk_tree (root, SIZE);
- mangle_tree (randomorder, delete, &root, 0);
-
- for (j = 1; j < SIZE; j *= 2)
- {
- mangle_tree (randomorder, build_and_del, &root, j);
- }
-
- fputs (error ? " failed!\n" : " ok.\n", stdout);
- total_error |= error;
- }
-
- fputs ("Series II\n", stdout);
- for (i = 1; i < SIZE; i *= 2)
- {
- fprintf (stdout, "For size %d... ", i);
- fflush (stdout);
- error = 0;
-
- mangle_tree (ascending, build_and_del, &root, i);
- mangle_tree (descending, build_and_del, &root, i);
- mangle_tree (ascending, build_and_del, &root, i);
- mangle_tree (descending, build_and_del, &root, i);
- mangle_tree (ascending, build_and_del, &root, i);
- mangle_tree (descending, build_and_del, &root, i);
- mangle_tree (ascending, build_and_del, &root, i);
- mangle_tree (descending, build_and_del, &root, i);
-
- fputs (error ? " failed!\n" : " ok.\n", stdout);
- total_error |= error;
- }
-
- for (i = 0; i < 2; ++i)
- if (stack_align_check[i] == 0)
- {
- printf ("stack alignment check %d not run\n", i);
- total_error |= 1;
- }
- else if (stack_align_check[i] != 1)
- {
- printf ("stack insufficiently aligned in check %d\n", i);
- total_error |= 1;
- }
-
- return total_error;
-}
-
-#define TIMEOUT 10
-#define TEST_FUNCTION do_test ()
-#include "../test-skeleton.c"
diff --git a/misc/ttyent.h b/misc/ttyent.h
deleted file mode 100644
index fe418a5377..0000000000
--- a/misc/ttyent.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright (c) 1989, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * @(#)ttyent.h 8.1 (Berkeley) 6/2/93
- */
-
-#ifndef _TTYENT_H
-#define _TTYENT_H 1
-
-#include <features.h>
-
-#define _PATH_TTYS "/etc/ttys"
-
-#define _TTYS_OFF "off"
-#define _TTYS_ON "on"
-#define _TTYS_SECURE "secure"
-#define _TTYS_WINDOW "window"
-
-struct ttyent {
- char *ty_name; /* terminal device name */
- char *ty_getty; /* command to execute, usually getty */
- char *ty_type; /* terminal type for termcap */
-#define TTY_ON 0x01 /* enable logins (start ty_getty program) */
-#define TTY_SECURE 0x02 /* allow uid of 0 to login */
- int ty_status; /* status flags */
- char *ty_window; /* command to start up window manager */
- char *ty_comment; /* comment field */
-};
-
-
-__BEGIN_DECLS
-
-extern struct ttyent *getttyent (void) __THROW;
-extern struct ttyent *getttynam (const char *__tty) __THROW;
-extern int setttyent (void) __THROW;
-extern int endttyent (void) __THROW;
-
-__END_DECLS
-
-#endif /* ttyent.h */
diff --git a/misc/ttyslot.c b/misc/ttyslot.c
deleted file mode 100644
index 2f3c7953d7..0000000000
--- a/misc/ttyslot.c
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (c) 1988, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#if defined(LIBC_SCCS) && !defined(lint)
-static char sccsid[] = "@(#)ttyslot.c 8.1 (Berkeley) 6/4/93";
-#endif /* LIBC_SCCS and not lint */
-
-#include <ttyent.h>
-#include <alloca.h>
-#include <stdio.h>
-#include <string.h>
-#include <unistd.h>
-
-int
-ttyslot (void)
-{
- struct ttyent *ttyp;
- int slot;
- char *p;
- int cnt;
- size_t buflen = __sysconf (_SC_TTY_NAME_MAX) + 1;
- char *name;
-
- if (buflen == 0)
- /* This should be enough if no fixed value is given. */
- buflen = 32;
-
- name = __alloca (buflen);
-
- __setttyent();
- for (cnt = 0; cnt < 3; ++cnt)
- if (__ttyname_r (cnt, name, buflen) == 0) {
- if ((p = strrchr (name, '/')))
- ++p;
- else
- p = name;
- for (slot = 1; (ttyp = __getttyent()); ++slot)
- if (!strcmp(ttyp->ty_name, p)) {
- __endttyent();
- return(slot);
- }
- break;
- }
- __endttyent();
- return(0);
-}
diff --git a/misc/ualarm.c b/misc/ualarm.c
deleted file mode 100644
index cf6ef7914c..0000000000
--- a/misc/ualarm.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Copyright (C) 1991-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 <errno.h>
-#include <unistd.h>
-
-/* Set an alarm to go off (generating a SIGALRM signal) in VALUE microseconds.
- If INTERVAL is nonzero, when the alarm goes off, the timer is reset to go
- off every INTERVAL microseconds thereafter.
-
- Returns the number of microseconds remaining before the alarm. */
-useconds_t
-ualarm (useconds_t value, useconds_t interval)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (ualarm)
diff --git a/misc/usleep.c b/misc/usleep.c
deleted file mode 100644
index 6f96f55652..0000000000
--- a/misc/usleep.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Copyright (C) 1991-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 <errno.h>
-#include <unistd.h>
-
-/* Sleep USECONDS microseconds, or until a previously set timer goes off. */
-int
-usleep (useconds_t useconds)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (usleep)
diff --git a/misc/ustat.c b/misc/ustat.c
deleted file mode 100644
index 10450ef5af..0000000000
--- a/misc/ustat.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Return info on filesystem.
- 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/>. */
-
-#include <unistd.h>
-#include <errno.h>
-#include <sys/ustat.h>
-
-int
-ustat (dev_t dev, struct ustat *ust)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-stub_warning (ustat)
diff --git a/misc/ustat.h b/misc/ustat.h
deleted file mode 100644
index cba150e446..0000000000
--- a/misc/ustat.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <sys/ustat.h>
diff --git a/misc/utimes.c b/misc/utimes.c
deleted file mode 100644
index 73d91ace1c..0000000000
--- a/misc/utimes.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Copyright (C) 1991-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>
-#include <errno.h>
-#include <stddef.h>
-
-/* Change the access time of FILE to TVP[0] and
- the modification time of FILE to TVP[1]. */
-int
-__utimes (const char *file, const struct timeval tvp[2])
-{
- if (file == NULL)
- {
- __set_errno (EINVAL);
- return -1;
- }
-
- __set_errno (ENOSYS);
- return -1;
-}
-
-weak_alias (__utimes, utimes)
-
-stub_warning (utimes)
diff --git a/misc/vhangup.c b/misc/vhangup.c
deleted file mode 100644
index 20baffe7c9..0000000000
--- a/misc/vhangup.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Copyright (C) 1991-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 <errno.h>
-#include <unistd.h>
-
-/* Revoke access permissions to all processes currently communicating
- with the control terminal, and then send a SIGHUP signal to the process
- group of the control terminal. */
-int
-vhangup (void)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (vhangup)
diff --git a/misc/writev.c b/misc/writev.c
deleted file mode 100644
index c8d222e04f..0000000000
--- a/misc/writev.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright (C) 1991-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 <errno.h>
-#include <unistd.h>
-#include <sys/uio.h>
-
-/* Write data pointed by the buffers described by VECTOR, which
- is a vector of COUNT `struct iovec's, to file descriptor FD.
- The data is written in the order specified.
- Operates just like `write' (see <unistd.h>) except that the data
- are taken from VECTOR instead of a contiguous buffer. */
-ssize_t
-__writev (int fd, const struct iovec *vector, int count)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-weak_alias (__writev, writev)
-
-stub_warning (writev)