Merge remote-tracking branch 'upstream/master' into HEAD

This commit is contained in:
Sam Clegg 2017-11-29 12:12:56 -08:00
commit 2b92b728e3
688 changed files with 17279 additions and 14633 deletions

2
.gitignore vendored
View File

@ -3,8 +3,6 @@
*.a
*.so
*.so.1
arch/*/bits/alltypes.h
config.mak
lib/musl-gcc.specs
src/internal/version.h
/obj/

View File

@ -25,6 +25,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Authors/contributors include:
Alex Dowad
Alexander Monakov
Anthony G. Basile
Arvid Picciani
@ -33,29 +34,39 @@ Boris Brezillon
Brent Cook
Chris Spiegel
Clément Vasseur
Daniel Micay
Denys Vlasenko
Emil Renner Berthing
Felix Fietkau
Felix Janda
Gianluca Anzolin
Hauke Mehrtens
Hiltjo Posthuma
Isaac Dunham
Jaydeep Patil
Jens Gustedt
Jeremy Huntwork
Jo-Philipp Wich
Joakim Sindholt
John Spencer
Josiah Worcester
Justin Cormack
Khem Raj
Kylie McClain
Luca Barbato
Luka Perkov
M Farkas-Dyck (Strake)
Mahesh Bodapati
Michael Forney
Natanael Copa
Nicholas J. Kain
orc
Pascal Cuoq
Petr Hosek
Pierre Carrier
Rich Felker
Richard Pennington
Shiz
sin
Solar Designer
Stefan Kristiansson
@ -83,14 +94,14 @@ Copyright © 2008 Stephen L. Moshier
and labelled as such in comments in the individual source files. All
have been licensed under extremely permissive terms.
The ARM memcpy code (src/string/armel/memcpy.s) is Copyright © 2008
The ARM memcpy code (src/string/arm/memcpy_el.S) is Copyright © 2008
The Android Open Source Project and is licensed under a two-clause BSD
license. It was taken from Bionic libc, used on Android.
The implementation of DES for crypt (src/misc/crypt_des.c) is
The implementation of DES for crypt (src/crypt/crypt_des.c) is
Copyright © 1994 David Burren. It is licensed under a BSD license.
The implementation of blowfish crypt (src/misc/crypt_blowfish.c) was
The implementation of blowfish crypt (src/crypt/crypt_blowfish.c) was
originally written by Solar Designer and placed into the public
domain. The code also comes with a fallback permissive license for use
in jurisdictions that may not recognize the public domain.
@ -104,16 +115,17 @@ licensed under following terms: "Permission to use, copy, modify,
and/or distribute this code for any purpose with or without fee is
hereby granted. There is no warranty."
The x86_64 port was written by Nicholas J. Kain. Several files (crt)
were released into the public domain; others are licensed under the
standard MIT license terms at the top of this file. See individual
files for their copyright status.
The x86_64 port was written by Nicholas J. Kain and is licensed under
the standard MIT terms.
The mips and microblaze ports were originally written by Richard
Pennington for use in the ellcc project. The original code was adapted
by Rich Felker for build system and code conventions during upstream
integration. It is licensed under the standard MIT terms.
The mips64 port was contributed by Imagination Technologies and is
licensed under the standard MIT terms.
The powerpc port was also originally written by Richard Pennington,
and later supplemented and integrated by John Spencer. It is licensed
under the standard MIT terms.
@ -126,15 +138,26 @@ can be found in the git version control history of the project. The
omission of copyright and license comments in each file is in the
interest of source tree size.
All public header files (include/* and arch/*/bits/*) should be
treated as Public Domain as they intentionally contain no content
which can be covered by copyright. Some source modules may fall in
this category as well. If you believe that a file is so trivial that
it should be in the Public Domain, please contact the authors and
request an explicit statement releasing it from copyright.
In addition, permission is hereby granted for all public header files
(include/* and arch/*/bits/*) and crt files intended to be linked into
applications (crt/*, ldso/dlstart.c, and arch/*/crt_arch.h) to omit
the copyright notice and permission notice otherwise required by the
license, and to use these files without any requirement of
attribution. These files include substantial contributions from:
The following files are trivial, believed not to be copyrightable in
the first place, and hereby explicitly released to the Public Domain:
Bobby Bingham
John Spencer
Nicholas J. Kain
Rich Felker
Richard Pennington
Stefan Kristiansson
Szabolcs Nagy
All public headers: include/*, arch/*/bits/*
Startup files: crt/*
all of whom have explicitly granted such permission.
This file previously contained text expressing a belief that most of
the files covered by the above exception were sufficiently trivial not
to be subject to copyright, resulting in confusion over whether it
negated the permissions granted in the license. In the spirit of
permissive licensing, and of not having licensing issues being an
obstacle to adoption, that text has been removed.

64
INSTALL
View File

@ -18,28 +18,18 @@ Build Prerequisites
The only build-time prerequisites for musl are GNU Make and a
freestanding C99 compiler toolchain targeting the desired instruction
set architecture and ABI, with support for gcc-style inline assembly,
weak aliases, and stand-alone assembly source files.
set architecture and ABI, with support for a minimal subset of "GNU C"
extensions consisting mainly of gcc-style inline assembly, weak
aliases, hidden visibility, and stand-alone assembly source files.
GCC, LLVM/clang, Firm/cparser, and PCC have all successfully built
musl, but GCC is the most widely used/tested. Recent compiler (and
binutils) versions should be used if possible since some older
versions have bugs which affect musl.
The system used to build musl does not need to be Linux-based, nor do
the Linux kernel headers need to be available.
If support for dynamic linking is desired, some further requirements
are placed on the compiler and linker. In particular, the linker must
support the -Bsymbolic-functions option.
At present, GCC 4.6 or later is the recommended compiler for building
musl. Any earlier version of GCC with full C99 support should also
work, but may be subject to minor floating point conformance issues on
i386 targets. Sufficiently recent versions of PCC and LLVM/clang are
also believed to work, but have not been tested as heavily; prior to
Fall 2012, both had known bugs that affected musl. Firm/cparser is
also believed to work but lacks support for producing shared
libraries. GCC 4.9.0 and 4.9.1 are known to have a serious bug
(#61144) which affects musl. Beginning with version 1.1.4 musl
attempts to work around the bug, but these compiler versions are still
considered unstable and unsupported.
Supported Targets
@ -53,12 +43,17 @@ and ABI combinations:
the `cmpxchg` instruction is added
* x86_64
* ILP32 ABI (x32) is available as a separate arch but is still
experimental
* ARM
* EABI, standard or hard-float VFP variant
* Little-endian default; big-endian variants also supported
* Compiler toolchains only support armv4t and later
* AArch64
* Little-endian default; big-endian variants also supported
* MIPS
* ABI is o32
* Big-endian default; little-endian variants also supported
@ -67,28 +62,39 @@ and ABI combinations:
* MIPS2 or later, or kernel emulation of ll/sc (standard in Linux)
is required
* MIPS64
* ABI is n64 (LP64)
* Big-endian default; little-endian variants also supported
* Default ABI variant uses FPU registers; alternate soft-float ABI
that does not use FPU registers or instructions is available
* PowerPC
* Only 32-bit is supported
* Compiler toolchain must provide 64-bit long double, not IBM
double-double or IEEE quad
* For dynamic linking, compiler toolchain must be configured for
"secure PLT" variant
* PowerPC64
* Both little and big endian variants are supported
* Compiler toolchain must provide 64-bit long double, not IBM
double-double or IEEE quad
* Compiler toolchain must use the new (ELFv2) ABI regardless of
whether it is for little or big endian
* S390X (64-bit S390)
* SuperH (SH)
* Standard ELF ABI or FDPIC ABI (shared-text without MMU)
* Little-endian by default; big-engian variant also supported
* Full FPU ABI or soft-float ABI is supported, but the
single-precision-only FPU ABI is not
* Microblaze
* Big-endian default; little-endian variants also supported
* Soft-float
* Requires support for lwx/swx instructions
The following additional targets are available for build, but may not
work correctly and may not yet have ABI stability:
* SuperH (SH)
* Little-endian by default; big-engian variant also supported
* Full FPU ABI or soft-float ABI is supported, but the
single-precision-only FPU ABI is not supported (musl always
requires IEEE single and double to be supported)
* x32 (x86_64 ILP32 ABI)
* OpenRISC 1000 (or1k)

106
Makefile
View File

@ -17,20 +17,6 @@ includedir = $(prefix)/include
libdir = $(prefix)/lib
syslibdir = /lib
BASE_SRCS = $(sort $(wildcard $(srcdir)/src/*/*.c))
BASE_OBJS = $(patsubst $(srcdir)/%,%.o,$(basename $(BASE_SRCS)))
ARCH_SRCS = $(wildcard $(srcdir)/src/*/$(ARCH)/*.[csS])
ARCH_OBJS = $(patsubst $(srcdir)/%,%.o,$(basename $(ARCH_SRCS)))
REPLACED_OBJS = $(sort $(subst /$(ARCH)/,/,$(ARCH_OBJS)))
LDSO_SRCS = $(sort $(wildcard $(srcdir)/ldso/*.c))
LDSO_OBJS = $(patsubst $(srcdir)/%,obj/%.lo,$(basename $(LDSO_SRCS)))
OBJS = $(addprefix obj/, $(filter-out $(REPLACED_OBJS), $(sort $(BASE_OBJS) $(ARCH_OBJS))))
AOBJS = $(OBJS)
LOBJS = $(OBJS:.o=.lo)
GENH = obj/include/bits/alltypes.h
GENH_INT = obj/src/internal/version.h
IMPH = $(addprefix $(srcdir)/, src/internal/stdio_impl.h src/internal/pthread_impl.h src/internal/libc.h)
LDFLAGS =
LDFLAGS_AUTO =
LIBCC = -lgcc
@ -40,7 +26,7 @@ CFLAGS_AUTO = -Os -pipe
CFLAGS_C99FSE = -std=c99 -ffreestanding -nostdinc
CFLAGS_ALL = $(CFLAGS_C99FSE)
CFLAGS_ALL += -D_XOPEN_SOURCE=700 -I$(srcdir)/arch/$(ARCH) -Iobj/src/internal -I$(srcdir)/src/internal -Iobj/include -I$(srcdir)/include
CFLAGS_ALL += -D_XOPEN_SOURCE=700 -I$(srcdir)/arch/$(ARCH) -I$(srcdir)/arch/generic -Iobj/src/internal -I$(srcdir)/src/internal -Iobj/include -I$(srcdir)/include
CFLAGS_ALL += $(CPPFLAGS) $(CFLAGS_AUTO) $(CFLAGS)
LDFLAGS_ALL = $(LDFLAGS_AUTO) $(LDFLAGS)
@ -49,23 +35,48 @@ AR = $(CROSS_COMPILE)ar
RANLIB = $(CROSS_COMPILE)ranlib
INSTALL = $(srcdir)/tools/install.sh
ARCH_INCLUDES = $(wildcard $(srcdir)/arch/$(ARCH)/bits/*.h)
INCLUDES = $(wildcard $(srcdir)/include/*.h $(srcdir)/include/*/*.h)
ALL_INCLUDES = $(sort $(INCLUDES:$(srcdir)/%=%) $(GENH:obj/%=%) $(ARCH_INCLUDES:$(srcdir)/arch/$(ARCH)/%=include/%))
-include config.mak
ifeq ($(ARCH),)
$(error Please set ARCH in config.mak before running make.)
all:
@echo "Please set ARCH in config.mak before running make."
@exit 1
else
SRC_DIRS = $(addprefix $(srcdir)/,src/* crt ldso)
BASE_GLOBS = $(addsuffix /*.c,$(SRC_DIRS))
ifeq ($(ARCH),wasm32)
ARCH_GLOBS = $(addsuffix /$(ARCH)/*.c,$(SRC_DIRS))
else
ARCH_GLOBS = $(addsuffix /$(ARCH)/*.[csS],$(SRC_DIRS))
endif
BASE_SRCS = $(sort $(wildcard $(BASE_GLOBS)))
ARCH_SRCS = $(sort $(wildcard $(ARCH_GLOBS)))
BASE_OBJS = $(patsubst $(srcdir)/%,%.o,$(basename $(BASE_SRCS)))
ARCH_OBJS = $(patsubst $(srcdir)/%,%.o,$(basename $(ARCH_SRCS)))
REPLACED_OBJS = $(sort $(subst /$(ARCH)/,/,$(ARCH_OBJS)))
ALL_OBJS = $(addprefix obj/, $(filter-out $(REPLACED_OBJS), $(sort $(BASE_OBJS) $(ARCH_OBJS))))
LIBC_OBJS = $(filter obj/src/%,$(ALL_OBJS))
LDSO_OBJS = $(filter obj/ldso/%,$(ALL_OBJS:%.o=%.lo))
CRT_OBJS = $(filter obj/crt/%,$(ALL_OBJS))
AOBJS = $(LIBC_OBJS)
LOBJS = $(LIBC_OBJS:.o=.lo)
GENH = obj/include/bits/alltypes.h obj/include/bits/syscall.h
MPHGENH_INT = obj/src/internal/version.h
IMPH = $(addprefix $(srcdir)/, src/internal/stdio_impl.h src/internal/pthread_impl.h src/internal/locale_impl.h src/internal/libc.h)
ARCH_INCLUDES = $(wildcard $(srcdir)/arch/$(ARCH)/bits/*.h)
GENERIC_INCLUDES = $(wildcard $(srcdir)/arch/generic/bits/*.h)
INCLUDES = $(wildcard $(srcdir)/include/*.h $(srcdir)/include/*/*.h)
ALL_INCLUDES = $(sort $(INCLUDES:$(srcdir)/%=%) $(GENH:obj/%=%) $(ARCH_INCLUDES:$(srcdir)/arch/$(ARCH)/%=include/%) $(GENERIC_INCLUDES:$(srcdir)/arch/generic/%=include/%))
EMPTY_LIB_NAMES = m rt pthread crypt util xnet resolv dl
EMPTY_LIBS = $(EMPTY_LIB_NAMES:%=lib/lib%.a)
ifeq ($(ARCH),wasm32)
CRT_LIBS = lib/crt1.o lib/Scrt1.o lib/rcrt1.o
else
CRT_LIBS = lib/crt1.o lib/Scrt1.o lib/rcrt1.o lib/crti.o lib/crtn.o
endif
CRT_LIBS = $(addprefix lib/,$(notdir $(CRT_OBJS)))
STATIC_LIBS = lib/libc.a
TOOL_LIBS = lib/musl-gcc.specs
ifeq ($(ARCH),wasm32)
@ -83,24 +94,20 @@ LDSO_PATHNAME = $(syslibdir)/ld-musl-$(ARCH)$(SUBARCH).so.1
all: $(ALL_LIBS) $(ALL_TOOLS)
OBJ_DIRS = $(sort $(patsubst %/,%,$(dir $(ALL_LIBS) $(ALL_TOOLS) $(OBJS) $(LDSO_OBJS) $(GENH) $(GENH_INT))) $(addprefix obj/, crt crt/$(ARCH) include))
OBJ_DIRS = $(sort $(patsubst %/,%,$(dir $(ALL_LIBS) $(ALL_TOOLS) $(ALL_OBJS) $(GENH) $(GENH_INT))) obj/include)
$(ALL_LIBS) $(ALL_TOOLS) $(CRT_LIBS:lib/%=obj/crt/%) $(OBJS) $(LOBJS) $(GENH) $(GENH_INT): | $(OBJ_DIRS)
$(ALL_LIBS) $(ALL_TOOLS) $(ALL_OBJS) $(ALL_OBJS:%.o=%.lo) $(GENH) $(GENH_INT): | $(OBJ_DIRS)
$(OBJ_DIRS):
mkdir -p $@
install: install-libs install-headers install-tools
clean:
rm -rf obj lib
distclean: clean
rm -f config.mak
obj/include/bits/alltypes.h: $(srcdir)/arch/$(ARCH)/bits/alltypes.h.in $(srcdir)/include/alltypes.h.in $(srcdir)/tools/mkalltypes.sed
sed -f $(srcdir)/tools/mkalltypes.sed $(srcdir)/arch/$(ARCH)/bits/alltypes.h.in $(srcdir)/include/alltypes.h.in > $@
obj/include/bits/syscall.h: $(srcdir)/arch/$(ARCH)/bits/syscall.h.in
cp $< $@
sed -n -e s/__NR_/SYS_/p < $< >> $@
obj/src/internal/version.h: $(wildcard $(srcdir)/VERSION $(srcdir)/.git)
printf '#define VERSION "%s"\n' "$$(cd $(srcdir); sh tools/version.sh)" > $@
@ -114,9 +121,11 @@ obj/crt/rcrt1.o: $(srcdir)/ldso/dlstart.c
obj/crt/Scrt1.o obj/crt/rcrt1.o: CFLAGS_ALL += -fPIC
ifneq ($(ARCH),wasm32)
obj/crt/$(ARCH)/crti.o: $(srcdir)/crt/$(ARCH)/crti.s
obj/crt/$(ARCH)/crtn.o: $(srcdir)/crt/$(ARCH)/crtn.s
endif
OPTIMIZE_SRCS = $(wildcard $(OPTIMIZE_GLOBS:%=$(srcdir)/src/%))
$(OPTIMIZE_SRCS:$(srcdir)/%.c=obj/%.o) $(OPTIMIZE_SRCS:$(srcdir)/%.c=obj/%.lo): CFLAGS += -O3
@ -133,7 +142,7 @@ NOSSP_SRCS = $(wildcard crt/*.c) \
ldso/dlstart.c ldso/dynlink.c
$(NOSSP_SRCS:%.c=obj/%.o) $(NOSSP_SRCS:%.c=obj/%.lo): CFLAGS_ALL += $(CFLAGS_NOSSP)
$(CRT_LIBS:lib/%=obj/crt/%): CFLAGS_ALL += -DCRT
$(CRT_OBJS): CFLAGS_ALL += -DCRT
$(LOBJS) $(LDSO_OBJS): CFLAGS_ALL += -fPIC
@ -166,8 +175,7 @@ obj/%.lo: $(srcdir)/%.c $(GENH) $(IMPH)
lib/libc.so: $(LOBJS) $(LDSO_OBJS)
$(CC) $(CFLAGS_ALL) $(LDFLAGS_ALL) -nostdlib -shared \
-Wl,-e,_dlstart -Wl,-Bsymbolic-functions \
-o $@ $(LOBJS) $(LDSO_OBJS) $(LIBCC)
-Wl,-e,_dlstart -o $@ $(LOBJS) $(LDSO_OBJS) $(LIBCC)
lib/libc.a: $(AOBJS)
rm -f $@
@ -178,15 +186,12 @@ $(EMPTY_LIBS):
rm -f $@
$(AR) rc $@
lib/%.o: obj/crt/$(ARCH)/%.o
cp $< $@
lib/%.o: obj/crt/%.o
cp $< $@
lib/crti.o: obj/crt/$(ARCH)/crti.o
cp $< $@
lib/crtn.o: obj/crt/$(ARCH)/crtn.o
cp $< $@
lib/musl-gcc.specs: $(srcdir)/tools/musl-gcc.specs.sh config.mak
sh $< "$(includedir)" "$(libdir)" "$(LDSO_PATHNAME)" > $@
@ -210,6 +215,9 @@ $(DESTDIR)$(libdir)/%: lib/%
$(DESTDIR)$(includedir)/bits/%: $(srcdir)/arch/$(ARCH)/bits/%
$(INSTALL) -D -m 644 $< $@
$(DESTDIR)$(includedir)/bits/%: $(srcdir)/arch/generic/bits/%
$(INSTALL) -D -m 644 $< $@
$(DESTDIR)$(includedir)/bits/%: obj/include/bits/%
$(INSTALL) -D -m 644 $< $@
@ -225,10 +233,20 @@ install-headers: $(ALL_INCLUDES:include/%=$(DESTDIR)$(includedir)/%)
install-tools: $(ALL_TOOLS:obj/%=$(DESTDIR)$(bindir)/%)
install: install-libs install-headers install-tools
musl-git-%.tar.gz: .git
git --git-dir=$(srcdir)/.git archive --format=tar.gz --prefix=$(patsubst %.tar.gz,%,$@)/ -o $@ $(patsubst musl-git-%.tar.gz,%,$@)
musl-%.tar.gz: .git
git --git-dir=$(srcdir)/.git archive --format=tar.gz --prefix=$(patsubst %.tar.gz,%,$@)/ -o $@ v$(patsubst musl-%.tar.gz,%,$@)
endif
clean:
rm -rf obj lib
distclean: clean
rm -f config.mak
.PHONY: all clean install install-libs install-headers install-tools

View File

@ -1 +1 @@
1.1.12
1.1.18

244
WHATSNEW
View File

@ -1618,3 +1618,247 @@ arch-specific bugs fixed:
- arm crt1 entry point failed to align stack pointer in some cases
- mips fesetround failed to actually set rounding mode
- i386 asm source CFI generation had multiple bugs
1.1.13 release notes
new features:
- out-of-tree builds
- search domains in resolv.conf
- sh arch supports j-core (j2) cas.l atomics
- dynamic linker includes arch/abi in output when run as a command
- header support for new kernel features through linux 4.4
- mips vdso clock_gettime support
- regex BRE extensions: \|, \+, \?
performance:
- improved atomics performance on all archs with ll/sc model
- atomic instructions are now inlined on armv6
- use fpu sqrt for arm softfp abi on targets with vfp
compatibility:
- getnameinfo now accepts sockaddr sizes larger than needed
- new default CFLAGS/LDFLAGS avoid entire classes of toolchain bugs
- explicit use of float_t/double_t avoids compiler float spill bugs
- i386 max_align_t definition now works with g++ 4.7's pseudo-c++11
- all known protocols are added to protoent functions
- stub utmpname, utmpxname functions
- linker support for -Bsymbolic-functions is no longer mandatory
- regex parsing size limits increased
- malloc_usable_size now accepts null pointer input
bugs fixed:
- potential single-byte heap overflow in getdelim
- mishandling of transient failure opening hosts, services, resolv.conf
- mremap was sometimes able to allocate objects larger than PTRDIFF_MAX
- nl_langinfo wrongly returned NULL instead of "" for invalid items
- out-of-bounds dynamic tls allocation due to pointer/index scaling error
- getifaddrs misreported point-to-point interface addresses
- tdelete left tsearch trees misbalanced
- tsearch crashed on allocation failure
- tsearch, tfind, and tdelete failed to handle null pointer input
- passing signal number 0 to sigaction resulted in a crash
- getdelim updated caller's size wrongly when realloc failed
- getdelim realloc strategy was wasteful
- if_nametoindex returned wrong value on failure
- missing ssp-suppression for some source files called from early-init
- various minor resolv.conf parsing bugs
- fwrite wrongly reported success on write errors in line-buffered flush
- fwrite and fread wrongly returned nmemb (not 0) when size was 0
nommu-specific bugs fix:
- failure to zero bss in FDPIC shared library loader
- unsafe writes to read-only file mapping in non-FDPIC library loader
arch-specific bugs fixed:
- sh[eb]-nofpu-fdpic was using fpu-dependent setjmp/longjmp variants
- dynamic linker path file name was wrong for arm "softfp" targets
- mips siginfo_t and related macros were defined incorrectly
- possibly misaligned pointer globals on arm (from an asm source file)
- mips dynamic linker failed to provide info needed by debugger
- mips cancellation asm wrongly assumed validity of $gp register value
1.1.14 release notes
regressions fixed:
- treatment of empty string argument as error by puts and fputs
- make clean and distclean failure in unconfigured trees
- sh/fdpic dynamic linker entry point hang due to wrong code
- armhf (and arm softfp model) build failure with clang
other bugs fixed:
- wrongly clamping (rather than failing) excessive rounds in crypt-sha*
1.1.15 release notes
new features:
- mips64 (full 64-bit and n32) port
- mips r6 isa support (subarch for mips, mips64, and mipsn32 archs)
- powerpc64 port
- powerpc (32-bit) soft-float ABI support (subarch)
- pthread_tryjoin_np and pthread_timedjoin_np (nonstandard extensions)
- header-level support for linux 4.5 and 4.6 features
- sched_getcpu (nonstandard extension) support, including vdso version
- __STDC_ISO_10646__, __STDC_IEC_559__ macros predefined via stdc-predef.h
- support for new elf/arch features in elf.h
compatibility:
- configure now correctly chooses cross-prefix based on build/host/target
- abort now successfully terminates pid 1 in a container (or top-level)
bugs fixed:
- memmem read past end of haystack, possible false positives or crashes
- buffer underflow (reverse-overflow) in ungetwc
- double-free under certain usage of putenv
- incorrect treatment by regcomp of * at start of BRE subexpression
- gethostbyname[2][_r] produced ip addresses in misaligned buffers
- looking up some invalid hostnames caused malformed dns queries
- lookups from hosts file were inconsistent with non-matching family
- missing h_length value in gethostbyaddr results
- a64l function produced wrong-signed results on 64-bit archs
- broken padding of string formats to width in wide printf variants
- wrong results for expf(-NAN) and exp2f(-NAN)
- wrong value for RUSAGE_CHILDREN prevented it from working
- abort failed to provide abnormal termination with SIGABRT blocked
arch-specific bugs fixed:
- broken posix_fadvise on arm and powerpc (32-bit)
- thread structure/dtv corruption on powerpc at thread startup
- various wrong mips and powerpc ioctl and termios constant values
1.1.16 release notes
new features:
- s390x (64-bit S/390) port
- pthread_setname_np extension function
- limited pthread_setattr_default_np function to set stack size defaults
- header-level support for linux 4.7, 4.8, and 4.9 features
- confstr _CS_V6_ENV and _CS_V7_ENV items
compatibility:
- public prototypes for abi-compat *_unlocked symbols, etc.
- fflush_unlocked(NULL) now works
- resolv.h __RES version macro now matches supported APIs
- workaround for gdb bugs backtracing across signals on x86_64
- anchors ^ and $ are now accepted in BRE subexpressions
- building for thumb2-only arm isa levels is now possible
bugs fixed:
- integer overflows in regexec buffer allocation (CVE-2016-8859)
- failure of regexec to report matches at offsets past INT_MAX
- static-pie executables with initialized thread-local storage crashed
- printf failed to catch EOVERFLOW in some cases, wrongly produced it in others
- printf produced wrong output, result for float with precision near INT_MAX
- printf produced wrong results with alt-form octal, zero flag, & field width
- printf float rounding was wrong for some midpoint cases
- swprintf printed junk after internal (256-byte) buffer filled up
- strtod family rounded incorrectly in several corner cases
- getmntent failed to handle long records
- getopt_long_only wrongly treated "--" as an option
- asctime output wrongly varied by locale
- strftime %y specifier produced wrong output for negative tm_year
- time zone names quoted with <> were misparsed
- corner case integer overflow in tm_year for some date conversions
- failure to load shared libs whose names were prefixes of standard lib names
- wrong error codes for several failure cases in various functions
- various asymptomatic undefined behavior
- various minor namespace issues in headers
arch-specific bugs fixed:
- tcsetattr regression on mips (completely non-working)
- wrong pread/pwrite syscall calling convention on sh
- wrong preadv2/pwritev2 syscall numbers on x32
- mrand48/jrand48 produced wrong-signedness results on 64-bit archs
1.1.17 release notes
new features:
- RTLD_LAZY deferred symbol binding, functionally equivalent to lazy binding
- safeguard against dlopen of multiple libc versions/instances
- new posix_spawn flag POSIX_SPAWN_SETSID
- posix_spawnattr_setflags now reports unknown flags as error
- ldso option --argv0 to set argv[0]
- added _NL_LOCALE_NAME extension to nl_langinfo
compatibility:
- dlopen local-to-global promotion no longer changes existing symbols
- gettext now searches locale name variants for translation files
- increased locale name length limit from 15 to 23 bytes
- setlocale(LC_ALL, 0) returns single name if all categories are same
- realloc no longer fails when mremap doesn't work
- getservby* no longer treat numeric port strings as service records
- mmap now works around incorrect EPERM error codes from kernel
- impact of REG_* namespace pollution in x86[_64] signal.h is reduced
- arm atomic asm now assembles correctly with new binutils
- PAGE_SIZE on arm is no longer constant (quiet upstream ABI relaxation)
- lsearch/lfind now pass args to compare callback in canonical order
- STB_WEAK and STB_GNU_UNIQUE symbols now behave same as STB_GLOBAL
- better clang CFLAGS checks in configure
- global vis.h hack, which made lld refuse to link to libc.so, is disabled
performance:
- single-instruction optimized math functions for aarch64, s390x, powerpc64
- fast path for ASCII in towupper/towlower
- new mostly-integer-math fma function
semantic bugs fixed:
- POSIX-format TZ dst time transitions were wrong for southern hemisphere
- regex REG_NEWLINE semantics were wrong with negated brackets
- various bugs in strptime %j, %p, %C formats
- iconv mapped some characters to legacy 8bit encodings incorrectly
- glob failed to match "/"
- UTF-8 decoder accepted invalid f4 9x xx xx code sequences
- scanf %% conversion failed to consume whitespace
- glob with GLOB_PERIOD wrongly descended into . and ..
- nftw gave incorrect base name offset when pathname ends in "/"
- functional regression in resolv.conf attempts option
- scalbn could produce wrong result due to double rounding in subnormal range
- strftime %y format wrong with negative years
- mbsnrtowcs and wcsnrtombs mishandled input limits
- minor issues with error codes for various functions
safety/consistency bugs fixed:
- stack-based buffer overflow in dns response processing
- invalid free in regexec on certain error paths
- invalid free in globfree after failed glob
- one-byte buffer overflow in legacy getpass function
- failed dlopen corrupted thread-local storage module list
- race in pthread_create with priority attributes could leave signals masked
- multithreaded set*id() functions could induce spurious EINTRs
- dl_iterate_phdr reported wrong base address in static PIE
- fd leak and wrong cancellation state after dns socket failure
- memory leaks and other issues in environment-modification functions
- read-after-free race in pthread_detach
- memmem performed single-byte over-read in short-needle code paths
- read via uninitialized pointer in gettext core
- bindtextdomain broke bindings for all other domains
- various silent undefined behavior
- getopt clobbered optopt on success
arch-specific bugs fixed:
- x32 dynamic TLS accesses crashed
- s390x was missing dlsym entry point (needed for RTLD_NEXT)
- powerpc64 ldso startup could crash depending on link order
- powerpc64 setjmp/longjmp didn't properly save/restore TOC pointer
- thumb2 setjmp/longjmp silently broke at ld-time with text not aligned
- fchown was broken on archs without SYS_fchown syscall
- fstatat was broken on mips64
- various incorrect constants in powerpc64 and mips headers
1.1.18 release notes
regression fixes:
- glob failed to match literal . and .. path components
- build for armv4t ISA level was broken
other bug fixes:
- stack overflow in posix_spawnp with large PATH variable in environment

View File

@ -10,7 +10,7 @@ static inline int a_ll(volatile int *p)
static inline int a_sc(volatile int *p, int v)
{
int r;
__asm__ __volatile__ ("stlxr %w0,%w1,%2" : "=&r"(r) : "r"(v), "Q"(*p) : "memory");
__asm__ __volatile__ ("stlxr %w0,%w2,%1" : "=&r"(r), "=Q"(*p) : "r"(v) : "memory");
return !r;
}
@ -34,6 +34,7 @@ static inline int a_cas(volatile int *p, int t, int s)
return old;
}
#define a_ll_p a_ll_p
static inline void *a_ll_p(volatile void *p)
{
void *v;
@ -41,10 +42,11 @@ static inline void *a_ll_p(volatile void *p)
return v;
}
#define a_sc_p a_sc_p
static inline int a_sc_p(volatile int *p, void *v)
{
int r;
__asm__ __volatile__ ("stlxr %w0,%1,%2" : "=&r"(r) : "r"(v), "Q"(*(void *volatile *)p) : "memory");
__asm__ __volatile__ ("stlxr %w0,%2,%1" : "=&r"(r), "=Q"(*(void *volatile *)p) : "r"(v) : "memory");
return !r;
}
@ -71,3 +73,10 @@ static inline int a_ctz_64(uint64_t x)
: "=r"(x) : "r"(x));
return x;
}
#define a_clz_64 a_clz_64
static inline int a_clz_64(uint64_t x)
{
__asm__("clz %0, %1" : "=r"(x) : "r"(x));
return x;
}

16
arch/aarch64/bits/hwcap.h Normal file
View File

@ -0,0 +1,16 @@
#define HWCAP_FP (1 << 0)
#define HWCAP_ASIMD (1 << 1)
#define HWCAP_EVTSTRM (1 << 2)
#define HWCAP_AES (1 << 3)
#define HWCAP_PMULL (1 << 4)
#define HWCAP_SHA1 (1 << 5)
#define HWCAP_SHA2 (1 << 6)
#define HWCAP_CRC32 (1 << 7)
#define HWCAP_ATOMICS (1 << 8)
#define HWCAP_FPHP (1 << 9)
#define HWCAP_ASIMDHP (1 << 10)
#define HWCAP_CPUID (1 << 11)
#define HWCAP_ASIMDRDM (1 << 12)
#define HWCAP_JSCVT (1 << 13)
#define HWCAP_FCMA (1 << 14)
#define HWCAP_LRCPC (1 << 15)

View File

@ -1,5 +1,4 @@
struct ipc_perm
{
struct ipc_perm {
key_t __ipc_perm_key;
uid_t uid;
gid_t gid;

View File

@ -1,57 +0,0 @@
#define MAP_FAILED ((void *) -1)
#define PROT_NONE 0
#define PROT_READ 1
#define PROT_WRITE 2
#define PROT_EXEC 4
#define PROT_GROWSDOWN 0x01000000
#define PROT_GROWSUP 0x02000000
#define MAP_SHARED 0x01
#define MAP_PRIVATE 0x02
#define MAP_FIXED 0x10
#define MAP_TYPE 0x0f
#define MAP_FILE 0x00
#define MAP_ANON 0x20
#define MAP_ANONYMOUS MAP_ANON
#define MAP_NORESERVE 0x4000
#define MAP_GROWSDOWN 0x0100
#define MAP_DENYWRITE 0x0800
#define MAP_EXECUTABLE 0x1000
#define MAP_LOCKED 0x2000
#define MAP_POPULATE 0x8000
#define MAP_NONBLOCK 0x10000
#define MAP_STACK 0x20000
#define MAP_HUGETLB 0x40000
#define POSIX_MADV_NORMAL 0
#define POSIX_MADV_RANDOM 1
#define POSIX_MADV_SEQUENTIAL 2
#define POSIX_MADV_WILLNEED 3
#define POSIX_MADV_DONTNEED 0
#define MS_ASYNC 1
#define MS_INVALIDATE 2
#define MS_SYNC 4
#define MCL_CURRENT 1
#define MCL_FUTURE 2
#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
#define MADV_NORMAL 0
#define MADV_RANDOM 1
#define MADV_SEQUENTIAL 2
#define MADV_WILLNEED 3
#define MADV_DONTNEED 4
#define MADV_REMOVE 9
#define MADV_DONTFORK 10
#define MADV_DOFORK 11
#define MADV_MERGEABLE 12
#define MADV_UNMERGEABLE 13
#define MADV_HUGEPAGE 14
#define MADV_NOHUGEPAGE 15
#define MADV_DONTDUMP 16
#define MADV_DODUMP 17
#define MADV_HWPOISON 100
#define MADV_SOFT_OFFLINE 101
#endif

View File

@ -1,5 +1,4 @@
struct msqid_ds
{
struct msqid_ds {
struct ipc_perm msg_perm;
time_t msg_stime;
time_t msg_rtime;

View File

@ -1,7 +1,6 @@
#define SHMLBA 4096
struct shmid_ds
{
struct shmid_ds {
struct ipc_perm shm_perm;
size_t shm_segsz;
time_t shm_atime;

View File

@ -15,8 +15,7 @@ typedef struct {
unsigned int fpsr;
unsigned int fpcr;
} fpregset_t;
typedef struct sigcontext
{
typedef struct sigcontext {
unsigned long fault_address;
unsigned long regs[31];
unsigned long sp, pc, pstate;
@ -25,6 +24,7 @@ typedef struct sigcontext
#define FPSIMD_MAGIC 0x46508001
#define ESR_MAGIC 0x45535201
#define EXTRA_MAGIC 0x45585401
struct _aarch64_ctx {
unsigned int magic;
unsigned int size;
@ -39,6 +39,12 @@ struct esr_context {
struct _aarch64_ctx head;
unsigned long esr;
};
struct extra_context {
struct _aarch64_ctx head;
unsigned long datap;
unsigned int size;
unsigned int __reserved[3];
};
#else
typedef struct {
long double __regs[18+256];

View File

@ -1,7 +1,6 @@
#include <endian.h>
struct msghdr
{
struct msghdr {
void *msg_name;
socklen_t msg_namelen;
struct iovec *msg_iov;
@ -21,8 +20,7 @@ struct msghdr
int msg_flags;
};
struct cmsghdr
{
struct cmsghdr {
#if __BYTE_ORDER == __BIG_ENDIAN
int __pad1;
socklen_t cmsg_len;

View File

@ -1,4 +0,0 @@
#define va_start(v,l) __builtin_va_start(v,l)
#define va_end(v) __builtin_va_end(v)
#define va_arg(v,l) __builtin_va_arg(v,l)
#define va_copy(d,s) __builtin_va_copy(d,s)

View File

@ -1,535 +0,0 @@
#define __NR_io_setup 0
#define __NR_io_destroy 1
#define __NR_io_submit 2
#define __NR_io_cancel 3
#define __NR_io_getevents 4
#define __NR_setxattr 5
#define __NR_lsetxattr 6
#define __NR_fsetxattr 7
#define __NR_getxattr 8
#define __NR_lgetxattr 9
#define __NR_fgetxattr 10
#define __NR_listxattr 11
#define __NR_llistxattr 12
#define __NR_flistxattr 13
#define __NR_removexattr 14
#define __NR_lremovexattr 15
#define __NR_fremovexattr 16
#define __NR_getcwd 17
#define __NR_lookup_dcookie 18
#define __NR_eventfd2 19
#define __NR_epoll_create1 20
#define __NR_epoll_ctl 21
#define __NR_epoll_pwait 22
#define __NR_dup 23
#define __NR_dup3 24
#define __NR_fcntl 25
#define __NR_inotify_init1 26
#define __NR_inotify_add_watch 27
#define __NR_inotify_rm_watch 28
#define __NR_ioctl 29
#define __NR_ioprio_set 30
#define __NR_ioprio_get 31
#define __NR_flock 32
#define __NR_mknodat 33
#define __NR_mkdirat 34
#define __NR_unlinkat 35
#define __NR_symlinkat 36
#define __NR_linkat 37
#define __NR_renameat 38
#define __NR_umount2 39
#define __NR_mount 40
#define __NR_pivot_root 41
#define __NR_nfsservctl 42
#define __NR_statfs 43
#define __NR_fstatfs 44
#define __NR_truncate 45
#define __NR_ftruncate 46
#define __NR_fallocate 47
#define __NR_faccessat 48
#define __NR_chdir 49
#define __NR_fchdir 50
#define __NR_chroot 51
#define __NR_fchmod 52
#define __NR_fchmodat 53
#define __NR_fchownat 54
#define __NR_fchown 55
#define __NR_openat 56
#define __NR_close 57
#define __NR_vhangup 58
#define __NR_pipe2 59
#define __NR_quotactl 60
#define __NR_getdents64 61
#define __NR_lseek 62
#define __NR_read 63
#define __NR_write 64
#define __NR_readv 65
#define __NR_writev 66
#define __NR_pread64 67
#define __NR_pwrite64 68
#define __NR_preadv 69
#define __NR_pwritev 70
#define __NR_sendfile 71
#define __NR_pselect6 72
#define __NR_ppoll 73
#define __NR_signalfd4 74
#define __NR_vmsplice 75
#define __NR_splice 76
#define __NR_tee 77
#define __NR_readlinkat 78
#define __NR_fstatat 79
#define __NR_fstat 80
#define __NR_sync 81
#define __NR_fsync 82
#define __NR_fdatasync 83
#define __NR_sync_file_range 84
#define __NR_timerfd_create 85
#define __NR_timerfd_settime 86
#define __NR_timerfd_gettime 87
#define __NR_utimensat 88
#define __NR_acct 89
#define __NR_capget 90
#define __NR_capset 91
#define __NR_personality 92
#define __NR_exit 93
#define __NR_exit_group 94
#define __NR_waitid 95
#define __NR_set_tid_address 96
#define __NR_unshare 97
#define __NR_futex 98
#define __NR_set_robust_list 99
#define __NR_get_robust_list 100
#define __NR_nanosleep 101
#define __NR_getitimer 102
#define __NR_setitimer 103
#define __NR_kexec_load 104
#define __NR_init_module 105
#define __NR_delete_module 106
#define __NR_timer_create 107
#define __NR_timer_gettime 108
#define __NR_timer_getoverrun 109
#define __NR_timer_settime 110
#define __NR_timer_delete 111
#define __NR_clock_settime 112
#define __NR_clock_gettime 113
#define __NR_clock_getres 114
#define __NR_clock_nanosleep 115
#define __NR_syslog 116
#define __NR_ptrace 117
#define __NR_sched_setparam 118
#define __NR_sched_setscheduler 119
#define __NR_sched_getscheduler 120
#define __NR_sched_getparam 121
#define __NR_sched_setaffinity 122
#define __NR_sched_getaffinity 123
#define __NR_sched_yield 124
#define __NR_sched_get_priority_max 125
#define __NR_sched_get_priority_min 126
#define __NR_sched_rr_get_interval 127
#define __NR_restart_syscall 128
#define __NR_kill 129
#define __NR_tkill 130
#define __NR_tgkill 131
#define __NR_sigaltstack 132
#define __NR_rt_sigsuspend 133
#define __NR_rt_sigaction 134
#define __NR_rt_sigprocmask 135
#define __NR_rt_sigpending 136
#define __NR_rt_sigtimedwait 137
#define __NR_rt_sigqueueinfo 138
#define __NR_rt_sigreturn 139
#define __NR_setpriority 140
#define __NR_getpriority 141
#define __NR_reboot 142
#define __NR_setregid 143
#define __NR_setgid 144
#define __NR_setreuid 145
#define __NR_setuid 146
#define __NR_setresuid 147
#define __NR_getresuid 148
#define __NR_setresgid 149
#define __NR_getresgid 150
#define __NR_setfsuid 151
#define __NR_setfsgid 152
#define __NR_times 153
#define __NR_setpgid 154
#define __NR_getpgid 155
#define __NR_getsid 156
#define __NR_setsid 157
#define __NR_getgroups 158
#define __NR_setgroups 159
#define __NR_uname 160
#define __NR_sethostname 161
#define __NR_setdomainname 162
#define __NR_getrlimit 163
#define __NR_setrlimit 164
#define __NR_getrusage 165
#define __NR_umask 166
#define __NR_prctl 167
#define __NR_getcpu 168
#define __NR_gettimeofday 169
#define __NR_settimeofday 170
#define __NR_adjtimex 171
#define __NR_getpid 172
#define __NR_getppid 173
#define __NR_getuid 174
#define __NR_geteuid 175
#define __NR_getgid 176
#define __NR_getegid 177
#define __NR_gettid 178
#define __NR_sysinfo 179
#define __NR_mq_open 180
#define __NR_mq_unlink 181
#define __NR_mq_timedsend 182
#define __NR_mq_timedreceive 183
#define __NR_mq_notify 184
#define __NR_mq_getsetattr 185
#define __NR_msgget 186
#define __NR_msgctl 187
#define __NR_msgrcv 188
#define __NR_msgsnd 189
#define __NR_semget 190
#define __NR_semctl 191
#define __NR_semtimedop 192
#define __NR_semop 193
#define __NR_shmget 194
#define __NR_shmctl 195
#define __NR_shmat 196
#define __NR_shmdt 197
#define __NR_socket 198
#define __NR_socketpair 199
#define __NR_bind 200
#define __NR_listen 201
#define __NR_accept 202
#define __NR_connect 203
#define __NR_getsockname 204
#define __NR_getpeername 205
#define __NR_sendto 206
#define __NR_recvfrom 207
#define __NR_setsockopt 208
#define __NR_getsockopt 209
#define __NR_shutdown 210
#define __NR_sendmsg 211
#define __NR_recvmsg 212
#define __NR_readahead 213
#define __NR_brk 214
#define __NR_munmap 215
#define __NR_mremap 216
#define __NR_add_key 217
#define __NR_request_key 218
#define __NR_keyctl 219
#define __NR_clone 220
#define __NR_execve 221
#define __NR_mmap 222
#define __NR_fadvise64 223
#define __NR_swapon 224
#define __NR_swapoff 225
#define __NR_mprotect 226
#define __NR_msync 227
#define __NR_mlock 228
#define __NR_munlock 229
#define __NR_mlockall 230
#define __NR_munlockall 231
#define __NR_mincore 232
#define __NR_madvise 233
#define __NR_remap_file_pages 234
#define __NR_mbind 235
#define __NR_get_mempolicy 236
#define __NR_set_mempolicy 237
#define __NR_migrate_pages 238
#define __NR_move_pages 239
#define __NR_rt_tgsigqueueinfo 240
#define __NR_perf_event_open 241
#define __NR_accept4 242
#define __NR_recvmmsg 243
#define __NR_or1k_atomic 244
#define __NR_wait4 260
#define __NR_prlimit64 261
#define __NR_fanotify_init 262
#define __NR_fanotify_mark 263
#define __NR_name_to_handle_at 264
#define __NR_open_by_handle_at 265
#define __NR_clock_adjtime 266
#define __NR_syncfs 267
#define __NR_setns 268
#define __NR_sendmmsg 269
#define __NR_process_vm_readv 270
#define __NR_process_vm_writev 271
#define __NR_kcmp 272
#define __NR_finit_module 273
#define __NR_sched_setattr 274
#define __NR_sched_getattr 275
#define __NR_renameat2 276
#define __NR_seccomp 277
#define __NR_getrandom 278
#define __NR_memfd_create 279
#define __NR_bpf 280
#define __NR_execveat 281
#define SYS_io_setup __NR_io_setup
#define SYS_io_destroy __NR_io_destroy
#define SYS_io_submit __NR_io_submit
#define SYS_io_cancel __NR_io_cancel
#define SYS_io_getevents __NR_io_getevents
#define SYS_setxattr __NR_setxattr
#define SYS_lsetxattr __NR_lsetxattr
#define SYS_fsetxattr __NR_fsetxattr
#define SYS_getxattr __NR_getxattr
#define SYS_lgetxattr __NR_lgetxattr
#define SYS_fgetxattr __NR_fgetxattr
#define SYS_listxattr __NR_listxattr
#define SYS_llistxattr __NR_llistxattr
#define SYS_flistxattr __NR_flistxattr
#define SYS_removexattr __NR_removexattr
#define SYS_lremovexattr __NR_lremovexattr
#define SYS_fremovexattr __NR_fremovexattr
#define SYS_getcwd __NR_getcwd
#define SYS_lookup_dcookie __NR_lookup_dcookie
#define SYS_eventfd2 __NR_eventfd2
#define SYS_epoll_create1 __NR_epoll_create1
#define SYS_epoll_ctl __NR_epoll_ctl
#define SYS_epoll_pwait __NR_epoll_pwait
#define SYS_dup __NR_dup
#define SYS_dup3 __NR_dup3
#define SYS_fcntl __NR_fcntl
#define SYS_inotify_init1 __NR_inotify_init1
#define SYS_inotify_add_watch __NR_inotify_add_watch
#define SYS_inotify_rm_watch __NR_inotify_rm_watch
#define SYS_ioctl __NR_ioctl
#define SYS_ioprio_set __NR_ioprio_set
#define SYS_ioprio_get __NR_ioprio_get
#define SYS_flock __NR_flock
#define SYS_mknodat __NR_mknodat
#define SYS_mkdirat __NR_mkdirat
#define SYS_unlinkat __NR_unlinkat
#define SYS_symlinkat __NR_symlinkat
#define SYS_linkat __NR_linkat
#define SYS_renameat __NR_renameat
#define SYS_umount2 __NR_umount2
#define SYS_mount __NR_mount
#define SYS_pivot_root __NR_pivot_root
#define SYS_nfsservctl __NR_nfsservctl
#define SYS_statfs __NR_statfs
#define SYS_fstatfs __NR_fstatfs
#define SYS_truncate __NR_truncate
#define SYS_ftruncate __NR_ftruncate
#define SYS_fallocate __NR_fallocate
#define SYS_faccessat __NR_faccessat
#define SYS_chdir __NR_chdir
#define SYS_fchdir __NR_fchdir
#define SYS_chroot __NR_chroot
#define SYS_fchmod __NR_fchmod
#define SYS_fchmodat __NR_fchmodat
#define SYS_fchownat __NR_fchownat
#define SYS_fchown __NR_fchown
#define SYS_openat __NR_openat
#define SYS_close __NR_close
#define SYS_vhangup __NR_vhangup
#define SYS_pipe2 __NR_pipe2
#define SYS_quotactl __NR_quotactl
#define SYS_getdents64 __NR_getdents64
#define SYS_lseek __NR_lseek
#define SYS_read __NR_read
#define SYS_write __NR_write
#define SYS_readv __NR_readv
#define SYS_writev __NR_writev
#define SYS_pread64 __NR_pread64
#define SYS_pwrite64 __NR_pwrite64
#define SYS_preadv __NR_preadv
#define SYS_pwritev __NR_pwritev
#define SYS_sendfile __NR_sendfile
#define SYS_pselect6 __NR_pselect6
#define SYS_ppoll __NR_ppoll
#define SYS_signalfd4 __NR_signalfd4
#define SYS_vmsplice __NR_vmsplice
#define SYS_splice __NR_splice
#define SYS_tee __NR_tee
#define SYS_readlinkat __NR_readlinkat
#define SYS_fstatat __NR_fstatat
#define SYS_fstat __NR_fstat
#define SYS_sync __NR_sync
#define SYS_fsync __NR_fsync
#define SYS_fdatasync __NR_fdatasync
#define SYS_sync_file_range __NR_sync_file_range
#define SYS_timerfd_create __NR_timerfd_create
#define SYS_timerfd_settime __NR_timerfd_settime
#define SYS_timerfd_gettime __NR_timerfd_gettime
#define SYS_utimensat __NR_utimensat
#define SYS_acct __NR_acct
#define SYS_capget __NR_capget
#define SYS_capset __NR_capset
#define SYS_personality __NR_personality
#define SYS_exit __NR_exit
#define SYS_exit_group __NR_exit_group
#define SYS_waitid __NR_waitid
#define SYS_set_tid_address __NR_set_tid_address
#define SYS_unshare __NR_unshare
#define SYS_futex __NR_futex
#define SYS_set_robust_list __NR_set_robust_list
#define SYS_get_robust_list __NR_get_robust_list
#define SYS_nanosleep __NR_nanosleep
#define SYS_getitimer __NR_getitimer
#define SYS_setitimer __NR_setitimer
#define SYS_kexec_load __NR_kexec_load
#define SYS_init_module __NR_init_module
#define SYS_delete_module __NR_delete_module
#define SYS_timer_create __NR_timer_create
#define SYS_timer_gettime __NR_timer_gettime
#define SYS_timer_getoverrun __NR_timer_getoverrun
#define SYS_timer_settime __NR_timer_settime
#define SYS_timer_delete __NR_timer_delete
#define SYS_clock_settime __NR_clock_settime
#define SYS_clock_gettime __NR_clock_gettime
#define SYS_clock_getres __NR_clock_getres
#define SYS_clock_nanosleep __NR_clock_nanosleep
#define SYS_syslog __NR_syslog
#define SYS_ptrace __NR_ptrace
#define SYS_sched_setparam __NR_sched_setparam
#define SYS_sched_setscheduler __NR_sched_setscheduler
#define SYS_sched_getscheduler __NR_sched_getscheduler
#define SYS_sched_getparam __NR_sched_getparam
#define SYS_sched_setaffinity __NR_sched_setaffinity
#define SYS_sched_getaffinity __NR_sched_getaffinity
#define SYS_sched_yield __NR_sched_yield
#define SYS_sched_get_priority_max __NR_sched_get_priority_max
#define SYS_sched_get_priority_min __NR_sched_get_priority_min
#define SYS_sched_rr_get_interval __NR_sched_rr_get_interval
#define SYS_restart_syscall __NR_restart_syscall
#define SYS_kill __NR_kill
#define SYS_tkill __NR_tkill
#define SYS_tgkill __NR_tgkill
#define SYS_sigaltstack __NR_sigaltstack
#define SYS_rt_sigsuspend __NR_rt_sigsuspend
#define SYS_rt_sigaction __NR_rt_sigaction
#define SYS_rt_sigprocmask __NR_rt_sigprocmask
#define SYS_rt_sigpending __NR_rt_sigpending
#define SYS_rt_sigtimedwait __NR_rt_sigtimedwait
#define SYS_rt_sigqueueinfo __NR_rt_sigqueueinfo
#define SYS_rt_sigreturn __NR_rt_sigreturn
#define SYS_setpriority __NR_setpriority
#define SYS_getpriority __NR_getpriority
#define SYS_reboot __NR_reboot
#define SYS_setregid __NR_setregid
#define SYS_setgid __NR_setgid
#define SYS_setreuid __NR_setreuid
#define SYS_setuid __NR_setuid
#define SYS_setresuid __NR_setresuid
#define SYS_getresuid __NR_getresuid
#define SYS_setresgid __NR_setresgid
#define SYS_getresgid __NR_getresgid
#define SYS_setfsuid __NR_setfsuid
#define SYS_setfsgid __NR_setfsgid
#define SYS_times __NR_times
#define SYS_setpgid __NR_setpgid
#define SYS_getpgid __NR_getpgid
#define SYS_getsid __NR_getsid
#define SYS_setsid __NR_setsid
#define SYS_getgroups __NR_getgroups
#define SYS_setgroups __NR_setgroups
#define SYS_uname __NR_uname
#define SYS_sethostname __NR_sethostname
#define SYS_setdomainname __NR_setdomainname
#define SYS_getrlimit __NR_getrlimit
#define SYS_setrlimit __NR_setrlimit
#define SYS_getrusage __NR_getrusage
#define SYS_umask __NR_umask
#define SYS_prctl __NR_prctl
#define SYS_getcpu __NR_getcpu
#define SYS_gettimeofday __NR_gettimeofday
#define SYS_settimeofday __NR_settimeofday
#define SYS_adjtimex __NR_adjtimex
#define SYS_getpid __NR_getpid
#define SYS_getppid __NR_getppid
#define SYS_getuid __NR_getuid
#define SYS_geteuid __NR_geteuid
#define SYS_getgid __NR_getgid
#define SYS_getegid __NR_getegid
#define SYS_gettid __NR_gettid
#define SYS_sysinfo __NR_sysinfo
#define SYS_mq_open __NR_mq_open
#define SYS_mq_unlink __NR_mq_unlink
#define SYS_mq_timedsend __NR_mq_timedsend
#define SYS_mq_timedreceive __NR_mq_timedreceive
#define SYS_mq_notify __NR_mq_notify
#define SYS_mq_getsetattr __NR_mq_getsetattr
#define SYS_msgget __NR_msgget
#define SYS_msgctl __NR_msgctl
#define SYS_msgrcv __NR_msgrcv
#define SYS_msgsnd __NR_msgsnd
#define SYS_semget __NR_semget
#define SYS_semctl __NR_semctl
#define SYS_semtimedop __NR_semtimedop
#define SYS_semop __NR_semop
#define SYS_shmget __NR_shmget
#define SYS_shmctl __NR_shmctl
#define SYS_shmat __NR_shmat
#define SYS_shmdt __NR_shmdt
#define SYS_socket __NR_socket
#define SYS_socketpair __NR_socketpair
#define SYS_bind __NR_bind
#define SYS_listen __NR_listen
#define SYS_accept __NR_accept
#define SYS_connect __NR_connect
#define SYS_getsockname __NR_getsockname
#define SYS_getpeername __NR_getpeername
#define SYS_sendto __NR_sendto
#define SYS_recvfrom __NR_recvfrom
#define SYS_setsockopt __NR_setsockopt
#define SYS_getsockopt __NR_getsockopt
#define SYS_shutdown __NR_shutdown
#define SYS_sendmsg __NR_sendmsg
#define SYS_recvmsg __NR_recvmsg
#define SYS_readahead __NR_readahead
#define SYS_brk __NR_brk
#define SYS_munmap __NR_munmap
#define SYS_mremap __NR_mremap
#define SYS_add_key __NR_add_key
#define SYS_request_key __NR_request_key
#define SYS_keyctl __NR_keyctl
#define SYS_clone __NR_clone
#define SYS_execve __NR_execve
#define SYS_mmap __NR_mmap
#define SYS_fadvise64 __NR_fadvise64
#define SYS_swapon __NR_swapon
#define SYS_swapoff __NR_swapoff
#define SYS_mprotect __NR_mprotect
#define SYS_msync __NR_msync
#define SYS_mlock __NR_mlock
#define SYS_munlock __NR_munlock
#define SYS_mlockall __NR_mlockall
#define SYS_munlockall __NR_munlockall
#define SYS_mincore __NR_mincore
#define SYS_madvise __NR_madvise
#define SYS_remap_file_pages __NR_remap_file_pages
#define SYS_mbind __NR_mbind
#define SYS_get_mempolicy __NR_get_mempolicy
#define SYS_set_mempolicy __NR_set_mempolicy
#define SYS_migrate_pages __NR_migrate_pages
#define SYS_move_pages __NR_move_pages
#define SYS_rt_tgsigqueueinfo __NR_rt_tgsigqueueinfo
#define SYS_perf_event_open __NR_perf_event_open
#define SYS_accept4 __NR_accept4
#define SYS_recvmmsg __NR_recvmmsg
#define SYS_or1k_atomic __NR_or1k_atomic
#define SYS_wait4 __NR_wait4
#define SYS_prlimit64 __NR_prlimit64
#define SYS_fanotify_init __NR_fanotify_init
#define SYS_fanotify_mark __NR_fanotify_mark
#define SYS_name_to_handle_at __NR_name_to_handle_at
#define SYS_open_by_handle_at __NR_open_by_handle_at
#define SYS_clock_adjtime __NR_clock_adjtime
#define SYS_syncfs __NR_syncfs
#define SYS_setns __NR_setns
#define SYS_sendmmsg __NR_sendmmsg
#define SYS_process_vm_readv __NR_process_vm_readv
#define SYS_process_vm_writev __NR_process_vm_writev
#define SYS_kcmp __NR_kcmp
#define SYS_finit_module __NR_finit_module
#define SYS_sched_setattr __NR_sched_setattr
#define SYS_sched_getattr __NR_sched_getattr
#define SYS_renameat2 __NR_renameat2
#define SYS_seccomp __NR_seccomp
#define SYS_getrandom __NR_getrandom
#define SYS_memfd_create __NR_memfd_create
#define SYS_bpf __NR_bpf
#define SYS_execveat __NR_execveat

View File

@ -0,0 +1,277 @@
#define __NR_io_setup 0
#define __NR_io_destroy 1
#define __NR_io_submit 2
#define __NR_io_cancel 3
#define __NR_io_getevents 4
#define __NR_setxattr 5
#define __NR_lsetxattr 6
#define __NR_fsetxattr 7
#define __NR_getxattr 8
#define __NR_lgetxattr 9
#define __NR_fgetxattr 10
#define __NR_listxattr 11
#define __NR_llistxattr 12
#define __NR_flistxattr 13
#define __NR_removexattr 14
#define __NR_lremovexattr 15
#define __NR_fremovexattr 16
#define __NR_getcwd 17
#define __NR_lookup_dcookie 18
#define __NR_eventfd2 19
#define __NR_epoll_create1 20
#define __NR_epoll_ctl 21
#define __NR_epoll_pwait 22
#define __NR_dup 23
#define __NR_dup3 24
#define __NR_fcntl 25
#define __NR_inotify_init1 26
#define __NR_inotify_add_watch 27
#define __NR_inotify_rm_watch 28
#define __NR_ioctl 29
#define __NR_ioprio_set 30
#define __NR_ioprio_get 31
#define __NR_flock 32
#define __NR_mknodat 33
#define __NR_mkdirat 34
#define __NR_unlinkat 35
#define __NR_symlinkat 36
#define __NR_linkat 37
#define __NR_renameat 38
#define __NR_umount2 39
#define __NR_mount 40
#define __NR_pivot_root 41
#define __NR_nfsservctl 42
#define __NR_statfs 43
#define __NR_fstatfs 44
#define __NR_truncate 45
#define __NR_ftruncate 46
#define __NR_fallocate 47
#define __NR_faccessat 48
#define __NR_chdir 49
#define __NR_fchdir 50
#define __NR_chroot 51
#define __NR_fchmod 52
#define __NR_fchmodat 53
#define __NR_fchownat 54
#define __NR_fchown 55
#define __NR_openat 56
#define __NR_close 57
#define __NR_vhangup 58
#define __NR_pipe2 59
#define __NR_quotactl 60
#define __NR_getdents64 61
#define __NR_lseek 62
#define __NR_read 63
#define __NR_write 64
#define __NR_readv 65
#define __NR_writev 66
#define __NR_pread64 67
#define __NR_pwrite64 68
#define __NR_preadv 69
#define __NR_pwritev 70
#define __NR_sendfile 71
#define __NR_pselect6 72
#define __NR_ppoll 73
#define __NR_signalfd4 74
#define __NR_vmsplice 75
#define __NR_splice 76
#define __NR_tee 77
#define __NR_readlinkat 78
#define __NR_newfstatat 79
#define __NR_fstat 80
#define __NR_sync 81
#define __NR_fsync 82
#define __NR_fdatasync 83
#define __NR_sync_file_range 84
#define __NR_timerfd_create 85
#define __NR_timerfd_settime 86
#define __NR_timerfd_gettime 87
#define __NR_utimensat 88
#define __NR_acct 89
#define __NR_capget 90
#define __NR_capset 91
#define __NR_personality 92
#define __NR_exit 93
#define __NR_exit_group 94
#define __NR_waitid 95
#define __NR_set_tid_address 96
#define __NR_unshare 97
#define __NR_futex 98
#define __NR_set_robust_list 99
#define __NR_get_robust_list 100
#define __NR_nanosleep 101
#define __NR_getitimer 102
#define __NR_setitimer 103
#define __NR_kexec_load 104
#define __NR_init_module 105
#define __NR_delete_module 106
#define __NR_timer_create 107
#define __NR_timer_gettime 108
#define __NR_timer_getoverrun 109
#define __NR_timer_settime 110
#define __NR_timer_delete 111
#define __NR_clock_settime 112
#define __NR_clock_gettime 113
#define __NR_clock_getres 114
#define __NR_clock_nanosleep 115
#define __NR_syslog 116
#define __NR_ptrace 117
#define __NR_sched_setparam 118
#define __NR_sched_setscheduler 119
#define __NR_sched_getscheduler 120
#define __NR_sched_getparam 121
#define __NR_sched_setaffinity 122
#define __NR_sched_getaffinity 123
#define __NR_sched_yield 124
#define __NR_sched_get_priority_max 125
#define __NR_sched_get_priority_min 126
#define __NR_sched_rr_get_interval 127
#define __NR_restart_syscall 128
#define __NR_kill 129
#define __NR_tkill 130
#define __NR_tgkill 131
#define __NR_sigaltstack 132
#define __NR_rt_sigsuspend 133
#define __NR_rt_sigaction 134
#define __NR_rt_sigprocmask 135
#define __NR_rt_sigpending 136
#define __NR_rt_sigtimedwait 137
#define __NR_rt_sigqueueinfo 138
#define __NR_rt_sigreturn 139
#define __NR_setpriority 140
#define __NR_getpriority 141
#define __NR_reboot 142
#define __NR_setregid 143
#define __NR_setgid 144
#define __NR_setreuid 145
#define __NR_setuid 146
#define __NR_setresuid 147
#define __NR_getresuid 148
#define __NR_setresgid 149
#define __NR_getresgid 150
#define __NR_setfsuid 151
#define __NR_setfsgid 152
#define __NR_times 153
#define __NR_setpgid 154
#define __NR_getpgid 155
#define __NR_getsid 156
#define __NR_setsid 157
#define __NR_getgroups 158
#define __NR_setgroups 159
#define __NR_uname 160
#define __NR_sethostname 161
#define __NR_setdomainname 162
#define __NR_getrlimit 163
#define __NR_setrlimit 164
#define __NR_getrusage 165
#define __NR_umask 166
#define __NR_prctl 167
#define __NR_getcpu 168
#define __NR_gettimeofday 169
#define __NR_settimeofday 170
#define __NR_adjtimex 171
#define __NR_getpid 172
#define __NR_getppid 173
#define __NR_getuid 174
#define __NR_geteuid 175
#define __NR_getgid 176
#define __NR_getegid 177
#define __NR_gettid 178
#define __NR_sysinfo 179
#define __NR_mq_open 180
#define __NR_mq_unlink 181
#define __NR_mq_timedsend 182
#define __NR_mq_timedreceive 183
#define __NR_mq_notify 184
#define __NR_mq_getsetattr 185
#define __NR_msgget 186
#define __NR_msgctl 187
#define __NR_msgrcv 188
#define __NR_msgsnd 189
#define __NR_semget 190
#define __NR_semctl 191
#define __NR_semtimedop 192
#define __NR_semop 193
#define __NR_shmget 194
#define __NR_shmctl 195
#define __NR_shmat 196
#define __NR_shmdt 197
#define __NR_socket 198
#define __NR_socketpair 199
#define __NR_bind 200
#define __NR_listen 201
#define __NR_accept 202
#define __NR_connect 203
#define __NR_getsockname 204
#define __NR_getpeername 205
#define __NR_sendto 206
#define __NR_recvfrom 207
#define __NR_setsockopt 208
#define __NR_getsockopt 209
#define __NR_shutdown 210
#define __NR_sendmsg 211
#define __NR_recvmsg 212
#define __NR_readahead 213
#define __NR_brk 214
#define __NR_munmap 215
#define __NR_mremap 216
#define __NR_add_key 217
#define __NR_request_key 218
#define __NR_keyctl 219
#define __NR_clone 220
#define __NR_execve 221
#define __NR_mmap 222
#define __NR_fadvise64 223
#define __NR_swapon 224
#define __NR_swapoff 225
#define __NR_mprotect 226
#define __NR_msync 227
#define __NR_mlock 228
#define __NR_munlock 229
#define __NR_mlockall 230
#define __NR_munlockall 231
#define __NR_mincore 232
#define __NR_madvise 233
#define __NR_remap_file_pages 234
#define __NR_mbind 235
#define __NR_get_mempolicy 236
#define __NR_set_mempolicy 237
#define __NR_migrate_pages 238
#define __NR_move_pages 239
#define __NR_rt_tgsigqueueinfo 240
#define __NR_perf_event_open 241
#define __NR_accept4 242
#define __NR_recvmmsg 243
#define __NR_wait4 260
#define __NR_prlimit64 261
#define __NR_fanotify_init 262
#define __NR_fanotify_mark 263
#define __NR_name_to_handle_at 264
#define __NR_open_by_handle_at 265
#define __NR_clock_adjtime 266
#define __NR_syncfs 267
#define __NR_setns 268
#define __NR_sendmmsg 269
#define __NR_process_vm_readv 270
#define __NR_process_vm_writev 271
#define __NR_kcmp 272
#define __NR_finit_module 273
#define __NR_sched_setattr 274
#define __NR_sched_getattr 275
#define __NR_renameat2 276
#define __NR_seccomp 277
#define __NR_getrandom 278
#define __NR_memfd_create 279
#define __NR_bpf 280
#define __NR_execveat 281
#define __NR_userfaultfd 282
#define __NR_membarrier 283
#define __NR_mlock2 284
#define __NR_copy_file_range 285
#define __NR_preadv2 286
#define __NR_pwritev2 287
#define __NR_pkey_mprotect 288
#define __NR_pkey_alloc 289
#define __NR_pkey_free 290
#define __NR_statx 291

View File

@ -1,5 +1,11 @@
__attribute__((__visibility__("hidden")))
extern const void *__arm_atomics[3]; /* gettp, cas, barrier */
#if __ARM_ARCH_4__ || __ARM_ARCH_4T__ || __ARM_ARCH == 4
#define BLX "mov lr,pc\n\tbx"
#else
#define BLX "blx"
#endif
extern uintptr_t __attribute__((__visibility__("hidden")))
__a_cas_ptr, __a_barrier_ptr;
#if ((__ARM_ARCH_6__ || __ARM_ARCH_6K__ || __ARM_ARCH_6ZK__) && !__thumb__) \
|| __ARM_ARCH_7A__ || __ARM_ARCH_7R__ || __ARM_ARCH >= 7
@ -16,7 +22,7 @@ static inline int a_ll(volatile int *p)
static inline int a_sc(volatile int *p, int v)
{
int r;
__asm__ __volatile__ ("strex %0,%1,%2" : "=&r"(r) : "r"(v), "Q"(*p) : "memory");
__asm__ __volatile__ ("strex %0,%2,%1" : "=&r"(r), "=Q"(*p) : "r"(v) : "memory");
return !r;
}
@ -42,11 +48,12 @@ static inline int a_cas(volatile int *p, int t, int s)
register int r0 __asm__("r0") = t;
register int r1 __asm__("r1") = s;
register volatile int *r2 __asm__("r2") = p;
register uintptr_t r3 __asm__("r3") = __a_cas_ptr;
int old;
__asm__ __volatile__ (
"bl __a_cas"
: "+r"(r0) : "r"(r1), "r"(r2)
: "memory", "r3", "lr", "ip", "cc" );
BLX " r3"
: "+r"(r0), "+r"(r3) : "r"(r1), "r"(r2)
: "memory", "lr", "ip", "cc" );
if (!r0) return t;
if ((old=*p)!=t) return old;
}
@ -58,8 +65,8 @@ static inline int a_cas(volatile int *p, int t, int s)
#define a_barrier a_barrier
static inline void a_barrier()
{
__asm__ __volatile__("bl __a_barrier"
: : : "memory", "cc", "ip", "lr" );
register uintptr_t ip __asm__("ip") = __a_barrier_ptr;
__asm__ __volatile__( BLX " ip" : "+r"(ip) : : "memory", "cc", "lr" );
}
#endif
@ -74,3 +81,14 @@ static inline void a_crash()
#endif
: : : "memory");
}
#if __ARM_ARCH >= 5
#define a_clz_32 a_clz_32
static inline int a_clz_32(uint32_t x)
{
__asm__ ("clz %0, %1" : "=r"(x) : "r"(x));
return x;
}
#endif

