summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2016-11-25 20:59:04 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2016-11-25 20:59:24 +0100
commit6c89f848df14f4c038079854feb6578c9728fdea (patch)
tree2aa9cbaa08a65e88dfd2e4808fcb4e9a3fd4a0e2
parentb0f23d1e562e753cb78a473fdade956a25cc337b (diff)
musl: add s390 hotfix from #musl, remove old xtensa patch
-rw-r--r--toolchain/musl/patches/1.1.14/musl.xtensa2429
-rw-r--r--toolchain/musl/patches/git/s390-hotfix.patch25
2 files changed, 25 insertions, 2429 deletions
diff --git a/toolchain/musl/patches/1.1.14/musl.xtensa b/toolchain/musl/patches/1.1.14/musl.xtensa
deleted file mode 100644
index dbb25ebc6..000000000
--- a/toolchain/musl/patches/1.1.14/musl.xtensa
+++ /dev/null
@@ -1,2429 +0,0 @@
-From be7942d8dbce223ed6a75dfdf8d2cd1beb04e2eb Mon Sep 17 00:00:00 2001
-From: Max Filippov <jcmvbkbc@gmail.com>
-Date: Tue, 22 Mar 2016 02:35:58 +0300
-Subject: [PATCH 242/242] xtensa: add port
-
-Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
-Signed-off-by: Waldemar Brodkorb <wbx@uclibc-ng.org>
----
- arch/xtensa/atomic_arch.h | 30 ++
- arch/xtensa/bits/alltypes.h.in | 30 ++
- arch/xtensa/bits/endian.h | 7 +
- arch/xtensa/bits/float.h | 16 +
- arch/xtensa/bits/ioctl.h | 227 ++++++++++++
- arch/xtensa/bits/limits.h | 7 +
- arch/xtensa/bits/mman.h | 57 +++
- arch/xtensa/bits/posix.h | 2 +
- arch/xtensa/bits/reg.h | 2 +
- arch/xtensa/bits/setjmp.h | 1 +
- arch/xtensa/bits/signal.h | 88 +++++
- arch/xtensa/bits/stat.h | 21 ++
- arch/xtensa/bits/stdint.h | 20 +
- arch/xtensa/bits/syscall.h | 679 ++++++++++++++++++++++++++++++++++
- arch/xtensa/bits/termios.h | 168 +++++++++
- arch/xtensa/bits/user.h | 4 +
- arch/xtensa/bits/xtensa-config.h | 46 +++
- arch/xtensa/crt_arch.h | 26 ++
- arch/xtensa/pthread_arch.h | 11 +
- arch/xtensa/reloc.h | 21 ++
- arch/xtensa/syscall_arch.h | 102 +++++
- configure | 1 +
- crt/xtensa/crti.s | 11 +
- crt/xtensa/crtn.s | 5 +
- include/elf.h | 58 +++
- ldso/dlstart.c | 13 +-
- ldso/dynlink.c | 41 +-
- src/internal/xtensa/syscall.s | 15 +
- src/ldso/xtensa/tlsdesc.s | 22 ++
- src/setjmp/xtensa/longjmp.s | 73 ++++
- src/setjmp/xtensa/setjmp.s | 13 +
- src/signal/xtensa/restore.s | 10 +
- src/signal/xtensa/sigsetjmp.s | 69 ++++
- src/signal/xtensa/windowspill.s | 78 ++++
- src/thread/xtensa/__set_thread_area.s | 8 +
- src/thread/xtensa/__unmapself.s | 10 +
- src/thread/xtensa/clone.s | 39 ++
- src/thread/xtensa/syscall_cp.s | 37 ++
- 38 files changed, 2066 insertions(+), 2 deletions(-)
- create mode 100644 arch/xtensa/atomic_arch.h
- create mode 100644 arch/xtensa/bits/alltypes.h.in
- create mode 100644 arch/xtensa/bits/endian.h
- create mode 100644 arch/xtensa/bits/float.h
- create mode 100644 arch/xtensa/bits/ioctl.h
- create mode 100644 arch/xtensa/bits/limits.h
- create mode 100644 arch/xtensa/bits/mman.h
- create mode 100644 arch/xtensa/bits/posix.h
- create mode 100644 arch/xtensa/bits/reg.h
- create mode 100644 arch/xtensa/bits/setjmp.h
- create mode 100644 arch/xtensa/bits/signal.h
- create mode 100644 arch/xtensa/bits/stat.h
- create mode 100644 arch/xtensa/bits/stdint.h
- create mode 100644 arch/xtensa/bits/syscall.h
- create mode 100644 arch/xtensa/bits/termios.h
- create mode 100644 arch/xtensa/bits/user.h
- create mode 100644 arch/xtensa/bits/xtensa-config.h
- create mode 100644 arch/xtensa/crt_arch.h
- create mode 100644 arch/xtensa/pthread_arch.h
- create mode 100644 arch/xtensa/reloc.h
- create mode 100644 arch/xtensa/syscall_arch.h
- create mode 100644 crt/xtensa/crti.s
- create mode 100644 crt/xtensa/crtn.s
- create mode 100644 src/internal/xtensa/syscall.s
- create mode 100644 src/ldso/xtensa/tlsdesc.s
- create mode 100644 src/setjmp/xtensa/longjmp.s
- create mode 100644 src/setjmp/xtensa/setjmp.s
- create mode 100644 src/signal/xtensa/restore.s
- create mode 100644 src/signal/xtensa/sigsetjmp.s
- create mode 100644 src/signal/xtensa/windowspill.s
- create mode 100644 src/thread/xtensa/__set_thread_area.s
- create mode 100644 src/thread/xtensa/__unmapself.s
- create mode 100644 src/thread/xtensa/clone.s
- create mode 100644 src/thread/xtensa/syscall_cp.s
-
-diff --git a/arch/xtensa/atomic_arch.h b/arch/xtensa/atomic_arch.h
-new file mode 100644
-index 0000000..476814b
---- /dev/null
-+++ b/arch/xtensa/atomic_arch.h
-@@ -0,0 +1,30 @@
-+#ifndef _INTERNAL_ATOMIC_H
-+#define _INTERNAL_ATOMIC_H
-+
-+#include <stdint.h>
-+
-+#define a_cas a_cas
-+static inline int a_cas(volatile int *p, int t, int s)
-+{
-+ __asm__ __volatile__(
-+ " wsr %1, scompare1\n"
-+ " s32c1i %0, %2, 0\n"
-+ : "+a"(s)
-+ : "a"(t), "a"(p)
-+ : "memory" );
-+ return s;
-+}
-+
-+#define a_barrier a_barrier
-+static inline void a_barrier()
-+{
-+ __asm__ __volatile__ ("memw" : : : "memory");
-+}
-+
-+#define a_crash a_crash
-+static inline void a_crash()
-+{
-+ __asm__ __volatile__ ("ill" : : : "memory");
-+}
-+
-+#endif
-diff --git a/arch/xtensa/bits/alltypes.h.in b/arch/xtensa/bits/alltypes.h.in
-new file mode 100644
-index 0000000..1e2a8c1
---- /dev/null
-+++ b/arch/xtensa/bits/alltypes.h.in
-@@ -0,0 +1,30 @@
-+#define _Addr int
-+#define _Int64 long long
-+#define _Reg int
-+
-+TYPEDEF __builtin_va_list va_list;
-+TYPEDEF __builtin_va_list __isoc_va_list;
-+
-+#ifndef __cplusplus
-+#ifdef __WCHAR_TYPE__
-+TYPEDEF __WCHAR_TYPE__ wchar_t;
-+#else
-+TYPEDEF unsigned wchar_t;
-+#endif
-+#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 struct { union { int __i[9]; volatile int __vi[9]; unsigned __s[9]; } __u; } pthread_attr_t;
-+TYPEDEF struct { union { int __i[6]; volatile int __vi[6]; volatile void *volatile __p[6]; } __u; } pthread_mutex_t;
-+TYPEDEF struct { union { int __i[6]; volatile int __vi[6]; volatile void *volatile __p[6]; } __u; } mtx_t;
-+TYPEDEF struct { union { int __i[12]; volatile int __vi[12]; void *__p[12]; } __u; } pthread_cond_t;
-+TYPEDEF struct { union { int __i[12]; volatile int __vi[12]; void *__p[12]; } __u; } cnd_t;
-+TYPEDEF struct { union { int __i[8]; volatile int __vi[8]; void *__p[8]; } __u; } pthread_rwlock_t;
-+TYPEDEF struct { union { int __i[5]; volatile int __vi[5]; void *__p[5]; } __u; } pthread_barrier_t;
-diff --git a/arch/xtensa/bits/endian.h b/arch/xtensa/bits/endian.h
-new file mode 100644
-index 0000000..d719907
---- /dev/null
-+++ b/arch/xtensa/bits/endian.h
-@@ -0,0 +1,7 @@
-+#if __XTENSA_EB__
-+#define __BYTE_ORDER __BIG_ENDIAN
-+#elif __XTENSA_EL__
-+#define __BYTE_ORDER __LITTLE_ENDIAN
-+#else
-+#error Unknown endianness
-+#endif
-diff --git a/arch/xtensa/bits/float.h b/arch/xtensa/bits/float.h
-new file mode 100644
-index 0000000..c4a655e
---- /dev/null
-+++ b/arch/xtensa/bits/float.h
-@@ -0,0 +1,16 @@
-+#define FLT_EVAL_METHOD 0
-+
-+#define LDBL_TRUE_MIN 4.94065645841246544177e-324L
-+#define LDBL_MIN 2.22507385850720138309e-308L
-+#define LDBL_MAX 1.79769313486231570815e+308L
-+#define LDBL_EPSILON 2.22044604925031308085e-16L
-+
-+#define LDBL_MANT_DIG 53
-+#define LDBL_MIN_EXP (-1021)
-+#define LDBL_MAX_EXP 1024
-+
-+#define LDBL_DIG 15
-+#define LDBL_MIN_10_EXP (-307)
-+#define LDBL_MAX_10_EXP 308
-+
-+#define DECIMAL_DIG 17
-diff --git a/arch/xtensa/bits/ioctl.h b/arch/xtensa/bits/ioctl.h
-new file mode 100644
-index 0000000..e1ab80e
---- /dev/null
-+++ b/arch/xtensa/bits/ioctl.h
-@@ -0,0 +1,227 @@
-+#define _IOC(a,b,c,d) ( ((a)<<30) | ((b)<<8) | (c) | ((d)<<16) )
-+#define _IOC_NONE 0U
-+#define _IOC_READ 2U
-+#define _IOC_WRITE 1U
-+
-+#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 FIOCLEX _IO('f', 1)
-+#define FIONCLEX _IO('f', 2)
-+#define FIOASYNC _IOW('f', 125, int)
-+#define FIONBIO _IOW('f', 126, int)
-+#define FIONREAD _IOR('f', 127, int)
-+#define TIOCINQ FIONREAD
-+#define FIOQSIZE _IOR('f', 128, loff_t)
-+
-+#define TCGETS 0x5401
-+#define TCSETS 0x5402
-+#define TCSETSW 0x5403
-+#define TCSETSF 0x5404
-+
-+#define TCGETA 0x80127417 /* _IOR('t', 23, struct termio) */
-+#define TCSETA 0x40127418 /* _IOW('t', 24, struct termio) */
-+#define TCSETAW 0x40127419 /* _IOW('t', 25, struct termio) */
-+#define TCSETAF 0x4012741C /* _IOW('t', 28, struct termio) */
-+
-+#define TCSBRK _IO('t', 29)
-+#define TCXONC _IO('t', 30)
-+#define TCFLSH _IO('t', 31)
-+
-+#define TIOCSWINSZ 0x40087467 /* _IOW('t', 103, struct winsize) */
-+#define TIOCGWINSZ 0x80087468 /* _IOR('t', 104, struct winsize) */
-+#define TIOCSTART _IO('t', 110) /* start output, like ^Q */
-+#define TIOCSTOP _IO('t', 111) /* stop output, like ^S */
-+#define TIOCOUTQ _IOR('t', 115, int) /* output queue size */
-+
-+#define TIOCSPGRP _IOW('t', 118, int)
-+#define TIOCGPGRP _IOR('t', 119, int)
-+
-+#define TIOCEXCL _IO('T', 12)
-+#define TIOCNXCL _IO('T', 13)
-+#define TIOCSCTTY _IO('T', 14)
-+
-+#define TIOCSTI _IOW('T', 18, char)
-+#define TIOCMGET _IOR('T', 21, unsigned int)
-+#define TIOCMBIS _IOW('T', 22, unsigned int)
-+#define TIOCMBIC _IOW('T', 23, unsigned int)
-+#define TIOCMSET _IOW('T', 24, unsigned int)
-+# 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 TIOCGSOFTCAR _IOR('T', 25, unsigned int)
-+#define TIOCSSOFTCAR _IOW('T', 26, unsigned int)
-+#define TIOCLINUX _IOW('T', 28, char)
-+#define TIOCCONS _IO('T', 29)
-+#define TIOCGSERIAL 0x803C541E /*_IOR('T', 30, struct serial_struct)*/
-+#define TIOCSSERIAL 0x403C541F /*_IOW('T', 31, struct serial_struct)*/
-+#define TIOCPKT _IOW('T', 32, int)
-+# 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 TIOCNOTTY _IO('T', 34)
-+#define TIOCSETD _IOW('T', 35, int)
-+#define TIOCGETD _IOR('T', 36, int)
-+#define TCSBRKP _IOW('T', 37, int) /* Needed for POSIX tcsendbreak()*/
-+#define TIOCSBRK _IO('T', 39) /* BSD compatibility */
-+#define TIOCCBRK _IO('T', 40) /* BSD compatibility */
-+#define TIOCGSID _IOR('T', 41, pid_t) /* Return the session ID of FD*/
-+#define TCGETS2 _IOR('T', 42, struct termios2)
-+#define TCSETS2 _IOW('T', 43, struct termios2)
-+#define TCSETSW2 _IOW('T', 44, struct termios2)
-+#define TCSETSF2 _IOW('T', 45, struct termios2)
-+#define TIOCGRS485 _IOR('T', 46, struct serial_rs485)
-+#define TIOCSRS485 _IOWR('T', 47, struct serial_rs485)
-+#define TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
-+#define TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */
-+#define TIOCGDEV _IOR('T',0x32, unsigned int) /* Get primary device node of /dev/console */
-+#define TIOCSIG _IOW('T',0x36, int) /* Generate signal on Pty slave */
-+#define TIOCVHANGUP _IO('T', 0x37)
-+#define TIOCGPKT _IOR('T', 0x38, int) /* Get packet mode state */
-+#define TIOCGPTLCK _IOR('T', 0x39, int) /* Get Pty lock state */
-+#define TIOCGEXCL _IOR('T', 0x40, int) /* Get exclusive mode state */
-+
-+#define TIOCSERCONFIG _IO('T', 83)
-+#define TIOCSERGWILD _IOR('T', 84, int)
-+#define TIOCSERSWILD _IOW('T', 85, int)
-+#define TIOCGLCKTRMIOS 0x5456
-+#define TIOCSLCKTRMIOS 0x5457
-+#define TIOCSERGSTRUCT 0x5458 /* For debugging only */
-+#define TIOCSERGETLSR _IOR('T', 89, unsigned int) /* Get line status reg. */
-+ /* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
-+# define TIOCSER_TEMT 0x01 /* Transmitter physically empty */
-+#define TIOCSERGETMULTI 0x80a8545a /* Get multiport config */
-+ /* _IOR('T', 90, struct serial_multiport_struct) */
-+#define TIOCSERSETMULTI 0x40a8545b /* Set multiport config */
-+ /* _IOW('T', 91, struct serial_multiport_struct) */
-+
-+#define TIOCMIWAIT _IO('T', 92) /* wait for a change on serial input line(s) */
-+#define TIOCGICOUNT 0x545D /* read serial port inline interrupt counts */
-+
-+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 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 /* Get stamp (timeval) */
-+#define SIOCGSTAMPNS 0x8907 /* Get stamp (timespec) */
-+
-+#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
-diff --git a/arch/xtensa/bits/limits.h b/arch/xtensa/bits/limits.h
-new file mode 100644
-index 0000000..fbc6d23
---- /dev/null
-+++ b/arch/xtensa/bits/limits.h
-@@ -0,0 +1,7 @@
-+#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
-+ || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-+#define LONG_BIT 32
-+#endif
-+
-+#define LONG_MAX 0x7fffffffL
-+#define LLONG_MAX 0x7fffffffffffffffLL
-diff --git a/arch/xtensa/bits/mman.h b/arch/xtensa/bits/mman.h
-new file mode 100644
-index 0000000..3125fc2
---- /dev/null
-+++ b/arch/xtensa/bits/mman.h
-@@ -0,0 +1,57 @@
-+#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 0x800
-+#define MAP_ANONYMOUS MAP_ANON
-+#define MAP_NORESERVE 0x0400
-+#define MAP_GROWSDOWN 0x1000
-+#define MAP_DENYWRITE 0x2000
-+#define MAP_EXECUTABLE 0x4000
-+#define MAP_LOCKED 0x8000
-+#define MAP_POPULATE 0x10000
-+#define MAP_NONBLOCK 0x20000
-+#define MAP_STACK 0x40000
-+#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
-+#endif
-diff --git a/arch/xtensa/bits/posix.h b/arch/xtensa/bits/posix.h
-new file mode 100644
-index 0000000..30a3871
---- /dev/null
-+++ b/arch/xtensa/bits/posix.h
-@@ -0,0 +1,2 @@
-+#define _POSIX_V6_ILP32_OFFBIG 1
-+#define _POSIX_V7_ILP32_OFFBIG 1
-diff --git a/arch/xtensa/bits/reg.h b/arch/xtensa/bits/reg.h
-new file mode 100644
-index 0000000..0192a29
---- /dev/null
-+++ b/arch/xtensa/bits/reg.h
-@@ -0,0 +1,2 @@
-+#undef __WORDSIZE
-+#define __WORDSIZE 32
-diff --git a/arch/xtensa/bits/setjmp.h b/arch/xtensa/bits/setjmp.h
-new file mode 100644
-index 0000000..b2bd974
---- /dev/null
-+++ b/arch/xtensa/bits/setjmp.h
-@@ -0,0 +1 @@
-+typedef unsigned long __jmp_buf[18];
-diff --git a/arch/xtensa/bits/signal.h b/arch/xtensa/bits/signal.h
-new file mode 100644
-index 0000000..545ffd3
---- /dev/null
-+++ b/arch/xtensa/bits/signal.h
-@@ -0,0 +1,88 @@
-+#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
-+ || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-+
-+#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-+#define MINSIGSTKSZ 2048
-+#define SIGSTKSZ 8192
-+#endif
-+
-+typedef struct sigcontext
-+{
-+ unsigned long sc_pc;
-+ unsigned long sc_ps;
-+ unsigned long sc_lbeg;
-+ unsigned long sc_lend;
-+ unsigned long sc_lcount;
-+ unsigned long sc_sar;
-+ unsigned long sc_acclo;
-+ unsigned long sc_acchi;
-+ unsigned long sc_a[16];
-+ void *sc_xtregs;
-+} mcontext_t;
-+
-+struct sigaltstack {
-+ void *ss_sp;
-+ int ss_flags;
-+ size_t ss_size;
-+};
-+
-+typedef struct __ucontext {
-+ unsigned long uc_flags;
-+ struct __ucontext *uc_link;
-+ stack_t uc_stack;
-+ mcontext_t uc_mcontext;
-+ sigset_t uc_sigmask;
-+} ucontext_t;
-+
-+#define SA_NOCLDSTOP 0x00000001
-+#define SA_NOCLDWAIT 0x00000002 /* not supported yet */
-+#define SA_SIGINFO 0x00000004
-+#define SA_ONSTACK 0x08000000
-+#define SA_RESTART 0x10000000
-+#define SA_NODEFER 0x40000000
-+#define SA_RESETHAND 0x80000000
-+
-+#define SA_NOMASK SA_NODEFER
-+#define SA_ONESHOT SA_RESETHAND
-+
-+#define SA_RESTORER 0x04000000
-+
-+#endif
-+
-+#define SIGHUP 1
-+#define SIGINT 2
-+#define SIGQUIT 3
-+#define SIGILL 4
-+#define SIGTRAP 5
-+#define SIGABRT 6
-+#define SIGIOT 6
-+#define SIGBUS 7
-+#define SIGFPE 8
-+#define SIGKILL 9
-+#define SIGUSR1 10
-+#define SIGSEGV 11
-+#define SIGUSR2 12
-+#define SIGPIPE 13
-+#define SIGALRM 14
-+#define SIGTERM 15
-+#define SIGSTKFLT 16
-+#define SIGCHLD 17
-+#define SIGCONT 18
-+#define SIGSTOP 19
-+#define SIGTSTP 20
-+#define SIGTTIN 21
-+#define SIGTTOU 22
-+#define SIGURG 23
-+#define SIGXCPU 24
-+#define SIGXFSZ 25
-+#define SIGVTALRM 26
-+#define SIGPROF 27
-+#define SIGWINCH 28
-+#define SIGIO 29
-+#define SIGPOLL SIGIO
-+/* #define SIGLOST 29 */
-+#define SIGPWR 30
-+#define SIGSYS 31
-+#define SIGUNUSED 31
-+
-+#define _NSIG 64
-diff --git a/arch/xtensa/bits/stat.h b/arch/xtensa/bits/stat.h
-new file mode 100644
-index 0000000..24231f8
---- /dev/null
-+++ b/arch/xtensa/bits/stat.h
-@@ -0,0 +1,21 @@
-+/* copied from kernel definition, but with padding replaced
-+ * by the corresponding correctly-sized userspace types. */
-+
-+struct stat
-+{
-+ dev_t st_dev;
-+ ino_t st_ino;
-+ mode_t st_mode;
-+ nlink_t st_nlink;
-+ uid_t st_uid;
-+ gid_t st_gid;
-+ dev_t st_rdev;
-+ off_t st_size;
-+ blksize_t st_blksize;
-+ long __st_padding1;
-+ blkcnt_t st_blocks;
-+ struct timespec st_atim;
-+ struct timespec st_mtim;
-+ struct timespec st_ctim;
-+ long __st_padding2[2];
-+};
-diff --git a/arch/xtensa/bits/stdint.h b/arch/xtensa/bits/stdint.h
-new file mode 100644
-index 0000000..d1b2712
---- /dev/null
-+++ b/arch/xtensa/bits/stdint.h
-@@ -0,0 +1,20 @@
-+typedef int32_t int_fast16_t;
-+typedef int32_t int_fast32_t;
-+typedef uint32_t uint_fast16_t;
-+typedef uint32_t uint_fast32_t;
-+
-+#define INT_FAST16_MIN INT32_MIN
-+#define INT_FAST32_MIN INT32_MIN
-+
-+#define INT_FAST16_MAX INT32_MAX
-+#define INT_FAST32_MAX INT32_MAX
-+
-+#define UINT_FAST16_MAX UINT32_MAX
-+#define UINT_FAST32_MAX UINT32_MAX
-+
-+#define INTPTR_MIN INT32_MIN
-+#define INTPTR_MAX INT32_MAX
-+#define UINTPTR_MAX UINT32_MAX
-+#define PTRDIFF_MIN INT32_MIN
-+#define PTRDIFF_MAX INT32_MAX
-+#define SIZE_MAX UINT32_MAX
-diff --git a/arch/xtensa/bits/syscall.h b/arch/xtensa/bits/syscall.h
-new file mode 100644
-index 0000000..df8c2ab
---- /dev/null
-+++ b/arch/xtensa/bits/syscall.h
-@@ -0,0 +1,679 @@
-+#define __NR_spill 0
-+#define __NR_xtensa 1
-+#define __NR_available4 2
-+#define __NR_available5 3
-+#define __NR_available6 4
-+#define __NR_available7 5
-+#define __NR_available8 6
-+#define __NR_available9 7
-+#define __NR_open 8
-+#define __NR_close 9
-+#define __NR_dup 10
-+#define __NR_dup2 11
-+#define __NR_read 12
-+#define __NR_write 13
-+#define __NR_select 14
-+#define __NR_lseek 15
-+#define __NR_poll 16
-+#define __NR__llseek 17
-+#define __NR_epoll_wait 18
-+#define __NR_epoll_ctl 19
-+#define __NR_epoll_create 20
-+#define __NR_creat 21
-+#define __NR_truncate 22
-+#define __NR_ftruncate 23
-+#define __NR_readv 24
-+#define __NR_writev 25
-+#define __NR_fsync 26
-+#define __NR_fdatasync 27
-+#define __NR_truncate64 28
-+#define __NR_ftruncate64 29
-+#define __NR_pread64 30
-+#define __NR_pwrite64 31
-+#define __NR_link 32
-+#define __NR_rename 33
-+#define __NR_symlink 34
-+#define __NR_readlink 35
-+#define __NR_mknod 36
-+#define __NR_pipe 37
-+#define __NR_unlink 38
-+#define __NR_rmdir 39
-+#define __NR_mkdir 40
-+#define __NR_chdir 41
-+#define __NR_fchdir 42
-+#define __NR_getcwd 43
-+#define __NR_chmod 44
-+#define __NR_chown 45
-+#define __NR_stat 46
-+#define __NR_stat64 47
-+#define __NR_lchown 48
-+#define __NR_lstat 49
-+#define __NR_lstat64 50
-+#define __NR_available51 51
-+#define __NR_fchmod 52
-+#define __NR_fchown 53
-+#define __NR_fstat 54
-+#define __NR_fstat64 55
-+#define __NR_flock 56
-+#define __NR_access 57
-+#define __NR_umask 58
-+#define __NR_getdents 59
-+#define __NR_getdents64 60
-+#define __NR_fcntl64 61
-+#define __NR_fallocate 62
-+#define __NR_fadvise64_64 63
-+#define __NR_utime 64 /* glibc 2.3.3 ?? */
-+#define __NR_utimes 65
-+#define __NR_ioctl 66
-+#define __NR_fcntl 67
-+#define __NR_setxattr 68
-+#define __NR_getxattr 69
-+#define __NR_listxattr 70
-+#define __NR_removexattr 71
-+#define __NR_lsetxattr 72
-+#define __NR_lgetxattr 73
-+#define __NR_llistxattr 74
-+#define __NR_lremovexattr 75
-+#define __NR_fsetxattr 76
-+#define __NR_fgetxattr 77
-+#define __NR_flistxattr 78
-+#define __NR_fremovexattr 79
-+#define __NR_mmap2 80
-+#define __NR_munmap 81
-+#define __NR_mprotect 82
-+#define __NR_brk 83
-+#define __NR_mlock 84
-+#define __NR_munlock 85
-+#define __NR_mlockall 86
-+#define __NR_munlockall 87
-+#define __NR_mremap 88
-+#define __NR_msync 89
-+#define __NR_mincore 90
-+#define __NR_madvise 91
-+#define __NR_shmget 92
-+#define __NR_shmat 93
-+#define __NR_shmctl 94
-+#define __NR_shmdt 95
-+#define __NR_socket 96
-+#define __NR_setsockopt 97
-+#define __NR_getsockopt 98
-+#define __NR_shutdown 99
-+#define __NR_bind 100
-+#define __NR_connect 101
-+#define __NR_listen 102
-+#define __NR_accept 103
-+#define __NR_getsockname 104
-+#define __NR_getpeername 105
-+#define __NR_sendmsg 106
-+#define __NR_recvmsg 107
-+#define __NR_send 108
-+#define __NR_recv 109
-+#define __NR_sendto 110
-+#define __NR_recvfrom 111
-+#define __NR_socketpair 112
-+#define __NR_sendfile 113
-+#define __NR_sendfile64 114
-+#define __NR_sendmmsg 115
-+#define __NR_clone 116
-+#define __NR_execve 117
-+#define __NR_exit 118
-+#define __NR_exit_group 119
-+#define __NR_getpid 120
-+#define __NR_wait4 121
-+#define __NR_waitid 122
-+#define __NR_kill 123
-+#define __NR_tkill 124
-+#define __NR_tgkill 125
-+#define __NR_set_tid_address 126
-+#define __NR_gettid 127
-+#define __NR_setsid 128
-+#define __NR_getsid 129
-+#define __NR_prctl 130
-+#define __NR_personality 131
-+#define __NR_getpriority 132
-+#define __NR_setpriority 133
-+#define __NR_setitimer 134
-+#define __NR_getitimer 135
-+#define __NR_setuid 136
-+#define __NR_getuid 137
-+#define __NR_setgid 138
-+#define __NR_getgid 139
-+#define __NR_geteuid 140
-+#define __NR_getegid 141
-+#define __NR_setreuid 142
-+#define __NR_setregid 143
-+#define __NR_setresuid 144
-+#define __NR_getresuid 145
-+#define __NR_setresgid 146
-+#define __NR_getresgid 147
-+#define __NR_setpgid 148
-+#define __NR_getpgid 149
-+#define __NR_getppid 150
-+#define __NR_getpgrp 151
-+#define __NR_reserved152 152 /* set_thread_area */
-+#define __NR_reserved153 153 /* get_thread_area */
-+#define __NR_times 154
-+#define __NR_acct 155
-+#define __NR_sched_setaffinity 156
-+#define __NR_sched_getaffinity 157
-+#define __NR_capget 158
-+#define __NR_capset 159
-+#define __NR_ptrace 160
-+#define __NR_semtimedop 161
-+#define __NR_semget 162
-+#define __NR_semop 163
-+#define __NR_semctl 164
-+#define __NR_available165 165
-+#define __NR_msgget 166
-+#define __NR_msgsnd 167
-+#define __NR_msgrcv 168
-+#define __NR_msgctl 169
-+#define __NR_available170 170
-+#define __NR_umount2 171
-+#define __NR_mount 172
-+#define __NR_swapon 173
-+#define __NR_chroot 174
-+#define __NR_pivot_root 175
-+#define __NR_umount 176
-+#define __NR_swapoff 177
-+#define __NR_sync 178
-+#define __NR_syncfs 179
-+#define __NR_setfsuid 180
-+#define __NR_setfsgid 181
-+#define __NR_sysfs 182
-+#define __NR_ustat 183
-+#define __NR_statfs 184
-+#define __NR_fstatfs 185
-+#define __NR_statfs64 186
-+#define __NR_fstatfs64 187
-+#define __NR_setrlimit 188
-+#define __NR_getrlimit 189
-+#define __NR_getrusage 190
-+#define __NR_futex 191
-+#define __NR_gettimeofday 192
-+#define __NR_settimeofday 193
-+#define __NR_adjtimex 194
-+#define __NR_nanosleep 195
-+#define __NR_getgroups 196
-+#define __NR_setgroups 197
-+#define __NR_sethostname 198
-+#define __NR_setdomainname 199
-+#define __NR_syslog 200
-+#define __NR_vhangup 201
-+#define __NR_uselib 202
-+#define __NR_reboot 203
-+#define __NR_quotactl 204
-+#define __NR_nfsservctl 205
-+#define __NR__sysctl 206
-+#define __NR_bdflush 207
-+#define __NR_uname 208
-+#define __NR_sysinfo 209
-+#define __NR_init_module 210
-+#define __NR_delete_module 211
-+#define __NR_sched_setparam 212
-+#define __NR_sched_getparam 213
-+#define __NR_sched_setscheduler 214
-+#define __NR_sched_getscheduler 215
-+#define __NR_sched_get_priority_max 216
-+#define __NR_sched_get_priority_min 217
-+#define __NR_sched_rr_get_interval 218
-+#define __NR_sched_yield 219
-+#define __NR_available222 222
-+#define __NR_restart_syscall 223
-+#define __NR_sigaltstack 224
-+#define __NR_rt_sigreturn 225
-+#define __NR_rt_sigaction 226
-+#define __NR_rt_sigprocmask 227
-+#define __NR_rt_sigpending 228
-+#define __NR_rt_sigtimedwait 229
-+#define __NR_rt_sigqueueinfo 230
-+#define __NR_rt_sigsuspend 231
-+#define __NR_mq_open 232
-+#define __NR_mq_unlink 233
-+#define __NR_mq_timedsend 234
-+#define __NR_mq_timedreceive 235
-+#define __NR_mq_notify 236
-+#define __NR_mq_getsetattr 237
-+#define __NR_available238 238
-+#define __NR_io_setup 239
-+#define __NR_io_destroy 240
-+#define __NR_io_submit 241
-+#define __NR_io_getevents 242
-+#define __NR_io_cancel 243
-+#define __NR_clock_settime 244
-+#define __NR_clock_gettime 245
-+#define __NR_clock_getres 246
-+#define __NR_clock_nanosleep 247
-+#define __NR_timer_create 248
-+#define __NR_timer_delete 249
-+#define __NR_timer_settime 250
-+#define __NR_timer_gettime 251
-+#define __NR_timer_getoverrun 252
-+#define __NR_reserved253 253
-+#define __NR_lookup_dcookie 254
-+#define __NR_available255 255
-+#define __NR_add_key 256
-+#define __NR_request_key 257
-+#define __NR_keyctl 258
-+#define __NR_available259 259
-+#define __NR_readahead 260
-+#define __NR_remap_file_pages 261
-+#define __NR_migrate_pages 262
-+#define __NR_mbind 263
-+#define __NR_get_mempolicy 264
-+#define __NR_set_mempolicy 265
-+#define __NR_unshare 266
-+#define __NR_move_pages 267
-+#define __NR_splice 268
-+#define __NR_tee 269
-+#define __NR_vmsplice 270
-+#define __NR_available271 271
-+#define __NR_pselect6 272
-+#define __NR_ppoll 273
-+#define __NR_epoll_pwait 274
-+#define __NR_epoll_create1 275
-+#define __NR_inotify_init 276
-+#define __NR_inotify_add_watch 277
-+#define __NR_inotify_rm_watch 278
-+#define __NR_inotify_init1 279
-+#define __NR_getcpu 280
-+#define __NR_kexec_load 281
-+#define __NR_ioprio_set 282
-+#define __NR_ioprio_get 283
-+#define __NR_set_robust_list 284
-+#define __NR_get_robust_list 285
-+#define __NR_available286 286
-+#define __NR_available287 287
-+#define __NR_openat 288
-+#define __NR_mkdirat 289
-+#define __NR_mknodat 290
-+#define __NR_unlinkat 291
-+#define __NR_renameat 292
-+#define __NR_linkat 293
-+#define __NR_symlinkat 294
-+#define __NR_readlinkat 295
-+#define __NR_utimensat 296
-+#define __NR_fchownat 297
-+#define __NR_futimesat 298
-+#define __NR_fstatat64 299
-+#define __NR_fchmodat 300
-+#define __NR_faccessat 301
-+#define __NR_available302 302
-+#define __NR_available303 303
-+#define __NR_signalfd 304
-+#define __NR_eventfd 306
-+#define __NR_recvmmsg 307
-+#define __NR_setns 308
-+#define __NR_signalfd4 309
-+#define __NR_dup3 310
-+#define __NR_pipe2 311
-+#define __NR_timerfd_create 312
-+#define __NR_timerfd_settime 313
-+#define __NR_timerfd_gettime 314
-+#define __NR_available315 315
-+#define __NR_eventfd2 316
-+#define __NR_preadv 317
-+#define __NR_pwritev 318
-+#define __NR_available319 319
-+#define __NR_fanotify_init 320
-+#define __NR_fanotify_mark 321
-+#define __NR_process_vm_readv 322
-+#define __NR_process_vm_writev 323
-+#define __NR_name_to_handle_at 324
-+#define __NR_open_by_handle_at 325
-+#define __NR_sync_file_range2 326
-+#define __NR_perf_event_open 327
-+#define __NR_rt_tgsigqueueinfo 328
-+#define __NR_clock_adjtime 329
-+#define __NR_prlimit64 330
-+#define __NR_kcmp 331
-+#define __NR_finit_module 332
-+#define __NR_accept4 333
-+#define __NR_sched_setattr 334
-+#define __NR_sched_getattr 335
-+#define __NR_renameat2 336
-+#define __NR_seccomp 337
-+#define __NR_getrandom 338
-+#define __NR_memfd_create 339
-+#define __NR_bpf 340
-+#define __NR_execveat 341
-+
-+#define SYS_spill 0
-+#define SYS_xtensa 1
-+#define SYS_available4 2
-+#define SYS_available5 3
-+#define SYS_available6 4
-+#define SYS_available7 5
-+#define SYS_available8 6
-+#define SYS_available9 7
-+#define SYS_open 8
-+#define SYS_close 9
-+#define SYS_dup 10
-+#define SYS_dup2 11
-+#define SYS_read 12
-+#define SYS_write 13
-+#define SYS_select 14
-+#define SYS_lseek 15
-+#define SYS_poll 16
-+#define SYS__llseek 17
-+#define SYS_epoll_wait 18
-+#define SYS_epoll_ctl 19
-+#define SYS_epoll_create 20
-+#define SYS_creat 21
-+#define SYS_truncate 22
-+#define SYS_ftruncate 23
-+#define SYS_readv 24
-+#define SYS_writev 25
-+#define SYS_fsync 26
-+#define SYS_fdatasync 27
-+#define SYS_truncate64 28
-+#define SYS_ftruncate64 29
-+#define SYS_pread64 30
-+#define SYS_pwrite64 31
-+#define SYS_link 32
-+#define SYS_rename 33
-+#define SYS_symlink 34
-+#define SYS_readlink 35
-+#define SYS_mknod 36
-+#define SYS_pipe 37
-+#define SYS_unlink 38
-+#define SYS_rmdir 39
-+#define SYS_mkdir 40
-+#define SYS_chdir 41
-+#define SYS_fchdir 42
-+#define SYS_getcwd 43
-+#define SYS_chmod 44
-+#define SYS_chown 45
-+#define SYS_stat 46
-+#define SYS_stat64 47
-+#define SYS_lchown 48
-+#define SYS_lstat 49
-+#define SYS_lstat64 50
-+#define SYS_available51 51
-+#define SYS_fchmod 52
-+#define SYS_fchown 53
-+#define SYS_fstat 54
-+#define SYS_fstat64 55
-+#define SYS_flock 56
-+#define SYS_access 57
-+#define SYS_umask 58
-+#define SYS_getdents 59
-+#define SYS_getdents64 60
-+#define SYS_fcntl64 61
-+#define SYS_fallocate 62
-+#define SYS_fadvise64_64 63
-+#define SYS_utime 64 /* glibc 2.3.3 ?? */
-+#define SYS_utimes 65
-+#define SYS_ioctl 66
-+#define SYS_fcntl 67
-+#define SYS_setxattr 68
-+#define SYS_getxattr 69
-+#define SYS_listxattr 70
-+#define SYS_removexattr 71
-+#define SYS_lsetxattr 72
-+#define SYS_lgetxattr 73
-+#define SYS_llistxattr 74
-+#define SYS_lremovexattr 75
-+#define SYS_fsetxattr