diff options
author | Waldemar Brodkorb <wbx@openadk.org> | 2015-02-14 23:11:05 -0600 |
---|---|---|
committer | Waldemar Brodkorb <wbx@uclibc-ng.org> | 2015-12-05 21:10:30 +0100 |
commit | d2ac3a6b3a2d2369bec4bf9f0555ebbe72e7bdf5 (patch) | |
tree | d3a6afebcc602f01e07e3970b4305fba4871f358 | |
parent | 2fbe1ee66ad2107866d3fddd014c1349d135b424 (diff) |
good bye vax
I mailed with Jan-Benedict Glaw, it seems VAX on Linux
is really a lot of work todo and uClibc support didn't work ever.
32 files changed, 0 insertions, 1821 deletions
diff --git a/extra/Configs/Config.in b/extra/Configs/Config.in index dc7159d0a..df99a5c88 100644 --- a/extra/Configs/Config.in +++ b/extra/Configs/Config.in @@ -40,7 +40,6 @@ choice default TARGET_sh if DESIRED_TARGET_ARCH = "sh" default TARGET_sparc if DESIRED_TARGET_ARCH = "sparc" default TARGET_v850 if DESIRED_TARGET_ARCH = "v850" - default TARGET_vax if DESIRED_TARGET_ARCH = "vax" default TARGET_x86_64 if DESIRED_TARGET_ARCH = "x86_64" default TARGET_xtensa if DESIRED_TARGET_ARCH = "xtensa" help @@ -126,9 +125,6 @@ config TARGET_sparc #config TARGET_v850 # bool "v850 (BROKEN)" -#config TARGET_vax -# bool "vax" - config TARGET_x86_64 bool "x86_64" @@ -236,10 +232,6 @@ if TARGET_v850 source "extra/Configs/Config.v850" endif -if TARGET_vax -source "extra/Configs/Config.vax" -endif - if TARGET_x86_64 source "extra/Configs/Config.x86_64" endif @@ -589,7 +581,6 @@ config UCLIBC_HAS_THREADS_NATIVE !TARGET_microblaze && \ !TARGET_nios2 && \ !TARGET_or1k && \ - !TARGET_vax && \ ARCH_USE_MMU help If you want to compile uClibc with NPTL support, then answer Y. diff --git a/extra/Configs/Config.vax b/extra/Configs/Config.vax deleted file mode 100644 index 418e3e71c..000000000 --- a/extra/Configs/Config.vax +++ /dev/null @@ -1,15 +0,0 @@ -# -# For a description of the syntax of this configuration file, -# see extra/config/Kconfig-language.txt -# - -config TARGET_ARCH - string - default "vax" - -config FORCE_OPTIONS_FOR_ARCH - bool - default y - select ARCH_LITTLE_ENDIAN - select ARCH_HAS_NO_LDSO - select ARCH_HAS_DEPRECATED_SYSCALLS diff --git a/extra/Configs/defconfigs/vax/defconfig b/extra/Configs/defconfigs/vax/defconfig deleted file mode 100644 index 77a464e29..000000000 --- a/extra/Configs/defconfigs/vax/defconfig +++ /dev/null @@ -1 +0,0 @@ -TARGET_vax=y diff --git a/libc/inet/rpc/xdr_float.c b/libc/inet/rpc/xdr_float.c index 5121239ea..f8a2bb399 100644 --- a/libc/inet/rpc/xdr_float.c +++ b/libc/inet/rpc/xdr_float.c @@ -54,67 +54,12 @@ static char sccsid[] = "@(#)xdr_float.c 1.12 87/08/11 Copyr 1984 Sun Micro"; #define LSW (__FLOAT_WORD_ORDER == __BIG_ENDIAN) -#ifdef vax - -/* What IEEE single precision floating point looks like on a Vax */ -struct ieee_single { - unsigned int mantissa: 23; - unsigned int exp : 8; - unsigned int sign : 1; -}; - -/* Vax single precision floating point */ -struct vax_single { - unsigned int mantissa1 : 7; - unsigned int exp : 8; - unsigned int sign : 1; - unsigned int mantissa2 : 16; -}; - -#define VAX_SNG_BIAS 0x81 -#define IEEE_SNG_BIAS 0x7f - -static struct sgl_limits { - struct vax_single s; - struct ieee_single ieee; -} sgl_limits[2] = { - {{ 0x7f, 0xff, 0x0, 0xffff }, /* Max Vax */ - { 0x0, 0xff, 0x0 }}, /* Max IEEE */ - {{ 0x0, 0x0, 0x0, 0x0 }, /* Min Vax */ - { 0x0, 0x0, 0x0 }} /* Min IEEE */ -}; -#endif /* vax */ - bool_t xdr_float(XDR *xdrs, float *fp) { -#ifdef vax - struct ieee_single is; - struct vax_single vs, *vsp; - struct sgl_limits *lim; - int i; -#endif switch (xdrs->x_op) { case XDR_ENCODE: -#ifdef vax - vs = *((struct vax_single *)fp); - for (i = 0, lim = sgl_limits; - i < sizeof(sgl_limits)/sizeof(struct sgl_limits); - i++, lim++) { - if ((vs.mantissa2 == lim->s.mantissa2) && - (vs.exp == lim->s.exp) && - (vs.mantissa1 == lim->s.mantissa1)) { - is = lim->ieee; - goto shipit; - } - } - is.exp = vs.exp - VAX_SNG_BIAS + IEEE_SNG_BIAS; - is.mantissa = (vs.mantissa1 << 16) | vs.mantissa2; - shipit: - is.sign = vs.sign; - return (XDR_PUTLONG(xdrs, (long *)&is)); -#else if (sizeof(float) == sizeof(long)) return (XDR_PUTLONG(xdrs, (long *)fp)); else if (sizeof(float) == sizeof(int)) { @@ -122,29 +67,8 @@ xdr_float(XDR *xdrs, float *fp) return (XDR_PUTLONG(xdrs, &tmp)); } break; -#endif case XDR_DECODE: -#ifdef vax - vsp = (struct vax_single *)fp; - if (!XDR_GETLONG(xdrs, (long *)&is)) - return (FALSE); - for (i = 0, lim = sgl_limits; - i < sizeof(sgl_limits)/sizeof(struct sgl_limits); - i++, lim++) { - if ((is.exp == lim->ieee.exp) && - (is.mantissa == lim->ieee.mantissa)) { - *vsp = lim->s; - goto doneit; - } - } - vsp->exp = is.exp - IEEE_SNG_BIAS + VAX_SNG_BIAS; - vsp->mantissa2 = is.mantissa; - vsp->mantissa1 = (is.mantissa >> 16); - doneit: - vsp->sign = is.sign; - return (TRUE); -#else if (sizeof(float) == sizeof(long)) return (XDR_GETLONG(xdrs, (long *)fp)); else if (sizeof(float) == sizeof(int)) { @@ -155,7 +79,6 @@ xdr_float(XDR *xdrs, float *fp) } } break; -#endif case XDR_FREE: return (TRUE); @@ -163,82 +86,13 @@ xdr_float(XDR *xdrs, float *fp) return (FALSE); } -/* - * This routine works on Suns (Sky / 68000's) and Vaxen. - */ - -#ifdef vax -/* What IEEE double precision floating point looks like on a Vax */ -struct ieee_double { - unsigned int mantissa1 : 20; - unsigned int exp : 11; - unsigned int sign : 1; - unsigned int mantissa2 : 32; -}; - -/* Vax double precision floating point */ -struct vax_double { - unsigned int mantissa1 : 7; - unsigned int exp : 8; - unsigned int sign : 1; - unsigned int mantissa2 : 16; - unsigned int mantissa3 : 16; - unsigned int mantissa4 : 16; -}; - -#define VAX_DBL_BIAS 0x81 -#define IEEE_DBL_BIAS 0x3ff -#define MASK(nbits) ((1 << nbits) - 1) - -static struct dbl_limits { - struct vax_double d; - struct ieee_double ieee; -} dbl_limits[2] = { - {{ 0x7f, 0xff, 0x0, 0xffff, 0xffff, 0xffff }, /* Max Vax */ - { 0x0, 0x7ff, 0x0, 0x0 }}, /* Max IEEE */ - {{ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, /* Min Vax */ - { 0x0, 0x0, 0x0, 0x0 }} /* Min IEEE */ -}; - -#endif /* vax */ - - bool_t xdr_double(XDR *xdrs, double *dp) { -#ifdef vax - struct ieee_double id; - struct vax_double vd; - register struct dbl_limits *lim; - int i; -#endif switch (xdrs->x_op) { case XDR_ENCODE: -#ifdef vax - vd = *((struct vax_double *)dp); - for (i = 0, lim = dbl_limits; - i < sizeof(dbl_limits)/sizeof(struct dbl_limits); - i++, lim++) { - if ((vd.mantissa4 == lim->d.mantissa4) && - (vd.mantissa3 == lim->d.mantissa3) && - (vd.mantissa2 == lim->d.mantissa2) && - (vd.mantissa1 == lim->d.mantissa1) && - (vd.exp == lim->d.exp)) { - id = lim->ieee; - goto shipit; - } - } - id.exp = vd.exp - VAX_DBL_BIAS + IEEE_DBL_BIAS; - id.mantissa1 = (vd.mantissa1 << 13) | (vd.mantissa2 >> 3); - id.mantissa2 = ((vd.mantissa2 & MASK(3)) << 29) | - (vd.mantissa3 << 13) | - ((vd.mantissa4 >> 3) & MASK(13)); - shipit: - id.sign = vd.sign; - dp = (double *)&id; -#endif if (2*sizeof(long) == sizeof(double)) { long *lp = (long *)dp; return (XDR_PUTLONG(xdrs, lp+!LSW) && @@ -254,31 +108,6 @@ xdr_double(XDR *xdrs, double *dp) break; case XDR_DECODE: -#ifdef vax - lp = (long *)&id; - if (!XDR_GETLONG(xdrs, lp++) || !XDR_GETLONG(xdrs, lp)) - return (FALSE); - for (i = 0, lim = dbl_limits; - i < sizeof(dbl_limits)/sizeof(struct dbl_limits); - i++, lim++) { - if ((id.mantissa2 == lim->ieee.mantissa2) && - (id.mantissa1 == lim->ieee.mantissa1) && - (id.exp == lim->ieee.exp)) { - vd = lim->d; - goto doneit; - } - } - vd.exp = id.exp - IEEE_DBL_BIAS + VAX_DBL_BIAS; - vd.mantissa1 = (id.mantissa1 >> 13); - vd.mantissa2 = ((id.mantissa1 & MASK(13)) << 3) | - (id.mantissa2 >> 29); - vd.mantissa3 = (id.mantissa2 >> 13); - vd.mantissa4 = (id.mantissa2 << 3); - doneit: - vd.sign = id.sign; - *dp = *((double *)&vd); - return (TRUE); -#else if (2*sizeof(long) == sizeof(double)) { long *lp = (long *)dp; return (XDR_GETLONG(xdrs, lp+!LSW) && @@ -294,7 +123,6 @@ xdr_double(XDR *xdrs, double *dp) } } break; -#endif case XDR_FREE: return (TRUE); diff --git a/libc/sysdeps/linux/sparc/soft-fp/longlong.h b/libc/sysdeps/linux/sparc/soft-fp/longlong.h index ccff2d889..9eebae393 100644 --- a/libc/sysdeps/linux/sparc/soft-fp/longlong.h +++ b/libc/sysdeps/linux/sparc/soft-fp/longlong.h @@ -1197,51 +1197,6 @@ UDItype __umulsidi3 (USItype, USItype); #define UDIV_TIME 230 #endif /* sparc64 */ -#if defined (__vax__) && W_TYPE_SIZE == 32 -#define add_ssaaaa(sh, sl, ah, al, bh, bl) \ - __asm__ ("addl2 %5,%1\n\tadwc %3,%0" \ - : "=g" ((USItype) (sh)), \ - "=&g" ((USItype) (sl)) \ - : "%0" ((USItype) (ah)), \ - "g" ((USItype) (bh)), \ - "%1" ((USItype) (al)), \ - "g" ((USItype) (bl))) -#define sub_ddmmss(sh, sl, ah, al, bh, bl) \ - __asm__ ("subl2 %5,%1\n\tsbwc %3,%0" \ - : "=g" ((USItype) (sh)), \ - "=&g" ((USItype) (sl)) \ - : "0" ((USItype) (ah)), \ - "g" ((USItype) (bh)), \ - "1" ((USItype) (al)), \ - "g" ((USItype) (bl))) -#define umul_ppmm(xh, xl, m0, m1) \ - do { \ - union { \ - UDItype __ll; \ - struct {USItype __l, __h;} __i; \ - } __xx; \ - USItype __m0 = (m0), __m1 = (m1); \ - __asm__ ("emul %1,%2,$0,%0" \ - : "=r" (__xx.__ll) \ - : "g" (__m0), \ - "g" (__m1)); \ - (xh) = __xx.__i.__h; \ - (xl) = __xx.__i.__l; \ - (xh) += ((((SItype) __m0 >> 31) & __m1) \ - + (((SItype) __m1 >> 31) & __m0)); \ - } while (0) -#define sdiv_qrnnd(q, r, n1, n0, d) \ - do { \ - union {DItype __ll; \ - struct {SItype __l, __h;} __i; \ - } __xx; \ - __xx.__i.__h = n1; __xx.__i.__l = n0; \ - __asm__ ("ediv %3,%2,%0,%1" \ - : "=g" (q), "=g" (r) \ - : "g" (__xx.__ll), "g" (d)); \ - } while (0) -#endif /* __vax__ */ - #if defined (__xtensa__) && W_TYPE_SIZE == 32 /* This code is not Xtensa-configuration-specific, so rely on the compiler to expand builtin functions depending on what configuration features diff --git a/libc/sysdeps/linux/vax/Makefile b/libc/sysdeps/linux/vax/Makefile deleted file mode 100644 index b1bf1ef10..000000000 --- a/libc/sysdeps/linux/vax/Makefile +++ /dev/null @@ -1,15 +0,0 @@ -# Makefile for uClibc -# -# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org> -# -# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. -# - -TOPDIR=../../../../ - -top_srcdir=$(TOPDIR) -top_builddir=../../../../ -all: objs -include $(top_builddir)Rules.mak -include Makefile.arch -include $(top_srcdir)Makerules diff --git a/libc/sysdeps/linux/vax/Makefile.arch b/libc/sysdeps/linux/vax/Makefile.arch deleted file mode 100644 index 04ed10174..000000000 --- a/libc/sysdeps/linux/vax/Makefile.arch +++ /dev/null @@ -1,10 +0,0 @@ -# Makefile for uClibc -# -# Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org> -# Copyright (C) 2005-2006 Jan-Benedict Glaw <jbglaw@lug-owl.de> -# -# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. -# - -CSRC-y := brk.c -SSRC-y := __longjmp.S setjmp.S _setjmp.S clone.S diff --git a/libc/sysdeps/linux/vax/__longjmp.S b/libc/sysdeps/linux/vax/__longjmp.S deleted file mode 100644 index 61b37a3b9..000000000 --- a/libc/sysdeps/linux/vax/__longjmp.S +++ /dev/null @@ -1,47 +0,0 @@ -#include <features.h> - -/* - * longjmp.S atp sept 2001 - * Jan-Benedict Glaw <jbglaw@lug-owl.de> 2006 - * - * Restore regs and info and jmp back to a previous setjmp - */ - -.globl __longjmp -.align 4 -__longjmp: - .word 0x0040 /* This matches setjmp and PLT */ - movl 0x4(%ap), %r0 /* Our scratch reg */ -/* movl $0, %r0 */ -/* movl (%r0), %r0 */ - /* We are going to modify our stack frame */ - /* to the same as that of the setjmp we called earlier */ - movl (%r0), (%fp) /* cond handler */ - movl 0x4(%r0), 0x4(%fp) /* psw */ - movl 0x8(%r0), 0x8(%fp) /* ap */ - movl 0xc(%r0), 0xc(%fp) /* fp */ - movl 0x10(%r0), 0x10(%fp) /* pc */ - - /* Restore the regs */ - movl 0x14(%r0), %r1 - movl 0x18(%r0), %r2 - movl 0x1c(%r0), %r3 - movl 0x20(%r0), %r4 - movl 0x24(%r0), %r5 - movl 0x28(%r0), %r6 - movl 0x2c(%r0), %r7 - movl 0x30(%r0), %r8 - movl 0x34(%r0), %r9 - movl 0x38(%r0), %r10 - movl 0x3c(%r0), %r11 - - /* Check val and set to 1 if set to zero */ - movl 0x8(%ap), %r0 - tstl %r0 - bneq exit_ok - movl $0x1, %r0 -exit_ok: - ret -.size __longjmp,.-__longjmp -libc_hidden_def(__longjmp) - diff --git a/libc/sysdeps/linux/vax/_setjmp.S b/libc/sysdeps/linux/vax/_setjmp.S deleted file mode 100644 index 680ddd729..000000000 --- a/libc/sysdeps/linux/vax/_setjmp.S +++ /dev/null @@ -1,53 +0,0 @@ -.globl _setjmp -.align 4 -_setjmp: - .word 0x0040 - - /* push an empty word onto the stack */ - pushl $0 - - /* now copy handler, psw, ap, fp and pc on the stack up one word */ - movl 4(%sp), (%sp) /* copy handler */ - movl 8(%sp), 4(%sp) /* psw */ - movl 12(%sp), 8(%sp) /* ap */ - movl 16(%sp), 12(%sp) /* fp */ - movl 20(%sp), 16(%sp) /* pc */ - movl 24(%sp), 20(%sp) /* r6 from register mask */ - - movl $2, 24(%sp) /* set the number of arguments to 2 */ - movl 32(%sp), 28(%sp) /* copy the jmp_buf */ - movl $1, 32(%sp) /* put the 1 on the stack */ - - addl3 $24, %sp, %ap - movl %sp, %fp - - moval __sigsetjmp, %r0 - addl2 $2, %r0 - pushl %r0 - rsb - -.globl setjmp -.align 4 -setjmp: - .word 0x0040 - pushl $0 - - /* now copy handler, psw, ap, fp and pc on the stack up one word */ - movl 4(%sp), (%sp) - movl 8(%sp), 4(%sp) - movl 12(%sp), 8(%sp) - movl 16(%sp), 12(%sp) - movl 20(%sp), 16(%sp) - movl 24(%sp), 20(%sp) /* r6 from register mask */ - - movl $2, 24(%sp) /* set the number of arguments to 2 */ - movl 32(%sp), 28(%sp) /* copy the jmp_buf */ - movl $0, 32(%sp) /* put the 0 on the stack */ - - addl3 $24, %sp, %ap - movl %sp, %fp - - moval __sigsetjmp, %r0 - addl2 $2, %r0 - pushl %r0 - rsb diff --git a/libc/sysdeps/linux/vax/bits/endian.h b/libc/sysdeps/linux/vax/bits/endian.h deleted file mode 100644 index 9f0c4e2a9..000000000 --- a/libc/sysdeps/linux/vax/bits/endian.h +++ /dev/null @@ -1,9 +0,0 @@ -/* VAX is little endian */ - -#ifndef _ENDIAN_H -# error "Never use <bits/endian.h> directly; include <endian.h> instead." -#endif - -#define __BYTE_ORDER __LITTLE_ENDIAN - -/*#define __FLOAT_WORD_ORDER __BIG_ENDIAN*/ diff --git a/libc/sysdeps/linux/vax/bits/fcntl.h b/libc/sysdeps/linux/vax/bits/fcntl.h deleted file mode 100644 index a30d5e102..000000000 --- a/libc/sysdeps/linux/vax/bits/fcntl.h +++ /dev/null @@ -1,215 +0,0 @@ -/* O_*, F_*, FD_* bit values for Linux. - Copyright (C) 1995, 1996, 1997, 1998 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 Library General Public License as - published by the Free Software Foundation; either version 2 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with the GNU C Library; see the file COPYING.LIB. If not, - see <http://www.gnu.org/licenses/>. */ - -#ifndef _FCNTL_H -# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead." -#endif - - -#include <sys/types.h> -#ifdef __USE_GNU -# include <bits/uio.h> -#endif - -/* open/fcntl - O_SYNC is only implemented on blocks devices and on files - located on an ext2 file system */ -#define O_ACCMODE 0003 -#define O_RDONLY 00 -#define O_WRONLY 01 -#define O_RDWR 02 -#define O_CREAT 0100 /* not fcntl */ -#define O_EXCL 0200 /* not fcntl */ -#define O_NOCTTY 0400 /* not fcntl */ -#define O_TRUNC 01000 /* not fcntl */ -#define O_APPEND 02000 -#define O_NONBLOCK 04000 -#define O_NDELAY O_NONBLOCK -#define O_SYNC 010000 -#define O_FSYNC O_SYNC -#define O_ASYNC 020000 - -#ifdef __USE_GNU -# define O_DIRECTORY 040000 /* Must be a directory. */ -# define O_NOFOLLOW 0100000 /* Do not follow links. */ -#endif - -/* XXX missing */ -#ifdef __USE_LARGEFILE64 -# define O_LARGEFILE 0 -#endif - -/* For now Linux has synchronisity options for data and read operations. - We define the symbols here but let them do the same as O_SYNC since - this is a superset. */ -#if defined __USE_POSIX199309 || defined __USE_UNIX98 -# define O_DSYNC O_SYNC /* Synchronize data. */ -# define O_RSYNC O_SYNC /* Synchronize read operations. */ -#endif - -/* Values for the second argument to `fcntl'. */ -#define F_DUPFD 0 /* Duplicate file descriptor. */ -#define F_GETFD 1 /* Get file descriptor flags. */ -#define F_SETFD 2 /* Set file descriptor flags. */ -#define F_GETFL 3 /* Get file status flags. */ -#define F_SETFL 4 /* Set file status flags. */ -#define F_GETLK 5 /* Get record locking info. */ -#define F_SETLK 6 /* Set record locking info (non-blocking). */ -#define F_SETLKW 7 /* Set record locking info (blocking). */ - -/* XXX missing */ -#define F_GETLK64 5 /* Get record locking info. */ -#define F_SETLK64 6 /* Set record locking info (non-blocking). */ -#define F_SETLKW64 7 /* Set record locking info (blocking). */ - -#ifdef __USE_BSD -# define F_SETOWN 8 /* Get owner of socket (receiver of SIGIO). */ -# define F_GETOWN 9 /* Set owner of socket (receiver of SIGIO). */ -#endif - -#ifdef __USE_GNU -# define F_SETSIG 10 /* Set number of signal to be sent. */ -# define F_GETSIG 11 /* Get number of signal to be sent. */ -#endif - -#ifdef __USE_GNU -# define F_SETLEASE 1024 /* Set a lease. */ -# define F_GETLEASE 1025 /* Enquire what lease is active. */ -# define F_NOTIFY 1026 /* Request notfications on a directory. */ -# define F_DUPFD_CLOEXEC 1030 /* Duplicate file descriptor with - close-on-exit set on new fd. */ -# define F_SETPIPE_SZ 1031 /* Set pipe page size array. */ -# define F_GETPIPE_SZ 1032 /* Get pipe page size array. */ -#endif - -/* For F_[GET|SET]FL. */ -#define FD_CLOEXEC 1 /* actually anything with low bit set goes */ - -/* For posix fcntl() and `l_type' field of a `struct flock' for lockf(). */ -#define F_RDLCK 0 /* Read lock. */ -#define F_WRLCK 1 /* Write lock. */ -#define F_UNLCK 2 /* Remove lock. */ - -/* for old implementation of bsd flock () */ -#define F_EXLCK 4 /* or 3 */ -#define F_SHLCK 8 /* or 4 */ - -#ifdef __USE_BSD -/* Operations for bsd flock(), also used by the kernel implementation */ -# define LOCK_SH 1 /* shared lock */ -# define LOCK_EX 2 /* exclusive lock */ -# define LOCK_NB 4 /* or'd with one of the above to prevent - blocking */ -# define LOCK_UN 8 /* remove lock */ -#endif - -struct flock - { - short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ - short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ -#ifndef __USE_FILE_OFFSET64 - __off_t l_start; /* Offset where the lock begins. */ - __off_t l_len; /* Size of the locked area; zero means until EOF. */ -#else - __off64_t l_start; /* Offset where the lock begins. */ - __off64_t l_len; /* Size of the locked area; zero means until EOF. */ -#endif - __pid_t l_pid; /* Process holding the lock. */ - }; - -#ifdef __USE_LARGEFILE64 -struct flock64 - { - short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ - short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ - __off64_t l_start; /* Offset where the lock begins. */ - __off64_t l_len; /* Size of the locked area; zero means until EOF. */ - __pid_t l_pid; /* Process holding the lock. */ - }; -#endif - -/* Define some more compatibility macros to be backward compatible with - BSD systems which did not managed to hide these kernel macros. */ -#ifdef __USE_BSD -# define FAPPEND O_APPEND -# define FFSYNC O_FSYNC -# define FASYNC O_ASYNC -# define FNONBLOCK O_NONBLOCK -# define FNDELAY O_NDELAY -#endif /* Use BSD. */ - -/* Advise to `posix_fadvise'. */ -#ifdef __USE_XOPEN2K -# define POSIX_FADV_NORMAL 0 /* No further special treatment. */ -# define POSIX_FADV_RANDOM 1 /* Expect random page references. */ -# define POSIX_FADV_SEQUENTIAL 2 /* Expect sequential page references. */ -# define POSIX_FADV_WILLNEED 3 /* Will need these pages. */ -# define POSIX_FADV_DONTNEED 4 /* Don't need these pages. */ -# define POSIX_FADV_NOREUSE 5 /* Data will be accessed once. */ -#endif - - -#if defined __USE_GNU && defined __UCLIBC_LINUX_SPECIFIC__ -/* Flags for SYNC_FILE_RANGE. */ -# define SYNC_FILE_RANGE_WAIT_BEFORE 1 /* Wait upon writeout of all pages - in the range before performing the - write. */ -# define SYNC_FILE_RANGE_WRITE 2 /* Initiate writeout of all those - dirty pages in the range which are - not presently under writeback. */ -# define SYNC_FILE_RANGE_WAIT_AFTER 4 /* Wait upon writeout of all pages in - the range after performing the - write. */ - -/* Flags for SPLICE and VMSPLICE. */ -# define SPLICE_F_MOVE 1 /* Move pages instead of copying. */ -# define SPLICE_F_NONBLOCK 2 /* Don't block on the pipe splicing - (but we may still block on the fd - we splice from/to). */ -# define SPLICE_F_MORE 4 /* Expect more data. */ -# define SPLICE_F_GIFT 8 /* Pages passed in are a gift. */ -#endif - -__BEGIN_DECLS - -#if defined __USE_GNU && defined __UCLIBC_LINUX_SPECIFIC__ - -/* Provide kernel hint to read ahead. */ -extern ssize_t readahead (int __fd, __off64_t __offset, size_t __count) - __THROW; - - -/* Selective file content synch'ing. */ -extern int sync_file_range (int __fd, __off64_t __from, __off64_t __to, - unsigned int __flags); - -/* Splice address range into a pipe. */ -extern ssize_t vmsplice (int __fdout, const struct iovec *__iov, - size_t __count, unsigned int __flags); - -/* Splice two files together. */ -extern ssize_t splice (int __fdin, __off64_t *__offin, int __fdout, - __off64_t *__offout, size_t __len, - unsigned int __flags); - -/* In-kernel implementation of tee for pipe buffers. */ -extern ssize_t tee (int __fdin, int __fdout, size_t __len, - unsigned int __flags); - -#endif -__END_DECLS - diff --git a/libc/sysdeps/linux/vax/bits/huge_val.h b/libc/sysdeps/linux/vax/bits/huge_val.h deleted file mode 100644 index f479021ad..000000000 --- a/libc/sysdeps/linux/vax/bits/huge_val.h +++ /dev/null @@ -1,25 +0,0 @@ -/* `HUGE_VAL' constant for Vaxen. - Used by <stdlib.h> and <math.h> functions for overflow. - Copyright (C) 1992, 1996, 1997 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 _MATH_H -# error "Never use <bits/huge_val.h> directly; include <math.h> instead." -#endif - - -#define HUGE_VAL 1.70141182460469227e38 diff --git a/libc/sysdeps/linux/vax/bits/ipc.h b/libc/sysdeps/linux/vax/bits/ipc.h deleted file mode 100644 index e4dba68f2..000000000 --- a/libc/sysdeps/linux/vax/bits/ipc.h +++ /dev/null @@ -1,49 +0,0 @@ -/* Copyright (C) 1995, 1996, 1997, 1998 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 Library General Public License as - published by the Free Software Foundation; either version 2 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with the GNU C Library; see the file COPYING.LIB. If not, - see <http://www.gnu.org/licenses/>. */ - -#ifndef _SYS_IPC_H -# error "Never use <bits/ipc.h> directly; include <sys/ipc.h> instead." -#endif - -#include <sys/types.h> - -/* Mode bits for `msgget', `semget', and `shmget'. */ -#define IPC_CREAT 01000 /* Create key if key does not exist. */ -#define IPC_EXCL 02000 /* Fail if key exists. */ -#define IPC_NOWAIT 04000 /* Return error on wait. */ - -/* Control commands for `msgctl', `semctl', and `shmctl'. */ -#define IPC_RMID 0 /* Remove identifier. */ -#define IPC_SET 1 /* Set `ipc_perm' options. */ -#define IPC_STAT 2 /* Get `ipc_perm' options. */ -#define IPC_INFO 3 /* See ipcs. */ - -/* Special key values. */ -#define IPC_PRIVATE ((__key_t) 0) /* Private key. */ - - -/* Data structure used to pass permission information to IPC operations. */ -struct ipc_perm - { - __key_t __key; /* Key. */ - unsigned short int uid; /* Owner's user ID. */ - unsigned short int gid; /* Owner's group ID. */ - unsigned short int cuid; /* Creator's user ID. */ - unsigned short int cgid; /* Creator's group ID. */ - unsigned short int mode; /* Read/write permission. */ - unsigned short int __seq; /* Sequence number. */ - }; diff --git a/libc/sysdeps/linux/vax/bits/kernel_stat.h b/libc/sysdeps/linux/vax/bits/kernel_stat.h deleted file mode 100644 index a6da833c4..000000000 --- a/libc/sysdeps/linux/vax/bits/kernel_stat.h +++ /dev/null @@ -1,50 +0,0 @@ < |