53
arch/arm/bits/hwcap.h Normal file
View File

@ -0,0 +1,53 @@
#define HWCAP_SWP (1 << 0)
#define HWCAP_HALF (1 << 1)
#define HWCAP_THUMB (1 << 2)
#define HWCAP_26BIT (1 << 3)
#define HWCAP_FAST_MULT (1 << 4)
#define HWCAP_FPA (1 << 5)
#define HWCAP_VFP (1 << 6)
#define HWCAP_EDSP (1 << 7)
#define HWCAP_JAVA (1 << 8)
#define HWCAP_IWMMXT (1 << 9)
#define HWCAP_CRUNCH (1 << 10)
#define HWCAP_THUMBEE (1 << 11)
#define HWCAP_NEON (1 << 12)
#define HWCAP_VFPv3 (1 << 13)
#define HWCAP_VFPv3D16 (1 << 14)
#define HWCAP_TLS (1 << 15)
#define HWCAP_VFPv4 (1 << 16)
#define HWCAP_IDIVA (1 << 17)
#define HWCAP_IDIVT (1 << 18)
#define HWCAP_VFPD32 (1 << 19)
#define HWCAP_IDIV (HWCAP_IDIVA | HWCAP_IDIVT)
#define HWCAP_LPAE (1 << 20)
#define HWCAP_EVTSTRM (1 << 21)
#define HWCAP2_AES (1 << 0)
#define HWCAP2_PMULL (1 << 1)
#define HWCAP2_SHA1 (1 << 2)
#define HWCAP2_SHA2 (1 << 3)
#define HWCAP2_CRC32 (1 << 4)
#define HWCAP_ARM_SWP (1 << 0)
#define HWCAP_ARM_HALF (1 << 1)
#define HWCAP_ARM_THUMB (1 << 2)
#define HWCAP_ARM_26BIT (1 << 3)
#define HWCAP_ARM_FAST_MULT (1 << 4)
#define HWCAP_ARM_FPA (1 << 5)
#define HWCAP_ARM_VFP (1 << 6)
#define HWCAP_ARM_EDSP (1 << 7)
#define HWCAP_ARM_JAVA (1 << 8)
#define HWCAP_ARM_IWMMXT (1 << 9)
#define HWCAP_ARM_CRUNCH (1 << 10)
#define HWCAP_ARM_THUMBEE (1 << 11)
#define HWCAP_ARM_NEON (1 << 12)
#define HWCAP_ARM_VFPv3 (1 << 13)
#define HWCAP_ARM_VFPv3D16 (1 << 14)
#define HWCAP_ARM_TLS (1 << 15)
#define HWCAP_ARM_VFPv4 (1 << 16)
#define HWCAP_ARM_IDIVA (1 << 17)
#define HWCAP_ARM_IDIVT (1 << 18)
#define HWCAP_ARM_VFPD32 (1 << 19)
#define HWCAP_ARM_IDIV (HWCAP_ARM_IDIVA | HWCAP_ARM_IDIVT)
#define HWCAP_ARM_LPAE (1 << 20)
#define HWCAP_ARM_EVTSTRM (1 << 21)

View File

@ -0,0 +1,2 @@
#undef FIOQSIZE
#define FIOQSIZE 0x545e

View File

@ -1,6 +1,5 @@
#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
|| defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
#define PAGE_SIZE 4096
#define LONG_BIT 32
#endif

View File

@ -1,58 +0,0 @@
#define MAP_FAILED ((void *) -1)
#define PROT_NONE 0
#define PROT_READ 1
#define PROT_WRITE 2
#define PROT_EXEC 4
#define PROT_GROWSDOWN 0x01000000
#define PROT_GROWSUP 0x02000000
#define MAP_SHARED 0x01
#define MAP_PRIVATE 0x02
#define MAP_FIXED 0x10
#define MAP_TYPE 0x0f
#define MAP_FILE 0x00
#define MAP_ANON 0x20
#define MAP_ANONYMOUS MAP_ANON
#define MAP_NORESERVE 0x4000
#define MAP_GROWSDOWN 0x0100
#define MAP_DENYWRITE 0x0800
#define MAP_EXECUTABLE 0x1000
#define MAP_LOCKED 0x2000
#define MAP_POPULATE 0x8000
#define MAP_NONBLOCK 0x10000
#define MAP_STACK 0x20000
#define MAP_HUGETLB 0x40000
#define POSIX_MADV_NORMAL 0
#define POSIX_MADV_RANDOM 1
#define POSIX_MADV_SEQUENTIAL 2
#define POSIX_MADV_WILLNEED 3
#define POSIX_MADV_DONTNEED 0
#define MS_ASYNC 1
#define MS_INVALIDATE 2
#define MS_SYNC 4
#define MCL_CURRENT 1
#define MCL_FUTURE 2
#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
#define MADV_NORMAL 0
#define MADV_RANDOM 1
#define MADV_SEQUENTIAL 2
#define MADV_WILLNEED 3
#define MADV_DONTNEED 4
#define MADV_REMOVE 9
#define MADV_DONTFORK 10
#define MADV_DOFORK 11
#define MADV_MERGEABLE 12
#define MADV_UNMERGEABLE 13
#define MADV_HUGEPAGE 14
#define MADV_NOHUGEPAGE 15
#define MADV_DONTDUMP 16
#define MADV_DODUMP 17
#define MADV_HWPOISON 100
#define MADV_SOFT_OFFLINE 101
#endif

View File

@ -8,8 +8,7 @@
#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
typedef int greg_t, gregset_t[18];
typedef struct sigcontext
{
typedef struct sigcontext {
unsigned long trap_no, error_code, oldmask;
unsigned long arm_r0, arm_r1, arm_r2, arm_r3;
unsigned long arm_r4, arm_r5, arm_r6, arm_r7;

View File

@ -1,17 +0,0 @@
struct msghdr
{
void *msg_name;
socklen_t msg_namelen;
struct iovec *msg_iov;
int msg_iovlen;
void *msg_control;
socklen_t msg_controllen;
int msg_flags;
};
struct cmsghdr
{
socklen_t cmsg_len;
int cmsg_level;
int cmsg_type;
};

View File

@ -1,8 +1,7 @@
/* copied from kernel definition, but with padding replaced
* by the corresponding correctly-sized userspace types. */
struct stat
{
struct stat {
dev_t st_dev;
int __st_dev_padding;
long __st_ino_truncated;

View File

@ -1,7 +0,0 @@
struct statfs {
unsigned long f_type, f_bsize;
fsblkcnt_t f_blocks, f_bfree, f_bavail;
fsfilcnt_t f_files, f_ffree;
fsid_t f_fsid;
unsigned long f_namelen, f_frsize, f_flags, f_spare[4];
};

View File

@ -1,4 +0,0 @@
#define va_start(v,l) __builtin_va_start(v,l)
#define va_end(v) __builtin_va_end(v)
#define va_arg(v,l) __builtin_va_arg(v,l)
#define va_copy(d,s) __builtin_va_copy(d,s)

View File

@ -224,6 +224,7 @@
#define __NR_tgkill 268
#define __NR_utimes 269
#define __NR_fadvise64_64 270
#define __NR_arm_fadvise64_64 270
#define __NR_pciconfig_iobase 271
#define __NR_pciconfig_read 272
#define __NR_pciconfig_write 273
@ -295,6 +296,7 @@
#define __NR_get_robust_list 339
#define __NR_splice 340
#define __NR_sync_file_range2 341
#define __NR_arm_sync_file_range 341
#define __NR_tee 342
#define __NR_vmsplice 343
#define __NR_move_pages 344
@ -341,6 +343,16 @@
#define __NR_memfd_create 385
#define __NR_bpf 386
#define __NR_execveat 387
#define __NR_userfaultfd 388
#define __NR_membarrier 389
#define __NR_mlock2 390
#define __NR_copy_file_range 391
#define __NR_preadv2 392
#define __NR_pwritev2 393
#define __NR_pkey_mprotect 394
#define __NR_pkey_alloc 395
#define __NR_pkey_free 396
#define __NR_statx 397
#define __ARM_NR_breakpoint 0x0f0001
#define __ARM_NR_cacheflush 0x0f0002
@ -348,348 +360,3 @@
#define __ARM_NR_usr32 0x0f0004
#define __ARM_NR_set_tls 0x0f0005
/* Repeated with SYS_ prefix */
#define SYS_restart_syscall 0
#define SYS_exit 1
#define SYS_fork 2
#define SYS_read 3
#define SYS_write 4
#define SYS_open 5
#define SYS_close 6
#define SYS_creat 8
#define SYS_link 9
#define SYS_unlink 10
#define SYS_execve 11
#define SYS_chdir 12
#define SYS_mknod 14
#define SYS_chmod 15
#define SYS_lchown 16
#define SYS_lseek 19
#define SYS_getpid 20
#define SYS_mount 21
#define SYS_setuid 23
#define SYS_getuid 24
#define SYS_ptrace 26
#define SYS_pause 29
#define SYS_access 33
#define SYS_nice 34
#define SYS_sync 36
#define SYS_kill 37
#define SYS_rename 38
#define SYS_mkdir 39
#define SYS_rmdir 40
#define SYS_dup 41
#define SYS_pipe 42
#define SYS_times 43
#define SYS_brk 45
#define SYS_setgid 46
#define SYS_getgid 47
#define SYS_geteuid 49
#define SYS_getegid 50
#define SYS_acct 51
#define SYS_umount2 52
#define SYS_ioctl 54
#define SYS_fcntl 55
#define SYS_setpgid 57
#define SYS_umask 60
#define SYS_chroot 61
#define SYS_ustat 62
#define SYS_dup2 63
#define SYS_getppid 64
#define SYS_getpgrp 65
#define SYS_setsid 66
#define SYS_sigaction 67
#define SYS_setreuid 70
#define SYS_setregid 71
#define SYS_sigsuspend 72
#define SYS_sigpending 73
#define SYS_sethostname 74
#define SYS_setrlimit 75
#define SYS_getrusage 77
#define SYS_gettimeofday 78
#define SYS_settimeofday 79
#define SYS_getgroups 80
#define SYS_setgroups 81
#define SYS_symlink 83
#define SYS_readlink 85
#define SYS_uselib 86
#define SYS_swapon 87
#define SYS_reboot 88
#define SYS_munmap 91
#define SYS_truncate 92
#define SYS_ftruncate 93
#define SYS_fchmod 94
#define SYS_fchown 95
#define SYS_getpriority 96
#define SYS_setpriority 97
#define SYS_statfs 99
#define SYS_fstatfs 100
#define SYS_syslog 103
#define SYS_setitimer 104
#define SYS_getitimer 105
#define SYS_stat 106
#define SYS_lstat 107
#define SYS_fstat 108
#define SYS_vhangup 111
#define SYS_wait4 114
#define SYS_swapoff 115
#define SYS_sysinfo 116
#define SYS_fsync 118
#define SYS_sigreturn 119
#define SYS_clone 120
#define SYS_setdomainname 121
#define SYS_uname 122
#define SYS_adjtimex 124
#define SYS_mprotect 125
#define SYS_sigprocmask 126
#define SYS_init_module 128
#define SYS_delete_module 129
#define SYS_quotactl 131
#define SYS_getpgid 132
#define SYS_fchdir 133
#define SYS_bdflush 134
#define SYS_sysfs 135
#define SYS_personality 136
#define SYS_setfsuid 138
#define SYS_setfsgid 139
#define SYS__llseek 140
#define SYS_getdents 141
#define SYS__newselect 142
#define SYS_flock 143
#define SYS_msync 144
#define SYS_readv 145
#define SYS_writev 146
#define SYS_getsid 147
#define SYS_fdatasync 148
#define SYS__sysctl 149
#define SYS_mlock 150
#define SYS_munlock 151
#define SYS_mlockall 152
#define SYS_munlockall 153
#define SYS_sched_setparam 154
#define SYS_sched_getparam 155
#define SYS_sched_setscheduler 156
#define SYS_sched_getscheduler 157
#define SYS_sched_yield 158
#define SYS_sched_get_priority_max 159
#define SYS_sched_get_priority_min 160
#define SYS_sched_rr_get_interval 161
#define SYS_nanosleep 162
#define SYS_mremap 163
#define SYS_setresuid 164
#define SYS_getresuid 165
#define SYS_poll 168
#define SYS_nfsservctl 169
#define SYS_setresgid 170
#define SYS_getresgid 171
#define SYS_prctl 172
#define SYS_rt_sigreturn 173
#define SYS_rt_sigaction 174
#define SYS_rt_sigprocmask 175
#define SYS_rt_sigpending 176
#define SYS_rt_sigtimedwait 177
#define SYS_rt_sigqueueinfo 178
#define SYS_rt_sigsuspend 179
#define SYS_pread64 180
#define SYS_pwrite64 181
#define SYS_chown 182
#define SYS_getcwd 183
#define SYS_capget 184
#define SYS_capset 185
#define SYS_sigaltstack 186
#define SYS_sendfile 187
#define SYS_vfork 190
#define SYS_ugetrlimit 191
#define SYS_mmap2 192
#define SYS_truncate64 193
#define SYS_ftruncate64 194
#define SYS_stat64 195
#define SYS_lstat64 196
#define SYS_fstat64 197
#define SYS_lchown32 198
#define SYS_getuid32 199
#define SYS_getgid32 200
#define SYS_geteuid32 201
#define SYS_getegid32 202
#define SYS_setreuid32 203
#define SYS_setregid32 204
#define SYS_getgroups32 205
#define SYS_setgroups32 206
#define SYS_fchown32 207
#define SYS_setresuid32 208
#define SYS_getresuid32 209
#define SYS_setresgid32 210
#define SYS_getresgid32 211
#define SYS_chown32 212
#define SYS_setuid32 213
#define SYS_setgid32 214
#define SYS_setfsuid32 215
#define SYS_setfsgid32 216
#define SYS_getdents64 217
#define SYS_pivot_root 218
#define SYS_mincore 219
#define SYS_madvise 220
#define SYS_fcntl64 221
#define SYS_gettid 224
#define SYS_readahead 225
#define SYS_setxattr 226
#define SYS_lsetxattr 227
#define SYS_fsetxattr 228
#define SYS_getxattr 229
#define SYS_lgetxattr 230
#define SYS_fgetxattr 231
#define SYS_listxattr 232
#define SYS_llistxattr 233
#define SYS_flistxattr 234
#define SYS_removexattr 235
#define SYS_lremovexattr 236
#define SYS_fremovexattr 237
#define SYS_tkill 238
#define SYS_sendfile64 239
#define SYS_futex 240
#define SYS_sched_setaffinity 241
#define SYS_sched_getaffinity 242
#define SYS_io_setup 243
#define SYS_io_destroy 244
#define SYS_io_getevents 245
#define SYS_io_submit 246
#define SYS_io_cancel 247
#define SYS_exit_group 248
#define SYS_lookup_dcookie 249
#define SYS_epoll_create 250
#define SYS_epoll_ctl 251
#define SYS_epoll_wait 252
#define SYS_remap_file_pages 253
#define SYS_set_tid_address 256
#define SYS_timer_create 257
#define SYS_timer_settime 258
#define SYS_timer_gettime 259
#define SYS_timer_getoverrun 260
#define SYS_timer_delete 261
#define SYS_clock_settime 262
#define SYS_clock_gettime 263
#define SYS_clock_getres 264
#define SYS_clock_nanosleep 265
#define SYS_statfs64 266
#define SYS_fstatfs64 267
#define SYS_tgkill 268
#define SYS_utimes 269
#define SYS_fadvise64_64 270
#define SYS_pciconfig_iobase 271
#define SYS_pciconfig_read 272
#define SYS_pciconfig_write 273
#define SYS_mq_open 274
#define SYS_mq_unlink 275
#define SYS_mq_timedsend 276
#define SYS_mq_timedreceive 277
#define SYS_mq_notify 278
#define SYS_mq_getsetattr 279
#define SYS_waitid 280
#define SYS_socket 281
#define SYS_bind 282
#define SYS_connect 283
#define SYS_listen 284
#define SYS_accept 285
#define SYS_getsockname 286
#define SYS_getpeername 287
#define SYS_socketpair 288
#define SYS_send 289
#define SYS_sendto 290
#define SYS_recv 291
#define SYS_recvfrom 292
#define SYS_shutdown 293
#define SYS_setsockopt 294
#define SYS_getsockopt 295
#define SYS_sendmsg 296
#define SYS_recvmsg 297
#define SYS_semop 298
#define SYS_semget 299
#define SYS_semctl 300
#define SYS_msgsnd 301
#define SYS_msgrcv 302
#define SYS_msgget 303
#define SYS_msgctl 304
#define SYS_shmat 305
#define SYS_shmdt 306
#define SYS_shmget 307
#define SYS_shmctl 308
#define SYS_add_key 309
#define SYS_request_key 310
#define SYS_keyctl 311
#define SYS_semtimedop 312
#define SYS_vserver 313
#define SYS_ioprio_set 314
#define SYS_ioprio_get 315
#define SYS_inotify_init 316
#define SYS_inotify_add_watch 317
#define SYS_inotify_rm_watch 318
#define SYS_mbind 319
#define SYS_get_mempolicy 320
#define SYS_set_mempolicy 321
#define SYS_openat 322
#define SYS_mkdirat 323
#define SYS_mknodat 324
#define SYS_fchownat 325
#define SYS_futimesat 326
#define SYS_fstatat64 327
#define SYS_unlinkat 328
#define SYS_renameat 329
#define SYS_linkat 330
#define SYS_symlinkat 331
#define SYS_readlinkat 332
#define SYS_fchmodat 333
#define SYS_faccessat 334
#define SYS_pselect6 335
#define SYS_ppoll 336
#define SYS_unshare 337
#define SYS_set_robust_list 338
#define SYS_get_robust_list 339
#define SYS_splice 340
#define SYS_sync_file_range2 341
#define SYS_tee 342
#define SYS_vmsplice 343
#define SYS_move_pages 344
#define SYS_getcpu 345
#define SYS_epoll_pwait 346
#define SYS_kexec_load 347
#define SYS_utimensat 348
#define SYS_signalfd 349
#define SYS_timerfd_create 350
#define SYS_eventfd 351
#define SYS_fallocate 352
#define SYS_timerfd_settime 353
#define SYS_timerfd_gettime 354
#define SYS_signalfd4 355
#define SYS_eventfd2 356
#define SYS_epoll_create1 357
#define SYS_dup3 358
#define SYS_pipe2 359
#define SYS_inotify_init1 360
#define SYS_preadv 361
#define SYS_pwritev 362
#define SYS_rt_tgsigqueueinfo 363
#define SYS_perf_event_open 364
#define SYS_recvmmsg 365
#define SYS_accept4 366
#define SYS_fanotify_init 367
#define SYS_fanotify_mark 368
#define SYS_prlimit64 369
#define SYS_name_to_handle_at 370
#define SYS_open_by_handle_at 371
#define SYS_clock_adjtime 372
#define SYS_syncfs 373
#define SYS_sendmmsg 374
#define SYS_setns 375
#define SYS_process_vm_readv 376
#define SYS_process_vm_writev 377
#define SYS_kcmp 378
#define SYS_finit_module 379
#define SYS_sched_setattr 380
#define SYS_sched_getattr 381
#define SYS_renameat2 382
#define SYS_seccomp 383
#define SYS_getrandom 384
#define SYS_memfd_create 385
#define SYS_bpf 386
#define SYS_execveat 387

View File

@ -1,160 +0,0 @@
struct termios
{
tcflag_t c_iflag;
tcflag_t c_oflag;
tcflag_t c_cflag;
tcflag_t c_lflag;
cc_t c_line;
cc_t c_cc[NCCS];
speed_t __c_ispeed;
speed_t __c_ospeed;
};
#define VINTR 0
#define VQUIT 1
#define VERASE 2
#define VKILL 3
#define VEOF 4
#define VTIME 5
#define VMIN 6
#define VSWTC 7
#define VSTART 8
#define VSTOP 9
#define VSUSP 10
#define VEOL 11
#define VREPRINT 12
#define VDISCARD 13
#define VWERASE 14
#define VLNEXT 15
#define VEOL2 16
#define IGNBRK 0000001
#define BRKINT 0000002
#define IGNPAR 0000004
#define PARMRK 0000010
#define INPCK 0000020
#define ISTRIP 0000040
#define INLCR 0000100
#define IGNCR 0000200
#define ICRNL 0000400
#define IUCLC 0001000
#define IXON 0002000
#define IXANY 0004000
#define IXOFF 0010000
#define IMAXBEL 0020000
#define IUTF8 0040000
#define OPOST 0000001
#define OLCUC 0000002
#define ONLCR 0000004
#define OCRNL 0000010
#define ONOCR 0000020
#define ONLRET 0000040
#define OFILL 0000100
#define OFDEL 0000200
#define NLDLY 0000400
#define NL0 0000000
#define NL1 0000400
#define CRDLY 0003000
#define CR0 0000000
#define CR1 0001000
#define CR2 0002000
#define CR3 0003000
#define TABDLY 0014000
#define TAB0 0000000
#define TAB1 0004000
#define TAB2 0010000
#define TAB3 0014000
#define BSDLY 0020000
#define BS0 0000000
#define BS1 0020000
#define FFDLY 0100000
#define FF0 0000000
#define FF1 0100000
#define VTDLY 0040000
#define VT0 0000000
#define VT1 0040000
#define B0 0000000
#define B50 0000001
#define B75 0000002
#define B110 0000003
#define B134 0000004
#define B150 0000005
#define B200 0000006
#define B300 0000007
#define B600 0000010
#define B1200 0000011
#define B1800 0000012
#define B2400 0000013
#define B4800 0000014
#define B9600 0000015
#define B19200 0000016
#define B38400 0000017
#define B57600 0010001
#define B115200 0010002
#define B230400 0010003
#define B460800 0010004
#define B500000 0010005
#define B576000 0010006
#define B921600 0010007
#define B1000000 0010010
#define B1152000 0010011
#define B1500000 0010012
#define B2000000 0010013
#define B2500000 0010014
#define B3000000 0010015
#define B3500000 0010016
#define B4000000 0010017
#define CBAUD 0010017
#define CSIZE 0000060
#define CS5 0000000
#define CS6 0000020
#define CS7 0000040
#define CS8 0000060
#define CSTOPB 0000100
#define CREAD 0000200
#define PARENB 0000400
#define PARODD 0001000
#define HUPCL 0002000
#define CLOCAL 0004000
#define ISIG 0000001
#define ICANON 0000002
#define ECHO 0000010
#define ECHOE 0000020
#define ECHOK 0000040
#define ECHONL 0000100
#define NOFLSH 0000200
#define TOSTOP 0000400
#define IEXTEN 0100000
#define ECHOCTL 0001000
#define ECHOPRT 0002000
#define ECHOKE 0004000
#define FLUSHO 0010000
#define PENDIN 0040000
#define TCOOFF 0
#define TCOON 1
#define TCIOFF 2
#define TCION 3
#define TCIFLUSH 0
#define TCOFLUSH 1
#define TCIOFLUSH 2
#define TCSANOW 0
#define TCSADRAIN 1
#define TCSAFLUSH 2
#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
#define CBAUDEX 0010000
#define CRTSCTS 020000000000
#define EXTPROC 0200000
#define XTABS 0014000
#endif

View File

@ -10,15 +10,17 @@ static inline pthread_t __pthread_self()
#else
#if __ARM_ARCH_4__ || __ARM_ARCH_4T__ || __ARM_ARCH == 4
#define BLX "mov lr,pc\n\tbx"
#else
#define BLX "blx"
#endif
static inline pthread_t __pthread_self()
{
#ifdef __clang__
char *p;
__asm__ __volatile__ ( "bl __a_gettp\n\tmov %0,r0" : "=r"(p) : : "cc", "r0", "lr" );
#else
register char *p __asm__("r0");
__asm__ __volatile__ ( "bl __a_gettp" : "=r"(p) : : "cc", "lr" );
#endif
extern uintptr_t __attribute__((__visibility__("hidden"))) __a_gettp_ptr;
register uintptr_t p __asm__("r0");
__asm__ __volatile__ ( BLX " %1" : "=r"(p) : "r"(__a_gettp_ptr) : "cc", "lr" );
return (void *)(p+8-sizeof(struct pthread));
}

View File

@ -76,3 +76,5 @@ static inline long __syscall6(long n, long a, long b, long c, long d, long e, lo
#define VDSO_USEFUL
#define VDSO_CGT_SYM "__vdso_clock_gettime"
#define VDSO_CGT_VER "LINUX_2.6"
#define SYSCALL_FADVISE_6_ARG

View File

@ -46,16 +46,24 @@
#define TIOCSETD 0x5423
#define TIOCGETD 0x5424
#define TCSBRKP 0x5425
#define TIOCTTYGSTRUCT 0x5426
#define TIOCSBRK 0x5427
#define TIOCCBRK 0x5428
#define TIOCGSID 0x5429
#define TIOCGRS485 0x542E
#define TIOCSRS485 0x542F
#define TIOCGPTN 0x80045430
#define TIOCSPTLCK 0x40045431
#define TIOCGDEV 0x80045432
#define TCGETX 0x5432
#define TCSETX 0x5433
#define TCSETXF 0x5434
#define TCSETXW 0x5435
#define TIOCSIG 0x40045436
#define TIOCVHANGUP 0x5437
#define TIOCGPKT 0x80045438
#define TIOCGPTLCK 0x80045439
#define TIOCGEXCL 0x80045440
#define TIOCGPTPEER 0x5441
#define FIONCLEX 0x5450
#define FIOCLEX 0x5451
@ -72,8 +80,6 @@
#define TIOCMIWAIT 0x545C
#define TIOCGICOUNT 0x545D
#define TIOCGHAYESESP 0x545E
#define TIOCSHAYESESP 0x545F
#define FIOQSIZE 0x5460
#define TIOCPKT_DATA 0
@ -108,7 +114,6 @@ struct winsize {
#define TIOCM_OUT1 0x2000
#define TIOCM_OUT2 0x4000
#define TIOCM_LOOP 0x8000
#define TIOCM_MODEM_BITS TIOCM_OUT2
#define N_TTY 0
#define N_SLIP 1
@ -133,6 +138,7 @@ struct winsize {
#define SIOCGPGRP 0x8904
#define SIOCATMARK 0x8905
#define SIOCGSTAMP 0x8906
#define SIOCGSTAMPNS 0x8907
#define SIOCADDRT 0x890B
#define SIOCDELRT 0x890C
@ -157,6 +163,7 @@ struct winsize {
#define SIOCSIFMEM 0x8920
#define SIOCGIFMTU 0x8921
#define SIOCSIFMTU 0x8922
#define SIOCSIFNAME 0x8923
#define SIOCSIFHWADDR 0x8924
#define SIOCGIFENCAP 0x8925
#define SIOCSIFENCAP 0x8926
@ -195,3 +202,5 @@ struct winsize {
#define SIOCDEVPRIVATE 0x89F0
#define SIOCPROTOPRIVATE 0x89E0
#include <bits/ioctl_fix.h>

View File

@ -1,5 +1,4 @@
struct ipc_perm
{
struct ipc_perm {
key_t __ipc_perm_key;
uid_t uid;
gid_t gid;

1
arch/generic/bits/link.h Normal file
View File

@ -0,0 +1 @@
typedef uint32_t Elf_Symndx;

View File

@ -1,5 +1,4 @@
struct msqid_ds
{
struct msqid_ds {
struct ipc_perm msg_perm;
time_t msg_stime;
int __unused1;

View File

@ -25,3 +25,4 @@ struct shm_info {
unsigned long shm_tot, shm_rss, shm_swp;
unsigned long __swap_attempts, __swap_successes;
};

View File

@ -108,8 +108,6 @@ struct termios {
#define B3500000 0010016
#define B4000000 0010017
#define CBAUD 0010017
#define CSIZE 0000060
#define CS5 0000000
#define CS6 0000020
@ -132,12 +130,6 @@ struct termios {
#define TOSTOP 0000400
#define IEXTEN 0100000
#define ECHOCTL 0001000
#define ECHOPRT 0002000
#define ECHOKE 0004000
#define FLUSHO 0010000
#define PENDIN 0040000
#define TCOOFF 0
#define TCOON 1
#define TCIOFF 2
@ -152,8 +144,21 @@ struct termios {
#define TCSAFLUSH 2
#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
#define EXTA 0000016
#define EXTB 0000017
#define CBAUD 0010017
#define CBAUDEX 0010000
#define CRTSCTS 020000000000
#define CIBAUD 002003600000
#define CMSPAR 010000000000
#define CRTSCTS 020000000000
#define XCASE 0000004
#define ECHOCTL 0001000
#define ECHOPRT 0002000
#define ECHOKE 0004000
#define FLUSHO 0010000
#define PENDIN 0040000
#define EXTPROC 0200000
#define XTABS 0014000
#endif

View File

@ -71,7 +71,7 @@ static inline void a_barrier()
__asm__ __volatile__( "" : : : "memory" );
}
#define a_pause a_pause
#define a_spin a_spin
static inline void a_spin()
{
__asm__ __volatile__( "pause" : : : "memory" );
@ -99,3 +99,10 @@ static inline int a_ctz_l(unsigned long x)
__asm__( "bsf %1,%0" : "=r"(r) : "r"(x) );
return r;
}
#define a_clz_32 a_clz_32
static inline int a_clz_32(uint32_t x)
{
__asm__( "bsr %1,%0 ; xor $31,%0" : "=r"(x) : "r"(x) );
return x;
}

View File

@ -1,134 +0,0 @@
#define EPERM 1
#define ENOENT 2
#define ESRCH 3
#define EINTR 4
#define EIO 5
#define ENXIO 6
#define E2BIG 7
#define ENOEXEC 8
#define EBADF 9
#define ECHILD 10
#define EAGAIN 11
#define ENOMEM 12
#define EACCES 13
#define EFAULT 14
#define ENOTBLK 15
#define EBUSY 16
#define EEXIST 17
#define EXDEV 18
#define ENODEV 19
#define ENOTDIR 20
#define EISDIR 21
#define EINVAL 22
#define ENFILE 23
#define EMFILE 24
#define ENOTTY 25
#define ETXTBSY 26
#define EFBIG 27
#define ENOSPC 28
#define ESPIPE 29
#define EROFS 30
#define EMLINK 31
#define EPIPE 32
#define EDOM 33
#define ERANGE 34
#define EDEADLK 35
#define ENAMETOOLONG 36
#define ENOLCK 37
#define ENOSYS 38
#define ENOTEMPTY 39
#define ELOOP 40
#define EWOULDBLOCK EAGAIN
#define ENOMSG 42
#define EIDRM 43
#define ECHRNG 44
#define EL2NSYNC 45
#define EL3HLT 46
#define EL3RST 47
#define ELNRNG 48
#define EUNATCH 49
#define ENOCSI 50
#define EL2HLT 51
#define EBADE 52
#define EBADR 53
#define EXFULL 54
#define ENOANO 55
#define EBADRQC 56
#define EBADSLT 57
#define EDEADLOCK EDEADLK
#define EBFONT 59
#define ENOSTR 60
#define ENODATA 61
#define ETIME 62
#define ENOSR 63
#define ENONET 64
#define ENOPKG 65
#define EREMOTE 66
#define ENOLINK 67
#define EADV 68
#define ESRMNT 69
#define ECOMM 70
#define EPROTO 71
#define EMULTIHOP 72
#define EDOTDOT 73
#define EBADMSG 74
#define EOVERFLOW 75
#define ENOTUNIQ 76
#define EBADFD 77
#define EREMCHG 78
#define ELIBACC 79
#define ELIBBAD 80
#define ELIBSCN 81
#define ELIBMAX 82
#define ELIBEXEC 83
#define EILSEQ 84
#define ERESTART 85
#define ESTRPIPE 86
#define EUSERS 87
#define ENOTSOCK 88
#define EDESTADDRREQ 89
#define EMSGSIZE 90
#define EPROTOTYPE 91
#define ENOPROTOOPT 92
#define EPROTONOSUPPORT 93
#define ESOCKTNOSUPPORT 94
#define EOPNOTSUPP 95
#define ENOTSUP EOPNOTSUPP
#define EPFNOSUPPORT 96
#define EAFNOSUPPORT 97
#define EADDRINUSE 98
#define EADDRNOTAVAIL 99
#define ENETDOWN 100
#define ENETUNREACH 101
#define ENETRESET 102
#define ECONNABORTED 103
#define ECONNRESET 104
#define ENOBUFS 105
#define EISCONN 106
#define ENOTCONN 107
#define ESHUTDOWN 108
#define ETOOMANYREFS 109
#define ETIMEDOUT 110
#define ECONNREFUSED 111
#define EHOSTDOWN 112
#define EHOSTUNREACH 113
#define EALREADY 114
#define EINPROGRESS 115
#define ESTALE 116
#define EUCLEAN 117
#define ENOTNAM 118
#define ENAVAIL 119
#define EISNAM 120
#define EREMOTEIO 121
#define EDQUOT 122
#define ENOMEDIUM 123
#define EMEDIUMTYPE 124
#define ECANCELED 125
#define ENOKEY 126
#define EKEYEXPIRED 127
#define EKEYREVOKED 128
#define EKEYREJECTED 129
#define EOWNERDEAD 130
#define ENOTRECOVERABLE 131
#define ERFKILL 132
#define EHWPOISON 133

View File

@ -1,59 +1 @@
#define MAP_FAILED ((void *) -1)
#define PROT_NONE 0
#define PROT_READ 1
#define PROT_WRITE 2
#define PROT_EXEC 4
#define PROT_GROWSDOWN 0x01000000
#define PROT_GROWSUP 0x02000000
#define MAP_SHARED 0x01
#define MAP_PRIVATE 0x02
#define MAP_FIXED 0x10
#define MAP_TYPE 0x0f
#define MAP_FILE 0x00
#define MAP_ANON 0x20
#define MAP_ANONYMOUS MAP_ANON
#define MAP_32BIT 0x40
#define MAP_NORESERVE 0x4000
#define MAP_GROWSDOWN 0x0100
#define MAP_DENYWRITE 0x0800
#define MAP_EXECUTABLE 0x1000
#define MAP_LOCKED 0x2000
#define MAP_POPULATE 0x8000
#define MAP_NONBLOCK 0x10000
#define MAP_STACK 0x20000
#define MAP_HUGETLB 0x40000
#define POSIX_MADV_NORMAL 0
#define POSIX_MADV_RANDOM 1
#define POSIX_MADV_SEQUENTIAL 2
#define POSIX_MADV_WILLNEED 3
#define POSIX_MADV_DONTNEED 0
#define MS_ASYNC 1
#define MS_INVALIDATE 2
#define MS_SYNC 4
#define MCL_CURRENT 1
#define MCL_FUTURE 2
#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
#define MADV_NORMAL 0
#define MADV_RANDOM 1
#define MADV_SEQUENTIAL 2
#define MADV_WILLNEED 3
#define MADV_DONTNEED 4
#define MADV_REMOVE 9
#define MADV_DONTFORK 10
#define MADV_DOFORK 11
#define MADV_MERGEABLE 12
#define MADV_UNMERGEABLE 13
#define MADV_HUGEPAGE 14
#define MADV_NOHUGEPAGE 15
#define MADV_DONTDUMP 16
#define MADV_DODUMP 17
#define MADV_HWPOISON 100
#define MADV_SOFT_OFFLINE 101
#endif

View File

View File

@ -7,25 +7,44 @@
#endif
#ifdef _GNU_SOURCE
#define REG_GS 0
#define REG_FS 1
#define REG_ES 2
#define REG_DS 3
#define REG_EDI 4
#define REG_ESI 5
#define REG_EBP 6
#define REG_ESP 7
#define REG_EBX 8
#define REG_EDX 9
#define REG_ECX 10
#define REG_EAX 11
#define REG_TRAPNO 12
#define REG_ERR 13
#define REG_EIP 14
#define REG_CS 15
#define REG_EFL 16
#define REG_UESP 17
#define REG_SS 18
enum { REG_GS = 0 };
#define REG_GS REG_GS
enum { REG_FS = 1 };
#define REG_FS REG_FS
enum { REG_ES = 2 };
#define REG_ES REG_ES
enum { REG_DS = 3 };
#define REG_DS REG_DS
enum { REG_EDI = 4 };
#define REG_EDI REG_EDI
enum { REG_ESI = 5 };
#define REG_ESI REG_ESI
enum { REG_EBP = 6 };
#define REG_EBP REG_EBP
enum { REG_ESP = 7 };
#define REG_ESP REG_ESP
enum { REG_EBX = 8 };
#define REG_EBX REG_EBX
enum { REG_EDX = 9 };
#define REG_EDX REG_EDX
enum { REG_ECX = 10 };
#define REG_ECX REG_ECX
enum { REG_EAX = 11 };
#define REG_EAX REG_EAX
enum { REG_TRAPNO = 12 };
#define REG_TRAPNO REG_TRAPNO
enum { REG_ERR = 13 };
#define REG_ERR REG_ERR
enum { REG_EIP = 14 };
#define REG_EIP REG_EIP
enum { REG_CS = 15 };
#define REG_CS REG_CS
enum { REG_EFL = 16 };
#define REG_EFL REG_EFL
enum { REG_UESP = 17 };
#define REG_UESP REG_UESP
enum { REG_SS = 18 };
#define REG_SS REG_SS
#endif
#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)

View File

@ -1,17 +0,0 @@
struct msghdr
{
void *msg_name;
socklen_t msg_namelen;
struct iovec *msg_iov;
int msg_iovlen;
void *msg_control;
socklen_t msg_controllen;
int msg_flags;
};
struct cmsghdr
{
socklen_t cmsg_len;
int cmsg_level;
int cmsg_type;
};

View File

@ -1,8 +1,7 @@
/* copied from kernel definition, but with padding replaced
* by the corresponding correctly-sized userspace types. */
struct stat
{
struct stat {
dev_t st_dev;
int __st_dev_padding;
long __st_ino_truncated;

View File

@ -1,7 +0,0 @@
struct statfs {
unsigned long f_type, f_bsize;
fsblkcnt_t f_blocks, f_bfree, f_bavail;
fsfilcnt_t f_files, f_ffree;
fsid_t f_fsid;
unsigned long f_namelen, f_frsize, f_flags, f_spare[4];
};

View File

@ -1,9 +0,0 @@
#define __VA_ALIGNED_SIZE(x) ((sizeof(x) + sizeof(int) - 1) & ~(sizeof(int) - 1))
#define va_start(ap, last) ((ap) = (void *)(((char *)&(last)) + __VA_ALIGNED_SIZE(last)))
#define va_end(ap) ((void)0)
#define va_copy(dest, src) ((dest) = (src))
#define va_arg(ap, type) \
( ((ap) = (va_list)((char *)(ap) + __VA_ALIGNED_SIZE(type))), \
*(type *)(void *)((char *)(ap) - __VA_ALIGNED_SIZE(type)) )

View File

@ -218,7 +218,6 @@
#define __NR_pivot_root 217
#define __NR_mincore 218
#define __NR_madvise 219
#define __NR_madvise1 219
#define __NR_getdents64 220
#define __NR_fcntl64 221
/* 223 is unused */
@ -357,366 +356,30 @@
#define __NR_memfd_create 356
#define __NR_bpf 357
#define __NR_execveat 358
#define __NR_socket 359
#define __NR_socketpair 360
#define __NR_bind 361
#define __NR_connect 362
#define __NR_listen 363
#define __NR_accept4 364
#define __NR_getsockopt 365
#define __NR_setsockopt 366
#define __NR_getsockname 367
#define __NR_getpeername 368
#define __NR_sendto 369
#define __NR_sendmsg 370
#define __NR_recvfrom 371
#define __NR_recvmsg 372
#define __NR_shutdown 373
#define __NR_userfaultfd 374
#define __NR_membarrier 375
#define __NR_mlock2 376
#define __NR_copy_file_range 377
#define __NR_preadv2 378
#define __NR_pwritev2 379
#define __NR_pkey_mprotect 380
#define __NR_pkey_alloc 381
#define __NR_pkey_free 382
#define __NR_statx 383
#define __NR_arch_prctl 384
/* Repeated with SYS_ prefix */
#define SYS_restart_syscall 0
#define SYS_exit 1
#define SYS_fork 2
#define SYS_read 3
#define SYS_write 4
#define SYS_open 5
#define SYS_close 6
#define SYS_waitpid 7
#define SYS_creat 8
#define SYS_link 9
#define SYS_unlink 10
#define SYS_execve 11
#define SYS_chdir 12
#define SYS_time 13
#define SYS_mknod 14
#define SYS_chmod 15
#define SYS_lchown 16
#define SYS_break 17
#define SYS_oldstat 18
#define SYS_lseek 19
#define SYS_getpid 20
#define SYS_mount 21
#define SYS_umount 22
#define SYS_setuid 23
#define SYS_getuid 24
#define SYS_stime 25
#define SYS_ptrace 26
#define SYS_alarm 27
#define SYS_oldfstat 28
#define SYS_pause 29
#define SYS_utime 30
#define SYS_stty 31
#define SYS_gtty 32
#define SYS_access 33
#define SYS_nice 34
#define SYS_ftime 35
#define SYS_sync 36
#define SYS_kill 37
#define SYS_rename 38
#define SYS_mkdir 39
#define SYS_rmdir 40
#define SYS_dup 41
#define SYS_pipe 42
#define SYS_times 43
#define SYS_prof 44
#define SYS_brk 45
#define SYS_setgid 46
#define SYS_getgid 47
#define SYS_signal 48
#define SYS_geteuid 49
#define SYS_getegid 50
#define SYS_acct 51
#define SYS_umount2 52
#define SYS_lock 53
#define SYS_ioctl 54
#define SYS_fcntl 55
#define SYS_mpx 56
#define SYS_setpgid 57
#define SYS_ulimit 58
#define SYS_oldolduname 59
#define SYS_umask 60
#define SYS_chroot 61
#define SYS_ustat 62
#define SYS_dup2 63
#define SYS_getppid 64
#define SYS_getpgrp 65
#define SYS_setsid 66
#define SYS_sigaction 67
#define SYS_sgetmask 68
#define SYS_ssetmask 69
#define SYS_setreuid 70
#define SYS_setregid 71
#define SYS_sigsuspend 72
#define SYS_sigpending 73
#define SYS_sethostname 74
#define SYS_setrlimit 75
#define SYS_getrlimit 76 /* Back compatible 2Gig limited rlimit */
#define SYS_getrusage 77
#define SYS_gettimeofday 78
#define SYS_settimeofday 79
#define SYS_getgroups 80
#define SYS_setgroups 81
#define SYS_select 82
#define SYS_symlink 83
#define SYS_oldlstat 84
#define SYS_readlink 85
#define SYS_uselib 86
#define SYS_swapon 87
#define SYS_reboot 88
#define SYS_readdir 89
#define SYS_mmap 90
#define SYS_munmap 91
#define SYS_truncate 92
#define SYS_ftruncate 93
#define SYS_fchmod 94
#define SYS_fchown 95
#define SYS_getpriority 96
#define SYS_setpriority 97
#define SYS_profil 98
#define SYS_statfs 99
#define SYS_fstatfs 100
#define SYS_ioperm 101
#define SYS_socketcall 102
#define SYS_syslog 103
#define SYS_setitimer 104
#define SYS_getitimer 105
#define SYS_stat 106
#define SYS_lstat 107
#define SYS_fstat 108
#define SYS_olduname 109
#define SYS_iopl 110
#define SYS_vhangup 111
#define SYS_idle 112
#define SYS_vm86old 113
#define SYS_wait4 114
#define SYS_swapoff 115
#define SYS_sysinfo 116
#define SYS_ipc 117
#define SYS_fsync 118
#define SYS_sigreturn 119
#define SYS_clone 120
#define SYS_setdomainname 121
#define SYS_uname 122
#define SYS_modify_ldt 123
#define SYS_adjtimex 124
#define SYS_mprotect 125
#define SYS_sigprocmask 126
#define SYS_create_module 127
#define SYS_init_module 128
#define SYS_delete_module 129
#define SYS_get_kernel_syms 130
#define SYS_quotactl 131
#define SYS_getpgid 132
#define SYS_fchdir 133
#define SYS_bdflush 134
#define SYS_sysfs 135
#define SYS_personality 136
#define SYS_afs_syscall 137
#define SYS_setfsuid 138
#define SYS_setfsgid 139
#define SYS__llseek 140
#define SYS_getdents 141
#define SYS__newselect 142
#define SYS_flock 143
#define SYS_msync 144
#define SYS_readv 145
#define SYS_writev 146
#define SYS_getsid 147
#define SYS_fdatasync 148
#define SYS__sysctl 149
#define SYS_mlock 150
#define SYS_munlock 151
#define SYS_mlockall 152
#define SYS_munlockall 153
#define SYS_sched_setparam 154
#define SYS_sched_getparam 155
#define SYS_sched_setscheduler 156
#define SYS_sched_getscheduler 157
#define SYS_sched_yield 158
#define SYS_sched_get_priority_max 159
#define SYS_sched_get_priority_min 160
#define SYS_sched_rr_get_interval 161
#define SYS_nanosleep 162
#define SYS_mremap 163
#define SYS_setresuid 164
#define SYS_getresuid 165
#define SYS_vm86 166
#define SYS_query_module 167
#define SYS_poll 168
#define SYS_nfsservctl 169
#define SYS_setresgid 170
#define SYS_getresgid 171
#define SYS_prctl 172
#define SYS_rt_sigreturn 173
#define SYS_rt_sigaction 174
#define SYS_rt_sigprocmask 175
#define SYS_rt_sigpending 176
#define SYS_rt_sigtimedwait 177
#define SYS_rt_sigqueueinfo 178
#define SYS_rt_sigsuspend 179
#define SYS_pread64 180
#define SYS_pwrite64 181
#define SYS_chown 182
#define SYS_getcwd 183
#define SYS_capget 184
#define SYS_capset 185
#define SYS_sigaltstack 186
#define SYS_sendfile 187
#define SYS_getpmsg 188
#define SYS_putpmsg 189
#define SYS_vfork 190
#define SYS_ugetrlimit 191
#define SYS_mmap2 192
#define SYS_truncate64 193
#define SYS_ftruncate64 194
#define SYS_stat64 195
#define SYS_lstat64 196
#define SYS_fstat64 197
#define SYS_lchown32 198
#define SYS_getuid32 199
#define SYS_getgid32 200
#define SYS_geteuid32 201
#define SYS_getegid32 202
#define SYS_setreuid32 203
#define SYS_setregid32 204
#define SYS_getgroups32 205
#define SYS_setgroups32 206
#define SYS_fchown32 207
#define SYS_setresuid32 208
#define SYS_getresuid32 209
#define SYS_setresgid32 210
#define SYS_getresgid32 211
#define SYS_chown32 212
#define SYS_setuid32 213
#define SYS_setgid32 214
#define SYS_setfsuid32 215
#define SYS_setfsgid32 216
#define SYS_pivot_root 217
#define SYS_mincore 218
#define SYS_madvise 219
#define SYS_madvise1 219
#define SYS_getdents64 220
#define SYS_fcntl64 221
/* 223 is unused */
#define SYS_gettid 224
#define SYS_readahead 225
#define SYS_setxattr 226
#define SYS_lsetxattr 227
#define SYS_fsetxattr 228
#define SYS_getxattr 229
#define SYS_lgetxattr 230
#define SYS_fgetxattr 231
#define SYS_listxattr 232
#define SYS_llistxattr 233
#define SYS_flistxattr 234
#define SYS_removexattr 235
#define SYS_lremovexattr 236
#define SYS_fremovexattr 237
#define SYS_tkill 238
#define SYS_sendfile64 239
#define SYS_futex 240
#define SYS_sched_setaffinity 241
#define SYS_sched_getaffinity 242
#define SYS_set_thread_area 243
#define SYS_get_thread_area 244
#define SYS_io_setup 245
#define SYS_io_destroy 246
#define SYS_io_getevents 247
#define SYS_io_submit 248
#define SYS_io_cancel 249
#define SYS_fadvise64 250
/* 251 is available for reuse (was briefly sys_set_zone_reclaim) */
#define SYS_exit_group 252
#define SYS_lookup_dcookie 253
#define SYS_epoll_create 254
#define SYS_epoll_ctl 255
#define SYS_epoll_wait 256
#define SYS_remap_file_pages 257
#define SYS_set_tid_address 258
#define SYS_timer_create 259
#define SYS_timer_settime (SYS_timer_create+1)
#define SYS_timer_gettime (SYS_timer_create+2)
#define SYS_timer_getoverrun (SYS_timer_create+3)
#define SYS_timer_delete (SYS_timer_create+4)
#define SYS_clock_settime (SYS_timer_create+5)
#define SYS_clock_gettime (SYS_timer_create+6)
#define SYS_clock_getres (SYS_timer_create+7)
#define SYS_clock_nanosleep (SYS_timer_create+8)
#define SYS_statfs64 268
#define SYS_fstatfs64 269
#define SYS_tgkill 270
#define SYS_utimes 271
#define SYS_fadvise64_64 272
#define SYS_vserver 273
#define SYS_mbind 274
#define SYS_get_mempolicy 275
#define SYS_set_mempolicy 276
#define SYS_mq_open 277
#define SYS_mq_unlink (SYS_mq_open+1)
#define SYS_mq_timedsend (SYS_mq_open+2)
#define SYS_mq_timedreceive (SYS_mq_open+3)
#define SYS_mq_notify (SYS_mq_open+4)
#define SYS_mq_getsetattr (SYS_mq_open+5)
#define SYS_kexec_load 283
#define SYS_waitid 284
/* #define SYS_sys_setaltroot 285 */
#define SYS_add_key 286
#define SYS_request_key 287
#define SYS_keyctl 288
#define SYS_ioprio_set 289
#define SYS_ioprio_get 290
#define SYS_inotify_init 291
#define SYS_inotify_add_watch 292
#define SYS_inotify_rm_watch 293
#define SYS_migrate_pages 294
#define SYS_openat 295
#define SYS_mkdirat 296
#define SYS_mknodat 297
#define SYS_fchownat 298
#define SYS_futimesat 299
#define SYS_fstatat64 300
#define SYS_unlinkat 301
#define SYS_renameat 302
#define SYS_linkat 303
#define SYS_symlinkat 304
#define SYS_readlinkat 305
#define SYS_fchmodat 306
#define SYS_faccessat 307
#define SYS_pselect6 308
#define SYS_ppoll 309
#define SYS_unshare 310
#define SYS_set_robust_list 311
#define SYS_get_robust_list 312
#define SYS_splice 313
#define SYS_sync_file_range 314
#define SYS_tee 315
#define SYS_vmsplice 316
#define SYS_move_pages 317
#define SYS_getcpu 318
#define SYS_epoll_pwait 319
#define SYS_utimensat 320
#define SYS_signalfd 321
#define SYS_timerfd_create 322
#define SYS_eventfd 323
#define SYS_fallocate 324
#define SYS_timerfd_settime 325
#define SYS_timerfd_gettime 326
#define SYS_signalfd4 327
#define SYS_eventfd2 328
#define SYS_epoll_create1 329
#define SYS_dup3 330
#define SYS_pipe2 331
#define SYS_inotify_init1 332
#define SYS_preadv 333
#define SYS_pwritev 334
#define SYS_rt_tgsigqueueinfo 335
#define SYS_perf_event_open 336
#define SYS_recvmmsg 337
#define SYS_fanotify_init 338
#define SYS_fanotify_mark 339
#define SYS_prlimit64 340
#define SYS_name_to_handle_at 341
#define SYS_open_by_handle_at 342
#define SYS_clock_adjtime 343
#define SYS_syncfs 344
#define SYS_sendmmsg 345
#define SYS_setns 346
#define SYS_process_vm_readv 347
#define SYS_process_vm_writev 348
#define SYS_kcmp 349
#define SYS_finit_module 350
#define SYS_sched_setattr 351
#define SYS_sched_getattr 352
#define SYS_renameat2 353
#define SYS_seccomp 354
#define SYS_getrandom 355
#define SYS_memfd_create 356
#define SYS_bpf 357
#define SYS_execveat 358

View File

@ -1,160 +0,0 @@
struct termios
{
tcflag_t c_iflag;
tcflag_t c_oflag;
tcflag_t c_cflag;
tcflag_t c_lflag;
cc_t c_line;
cc_t c_cc[NCCS];
speed_t __c_ispeed;
speed_t __c_ospeed;
};
#define VINTR 0
#define VQUIT 1
#define VERASE 2
#define VKILL 3
#define VEOF 4
#define VTIME 5
#define VMIN 6
#define VSWTC 7
#define VSTART 8
#define VSTOP 9
#define VSUSP 10
#define VEOL 11
#define VREPRINT 12
#define VDISCARD 13
#define VWERASE 14
#define VLNEXT 15
#define VEOL2 16
#define IGNBRK 0000001
#define BRKINT 0000002
#define IGNPAR 0000004
#define PARMRK 0000010
#define INPCK 0000020
#define ISTRIP 0000040
#define INLCR 0000100
#define IGNCR 0000200
#define ICRNL 0000400
#define IUCLC 0001000
#define IXON 0002000
#define IXANY 0004000
#define IXOFF 0010000
#define IMAXBEL 0020000
#define IUTF8 0040000
#define OPOST 0000001
#define OLCUC 0000002
#define ONLCR 0000004
#define OCRNL 0000010
#define ONOCR 0000020
#define ONLRET 0000040
#define OFILL 0000100
#define OFDEL 0000200
#define NLDLY 0000400
#define NL0 0000000
#define NL1 0000400
#define CRDLY 0003000
#define CR0 0000000
#define CR1 0001000
#define CR2 0002000
#define CR3 0003000
#define TABDLY 0014000
#define TAB0 0000000
#define TAB1 0004000
#define TAB2 0010000
#define TAB3 0014000
#define BSDLY 0020000
#define BS0 0000000
#define BS1 0020000
#define FFDLY 0100000
#define FF0 0000000
#define FF1 0100000
#define VTDLY 0040000
#define VT0 0000000
#define VT1 0040000
#define B0 0000000
#define B50 0000001
#define B75 0000002
#define B110 0000003
#define B134 0000004
#define B150 0000005
#define B200 0000006
#define B300 0000007
#define B600 0000010
#define B1200 0000011
#define B1800 0000012
#define B2400 0000013
#define B4800 0000014
#define B9600 0000015
#define B19200 0000016
#define B38400 0000017
#define B57600 0010001
#define B115200 0010002
#define B230400 0010003
#define B460800 0010004
#define B500000 0010005
#define B576000 0010006
#define B921600 0010007
#define B1000000 0010010
#define B1152000 0010011
#define B1500000 0010012
#define B2000000 0010013
#define B2500000 0010014
#define B3000000 0010015
#define B3500000 0010016
#define B4000000 0010017
#define CBAUD 0010017
#define CSIZE 0000060
#define CS5 0000000
#define CS6 0000020
#define CS7 0000040
#define CS8 0000060
#define CSTOPB 0000100
#define CREAD 0000200
#define PARENB 0000400
#define PARODD 0001000
#define HUPCL 0002000
#define CLOCAL 0004000
#define ISIG 0000001
#define ICANON 0000002
#define ECHO 0000010
#define ECHOE 0000020
#define ECHOK 0000040
#define ECHONL 0000100
#define NOFLSH 0000200
#define TOSTOP 0000400
#define IEXTEN 0100000
#define ECHOCTL 0001000
#define ECHOPRT 0002000
#define ECHOKE 0004000
#define FLUSHO 0010000
#define PENDIN 0040000
#define TCOOFF 0
#define TCOON 1
#define TCIOFF 2
#define TCION 3
#define TCIFLUSH 0
#define TCOFLUSH 1
#define TCIOFLUSH 2
#define TCSANOW 0
#define TCSADRAIN 1
#define TCSAFLUSH 2
#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
#define CBAUDEX 0010000
#define CRTSCTS 020000000000
#define EXTPROC 0200000
#define XTABS 0014000
#endif

View File

@ -1,20 +1,17 @@
#undef __WORDSIZE
#define __WORDSIZE 32
typedef struct user_fpregs_struct
{
typedef struct user_fpregs_struct {
long cwd, swd, twd, fip, fcs, foo, fos, st_space[20];
} elf_fpregset_t;
typedef struct user_fpxregs_struct
{
typedef struct user_fpxregs_struct {
unsigned short cwd, swd, twd, fop;
long fip, fcs, foo, fos, mxcsr, reserved;
long st_space[32], xmm_space[32], padding[56];
} elf_fpxregset_t;
struct user_regs_struct
{
struct user_regs_struct {
long ebx, ecx, edx, esi, edi, ebp, eax, xds, xes, xfs, xgs;
long orig_eax, eip, xcs, eflags, esp, xss;
};
@ -22,8 +19,7 @@ struct user_regs_struct
#define ELF_NGREG 17
typedef unsigned long elf_greg_t, elf_gregset_t[ELF_NGREG];
struct user
{
struct user {
struct user_regs_struct regs;
int u_fpvalid;
struct user_fpregs_struct i387;

View File

@ -55,3 +55,5 @@ static inline long __syscall6(long n, long a1, long a2, long a3, long a4, long a
#define VDSO_USEFUL
#define VDSO_CGT_SYM "__vdso_clock_gettime"
#define VDSO_CGT_VER "LINUX_2.6"
#define SYSCALL_USE_SOCKETCALL

View File

@ -1,134 +0,0 @@
#define EPERM 1
#define ENOENT 2
#define ESRCH 3
#define EINTR 4
#define EIO 5
#define ENXIO 6
#define E2BIG 7
#define ENOEXEC 8
#define EBADF 9
#define ECHILD 10
#define EAGAIN 11
#define ENOMEM 12
#define EACCES 13
#define EFAULT 14
#define ENOTBLK 15
#define EBUSY 16
#define EEXIST 17
#define EXDEV 18
#define ENODEV 19
#define ENOTDIR 20
#define EISDIR 21
#define EINVAL 22
#define ENFILE 23
#define EMFILE 24
#define ENOTTY 25
#define ETXTBSY 26
#define EFBIG 27
#define ENOSPC 28
#define ESPIPE 29
#define EROFS 30
#define EMLINK 31
#define EPIPE 32
#define EDOM 33
#define ERANGE 34
#define EDEADLK 35
#define ENAMETOOLONG 36
#define ENOLCK 37
#define ENOSYS 38
#define ENOTEMPTY 39
#define ELOOP 40
#define EWOULDBLOCK EAGAIN
#define ENOMSG 42
#define EIDRM 43
#define ECHRNG 44
#define EL2NSYNC 45
#define EL3HLT 46
#define EL3RST 47
#define ELNRNG 48
#define EUNATCH 49
#define ENOCSI 50
#define EL2HLT 51
#define EBADE 52
#define EBADR 53
#define EXFULL 54
#define ENOANO 55
#define EBADRQC 56
#define EBADSLT 57
#define EDEADLOCK EDEADLK
#define EBFONT 59
#define ENOSTR 60
#define ENODATA 61
#define ETIME 62
#define ENOSR 63
#define ENONET 64
#define ENOPKG 65
#define EREMOTE 66
#define ENOLINK 67
#define EADV 68
#define ESRMNT 69
#define ECOMM 70
#define EPROTO 71
#define EMULTIHOP 72
#define EDOTDOT 73
#define EBADMSG 74
#define EOVERFLOW 75
#define ENOTUNIQ 76
#define EBADFD 77
#define EREMCHG 78
#define ELIBACC 79
#define ELIBBAD 80
#define ELIBSCN 81
#define ELIBMAX 82
#define ELIBEXEC 83
#define EILSEQ 84
#define ERESTART 85
#define ESTRPIPE 86
#define EUSERS 87
#define ENOTSOCK 88
#define EDESTADDRREQ 89
#define EMSGSIZE 90
#define EPROTOTYPE 91
#define ENOPROTOOPT 92
#define EPROTONOSUPPORT 93
#define ESOCKTNOSUPPORT 94
#define EOPNOTSUPP 95
#define ENOTSUP EOPNOTSUPP
#define EPFNOSUPPORT 96
#define EAFNOSUPPORT 97
#define EADDRINUSE 98
#define EADDRNOTAVAIL 99
#define ENETDOWN 100
#define ENETUNREACH 101
#define ENETRESET 102
#define ECONNABORTED 103
#define ECONNRESET 104
#define ENOBUFS 105
#define EISCONN 106
#define ENOTCONN 107
#define ESHUTDOWN 108
#define ETOOMANYREFS 109
#define ETIMEDOUT 110
#define ECONNREFUSED 111
#define EHOSTDOWN 112
#define EHOSTUNREACH 113
#define EALREADY 114
#define EINPROGRESS 115
#define ESTALE 116
#define EUCLEAN 117
#define ENOTNAM 118
#define ENAVAIL 119
#define EISNAM 120
#define EREMOTEIO 121
#define EDQUOT 122
#define ENOMEDIUM 123
#define EMEDIUMTYPE 124
#define ECANCELED 125
#define ENOKEY 126
#define EKEYEXPIRED 127
#define EKEYREVOKED 128
#define EKEYREJECTED 129
#define EOWNERDEAD 130
#define ENOTRECOVERABLE 131
#define ERFKILL 132
#define EHWPOISON 133

View File

@ -1,197 +0,0 @@
#define _IOC(a,b,c,d) ( ((a)<<30) | ((b)<<8) | (c) | ((d)<<16) )
#define _IOC_NONE 0U
#define _IOC_WRITE 1U
#define _IOC_READ 2U
#define _IO(a,b) _IOC(_IOC_NONE,(a),(b),0)
#define _IOW(a,b,c) _IOC(_IOC_WRITE,(a),(b),sizeof(c))
#define _IOR(a,b,c) _IOC(_IOC_READ,(a),(b),sizeof(c))
#define _IOWR(a,b,c) _IOC(_IOC_READ|_IOC_WRITE,(a),(b),sizeof(c))
#define TCGETS 0x5401
#define TCSETS 0x5402
#define TCSETSW 0x5403
#define TCSETSF 0x5404
#define TCGETA 0x5405
#define TCSETA 0x5406
#define TCSETAW 0x5407
#define TCSETAF 0x5408
#define TCSBRK 0x5409
#define TCXONC 0x540A
#define TCFLSH 0x540B
#define TIOCEXCL 0x540C
#define TIOCNXCL 0x540D
#define TIOCSCTTY 0x540E
#define TIOCGPGRP 0x540F
#define TIOCSPGRP 0x5410
#define TIOCOUTQ 0x5411
#define TIOCSTI 0x5412
#define TIOCGWINSZ 0x5413
#define TIOCSWINSZ 0x5414
#define TIOCMGET 0x5415
#define TIOCMBIS 0x5416
#define TIOCMBIC 0x5417
#define TIOCMSET 0x5418
#define TIOCGSOFTCAR 0x5419
#define TIOCSSOFTCAR 0x541A
#define FIONREAD 0x541B
#define TIOCINQ FIONREAD
#define TIOCLINUX 0x541C
#define TIOCCONS 0x541D
#define TIOCGSERIAL 0x541E
#define TIOCSSERIAL 0x541F
#define TIOCPKT 0x5420
#define FIONBIO 0x5421
#define TIOCNOTTY 0x5422
#define TIOCSETD 0x5423
#define TIOCGETD 0x5424
#define TCSBRKP 0x5425
#define TIOCTTYGSTRUCT 0x5426
#define TIOCSBRK 0x5427
#define TIOCCBRK 0x5428
#define TIOCGSID 0x5429
#define TIOCGPTN 0x80045430
#define TIOCSPTLCK 0x40045431
#define TCGETX 0x5432
#define TCSETX 0x5433
#define TCSETXF 0x5434
#define TCSETXW 0x5435
#define FIONCLEX 0x5450
#define FIOCLEX 0x5451
#define FIOASYNC 0x5452
#define TIOCSERCONFIG 0x5453
#define TIOCSERGWILD 0x5454
#define TIOCSERSWILD 0x5455
#define TIOCGLCKTRMIOS 0x5456
#define TIOCSLCKTRMIOS 0x5457
#define TIOCSERGSTRUCT 0x5458
#define TIOCSERGETLSR 0x5459
#define TIOCSERGETMULTI 0x545A
#define TIOCSERSETMULTI 0x545B
#define TIOCMIWAIT 0x545C
#define TIOCGICOUNT 0x545D
#define TIOCGHAYESESP 0x545E
#define TIOCSHAYESESP 0x545F
#define FIOQSIZE 0x5460
#define TIOCPKT_DATA 0
#define TIOCPKT_FLUSHREAD 1
#define TIOCPKT_FLUSHWRITE 2
#define TIOCPKT_STOP 4
#define TIOCPKT_START 8
#define TIOCPKT_NOSTOP 16
#define TIOCPKT_DOSTOP 32
#define TIOCPKT_IOCTL 64
#define TIOCSER_TEMT 0x01
struct winsize {
unsigned short ws_row;
unsigned short ws_col;
unsigned short ws_xpixel;
unsigned short ws_ypixel;
};
#define TIOCM_LE 0x001
#define TIOCM_DTR 0x002
#define TIOCM_RTS 0x004
#define TIOCM_ST 0x008
#define TIOCM_SR 0x010
#define TIOCM_CTS 0x020
#define TIOCM_CAR 0x040
#define TIOCM_RNG 0x080
#define TIOCM_DSR 0x100
#define TIOCM_CD TIOCM_CAR
#define TIOCM_RI TIOCM_RNG
#define TIOCM_OUT1 0x2000
#define TIOCM_OUT2 0x4000
#define TIOCM_LOOP 0x8000
#define TIOCM_MODEM_BITS TIOCM_OUT2
#define N_TTY 0
#define N_SLIP 1
#define N_MOUSE 2
#define N_PPP 3
#define N_STRIP 4
#define N_AX25 5
#define N_X25 6
#define N_6PACK 7
#define N_MASC 8
#define N_R3964 9
#define N_PROFIBUS_FDL 10
#define N_IRDA 11
#define N_SMSBLOCK 12
#define N_HDLC 13
#define N_SYNC_PPP 14
#define N_HCI 15
#define FIOSETOWN 0x8901
#define SIOCSPGRP 0x8902
#define FIOGETOWN 0x8903
#define SIOCGPGRP 0x8904
#define SIOCATMARK 0x8905
#define SIOCGSTAMP 0x8906
#define SIOCADDRT 0x890B
#define SIOCDELRT 0x890C
#define SIOCRTMSG 0x890D
#define SIOCGIFNAME 0x8910
#define SIOCSIFLINK 0x8911
#define SIOCGIFCONF 0x8912
#define SIOCGIFFLAGS 0x8913
#define SIOCSIFFLAGS 0x8914
#define SIOCGIFADDR 0x8915
#define SIOCSIFADDR 0x8916
#define SIOCGIFDSTADDR 0x8917
#define SIOCSIFDSTADDR 0x8918
#define SIOCGIFBRDADDR 0x8919
#define SIOCSIFBRDADDR 0x891a
#define SIOCGIFNETMASK 0x891b
#define SIOCSIFNETMASK 0x891c
#define SIOCGIFMETRIC 0x891d
#define SIOCSIFMETRIC 0x891e
#define SIOCGIFMEM 0x891f
#define SIOCSIFMEM 0x8920
#define SIOCGIFMTU 0x8921
#define SIOCSIFMTU 0x8922
#define SIOCSIFHWADDR 0x8924
#define SIOCGIFENCAP 0x8925
#define SIOCSIFENCAP 0x8926
#define SIOCGIFHWADDR 0x8927
#define SIOCGIFSLAVE 0x8929
#define SIOCSIFSLAVE 0x8930
#define SIOCADDMULTI 0x8931
#define SIOCDELMULTI 0x8932
#define SIOCGIFINDEX 0x8933
#define SIOGIFINDEX SIOCGIFINDEX
#define SIOCSIFPFLAGS 0x8934
#define SIOCGIFPFLAGS 0x8935
#define SIOCDIFADDR 0x8936
#define SIOCSIFHWBROADCAST 0x8937
#define SIOCGIFCOUNT 0x8938
#define SIOCGIFBR 0x8940
#define SIOCSIFBR 0x8941
#define SIOCGIFTXQLEN 0x8942
#define SIOCSIFTXQLEN 0x8943
#define SIOCDARP 0x8953
#define SIOCGARP 0x8954
#define SIOCSARP 0x8955
#define SIOCDRARP 0x8960
#define SIOCGRARP 0x8961
#define SIOCSRARP 0x8962
#define SIOCGIFMAP 0x8970
#define SIOCSIFMAP 0x8971
#define SIOCADDDLCI 0x8980
#define SIOCDELDLCI 0x8981
#define SIOCDEVPRIVATE 0x89F0
#define SIOCPROTOPRIVATE 0x89E0

View File

@ -1,58 +0,0 @@
#define MAP_FAILED ((void *) -1)
#define PROT_NONE 0
#define PROT_READ 1
#define PROT_WRITE 2
#define PROT_EXEC 4
#define PROT_GROWSDOWN 0x01000000
#define PROT_GROWSUP 0x02000000
#define MAP_SHARED 0x01
#define MAP_PRIVATE 0x02
#define MAP_FIXED 0x10
#define MAP_TYPE 0x0f
#define MAP_FILE 0x00
#define MAP_ANON 0x20
#define MAP_ANONYMOUS MAP_ANON
#define MAP_NORESERVE 0x4000
#define MAP_GROWSDOWN 0x0100
#define MAP_DENYWRITE 0x0800
#define MAP_EXECUTABLE 0x1000
#define MAP_LOCKED 0x2000
#define MAP_POPULATE 0x8000
#define MAP_NONBLOCK 0x10000
#define MAP_STACK 0x20000
#define MAP_HUGETLB 0x40000
#define POSIX_MADV_NORMAL 0
#define POSIX_MADV_RANDOM 1
#define POSIX_MADV_SEQUENTIAL 2
#define POSIX_MADV_WILLNEED 3
#define POSIX_MADV_DONTNEED 0
#define MS_ASYNC 1
#define MS_INVALIDATE 2
#define MS_SYNC 4
#define MCL_CURRENT 1
#define MCL_FUTURE 2
#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
#define MADV_NORMAL 0
#define MADV_RANDOM 1
#define MADV_SEQUENTIAL 2
#define MADV_WILLNEED 3
#define MADV_DONTNEED 4
#define MADV_REMOVE 9
#define MADV_DONTFORK 10
#define MADV_DOFORK 11
#define MADV_MERGEABLE 12
#define MADV_UNMERGEABLE 13
#define MADV_HUGEPAGE 14
#define MADV_NOHUGEPAGE 15
#define MADV_DONTDUMP 16
#define MADV_DODUMP 17
#define MADV_HWPOISON 100
#define MADV_SOFT_OFFLINE 101
#endif

View File

@ -8,8 +8,7 @@
#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
typedef unsigned long greg_t, gregset_t[38];
typedef struct sigcontext
{
typedef struct sigcontext {
struct {
unsigned long r0, r1, r2, r3, r4, r5, r6, r7;
unsigned long r8, r9, r10, r11, r12, r13, r14, r15;

View File

@ -1,17 +0,0 @@
struct msghdr
{
void *msg_name;
socklen_t msg_namelen;
struct iovec *msg_iov;
int msg_iovlen;
void *msg_control;
socklen_t msg_controllen;
int msg_flags;
};
struct cmsghdr
{
socklen_t cmsg_len;
int cmsg_level;
int cmsg_type;
};

View File

@ -1,8 +1,7 @@
/* copied from kernel definition, but with padding replaced
* by the corresponding correctly-sized userspace types. */
struct stat
{
struct stat {
dev_t st_dev;
ino_t st_ino;
mode_t st_mode;

View File

@ -1,4 +0,0 @@
#define va_start(v,l) __builtin_va_start(v,l)
#define va_end(v) __builtin_va_end(v)
#define va_arg(v,l) __builtin_va_arg(v,l)
#define va_copy(d,s) __builtin_va_copy(d,s)

View File

@ -178,8 +178,8 @@
#define __NR_rt_sigtimedwait 177
#define __NR_rt_sigqueueinfo 178
#define __NR_rt_sigsuspend 179
#define __NR_pread 180
#define __NR_pwrite 181
#define __NR_pread64 180
#define __NR_pwrite64 181
#define __NR_chown 182
#define __NR_getcwd 183
#define __NR_capget 184
@ -246,7 +246,7 @@
#define __NR_io_getevents 247
#define __NR_io_submit 248
#define __NR_io_cancel 249
#define __NR_fadvise 250
#define __NR_fadvise64 250
#define __NR_exit_group 252
#define __NR_lookup_dcookie 253
#define __NR_epoll_create 254
@ -294,7 +294,7 @@
#define __NR_mknodat 297
#define __NR_fchownat 298
#define __NR_futimesat 299
#define __NR_fstatat 300
#define __NR_fstatat64 300
#define __NR_unlinkat 301
#define __NR_renameat 302
#define __NR_linkat 303
@ -383,392 +383,14 @@
#define __NR_memfd_create 386
#define __NR_bpf 387
#define __NR_execveat 388
#define __NR_userfaultfd 389
#define __NR_membarrier 390
#define __NR_mlock2 391
#define __NR_copy_file_range 392
#define __NR_preadv2 393
#define __NR_pwritev2 394
#define __NR_pkey_mprotect 395
#define __NR_pkey_alloc 396
#define __NR_pkey_free 397
#define __NR_statx 398
/* Repeated with SYS_ prefix */
#define SYS_SYSCALL_BASE 0
#define SYS_restart_syscall 0
#define SYS_exit 1
#define SYS_fork 2
#define SYS_read 3
#define SYS_write 4
#define SYS_open 5
#define SYS_close 6
#define SYS_waitpid 7
#define SYS_creat 8
#define SYS_link 9
#define SYS_unlink 10
#define SYS_execve 11
#define SYS_chdir 12
#define SYS_time 13
#define SYS_mknod 14
#define SYS_chmod 15
#define SYS_lchown 16
#define SYS_break 17
#define SYS_oldstat 18
#define SYS_lseek 19
#define SYS_getpid 20
#define SYS_mount 21
#define SYS_umount 22
#define SYS_setuid 23
#define SYS_getuid 24
#define SYS_stime 25
#define SYS_ptrace 26
#define SYS_alarm 27
#define SYS_oldfstat 28
#define SYS_pause 29
#define SYS_utime 30
#define SYS_stty 31
#define SYS_gtty 32
#define SYS_access 33
#define SYS_nice 34
#define SYS_ftime 35
#define SYS_sync 36
#define SYS_kill 37
#define SYS_rename 38
#define SYS_mkdir 39
#define SYS_rmdir 40
#define SYS_dup 41
#define SYS_pipe 42
#define SYS_times 43
#define SYS_prof 44
#define SYS_brk 45
#define SYS_setgid 46
#define SYS_getgid 47
#define SYS_signal 48
#define SYS_geteuid 49
#define SYS_getegid 50
#define SYS_acct 51
#define SYS_umount2 52
#define SYS_lock 53
#define SYS_ioctl 54
#define SYS_fcntl 55
#define SYS_mpx 56
#define SYS_setpgid 57
#define SYS_ulimit 58
#define SYS_oldolduname 59
#define SYS_umask 60
#define SYS_chroot 61
#define SYS_ustat 62
#define SYS_dup2 63
#define SYS_getppid 64
#define SYS_getpgrp 65
#define SYS_setsid 66
#define SYS_sigaction 67
#define SYS_sgetmask 68
#define SYS_ssetmask 69
#define SYS_setreuid 70
#define SYS_setregid 71
#define SYS_sigsuspend 72
#define SYS_sigpending 73
#define SYS_sethostname 74
#define SYS_setrlimit 75
#define SYS_getrlimit 76
#define SYS_getrusage 77
#define SYS_gettimeofday 78
#define SYS_settimeofday 79
#define SYS_getgroups 80
#define SYS_setgroups 81
#define SYS_select 82
#define SYS_symlink 83
#define SYS_oldlstat 84
#define SYS_readlink 85
#define SYS_uselib 86
#define SYS_swapon 87
#define SYS_reboot 88
#define SYS_readdir 89
#define SYS_mmap 90
#define SYS_munmap 91
#define SYS_truncate 92
#define SYS_ftruncate 93
#define SYS_fchmod 94
#define SYS_fchown 95
#define SYS_getpriority 96
#define SYS_setpriority 97
#define SYS_profil 98
#define SYS_statfs 99
#define SYS_fstatfs 100
#define SYS_ioperm 101
#define SYS_socketcall 102
#define SYS_syslog 103
#define SYS_setitimer 104
#define SYS_getitimer 105
#define SYS_stat 106
#define SYS_lstat 107
#define SYS_fstat 108
#define SYS_olduname 109
#define SYS_iopl 110
#define SYS_vhangup 111
#define SYS_idle 112
#define SYS_vm86old 113
#define SYS_wait4 114
#define SYS_swapoff 115
#define SYS_sysinfo 116
#define SYS_ipc 117
#define SYS_fsync 118
#define SYS_sigreturn 119
#define SYS_clone 120
#define SYS_setdomainname 121
#define SYS_uname 122
#define SYS_modify_ldt 123
#define SYS_adjtimex 124
#define SYS_mprotect 125
#define SYS_sigprocmask 126
#define SYS_create_module 127
#define SYS_init_module 128
#define SYS_delete_module 129
#define SYS_get_kernel_syms 130
#define SYS_quotactl 131
#define SYS_getpgid 132
#define SYS_fchdir 133
#define SYS_bdflush 134
#define SYS_sysfs 135
#define SYS_personality 136
#define SYS_afs_syscall 137
#define SYS_setfsuid 138
#define SYS_setfsgid 139
#define SYS__llseek 140
#define SYS_getdents 141
#define SYS__newselect 142
#define SYS_flock 143
#define SYS_msync 144
#define SYS_readv 145
#define SYS_writev 146
#define SYS_getsid 147
#define SYS_fdatasync 148
#define SYS__sysctl 149
#define SYS_mlock 150
#define SYS_munlock 151
#define SYS_mlockall 152
#define SYS_munlockall 153
#define SYS_sched_setparam 154
#define SYS_sched_getparam 155
#define SYS_sched_setscheduler 156
#define SYS_sched_getscheduler 157
#define SYS_sched_yield 158
#define SYS_sched_get_priority_max 159
#define SYS_sched_get_priority_min 160
#define SYS_sched_rr_get_interval 161
#define SYS_nanosleep 162
#define SYS_mremap 163
#define SYS_setresuid 164
#define SYS_getresuid 165
#define SYS_vm86 166
#define SYS_query_module 167
#define SYS_poll 168
#define SYS_nfsservctl 169
#define SYS_setresgid 170
#define SYS_getresgid 171
#define SYS_prctl 172
#define SYS_rt_sigreturn 173
#define SYS_rt_sigaction 174
#define SYS_rt_sigprocmask 175
#define SYS_rt_sigpending 176
#define SYS_rt_sigtimedwait 177
#define SYS_rt_sigqueueinfo 178
#define SYS_rt_sigsuspend 179
#define SYS_pread 180
#define SYS_pwrite 181
#define SYS_chown 182
#define SYS_getcwd 183
#define SYS_capget 184
#define SYS_capset 185
#define SYS_sigaltstack 186
#define SYS_sendfile 187
#define SYS_getpmsg 188
#define SYS_putpmsg 189
#define SYS_vfork 190
#define SYS_ugetrlimit 191
#define SYS_mmap2 192
#define SYS_truncate64 193
#define SYS_ftruncate64 194
#define SYS_stat64 195
#define SYS_lstat64 196
#define SYS_fstat64 197
#define SYS_lchown32 198
#define SYS_getuid32 199
#define SYS_getgid32 200
#define SYS_geteuid32 201
#define SYS_getegid32 202
#define SYS_setreuid32 203
#define SYS_setregid32 204
#define SYS_getgroups32 205
#define SYS_setgroups32 206
#define SYS_fchown32 207
#define SYS_setresuid32 208
#define SYS_getresuid32 209
#define SYS_setresgid32 210
#define SYS_getresgid32 211
#define SYS_chown32 212
#define SYS_setuid32 213
#define SYS_setgid32 214
#define SYS_setfsuid32 215
#define SYS_setfsgid32 216
#define SYS_pivot_root 217
#define SYS_mincore 218
#define SYS_madvise 219
#define SYS_getdents64 220
#define SYS_fcntl64 221
#define SYS_gettid 224
#define SYS_readahead 225
#define SYS_setxattr 226
#define SYS_lsetxattr 227
#define SYS_fsetxattr 228
#define SYS_getxattr 229
#define SYS_lgetxattr 230
#define SYS_fgetxattr 231
#define SYS_listxattr 232
#define SYS_llistxattr 233
#define SYS_flistxattr 234
#define SYS_removexattr 235
#define SYS_lremovexattr 236
#define SYS_fremovexattr 237
#define SYS_tkill 238
#define SYS_sendfile64 239
#define SYS_futex 240
#define SYS_sched_setaffinity 241
#define SYS_sched_getaffinity 242
#define SYS_set_thread_area 243
#define SYS_get_thread_area 244
#define SYS_io_setup 245
#define SYS_io_destroy 246
#define SYS_io_getevents 247
#define SYS_io_submit 248
#define SYS_io_cancel 249
#define SYS_fadvise 250
#define SYS_exit_group 252
#define SYS_lookup_dcookie 253
#define SYS_epoll_create 254
#define SYS_epoll_ctl 255
#define SYS_epoll_wait 256
#define SYS_remap_file_pages 257
#define SYS_set_tid_address 258
#define SYS_timer_create 259
#define SYS_timer_settime 260
#define SYS_timer_gettime 261
#define SYS_timer_getoverrun 262
#define SYS_timer_delete 263
#define SYS_clock_settime 264
#define SYS_clock_gettime 265
#define SYS_clock_getres 266
#define SYS_clock_nanosleep 267
#define SYS_statfs64 268
#define SYS_fstatfs64 269
#define SYS_tgkill 270
#define SYS_utimes 271
#define SYS_fadvise64_64 272
#define SYS_vserver 273
#define SYS_mbind 274
#define SYS_get_mempolicy 275
#define SYS_set_mempolicy 276
#define SYS_mq_open 277
#define SYS_mq_unlink 278
#define SYS_mq_timedsend 279
#define SYS_mq_timedreceive 280
#define SYS_mq_notify 281
#define SYS_mq_getsetattr 282
#define SYS_kexec_load 283
#define SYS_waitid 284
#define SYS_add_key 286
#define SYS_request_key 287
#define SYS_keyctl 288
#define SYS_ioprio_set 289
#define SYS_ioprio_get 290
#define SYS_inotify_init 291
#define SYS_inotify_add_watch 292
#define SYS_inotify_rm_watch 293
#define SYS_migrate_pages 294
#define SYS_openat 295
#define SYS_mkdirat 296
#define SYS_mknodat 297
#define SYS_fchownat 298
#define SYS_futimesat 299
#define SYS_fstatat 300
#define SYS_unlinkat 301
#define SYS_renameat 302
#define SYS_linkat 303
#define SYS_symlinkat 304
#define SYS_readlinkat 305
#define SYS_fchmodat 306
#define SYS_faccessat 307
#define SYS_pselect6 308
#define SYS_ppoll 309
#define SYS_unshare 310
#define SYS_set_robust_list 311
#define SYS_get_robust_list 312
#define SYS_splice 313
#define SYS_sync_file_range 314
#define SYS_tee 315
#define SYS_vmsplice 316
#define SYS_move_pages 317
#define SYS_getcpu 318
#define SYS_epoll_pwait 319
#define SYS_utimensat 320
#define SYS_signalfd 321
#define SYS_timerfd_create 322
#define SYS_eventfd 323
#define SYS_fallocate 324
#define SYS_semtimedop 325
#define SYS_timerfd_settime 326
#define SYS_timerfd_gettime 327
#define SYS_semctl 328
#define SYS_semget 329
#define SYS_semop 330
#define SYS_msgctl 331
#define SYS_msgget 332
#define SYS_msgrcv 333
#define SYS_msgsnd 334
#define SYS_shmat 335
#define SYS_shmctl 336
#define SYS_shmdt 337
#define SYS_shmget 338
#define SYS_signalfd4 339
#define SYS_eventfd2 340
#define SYS_epoll_create1 341
#define SYS_dup3 342
#define SYS_pipe2 343
#define SYS_inotify_init1 344
#define SYS_socket 345
#define SYS_socketpair 346
#define SYS_bind 347
#define SYS_listen 348
#define SYS_accept 349
#define SYS_connect 350
#define SYS_getsockname 351
#define SYS_getpeername 352
#define SYS_sendto 353
#define SYS_send 354
#define SYS_recvfrom 355
#define SYS_recv 356
#define SYS_setsockopt 357
#define SYS_getsockopt 358
#define SYS_shutdown 359
#define SYS_sendmsg 360
#define SYS_recvmsg 361
#define SYS_accept4 362
#define SYS_preadv 363
#define SYS_pwritev 364
#define SYS_rt_tgsigqueueinfo 365
#define SYS_perf_event_open 366
#define SYS_recvmmsg 367
#define SYS_fanotify_init 368
#define SYS_fanotify_mark 369
#define SYS_prlimit64 370
#define SYS_name_to_handle_at 371
#define SYS_open_by_handle_at 372
#define SYS_clock_adjtime 373
#define SYS_syncfs 374
#define SYS_setns 375
#define SYS_sendmmsg 376
#define SYS_process_vm_readv 377
#define SYS_process_vm_writev 378
#define SYS_kcmp 379
#define SYS_finit_module 380
#define SYS_sched_setattr 381
#define SYS_sched_getattr 382
#define SYS_renameat2 383
#define SYS_seccomp 384
#define SYS_getrandom 385
#define SYS_memfd_create 386
#define SYS_bpf 387
#define SYS_execveat 388

View File

@ -1 +1,25 @@
/* FIXME: missing in kernel? */
struct user_fpregs_struct {
long cwd, swd, twd, fip, fcs, foo, fos, st_space[20];
};
struct user_regs_struct {
unsigned grp[32], pc, msr, ear, esr, fsr, btr, pvr[12];
};
struct user {
struct user_regs_struct regs;
int u_fpvalid;
struct user_fpregs_struct elf_fpregset_t;
unsigned long u_tsize, u_dsize, u_ssize, start_code, start_stack;
long signal;
int reserved;
struct user_regs_struct *u_ar0;
struct user_fpregs_struct *u_fpstate;
unsigned long magic;
char u_comm[32];
int u_debugreg[8];
};
#define ELF_NGREG 50
typedef unsigned long elf_greg_t, elf_gregset_t[ELF_NGREG];
typedef struct user_fpregs_struct elf_fpregset_t;

View File

@ -1,12 +1,24 @@
#if __mips_isa_rev < 6
#define LLSC_M "m"
#else
#define LLSC_M "ZC"
#endif
#define a_ll a_ll
static inline int a_ll(volatile int *p)
{
int v;
#if __mips < 2
__asm__ __volatile__ (
".set push ; .set mips2\n\t"
"ll %0, %1"
"\n\t.set pop"
: "=r"(v) : "m"(*p));
#else
__asm__ __volatile__ (
"ll %0, %1"
: "=r"(v) : LLSC_M(*p));
#endif
return v;
}
@ -14,26 +26,33 @@ static inline int a_ll(volatile int *p)
static inline int a_sc(volatile int *p, int v)
{
int r;
#if __mips < 2
__asm__ __volatile__ (
".set push ; .set mips2\n\t"
"sc %0, %1"
"\n\t.set pop"
: "=r"(r), "=m"(*p) : "0"(v) : "memory");
#else
__asm__ __volatile__ (
"sc %0, %1"
: "=r"(r), "="LLSC_M(*p) : "0"(v) : "memory");
#endif
return r;
}
#define a_barrier a_barrier
static inline void a_barrier()
{
#if __mips < 2
/* mips2 sync, but using too many directives causes
* gcc not to inline it, so encode with .long instead. */
__asm__ __volatile__ (".long 0xf" : : : "memory");
#if 0
__asm__ __volatile__ (
".set push ; .set mips2 ; sync ; .set pop"
: : : "memory");
#else
__asm__ __volatile__ ("sync" : : : "memory");
#endif
}
#define a_pre_llsc a_barrier
#define a_post_llsc a_barrier
#undef LLSC_M

2
arch/mips/bits/hwcap.h Normal file
View File

@ -0,0 +1,2 @@
#define HWCAP_MIPS_R6 (1 << 0)
#define HWCAP_MIPS_MSA (1 << 1)

View File

View File

@ -27,7 +27,7 @@
#define TIOCMGET 0x741D
#define TIOCMBIS 0x741B
#define TIOCMBIC 0x741C
#define TIOCMSET 0x741D
#define TIOCMSET 0x741A
#define TIOCPKT 0x5470
#define TIOCSWINSZ _IOW('t', 103, struct winsize)
@ -58,8 +58,17 @@
#define TIOCSBRK 0x5427
#define TIOCCBRK 0x5428
#define TIOCGSID 0x7416
#define TIOCGRS485 _IOR('T', 0x2E, char[32])
#define TIOCSRS485 _IOWR('T', 0x2F, char[32])
#define TIOCGPTN _IOR('T', 0x30, unsigned int)
#define TIOCSPTLCK _IOW('T', 0x31, int)
#define TIOCGDEV _IOR('T', 0x32, unsigned int)
#define TIOCSIG _IOW('T', 0x36, int)
#define TIOCVHANGUP 0x5437
#define TIOCGPKT _IOR('T', 0x38, int)
#define TIOCGPTLCK _IOR('T', 0x39, int)
#define TIOCGEXCL _IOR('T', 0x40, int)
#define TIOCGPTPEER _IO('T', 0x41)
#define TIOCSCTTY 0x5480
#define TIOCGSOFTCAR 0x5481
@ -80,14 +89,6 @@
#define TIOCSERSETMULTI 0x5490
#define TIOCMIWAIT 0x5491
#define TIOCGICOUNT 0x5492
#define TIOCGHAYESESP 0x5493
#define TIOCSHAYESESP 0x5494
#define TIOCTTYGSTRUCT 0x5426 // RICH: Not sure about these.
#define TCGETX 0x5432 // RICH: Not sure about these.
#define TCSETX 0x5433 // RICH: Not sure about these.
#define TCSETXF 0x5434 // RICH: Not sure about these.
#define TCSETXW 0x5435 // RICH: Not sure about these.
#define TIOCPKT_DATA 0
#define TIOCPKT_FLUSHREAD 1
@ -107,21 +108,20 @@ struct winsize {
unsigned short ws_ypixel;
};
#define TIOCM_LE 0x001
#define TIOCM_DTR 0x002
#define TIOCM_RTS 0x004
#define TIOCM_ST 0x008
#define TIOCM_SR 0x010
#define TIOCM_CTS 0x020
#define TIOCM_CAR 0x040
#define TIOCM_RNG 0x080
#define TIOCM_DSR 0x100
#define TIOCM_CD TIOCM_CAR
#define TIOCM_RI TIOCM_RNG
#define TIOCM_OUT1 0x2000
#define TIOCM_OUT2 0x4000
#define TIOCM_LOOP 0x8000
#define TIOCM_MODEM_BITS TIOCM_OUT2
#define TIOCM_LE 0x001
#define TIOCM_DTR 0x002
#define TIOCM_RTS 0x004
#define TIOCM_ST 0x010
#define TIOCM_SR 0x020
#define TIOCM_CTS 0x040
#define TIOCM_CAR 0x100
#define TIOCM_CD TIOCM_CAR
#define TIOCM_RNG 0x200
#define TIOCM_RI TIOCM_RNG
#define TIOCM_DSR 0x400
#define TIOCM_OUT1 0x2000
#define TIOCM_OUT2 0x4000
#define TIOCM_LOOP 0x8000
#define N_TTY 0
#define N_SLIP 1
@ -140,12 +140,13 @@ struct winsize {
#define N_SYNC_PPP 14
#define N_HCI 15
#define FIOSETOWN 0x8901
#define SIOCSPGRP 0x8902
#define FIOGETOWN 0x8903
#define SIOCGPGRP 0x8904
#define SIOCATMARK 0x8905
#define FIOGETOWN _IOR('f', 123, int)
#define FIOSETOWN _IOW('f', 124, int)
#define SIOCATMARK _IOR('s', 7, int)
#define SIOCSPGRP _IOW('s', 8, pid_t)
#define SIOCGPGRP _IOR('s', 9, pid_t)
#define SIOCGSTAMP 0x8906
#define SIOCGSTAMPNS 0x8907
#define SIOCADDRT 0x890B
#define SIOCDELRT 0x890C
@ -170,6 +171,7 @@ struct winsize {
#define SIOCSIFMEM 0x8920
#define SIOCGIFMTU 0x8921
#define SIOCSIFMTU 0x8922
#define SIOCSIFNAME 0x8923
#define SIOCSIFHWADDR 0x8924
#define SIOCGIFENCAP 0x8925
#define SIOCSIFENCAP 0x8926

View File

@ -1,14 +0,0 @@
struct ipc_perm
{
key_t __ipc_perm_key;
uid_t uid;
gid_t gid;
uid_t cuid;
gid_t cgid;
mode_t mode;
int __ipc_perm_seq;
long __pad1;
long __pad2;
};
#define IPC_64 0x100

View File

@ -1,57 +1,24 @@
#define MAP_FAILED ((void *) -1)
#define PROT_NONE 0
#define PROT_READ 1
#define PROT_WRITE 2
#define PROT_EXEC 4
#define PROT_GROWSDOWN 0x01000000
#define PROT_GROWSUP 0x02000000
#define MAP_SHARED 0x01
#define MAP_PRIVATE 0x02
#define MAP_FIXED 0x10
#define MAP_TYPE 0x0f
#define MAP_FILE 0x00
#undef MAP_ANON
#define MAP_ANON 0x800
#define MAP_ANONYMOUS MAP_ANON
#undef MAP_NORESERVE
#define MAP_NORESERVE 0x0400
#undef MAP_GROWSDOWN
#define MAP_GROWSDOWN 0x1000
#undef MAP_DENYWRITE
#define MAP_DENYWRITE 0x2000
#undef MAP_EXECUTABLE
#define MAP_EXECUTABLE 0x4000
#undef MAP_LOCKED
#define MAP_LOCKED 0x8000
#undef MAP_POPULATE
#define MAP_POPULATE 0x10000
#undef MAP_NONBLOCK
#define MAP_NONBLOCK 0x20000
#undef MAP_STACK
#define MAP_STACK 0x40000
#undef MAP_HUGETLB
#define MAP_HUGETLB 0x80000
#define POSIX_MADV_NORMAL 0
#define POSIX_MADV_RANDOM 1
#define POSIX_MADV_SEQUENTIAL 2
#define POSIX_MADV_WILLNEED 3
#define POSIX_MADV_DONTNEED 0
#define MS_ASYNC 1
#define MS_INVALIDATE 2
#define MS_SYNC 4
#define MCL_CURRENT 1
#define MCL_FUTURE 2
#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
#define MADV_NORMAL 0
#define MADV_RANDOM 1
#define MADV_SEQUENTIAL 2
#define MADV_WILLNEED 3
#define MADV_DONTNEED 4
#define MADV_REMOVE 9
#define MADV_DONTFORK 10
#define MADV_DOFORK 11
#define MADV_MERGEABLE 12
#define MADV_UNMERGEABLE 13
#define MADV_HUGEPAGE 14
#define MADV_NOHUGEPAGE 15
#define MADV_DONTDUMP 16
#define MADV_DODUMP 17
#define MADV_HWPOISON 100
#undef MADV_SOFT_OFFLINE
#endif

View File

@ -1,5 +1,4 @@
struct msqid_ds
{
struct msqid_ds {
struct ipc_perm msg_perm;
#if _MIPSEL || __MIPSEL || __MIPSEL__
time_t msg_stime;

View File

@ -1,7 +1,6 @@
#define SHMLBA 4096
struct shmid_ds
{
struct shmid_ds {
struct ipc_perm shm_perm;
size_t shm_segsz;
time_t shm_atime;

View File

@ -17,16 +17,14 @@ typedef struct {
} fp_fregs[32];
} fp_r;
} fpregset_t;
struct sigcontext
{
struct sigcontext {
unsigned sc_regmask, sc_status;
unsigned long long sc_pc, sc_regs[32], sc_fpregs[32];
unsigned sc_ownedfp, sc_fpc_csr, sc_fpc_eir, sc_used_math, sc_dsp;
unsigned long long sc_mdhi, sc_mdlo;
unsigned long sc_hi1, sc_lo1, sc_hi2, sc_lo2, sc_hi3, sc_lo3;
};
typedef struct
{
typedef struct {
unsigned regmask, status;
unsigned long long pc, gregs[32], fpregs[32];
unsigned ownedfp, fpc_csr, fpc_eir, used_math, dsp;
@ -73,6 +71,15 @@ typedef struct __ucontext {
#define SIG_UNBLOCK 2
#define SIG_SETMASK 3
#undef SI_ASYNCIO
#undef SI_MESGQ
#undef SI_TIMER
#define SI_ASYNCIO (-2)
#define SI_MESGQ (-4)
#define SI_TIMER (-3)
#define __SI_SWAP_ERRNO_CODE
#endif
#define SIGHUP 1

View File

@ -1,5 +1,4 @@
struct msghdr
{
struct msghdr {
void *msg_name;
socklen_t msg_namelen;
struct iovec *msg_iov;
@ -9,8 +8,7 @@ struct msghdr
int msg_flags;
};
struct cmsghdr
{
struct cmsghdr {
socklen_t cmsg_len;
int cmsg_level;
int cmsg_type;

View File

@ -1,8 +1,7 @@
/* copied from kernel definition, but with padding replaced
* by the corresponding correctly-sized userspace types. */
struct stat
{
struct stat {
dev_t st_dev;
long __st_padding1[2];
ino_t st_ino;

View File

@ -1,4 +0,0 @@
#define va_start(v,l) __builtin_va_start(v,l)
#define va_end(v) __builtin_va_end(v)
#define va_arg(v,l) __builtin_va_arg(v,l)
#define va_copy(d,s) __builtin_va_copy(d,s)

View File

@ -1,715 +0,0 @@
#define __NR_syscall 4000
#define __NR_exit 4001
#define __NR_fork 4002
#define __NR_read 4003
#define __NR_write 4004
#define __NR_open 4005
#define __NR_close 4006
#define __NR_waitpid 4007
#define __NR_creat 4008
#define __NR_link 4009
#define __NR_unlink 4010
#define __NR_execve 4011
#define __NR_chdir 4012
#define __NR_time 4013
#define __NR_mknod 4014
#define __NR_chmod 4015
#define __NR_lchown 4016
#define __NR_break 4017
#define __NR_unused18 4018
#define __NR_lseek 4019
#define __NR_getpid 4020
#define __NR_mount 4021
#define __NR_umount 4022
#define __NR_setuid 4023
#define __NR_getuid 4024
#define __NR_stime 4025
#define __NR_ptrace 4026
#define __NR_alarm 4027
#define __NR_unused28 4028
#define __NR_pause 4029
#define __NR_utime 4030
#define __NR_stty 4031
#define __NR_gtty 4032
#define __NR_access 4033
#define __NR_nice 4034
#define __NR_ftime 4035
#define __NR_sync 4036
#define __NR_kill 4037
#define __NR_rename 4038
#define __NR_mkdir 4039
#define __NR_rmdir 4040
#define __NR_dup 4041
#define __NR_pipe 4042
#define __NR_times 4043
#define __NR_prof 4044
#define __NR_brk 4045
#define __NR_setgid 4046
#define __NR_getgid 4047
#define __NR_signal 4048
#define __NR_geteuid 4049
#define __NR_getegid 4050
#define __NR_acct 4051
#define __NR_umount2 4052
#define __NR_lock 4053
#define __NR_ioctl 4054
#define __NR_fcntl 4055
#define __NR_mpx 4056
#define __NR_setpgid 4057
#define __NR_ulimit 4058
#define __NR_unused59 4059
#define __NR_umask 4060
#define __NR_chroot 4061
#define __NR_ustat 4062
#define __NR_dup2 4063
#define __NR_getppid 4064
#define __NR_getpgrp 4065
#define __NR_setsid 4066
#define __NR_sigaction 4067
#define __NR_sgetmask 4068
#define __NR_ssetmask 4069
#define __NR_setreuid 4070
#define __NR_setregid 4071
#define __NR_sigsuspend 4072
#define __NR_sigpending 4073
#define __NR_sethostname 4074
#define __NR_setrlimit 4075
#define __NR_getrlimit 4076
#define __NR_getrusage 4077
#define __NR_gettimeofday 4078
#define __NR_settimeofday 4079
#define __NR_getgroups 4080
#define __NR_setgroups 4081
#define __NR_reserved82 4082
#define __NR_symlink 4083
#define __NR_unused84 4084
#define __NR_readlink 4085
#define __NR_uselib 4086
#define __NR_swapon 4087
#define __NR_reboot 4088
#define __NR_readdir 4089
#define __NR_mmap 4090
#define __NR_munmap 4091
#define __NR_truncate 4092
#define __NR_ftruncate 4093
#define __NR_fchmod 4094
#define __NR_fchown 4095
#define __NR_getpriority 4096
#define __NR_setpriority 4097
#define __NR_profil 4098
#define __NR_statfs 4099
#define __NR_fstatfs 4100
#define __NR_ioperm 4101
#define __NR_socketcall 4102
#define __NR_syslog 4103
#define __NR_setitimer 4104
#define __NR_getitimer 4105
#define __NR_stat 4106
#define __NR_lstat 4107
#define __NR_fstat 4108
#define __NR_unused109 4109
#define __NR_iopl 4110
#define __NR_vhangup 4111
#define __NR_idle 4112
#define __NR_vm86 4113
#define __NR_wait4 4114
#define __NR_swapoff 4115
#define __NR_sysinfo 4116
#define __NR_ipc 4117
#define __NR_fsync 4118
#define __NR_sigreturn 4119
#define __NR_clone 4120
#define __NR_setdomainname 4121
#define __NR_uname 4122
#define __NR_modify_ldt 4123
#define __NR_adjtimex 4124
#define __NR_mprotect 4125
#define __NR_sigprocmask 4126
#define __NR_create_module 4127
#define __NR_init_module 4128
#define __NR_delete_module 4129
#define __NR_get_kernel_syms 4130
#define __NR_quotactl 4131
#define __NR_getpgid 4132
#define __NR_fchdir 4133
#define __NR_bdflush 4134
#define __NR_sysfs 4135
#define __NR_personality 4136
#define __NR_afs_syscall 4137
#define __NR_setfsuid 4138
#define __NR_setfsgid 4139
#define __NR__llseek 4140
#define __NR_getdents 4141
#define __NR_select 4142
#define __NR_flock 4143
#define __NR_msync 4144
#define __NR_readv 4145
#define __NR_writev 4146
#define __NR_cacheflush 4147
#define __NR_cachectl 4148
#define __NR_sysmips 4149
#define __NR_unused150 4150
#define __NR_getsid 4151
#define __NR_fdatasync 4152
#define __NR__sysctl 4153
#define __NR_mlock 4154
#define __NR_munlock 4155
#define __NR_mlockall 4156
#define __NR_munlockall 4157
#define __NR_sched_setparam 4158
#define __NR_sched_getparam 4159
#define __NR_sched_setscheduler 4160
#define __NR_sched_getscheduler 4161
#define __NR_sched_yield 4162
#define __NR_sched_get_priority_max 4163
#define __NR_sched_get_priority_min 4164
#define __NR_sched_rr_get_interval 4165
#define __NR_nanosleep 4166
#define __NR_mremap 4167
#define __NR_accept 4168
#define __NR_bind 4169
#define __NR_connect 4170
#define __NR_getpeername 4171
#define __NR_getsockname 4172
#define __NR_getsockopt 4173
#define __NR_listen 4174
#define __NR_recv 4175
#define __NR_recvfrom 4176
#define __NR_recvmsg 4177
#define __NR_send 4178
#define __NR_sendmsg 4179
#define __NR_sendto 4180
#define __NR_setsockopt 4181
#define __NR_shutdown 4182
#define __NR_socket 4183
#define __NR_socketpair 4184
#define __NR_setresuid 4185
#define __NR_getresuid 4186
#define __NR_query_module 4187
#define __NR_poll 4188
#define __NR_nfsservctl 4189
#define __NR_setresgid 4190
#define __NR_getresgid 4191
#define __NR_prctl 4192
#define __NR_rt_sigreturn 4193
#define __NR_rt_sigaction 4194
#define __NR_rt_sigprocmask 4195
#define __NR_rt_sigpending 4196
#define __NR_rt_sigtimedwait 4197
#define __NR_rt_sigqueueinfo 4198
#define __NR_rt_sigsuspend 4199
#define __NR_pread 4200
#define __NR_pwrite 4201
#define __NR_chown 4202
#define __NR_getcwd 4203
#define __NR_capget 4204
#define __NR_capset 4205
#define __NR_sigaltstack 4206
#define __NR_sendfile 4207
#define __NR_getpmsg 4208
#define __NR_putpmsg 4209
#define __NR_mmap2 4210
#define __NR_truncate64 4211
#define __NR_ftruncate64 4212
#define __NR_stat64 4213
#define __NR_lstat64 4214
#define __NR_fstat64 4215
#define __NR_pivot_root 4216
#define __NR_mincore 4217
#define __NR_madvise 4218
#define __NR_getdents64 4219
#define __NR_fcntl64 4220
#define __NR_reserved221 4221
#define __NR_gettid 4222
#define __NR_readahead 4223
#define __NR_setxattr 4224
#define __NR_lsetxattr 4225
#define __NR_fsetxattr 4226
#define __NR_getxattr 4227
#define __NR_lgetxattr 4228
#define __NR_fgetxattr 4229
#define __NR_listxattr 4230
#define __NR_llistxattr 4231
#define __NR_flistxattr 4232
#define __NR_removexattr 4233
#define __NR_lremovexattr 4234
#define __NR_fremovexattr 4235
#define __NR_tkill 4236
#define __NR_sendfile64 4237
#define __NR_futex 4238
#define __NR_sched_setaffinity 4239
#define __NR_sched_getaffinity 4240
#define __NR_io_setup 4241
#define __NR_io_destroy 4242
#define __NR_io_getevents 4243
#define __NR_io_submit 4244
#define __NR_io_cancel 4245
#define __NR_exit_group 4246
#define __NR_lookup_dcookie 4247
#define __NR_epoll_create 4248
#define __NR_epoll_ctl 4249
#define __NR_epoll_wait 4250
#define __NR_remap_file_pages 4251
#define __NR_set_tid_address 4252
#define __NR_restart_syscall 4253
#define __NR_fadvise 4254
#define __NR_statfs64 4255
#define __NR_fstatfs64 4256
#define __NR_timer_create 4257
#define __NR_timer_settime 4258
#define __NR_timer_gettime 4259
#define __NR_timer_getoverrun 4260
#define __NR_timer_delete 4261
#define __NR_clock_settime 4262
#define __NR_clock_gettime 4263
#define __NR_clock_getres 4264
#define __NR_clock_nanosleep 4265
#define __NR_tgkill 4266
#define __NR_utimes 4267
#define __NR_mbind 4268
#define __NR_get_mempolicy 4269
#define __NR_set_mempolicy 4270
#define __NR_mq_open 4271
#define __NR_mq_unlink 4272
#define __NR_mq_timedsend 4273
#define __NR_mq_timedreceive 4274
#define __NR_mq_notify 4275
#define __NR_mq_getsetattr 4276
#define __NR_vserver 4277
#define __NR_waitid 4278
#define __NR_add_key 4280
#define __NR_request_key 4281
#define __NR_keyctl 4282
#define __NR_set_thread_area 4283
#define __NR_inotify_init 4284
#define __NR_inotify_add_watch 4285
#define __NR_inotify_rm_watch 4286
#define __NR_migrate_pages 4287
#define __NR_openat 4288
#define __NR_mkdirat 4289
#define __NR_mknodat 4290
#define __NR_fchownat 4291
#define __NR_futimesat 4292
#define __NR_fstatat 4293
#define __NR_unlinkat 4294
#define __NR_renameat 4295
#define __NR_linkat 4296
#define __NR_symlinkat 4297
#define __NR_readlinkat 4298
#define __NR_fchmodat 4299
#define __NR_faccessat 4300
#define __NR_pselect6 4301
#define __NR_ppoll 4302
#define __NR_unshare 4303
#define __NR_splice 4304
#define __NR_sync_file_range 4305
#define __NR_tee 4306
#define __NR_vmsplice 4307
#define __NR_move_pages 4308
#define __NR_set_robust_list 4309
#define __NR_get_robust_list 4310
#define __NR_kexec_load 4311
#define __NR_getcpu 4312
#define __NR_epoll_pwait 4313
#define __NR_ioprio_set 4314
#define __NR_ioprio_get 4315
#define __NR_utimensat 4316
#define __NR_signalfd 4317
#define __NR_timerfd 4318
#define __NR_eventfd 4319
#define __NR_fallocate 4320
#define __NR_timerfd_create 4321
#define __NR_timerfd_gettime 4322
#define __NR_timerfd_settime 4323
#define __NR_signalfd4 4324
#define __NR_eventfd2 4325
#define __NR_epoll_create1 4326
#define __NR_dup3 4327
#define __NR_pipe2 4328
#define __NR_inotify_init1 4329
#define __NR_preadv 4330
#define __NR_pwritev 4331
#define __NR_rt_tgsigqueueinfo 4332
#define __NR_perf_event_open 4333
#define __NR_accept4 4334
#define __NR_recvmmsg 4335
#define __NR_fanotify_init 4336
#define __NR_fanotify_mark 4337
#define __NR_prlimit64 4338
#define __NR_name_to_handle_at 4339
#define __NR_open_by_handle_at 4340
#define __NR_clock_adjtime 4341
#define __NR_syncfs 4342
#define __NR_sendmmsg 4343
#define __NR_setns 4344
#define __NR_process_vm_readv 4345
#define __NR_process_vm_writev 4346
#define __NR_kcmp 4347
#define __NR_finit_module 4348
#define __NR_sched_setattr 4349
#define __NR_sched_getattr 4350
#define __NR_renameat2 4351
#define __NR_seccomp 4352
#define __NR_getrandom 4353
#define __NR_memfd_create 4354
#define __NR_bpf 4355
#define __NR_execveat 4356
/* Repeated with SYS_ prefix */
#define SYS_syscall 4000
#define SYS_exit 4001
#define SYS_fork 4002
#define SYS_read 4003
#define SYS_write 4004
#define SYS_open 4005
#define SYS_close 4006
#define SYS_waitpid 4007
#define SYS_creat 4008
#define SYS_link 4009
#define SYS_unlink 4010
#define SYS_execve 4011
#define SYS_chdir 4012
#define SYS_time 4013
#define SYS_mknod 4014
#define SYS_chmod 4015
#define SYS_lchown 4016
#define SYS_break 4017
#define SYS_unused18 4018
#define SYS_lseek 4019
#define SYS_getpid 4020
#define SYS_mount 4021
#define SYS_umount 4022
#define SYS_setuid 4023
#define SYS_getuid 4024
#define SYS_stime 4025
#define SYS_ptrace 4026
#define SYS_alarm 4027
#define SYS_unused28 4028
#define SYS_pause 4029
#define SYS_utime 4030
#define SYS_stty 4031
#define SYS_gtty 4032
#define SYS_access 4033
#define SYS_nice 4034
#define SYS_ftime 4035
#define SYS_sync 4036
#define SYS_kill 4037
#define SYS_rename 4038
#define SYS_mkdir 4039
#define SYS_rmdir 4040
#define SYS_dup 4041
#define SYS_pipe 4042
#define SYS_times 4043
#define SYS_prof 4044
#define SYS_brk 4045
#define SYS_setgid 4046
#define SYS_getgid 4047
#define SYS_signal 4048
#define SYS_geteuid 4049
#define SYS_getegid 4050
#define SYS_acct 4051
#define SYS_umount2 4052
#define SYS_lock 4053
#define SYS_ioctl 4054
#define SYS_fcntl 4055
#define SYS_mpx 4056
#define SYS_setpgid 4057
#define SYS_ulimit 4058
#define SYS_unused59 4059
#define SYS_umask 4060
#define SYS_chroot 4061
#define SYS_ustat 4062
#define SYS_dup2 4063
#define SYS_getppid 4064
#define SYS_getpgrp 4065
#define SYS_setsid 4066
#define SYS_sigaction 4067
#define SYS_sgetmask 4068
#define SYS_ssetmask 4069
#define SYS_setreuid 4070
#define SYS_setregid 4071
#define SYS_sigsuspend 4072
#define SYS_sigpending 4073
#define SYS_sethostname 4074
#define SYS_setrlimit 4075
#define SYS_getrlimit 4076
#define SYS_getrusage 4077
#define SYS_gettimeofday 4078
#define SYS_settimeofday 4079
#define SYS_getgroups 4080
#define SYS_setgroups 4081
#define SYS_reserved82 4082
#define SYS_symlink 4083
#define SYS_unused84 4084
#define SYS_readlink 4085
#define SYS_uselib 4086
#define SYS_swapon 4087
#define SYS_reboot 4088
#define SYS_readdir 4089
#define SYS_mmap 4090
#define SYS_munmap 4091
#define SYS_truncate 4092
#define SYS_ftruncate 4093
#define SYS_fchmod 4094
#define SYS_fchown 4095
#define SYS_getpriority 4096
#define SYS_setpriority 4097
#define SYS_profil 4098
#define SYS_statfs 4099
#define SYS_fstatfs 4100
#define SYS_ioperm 4101
#define SYS_socketcall 4102
#define SYS_syslog 4103
#define SYS_setitimer 4104
#define SYS_getitimer 4105
#define SYS_stat 4106
#define SYS_lstat 4107
#define SYS_fstat 4108
#define SYS_unused109 4109
#define SYS_iopl 4110
#define SYS_vhangup 4111
#define SYS_idle 4112
#define SYS_vm86 4113
#define SYS_wait4 4114
#define SYS_swapoff 4115
#define SYS_sysinfo 4116
#define SYS_ipc 4117
#define SYS_fsync 4118
#define SYS_sigreturn 4119
#define SYS_clone 4120
#define SYS_setdomainname 4121
#define SYS_uname 4122
#define SYS_modify_ldt 4123
#define SYS_adjtimex 4124
#define SYS_mprotect 4125
#define SYS_sigprocmask 4126
#define SYS_create_module 4127
#define SYS_init_module 4128
#define SYS_delete_module 4129
#define SYS_get_kernel_syms 4130
#define SYS_quotactl 4131
#define SYS_getpgid 4132
#define SYS_fchdir 4133
#define SYS_bdflush 4134
#define SYS_sysfs 4135
#define SYS_personality 4136
#define SYS_afs_syscall 4137
#define SYS_setfsuid 4138
#define SYS_setfsgid 4139
#define SYS__llseek 4140
#define SYS_getdents 4141
#define SYS_select 4142
#define SYS_flock 4143
#define SYS_msync 4144
#define SYS_readv 4145
#define SYS_writev 4146
#define SYS_cacheflush 4147
#define SYS_cachectl 4148
#define SYS_sysmips 4149
#define SYS_unused150 4150
#define SYS_getsid 4151
#define SYS_fdatasync 4152
#define SYS__sysctl 4153
#define SYS_mlock 4154
#define SYS_munlock 4155
#define SYS_mlockall 4156
#define SYS_munlockall 4157
#define SYS_sched_setparam 4158
#define SYS_sched_getparam 4159
#define SYS_sched_setscheduler 4160
#define SYS_sched_getscheduler 4161
#define SYS_sched_yield 4162
#define SYS_sched_get_priority_max 4163
#define SYS_sched_get_priority_min 4164
#define SYS_sched_rr_get_interval 4165
#define SYS_nanosleep 4166
#define SYS_mremap 4167
#define SYS_accept 4168
#define SYS_bind 4169
#define SYS_connect 4170
#define SYS_getpeername 4171
#define SYS_getsockname 4172
#define SYS_getsockopt 4173
#define SYS_listen 4174
#define SYS_recv 4175
#define SYS_recvfrom 4176
#define SYS_recvmsg 4177
#define SYS_send 4178
#define SYS_sendmsg 4179
#define SYS_sendto 4180
#define SYS_setsockopt 4181
#define SYS_shutdown 4182
#define SYS_socket 4183
#define SYS_socketpair 4184
#define SYS_setresuid 4185
#define SYS_getresuid 4186
#define SYS_query_module 4187
#define SYS_poll 4188
#define SYS_nfsservctl 4189
#define SYS_setresgid 4190
#define SYS_getresgid 4191
#define SYS_prctl 4192
#define SYS_rt_sigreturn 4193
#define SYS_rt_sigaction 4194
#define SYS_rt_sigprocmask 4195
#define SYS_rt_sigpending 4196
#define SYS_rt_sigtimedwait 4197
#define SYS_rt_sigqueueinfo 4198
#define SYS_rt_sigsuspend 4199
#define SYS_pread 4200
#define SYS_pwrite 4201
#define SYS_chown 4202
#define SYS_getcwd 4203
#define SYS_capget 4204
#define SYS_capset 4205
#define SYS_sigaltstack 4206
#define SYS_sendfile 4207
#define SYS_getpmsg 4208
#define SYS_putpmsg 4209
#define SYS_mmap2 4210
#define SYS_truncate64 4211
#define SYS_ftruncate64 4212
#define SYS_stat64 4213
#define SYS_lstat64 4214
#define SYS_fstat64 4215
#define SYS_pivot_root 4216
#define SYS_mincore 4217
#define SYS_madvise 4218
#define SYS_getdents64 4219
#define SYS_fcntl64 4220
#define SYS_reserved221 4221
#define SYS_gettid 4222
#define SYS_readahead 4223
#define SYS_setxattr 4224
#define SYS_lsetxattr 4225
#define SYS_fsetxattr 4226
#define SYS_getxattr 4227
#define SYS_lgetxattr 4228
#define SYS_fgetxattr 4229
#define SYS_listxattr 4230
#define SYS_llistxattr 4231
#define SYS_flistxattr 4232
#define SYS_removexattr 4233
#define SYS_lremovexattr 4234
#define SYS_fremovexattr 4235
#define SYS_tkill 4236
#define SYS_sendfile64 4237
#define SYS_futex 4238
#define SYS_sched_setaffinity 4239
#define SYS_sched_getaffinity 4240
#define SYS_io_setup 4241
#define SYS_io_destroy 4242
#define SYS_io_getevents 4243
#define SYS_io_submit 4244
#define SYS_io_cancel 4245
#define SYS_exit_group 4246
#define SYS_lookup_dcookie 4247
#define SYS_epoll_create 4248
#define SYS_epoll_ctl 4249
#define SYS_epoll_wait 4250
#define SYS_remap_file_pages 4251
#define SYS_set_tid_address 4252
#define SYS_restart_syscall 4253
#define SYS_fadvise 4254
#define SYS_statfs64 4255
#define SYS_fstatfs64 4256
#define SYS_timer_create 4257
#define SYS_timer_settime 4258
#define SYS_timer_gettime 4259
#define SYS_timer_getoverrun 4260
#define SYS_timer_delete 4261
#define SYS_clock_settime 4262
#define SYS_clock_gettime 4263
#define SYS_clock_getres 4264
#define SYS_clock_nanosleep 4265
#define SYS_tgkill 4266
#define SYS_utimes 4267
#define SYS_mbind 4268
#define SYS_get_mempolicy 4269
#define SYS_set_mempolicy 4270
#define SYS_mq_open 4271
#define SYS_mq_unlink 4272
#define SYS_mq_timedsend 4273
#define SYS_mq_timedreceive 4274
#define SYS_mq_notify 4275
#define SYS_mq_getsetattr 4276
#define SYS_vserver 4277
#define SYS_waitid 4278
#define SYS_add_key 4280
#define SYS_request_key 4281
#define SYS_keyctl 4282
#define SYS_set_thread_area 4283
#define SYS_inotify_init 4284
#define SYS_inotify_add_watch 4285
#define SYS_inotify_rm_watch 4286
#define SYS_migrate_pages 4287
#define SYS_openat 4288
#define SYS_mkdirat 4289
#define SYS_mknodat 4290
#define SYS_fchownat 4291
#define SYS_futimesat 4292
#define SYS_fstatat 4293
#define SYS_unlinkat 4294
#define SYS_renameat 4295
#define SYS_linkat 4296
#define SYS_symlinkat 4297
#define SYS_readlinkat 4298
#define SYS_fchmodat 4299
#define SYS_faccessat 4300
#define SYS_pselect6 4301
#define SYS_ppoll 4302
#define SYS_unshare 4303
#define SYS_splice 4304
#define SYS_sync_file_range 4305
#define SYS_tee 4306
#define SYS_vmsplice 4307
#define SYS_move_pages 4308
#define SYS_set_robust_list 4309
#define SYS_get_robust_list 4310
#define SYS_kexec_load 4311
#define SYS_getcpu 4312
#define SYS_epoll_pwait 4313
#define SYS_ioprio_set 4314
#define SYS_ioprio_get 4315
#define SYS_utimensat 4316
#define SYS_signalfd 4317
#define SYS_timerfd 4318
#define SYS_eventfd 4319
#define SYS_fallocate 4320
#define SYS_timerfd_create 4321
#define SYS_timerfd_gettime 4322
#define SYS_timerfd_settime 4323
#define SYS_signalfd4 4324
#define SYS_eventfd2 4325
#define SYS_epoll_create1 4326
#define SYS_dup3 4327
#define SYS_pipe2 4328
#define SYS_inotify_init1 4329
#define SYS_preadv 4330
#define SYS_pwritev 4331
#define SYS_rt_tgsigqueueinfo 4332
#define SYS_perf_event_open 4333
#define SYS_accept4 4334
#define SYS_recvmmsg 4335
#define SYS_fanotify_init 4336
#define SYS_fanotify_mark 4337
#define SYS_prlimit64 4338
#define SYS_name_to_handle_at 4339
#define SYS_open_by_handle_at 4340
#define SYS_clock_adjtime 4341
#define SYS_syncfs 4342
#define SYS_sendmmsg 4343
#define SYS_setns 4344
#define SYS_process_vm_readv 4345
#define SYS_process_vm_writev 4346
#define SYS_kcmp 4347
#define SYS_finit_module 4348
#define SYS_sched_setattr 4349
#define SYS_sched_getattr 4350
#define SYS_renameat2 4351
#define SYS_seccomp 4352
#define SYS_getrandom 4353
#define SYS_memfd_create 4354
#define SYS_bpf 4355
#define SYS_execveat 4356

367
arch/mips/bits/syscall.h.in Normal file
View File

@ -0,0 +1,367 @@
#define __NR_syscall 4000
#define __NR_exit 4001
#define __NR_fork 4002
#define __NR_read 4003
#define __NR_write 4004
#define __NR_open 4005
#define __NR_close 4006
#define __NR_waitpid 4007
#define __NR_creat 4008
#define __NR_link 4009
#define __NR_unlink 4010
#define __NR_execve 4011
#define __NR_chdir 4012
#define __NR_time 4013
#define __NR_mknod 4014
#define __NR_chmod 4015
#define __NR_lchown 4016
#define __NR_break 4017
#define __NR_unused18 4018
#define __NR_lseek 4019
#define __NR_getpid 4020
#define __NR_mount 4021
#define __NR_umount 4022
#define __NR_setuid 4023
#define __NR_getuid 4024
#define __NR_stime 4025
#define __NR_ptrace 4026
#define __NR_alarm 4027
#define __NR_unused28 4028
#define __NR_pause 4029
#define __NR_utime 4030
#define __NR_stty 4031
#define __NR_gtty 4032
#define __NR_access 4033
#define __NR_nice 4034
#define __NR_ftime 4035
#define __NR_sync 4036
#define __NR_kill 4037
#define __NR_rename 4038
#define __NR_mkdir 4039
#define __NR_rmdir 4040
#define __NR_dup 4041
#define __NR_pipe 4042
#define __NR_times 4043
#define __NR_prof 4044
#define __NR_brk 4045
#define __NR_setgid 4046
#define __NR_getgid 4047
#define __NR_signal 4048
#define __NR_geteuid 4049
#define __NR_getegid 4050
#define __NR_acct 4051
#define __NR_umount2 4052
#define __NR_lock 4053
#define __NR_ioctl 4054
#define __NR_fcntl 4055
#define __NR_mpx 4056
#define __NR_setpgid 4057
#define __NR_ulimit 4058
#define __NR_unused59 4059
#define __NR_umask 4060
#define __NR_chroot 4061
#define __NR_ustat 4062
#define __NR_dup2 4063
#define __NR_getppid 4064
#define __NR_getpgrp 4065
#define __NR_setsid 4066
#define __NR_sigaction 4067
#define __NR_sgetmask 4068
#define __NR_ssetmask 4069
#define __NR_setreuid 4070
#define __NR_setregid 4071
#define __NR_sigsuspend 4072
#define __NR_sigpending 4073
#define __NR_sethostname 4074
#define __NR_setrlimit 4075
#define __NR_getrlimit 4076
#define __NR_getrusage 4077
#define __NR_gettimeofday 4078
#define __NR_settimeofday 4079
#define __NR_getgroups 4080
#define __NR_setgroups 4081
#define __NR_reserved82 4082
#define __NR_symlink 4083
#define __NR_unused84 4084
#define __NR_readlink 4085
#define __NR_uselib 4086
#define __NR_swapon 4087
#define __NR_reboot 4088
#define __NR_readdir 4089
#define __NR_mmap 4090
#define __NR_munmap 4091
#define __NR_truncate 4092
#define __NR_ftruncate 4093
#define __NR_fchmod 4094
#define __NR_fchown 4095
#define __NR_getpriority 4096
#define __NR_setpriority 4097
#define __NR_profil 4098
#define __NR_statfs 4099
#define __NR_fstatfs 4100
#define __NR_ioperm 4101
#define __NR_socketcall 4102
#define __NR_syslog 4103
#define __NR_setitimer 4104
#define __NR_getitimer 4105
#define __NR_stat 4106
#define __NR_lstat 4107
#define __NR_fstat 4108
#define __NR_unused109 4109
#define __NR_iopl 4110
#define __NR_vhangup 4111
#define __NR_idle 4112
#define __NR_vm86 4113
#define __NR_wait4 4114
#define __NR_swapoff 4115
#define __NR_sysinfo 4116
#define __NR_ipc 4117
#define __NR_fsync 4118
#define __NR_sigreturn 4119
#define __NR_clone 4120
#define __NR_setdomainname 4121
#define __NR_uname 4122
#define __NR_modify_ldt 4123
#define __NR_adjtimex 4124
#define __NR_mprotect 4125
#define __NR_sigprocmask 4126
#define __NR_create_module 4127
#define __NR_init_module 4128
#define __NR_delete_module 4129
#define __NR_get_kernel_syms 4130
#define __NR_quotactl 4131
#define __NR_getpgid 4132
#define __NR_fchdir 4133
#define __NR_bdflush 4134
#define __NR_sysfs 4135
#define __NR_personality 4136
#define __NR_afs_syscall 4137
#define __NR_setfsuid 4138
#define __NR_setfsgid 4139
#define __NR__llseek 4140
#define __NR_getdents 4141
#define __NR__newselect 4142
#define __NR_flock 4143
#define __NR_msync 4144
#define __NR_readv 4145
#define __NR_writev 4146
#define __NR_cacheflush 4147
#define __NR_cachectl 4148
#define __NR_sysmips 4149
#define __NR_unused150 4150
#define __NR_getsid 4151
#define __NR_fdatasync 4152
#define __NR__sysctl 4153
#define __NR_mlock 4154
#define __NR_munlock 4155
#define __NR_mlockall 4156
#define __NR_munlockall 4157
#define __NR_sched_setparam 4158
#define __NR_sched_getparam 4159
#define __NR_sched_setscheduler 4160
#define __NR_sched_getscheduler 4161
#define __NR_sched_yield 4162
#define __NR_sched_get_priority_max 4163
#define __NR_sched_get_priority_min 4164
#define __NR_sched_rr_get_interval 4165
#define __NR_nanosleep 4166
#define __NR_mremap 4167
#define __NR_accept 4168
#define __NR_bind 4169
#define __NR_connect 4170
#define __NR_getpeername 4171
#define __NR_getsockname 4172
#define __NR_getsockopt 4173
#define __NR_listen 4174
#define __NR_recv 4175
#define __NR_recvfrom 4176
#define __NR_recvmsg 4177
#define __NR_send 4178
#define __NR_sendmsg 4179
#define __NR_sendto 4180
#define __NR_setsockopt 4181
#define __NR_shutdown 4182
#define __NR_socket 4183
#define __NR_socketpair 4184
#define __NR_setresuid 4185
#define __NR_getresuid 4186
#define __NR_query_module 4187
#define __NR_poll 4188
#define __NR_nfsservctl 4189
#define __NR_setresgid 4190
#define __NR_getresgid 4191
#define __NR_prctl 4192
#define __NR_rt_sigreturn 4193
#define __NR_rt_sigaction 4194
#define __NR_rt_sigprocmask 4195
#define __NR_rt_sigpending 4196
#define __NR_rt_sigtimedwait 4197
#define __NR_rt_sigqueueinfo 4198
#define __NR_rt_sigsuspend 4199
#define __NR_pread64 4200
#define __NR_pwrite64 4201
#define __NR_chown 4202
#define __NR_getcwd 4203
#define __NR_capget 4204
#define __NR_capset 4205
#define __NR_sigaltstack 4206
#define __NR_sendfile 4207
#define __NR_getpmsg 4208
#define __NR_putpmsg 4209
#define __NR_mmap2 4210
#define __NR_truncate64 4211
#define __NR_ftruncate64 4212
#define __NR_stat64 4213
#define __NR_lstat64 4214
#define __NR_fstat64 4215
#define __NR_pivot_root 4216
#define __NR_mincore 4217
#define __NR_madvise 4218
#define __NR_getdents64 4219
#define __NR_fcntl64 4220
#define __NR_reserved221 4221
#define __NR_gettid 4222
#define __NR_readahead 4223
#define __NR_setxattr 4224
#define __NR_lsetxattr 4225
#define __NR_fsetxattr 4226
#define __NR_getxattr 4227
#define __NR_lgetxattr 4228
#define __NR_fgetxattr 4229
#define __NR_listxattr 4230
#define __NR_llistxattr 4231
#define __NR_flistxattr 4232
#define __NR_removexattr 4233
#define __NR_lremovexattr 4234
#define __NR_fremovexattr 4235
#define __NR_tkill 4236
#define __NR_sendfile64 4237
#define __NR_futex 4238
#define __NR_sched_setaffinity 4239
#define __NR_sched_getaffinity 4240
#define __NR_io_setup 4241
#define __NR_io_destroy 4242
#define __NR_io_getevents 4243
#define __NR_io_submit 4244
#define __NR_io_cancel 4245
#define __NR_exit_group 4246
#define __NR_lookup_dcookie 4247
#define __NR_epoll_create 4248
#define __NR_epoll_ctl 4249
#define __NR_epoll_wait 4250
#define __NR_remap_file_pages 4251
#define __NR_set_tid_address 4252
#define __NR_restart_syscall 4253
#define __NR_fadvise64 4254
#define __NR_statfs64 4255
#define __NR_fstatfs64 4256
#define __NR_timer_create 4257
#define __NR_timer_settime 4258
#define __NR_timer_gettime 4259
#define __NR_timer_getoverrun 4260
#define __NR_timer_delete 4261
#define __NR_clock_settime 4262
#define __NR_clock_gettime 4263
#define __NR_clock_getres 4264
#define __NR_clock_nanosleep 4265
#define __NR_tgkill 4266
#define __NR_utimes 4267
#define __NR_mbind 4268
#define __NR_get_mempolicy 4269
#define __NR_set_mempolicy 4270
#define __NR_mq_open 4271
#define __NR_mq_unlink 4272
#define __NR_mq_timedsend 4273
#define __NR_mq_timedreceive 4274
#define __NR_mq_notify 4275
#define __NR_mq_getsetattr 4276
#define __NR_vserver 4277
#define __NR_waitid 4278
#define __NR_add_key 4280
#define __NR_request_key 4281
#define __NR_keyctl 4282
#define __NR_set_thread_area 4283
#define __NR_inotify_init 4284
#define __NR_inotify_add_watch 4285
#define __NR_inotify_rm_watch 4286
#define __NR_migrate_pages 4287
#define __NR_openat 4288
#define __NR_mkdirat 4289
#define __NR_mknodat 4290
#define __NR_fchownat 4291
#define __NR_futimesat 4292
#define __NR_fstatat64 4293
#define __NR_unlinkat 4294
#define __NR_renameat 4295
#define __NR_linkat 4296
#define __NR_symlinkat 4297
#define __NR_readlinkat 4298
#define __NR_fchmodat 4299
#define __NR_faccessat 4300
#define __NR_pselect6 4301
#define __NR_ppoll 4302
#define __NR_unshare 4303
#define __NR_splice 4304
#define __NR_sync_file_range 4305
#define __NR_tee 4306
#define __NR_vmsplice 4307
#define __NR_move_pages 4308
#define __NR_set_robust_list 4309
#define __NR_get_robust_list 4310
#define __NR_kexec_load 4311
#define __NR_getcpu 4312
#define __NR_epoll_pwait 4313
#define __NR_ioprio_set 4314
#define __NR_ioprio_get 4315
#define __NR_utimensat 4316
#define __NR_signalfd 4317
#define __NR_timerfd 4318
#define __NR_eventfd 4319
#define __NR_fallocate 4320
#define __NR_timerfd_create 4321
#define __NR_timerfd_gettime 4322
#define __NR_timerfd_settime 4323
#define __NR_signalfd4 4324
#define __NR_eventfd2 4325
#define __NR_epoll_create1 4326
#define __NR_dup3 4327
#define __NR_pipe2 4328
#define __NR_inotify_init1 4329
#define __NR_preadv 4330
#define __NR_pwritev 4331
#define __NR_rt_tgsigqueueinfo 4332
#define __NR_perf_event_open 4333
#define __NR_accept4 4334
#define __NR_recvmmsg 4335
#define __NR_fanotify_init 4336
#define __NR_fanotify_mark 4337
#define __NR_prlimit64 4338
#define __NR_name_to_handle_at 4339
#define __NR_open_by_handle_at 4340
#define __NR_clock_adjtime 4341
#define __NR_syncfs 4342
#define __NR_sendmmsg 4343
#define __NR_setns 4344
#define __NR_process_vm_readv 4345
#define __NR_process_vm_writev 4346
#define __NR_kcmp 4347
#define __NR_finit_module 4348
#define __NR_sched_setattr 4349
#define __NR_sched_getattr 4350
#define __NR_renameat2 4351
#define __NR_seccomp 4352
#define __NR_getrandom 4353
#define __NR_memfd_create 4354
#define __NR_bpf 4355
#define __NR_execveat 4356
#define __NR_userfaultfd 4357
#define __NR_membarrier 4358
#define __NR_mlock2 4359
#define __NR_copy_file_range 4360
#define __NR_preadv2 4361
#define __NR_pwritev2 4362
#define __NR_pkey_mprotect 4363
#define __NR_pkey_alloc 4364
#define __NR_pkey_free 4365
#define __NR_statx 4366

View File

@ -1,5 +1,4 @@
struct termios
{
struct termios {
tcflag_t c_iflag;
tcflag_t c_oflag;
tcflag_t c_cflag;
@ -93,10 +92,7 @@ struct termios
#define B9600 0000015
#define B19200 0000016
#define B38400 0000017
#define EXTA 0000016
#define EXTB 0000017
#define BOTHER 0010000
#define B57600 0010001
#define B115200 0010002
#define B230400 0010003
@ -113,8 +109,6 @@ struct termios
#define B3500000 0010016
#define B4000000 0010017
#define CBAUD 0010017
#define CSIZE 0000060
#define CS5 0000000
#define CS6 0000020
@ -129,18 +123,12 @@ struct termios
#define ISIG 0000001
#define ICANON 0000002
#define XCASE 0000004
#define ECHO 0000010
#define ECHOE 0000020
#define ECHOK 0000040
#define ECHONL 0000100
#define NOFLSH 0000200
#define IEXTEN 0000400
#define ECHOCTL 0001000
#define ECHOPRT 0002000
#define ECHOKE 0004000
#define FLUSHO 0020000
#define PENDIN 0040000
#define TOSTOP 0100000
#define ITOSTOP 0100000
@ -158,12 +146,22 @@ struct termios
#define TCSAFLUSH 2
#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
#define EXTA 0000016
#define EXTB 0000017
#define CBAUD 0010017
#define CBAUDEX 0010000
#define CIBAUD 002003600000
#define IBSHIFT 16
#define CMSPAR 010000000000
#define CRTSCTS 020000000000
#define CIBAUD 002003600000
#define CMSPAR 010000000000
#define CRTSCTS 020000000000
#define XCASE 0000004
#define ECHOCTL 0001000
#define ECHOPRT 0002000
#define ECHOKE 0004000
#define FLUSHO 0020000
#define PENDIN 0040000
#define EXTPROC 0200000
#define XTABS 0014000
#define TIOCSER_TEMT 1
#endif

View File

@ -4,16 +4,13 @@ __asm__(
".text \n"
".global _" START "\n"
".global " START "\n"
".global " START "_data\n"
".type _" START ", @function\n"
".type " START ", @function\n"
".type " START "_data, @function\n"
"_" START ":\n"
"" START ":\n"
" bal 1f \n"
" move $fp, $0 \n"
"" START "_data: \n"
" .gpword " START "_data \n"
" .gpword . \n"
" .gpword " START "_c \n"
".weak _DYNAMIC \n"
".hidden _DYNAMIC \n"

View File

@ -1,12 +1,11 @@
static inline struct pthread *__pthread_self()
{
#ifdef __clang__
char *tp;
__asm__ __volatile__ (".word 0x7c03e83b ; move %0, $3" : "=r" (tp) : : "$3" );
#else
#if __mips_isa_rev < 2
register char *tp __asm__("$3");
/* rdhwr $3,$29 */
__asm__ __volatile__ (".word 0x7c03e83b" : "=r" (tp) );
#else
char *tp;
__asm__ __volatile__ ("rdhwr %0, $29" : "=r" (tp) );
#endif
return (pthread_t)(tp - 0x7000 - sizeof(struct pthread));
}

View File

@ -1,5 +1,11 @@
#include <endian.h>
#if __mips_isa_rev >= 6
#define ISA_SUFFIX "r6"
#else
#define ISA_SUFFIX ""
#endif
#if __BYTE_ORDER == __LITTLE_ENDIAN
#define ENDIAN_SUFFIX "el"
#else
@ -12,7 +18,7 @@
#define FP_SUFFIX ""
#endif
#define LDSO_ARCH "mips" ENDIAN_SUFFIX FP_SUFFIX
#define LDSO_ARCH "mips" ISA_SUFFIX ENDIAN_SUFFIX FP_SUFFIX
#define TPOFF_K (-0x7000)
@ -24,7 +30,7 @@
#define REL_TPOFF R_MIPS_TLS_TPREL32
#define NEED_MIPS_GOT_RELOCS 1
#define DYNAMIC_IS_RO 1
#define DT_DEBUG_INDIRECT DT_MIPS_RLD_MAP
#define ARCH_SYM_REJECT_UND(s) (!((s)->st_other & STO_MIPS_PLT))
#define CRTJMP(pc,sp) __asm__ __volatile__( \

View File

@ -20,8 +20,6 @@ static inline void __stat_fix(long p)
}
#endif
#ifndef __clang__
static inline long __syscall0(long n)
{
register long r7 __asm__("$7");
@ -101,55 +99,16 @@ static inline long __syscall4(long n, long a, long b, long c, long d)
if (r7) return -r2;
long ret = r2;
if (n == SYS_stat64 || n == SYS_fstat64 || n == SYS_lstat64) __stat_fix(b);
if (n == SYS_fstatat) __stat_fix(c);
if (n == SYS_fstatat64) __stat_fix(c);
return ret;
}
#else
static inline long __syscall0(long n)
{
return (__syscall)(n);
}
static inline long __syscall1(long n, long a)
{
return (__syscall)(n, a);
}
static inline long __syscall2(long n, long a, long b)
{
long r2 = (__syscall)(n, a, b);
if (r2 > -4096UL) return r2;
if (n == SYS_stat64 || n == SYS_fstat64 || n == SYS_lstat64) __stat_fix(b);
return r2;
}
static inline long __syscall3(long n, long a, long b, long c)
{
long r2 = (__syscall)(n, a, b, c);
if (r2 > -4096UL) return r2;
if (n == SYS_stat64 || n == SYS_fstat64 || n == SYS_lstat64) __stat_fix(b);
return r2;
}
static inline long __syscall4(long n, long a, long b, long c, long d)
{
long r2 = (__syscall)(n, a, b, c, d);
if (r2 > -4096UL) return r2;
if (n == SYS_stat64 || n == SYS_fstat64 || n == SYS_lstat64) __stat_fix(b);
if (n == SYS_fstatat) __stat_fix(c);
return r2;
}
#endif
static inline long __syscall5(long n, long a, long b, long c, long d, long e)
{
long r2 = (__syscall)(n, a, b, c, d, e);
if (r2 > -4096UL) return r2;
if (n == SYS_stat64 || n == SYS_fstat64 || n == SYS_lstat64) __stat_fix(b);
if (n == SYS_fstatat) __stat_fix(c);
if (n == SYS_fstatat64) __stat_fix(c);
return r2;
}
@ -158,6 +117,10 @@ static inline long __syscall6(long n, long a, long b, long c, long d, long e, lo
long r2 = (__syscall)(n, a, b, c, d, e, f);
if (r2 > -4096UL) return r2;
if (n == SYS_stat64 || n == SYS_fstat64 || n == SYS_lstat64) __stat_fix(b);
if (n == SYS_fstatat) __stat_fix(c);
if (n == SYS_fstatat64) __stat_fix(c);
return r2;
}
#define VDSO_USEFUL
#define VDSO_CGT_SYM "__vdso_clock_gettime"
#define VDSO_CGT_VER "LINUX_2.6"

56
arch/mips64/atomic_arch.h Normal file
View File

@ -0,0 +1,56 @@
#if __mips_isa_rev < 6
#define LLSC_M "m"
#else
#define LLSC_M "ZC"
#endif
#define a_ll a_ll
static inline int a_ll(volatile int *p)
{
int v;
__asm__ __volatile__ (
"ll %0, %1"
: "=r"(v) : LLSC_M(*p));
return v;
}
#define a_sc a_sc
static inline int a_sc(volatile int *p, int v)
{
int r;
__asm__ __volatile__ (
"sc %0, %1"
: "=r"(r), "="LLSC_M(*p) : "0"(v) : "memory");
return r;
}
#define a_ll_p a_ll_p
static inline void *a_ll_p(volatile void *p)
{
void *v;
__asm__ __volatile__ (
"lld %0, %1"
: "=r"(v) : LLSC_M(*(void *volatile *)p));
return v;
}
#define a_sc_p a_sc_p
static inline int a_sc_p(volatile void *p, void *v)
{
long r;
__asm__ __volatile__ (
"scd %0, %1"
: "=r"(r), "="LLSC_M(*(void *volatile *)p) : "0"(v) : "memory");
return r;
}
#define a_barrier a_barrier
static inline void a_barrier()
{
__asm__ __volatile__ ("sync" : : : "memory");
}
#define a_pre_llsc a_barrier
#define a_post_llsc a_barrier
#undef LLSC_M

View File

@ -0,0 +1,28 @@
#define _Addr long
#define _Int64 long
#define _Reg long
TYPEDEF __builtin_va_list va_list;
TYPEDEF __builtin_va_list __isoc_va_list;
#ifndef __cplusplus
TYPEDEF int wchar_t;
#endif
TYPEDEF float float_t;
TYPEDEF double double_t;
TYPEDEF struct { long long __ll; long double __ld; } max_align_t;
TYPEDEF long time_t;
TYPEDEF long suseconds_t;
TYPEDEF unsigned nlink_t;
TYPEDEF struct { union { int __i[14]; volatile int __vi[14]; unsigned long __s[7]; } __u; } pthread_attr_t;
TYPEDEF struct { union { int __i[10]; volatile int __vi[10]; volatile void *volatile __p[5]; } __u; } pthread_mutex_t;
TYPEDEF struct { union { int __i[10]; volatile int __vi[10]; volatile void *volatile __p[5]; } __u; } mtx_t;
TYPEDEF struct { union { int __i[12]; volatile int __vi[12]; void *__p[6]; } __u; } pthread_cond_t;
TYPEDEF struct { union { int __i[12]; volatile int __vi[12]; void *__p[6]; } __u; } cnd_t;
TYPEDEF struct { union { int __i[14]; volatile int __vi[14]; void *__p[7]; } __u; } pthread_rwlock_t;
TYPEDEF struct { union { int __i[8]; volatile int __vi[8]; void *__p[4]; } __u; } pthread_barrier_t;

View File

@ -0,0 +1,5 @@
#if _MIPSEL || __MIPSEL || __MIPSEL__
#define __BYTE_ORDER __LITTLE_ENDIAN
#else
#define __BYTE_ORDER __BIG_ENDIAN
#endif

134
arch/mips64/bits/errno.h Normal file
View File

@ -0,0 +1,134 @@
#define EPERM 1
#define ENOENT 2
#define ESRCH 3
#define EINTR 4
#define EIO 5
#define ENXIO 6
#define E2BIG 7
#define ENOEXEC 8
#define EBADF 9
#define ECHILD 10
#define EAGAIN 11
#define ENOMEM 12
#define EACCES 13
#define EFAULT 14
#define ENOTBLK 15
#define EBUSY 16
#define EEXIST 17
#define EXDEV 18
#define ENODEV 19
#define ENOTDIR 20
#define EISDIR 21
#define EINVAL 22
#define ENFILE 23
#define EMFILE 24
#define ENOTTY 25
#define ETXTBSY 26
#define EFBIG 27
#define ENOSPC 28
#define ESPIPE 29
#define EROFS 30
#define EMLINK 31
#define EPIPE 32
#define EDOM 33
#define ERANGE 34
#define ENOMSG 35
#define EIDRM 36
#define ECHRNG 37
#define EL2NSYNC 38
#define EL3HLT 39
#define EL3RST 40
#define ELNRNG 41
#define EUNATCH 42
#define ENOCSI 43
#define EL2HLT 44
#define EDEADLK 45
#define ENOLCK 46
#define EBADE 50
#define EBADR 51
#define EXFULL 52
#define ENOANO 53
#define EBADRQC 54
#define EBADSLT 55
#define EDEADLOCK 56
#define EBFONT 59
#define ENOSTR 60
#define ENODATA 61
#define ETIME 62
#define ENOSR 63
#define ENONET 64
#define ENOPKG 65
#define EREMOTE 66
#define ENOLINK 67
#define EADV 68
#define ESRMNT 69
#define ECOMM 70
#define EPROTO 71
#define EDOTDOT 73
#define EMULTIHOP 74
#define EBADMSG 77
#define ENAMETOOLONG 78
#define EOVERFLOW 79
#define ENOTUNIQ 80
#define EBADFD 81
#define EREMCHG 82
#define ELIBACC 83
#define ELIBBAD 84
#define ELIBSCN 85
#define ELIBMAX 86
#define ELIBEXEC 87
#define EILSEQ 88
#define ENOSYS 89
#define ELOOP 90
#define ERESTART 91
#define ESTRPIPE 92
#define ENOTEMPTY 93
#define EUSERS 94
#define ENOTSOCK 95
#define EDESTADDRREQ 96
#define EMSGSIZE 97
#define EPROTOTYPE 98
#define ENOPROTOOPT 99
#define EPROTONOSUPPORT 120
#define ESOCKTNOSUPPORT 121
#define EOPNOTSUPP 122
#define ENOTSUP EOPNOTSUPP
#define EPFNOSUPPORT 123
#define EAFNOSUPPORT 124
#define EADDRINUSE 125
#define EADDRNOTAVAIL 126
#define ENETDOWN 127
#define ENETUNREACH 128
#define ENETRESET 129
#define ECONNABORTED 130
#define ECONNRESET 131
#define ENOBUFS 132
#define EISCONN 133
#define ENOTCONN 134
#define EUCLEAN 135
#define ENOTNAM 137
#define ENAVAIL 138
#define EISNAM 139
#define EREMOTEIO 140
#define ESHUTDOWN 143
#define ETOOMANYREFS 144
#define ETIMEDOUT 145
#define ECONNREFUSED 146
#define EHOSTDOWN 147
#define EHOSTUNREACH 148
#define EWOULDBLOCK EAGAIN
#define EALREADY 149
#define EINPROGRESS 150
#define ESTALE 151
#define ECANCELED 158
#define ENOMEDIUM 159
#define EMEDIUMTYPE 160
#define ENOKEY 161
#define EKEYEXPIRED 162
#define EKEYREVOKED 163
#define EKEYREJECTED 164
#define EOWNERDEAD 165
#define ENOTRECOVERABLE 166
#define ERFKILL 167
#define EHWPOISON 168
#define EDQUOT 1133

View File

@ -1,19 +1,19 @@
#define O_CREAT 0100
#define O_EXCL 0200
#define O_NOCTTY 0400
#define O_CREAT 0400
#define O_EXCL 02000
#define O_NOCTTY 04000
#define O_TRUNC 01000
#define O_APPEND 02000
#define O_NONBLOCK 04000
#define O_DSYNC 010000
#define O_SYNC 04010000
#define O_RSYNC 04010000
#define O_APPEND 0010
#define O_NONBLOCK 0200
#define O_DSYNC 0020
#define O_SYNC 040020
#define O_RSYNC 040020
#define O_DIRECTORY 0200000
#define O_NOFOLLOW 0400000
#define O_CLOEXEC 02000000
#define O_ASYNC 020000
#define O_DIRECT 040000
#define O_LARGEFILE 0100000
#define O_ASYNC 010000
#define O_DIRECT 0100000
#define O_LARGEFILE 0
#define O_NOATIME 01000000
#define O_PATH 010000000
#define O_TMPFILE 020200000
@ -25,14 +25,14 @@
#define F_GETFL 3
#define F_SETFL 4
#define F_SETOWN 8
#define F_GETOWN 9
#define F_SETOWN 24
#define F_GETOWN 23
#define F_SETSIG 10
#define F_GETSIG 11
#define F_GETLK 12
#define F_SETLK 13
#define F_SETLKW 14
#define F_GETLK 14
#define F_SETLK 6
#define F_SETLKW 7
#define F_SETOWN_EX 15
#define F_GETOWN_EX 16

25
arch/mips64/bits/fenv.h Normal file
View File

@ -0,0 +1,25 @@
#ifdef __mips_soft_float
#define FE_ALL_EXCEPT 0
#define FE_TONEAREST 0
#else
#define FE_INEXACT 4
#define FE_UNDERFLOW 8
#define FE_OVERFLOW 16
#define FE_DIVBYZERO 32
#define FE_INVALID 64
#define FE_ALL_EXCEPT 124
#define FE_TONEAREST 0
#define FE_TOWARDZERO 1
#define FE_UPWARD 2
#define FE_DOWNWARD 3
#endif
typedef unsigned short fexcept_t;
typedef struct {
unsigned __cw;
} fenv_t;
#define FE_DFL_ENV ((const fenv_t *) -1)

Some files were not shown because too many files have changed in this diff Show More