summaryrefslogtreecommitdiff
path: root/packages/glibc
diff options
context:
space:
mode:
authorAlexey Neyman <stilor@att.net>2020-02-26 07:30:11 (GMT)
committerAlexey Neyman <stilor@att.net>2020-02-26 19:05:19 (GMT)
commitf290ad24173549c46ff070df86335aebc50b1bde (patch)
tree65f6b61ff8cb89394f3d6a6abf2d23306f715360 /packages/glibc
parent66fda907280a69943066fb2f4c9bb162e077ec8d (diff)
Update ARC patch to glibc 2.31
Build-tested only. Signed-off-by: Alexey Neyman <stilor@att.net>
Diffstat (limited to 'packages/glibc')
-rw-r--r--packages/glibc/2.31/0001-Add-ARC-architecture.patch1031
1 files changed, 863 insertions, 168 deletions
diff --git a/packages/glibc/2.31/0001-Add-ARC-architecture.patch b/packages/glibc/2.31/0001-Add-ARC-architecture.patch
index 35b5c13..6b5d514 100644
--- a/packages/glibc/2.31/0001-Add-ARC-architecture.patch
+++ b/packages/glibc/2.31/0001-Add-ARC-architecture.patch
@@ -8,117 +8,219 @@ git diff glibc-2.30..arc-2.30-2019.09.06 ':!NEWS' ':!ChangeLog'
[1] https://github.com/foss-for-synopsys-dwc-arc-processors/glibc
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+
+[Updated to glibc 2.31: remove headers that became generic
+(including pthread-offsets.h which had incorrect offsets copied
+from 64-bit platforms), remove <asm/unistd.h> inclusion for
+syscall numbers, GET_PC -> sigcontext_get_pc rename. Only
+build-tested.]
---
----
- elf/elf.h | 70
- locale/Makefile | 5
- scripts/build-many-glibcs.py | 4
- stdlib/longlong.h | 6
- support/Makefile | 5
- sysdeps/arc/Implies | 4
- sysdeps/arc/Makefile | 25
- sysdeps/arc/Versions | 6
- sysdeps/arc/__longjmp.S | 50
- sysdeps/arc/abort-instr.h | 2
- sysdeps/arc/atomic-machine.h | 73
- sysdeps/arc/bits/endian.h | 12
- sysdeps/arc/bits/fenv.h | 72
- sysdeps/arc/bits/link.h | 52
- sysdeps/arc/bits/setjmp.h | 26
- sysdeps/arc/bsd-_setjmp.S | 1
- sysdeps/arc/bsd-setjmp.S | 1
- sysdeps/arc/configure | 14
- sysdeps/arc/configure.ac | 11
- sysdeps/arc/dl-machine.h | 340 +++
- sysdeps/arc/dl-runtime.c | 39
- sysdeps/arc/dl-sysdep.h | 25
- sysdeps/arc/dl-tls.h | 30
- sysdeps/arc/dl-trampoline.S | 80
- sysdeps/arc/entry.h | 5
- sysdeps/arc/gccframe.h | 21
- sysdeps/arc/gmp-mparam.h | 23
- sysdeps/arc/jmpbuf-offsets.h | 47
- sysdeps/arc/jmpbuf-unwind.h | 47
- sysdeps/arc/ldsodefs.h | 43
- sysdeps/arc/libc-tls.c | 27
- sysdeps/arc/machine-gmon.h | 35
- sysdeps/arc/memusage.h | 23
- sysdeps/arc/nofpu/Implies | 1
- sysdeps/arc/nofpu/libm-test-ulps | 390 +++
- sysdeps/arc/nofpu/libm-test-ulps-name | 1
- sysdeps/arc/nofpu/math-tests-exceptions.h | 27
- sysdeps/arc/nofpu/math-tests-rounding.h | 27
- sysdeps/arc/nptl/Makefile | 22
- sysdeps/arc/nptl/bits/pthreadtypes-arch.h | 71
- sysdeps/arc/nptl/bits/semaphore.h | 32
- sysdeps/arc/nptl/pthread-offsets.h | 4
- sysdeps/arc/nptl/pthreaddef.h | 32
- sysdeps/arc/nptl/tcb-offsets.sym | 11
- sysdeps/arc/nptl/tls.h | 150 +
- sysdeps/arc/preconfigure | 15
- sysdeps/arc/setjmp.S | 66
- sysdeps/arc/sfp-machine.h | 73
- sysdeps/arc/sotruss-lib.c | 51
- sysdeps/arc/stackinfo.h | 33
- sysdeps/arc/start.S | 89
- sysdeps/arc/sysdep.h | 48
- sysdeps/arc/tls-macros.h | 47
- sysdeps/arc/tst-audit.h | 23
- sysdeps/unix/sysv/linux/arc/Implies | 3
- sysdeps/unix/sysv/linux/arc/Makefile | 20
- sysdeps/unix/sysv/linux/arc/Versions | 16
- sysdeps/unix/sysv/linux/arc/bits/procfs.h | 35
- sysdeps/unix/sysv/linux/arc/bits/types/__sigset_t.h | 12
- sysdeps/unix/sysv/linux/arc/c++-types.data | 67
- sysdeps/unix/sysv/linux/arc/clone.S | 98
- sysdeps/unix/sysv/linux/arc/configure | 4
- sysdeps/unix/sysv/linux/arc/configure.ac | 4
- sysdeps/unix/sysv/linux/arc/dl-static.c | 84
- sysdeps/unix/sysv/linux/arc/getcontext.S | 63
- sysdeps/unix/sysv/linux/arc/ipc_priv.h | 21
- sysdeps/unix/sysv/linux/arc/jmp_buf-macros.h | 6
- sysdeps/unix/sysv/linux/arc/kernel-features.h | 28
- sysdeps/unix/sysv/linux/arc/ld.abilist | 9
- sysdeps/unix/sysv/linux/arc/ldsodefs.h | 32
- sysdeps/unix/sysv/linux/arc/libBrokenLocale.abilist | 1
- sysdeps/unix/sysv/linux/arc/libanl.abilist | 4
- sysdeps/unix/sysv/linux/arc/libc.abilist | 2084 ++++++++++++++++++++
- sysdeps/unix/sysv/linux/arc/libcrypt.abilist | 2
- sysdeps/unix/sysv/linux/arc/libdl.abilist | 9
- sysdeps/unix/sysv/linux/arc/libm.abilist | 753 +++++++
- sysdeps/unix/sysv/linux/arc/libpthread.abilist | 240 ++
- sysdeps/unix/sysv/linux/arc/libresolv.abilist | 79
- sysdeps/unix/sysv/linux/arc/librt.abilist | 35
- sysdeps/unix/sysv/linux/arc/libthread_db.abilist | 40
- sysdeps/unix/sysv/linux/arc/libutil.abilist | 6
- sysdeps/unix/sysv/linux/arc/localplt.data | 16
- sysdeps/unix/sysv/linux/arc/makecontext.c | 75
- sysdeps/unix/sysv/linux/arc/mmap_internal.h | 27
- sysdeps/unix/sysv/linux/arc/profil-counter.h | 2
- sysdeps/unix/sysv/linux/arc/pt-vfork.S | 1
- sysdeps/unix/sysv/linux/arc/setcontext.S | 92
- sysdeps/unix/sysv/linux/arc/shlib-versions | 2
- sysdeps/unix/sysv/linux/arc/sigaction.c | 31
- sysdeps/unix/sysv/linux/arc/sigcontextinfo.h | 23
- sysdeps/unix/sysv/linux/arc/sigrestorer.S | 29
- sysdeps/unix/sysv/linux/arc/swapcontext.S | 92
- sysdeps/unix/sysv/linux/arc/sys/cachectl.h | 36
- sysdeps/unix/sysv/linux/arc/sys/ucontext.h | 63
- sysdeps/unix/sysv/linux/arc/sys/user.h | 31
- sysdeps/unix/sysv/linux/arc/syscall.S | 38
- sysdeps/unix/sysv/linux/arc/syscalls.list | 3
- sysdeps/unix/sysv/linux/arc/sysdep.c | 33
- sysdeps/unix/sysv/linux/arc/sysdep.h | 251 ++
- sysdeps/unix/sysv/linux/arc/ucontext-macros.h | 29
- sysdeps/unix/sysv/linux/arc/ucontext_i.sym | 20
- sysdeps/unix/sysv/linux/arc/vfork.S | 42
- sysdeps/unix/sysv/linux/syscall-names.list | 3
- timezone/zic.c | 2
- 104 files changed, 7120 insertions(+), 13 deletions(-)
+ elf/elf.h | 70 +-
+ locale/Makefile | 5 +-
+ scripts/build-many-glibcs.py | 4 +
+ stdlib/longlong.h | 6 +-
+ support/Makefile | 5 -
+ sysdeps/arc/Implies | 4 +
+ sysdeps/arc/Makefile | 25 +
+ sysdeps/arc/Versions | 6 +
+ sysdeps/arc/__longjmp.S | 50 +
+ sysdeps/arc/abort-instr.h | 2 +
+ sysdeps/arc/atomic-machine.h | 73 +
+ sysdeps/arc/bits/endianness.h | 15 +
+ sysdeps/arc/bits/fenv.h | 72 +
+ sysdeps/arc/bits/link.h | 52 +
+ sysdeps/arc/bits/setjmp.h | 26 +
+ sysdeps/arc/bsd-_setjmp.S | 1 +
+ sysdeps/arc/bsd-setjmp.S | 1 +
+ sysdeps/arc/configure | 14 +
+ sysdeps/arc/configure.ac | 11 +
+ sysdeps/arc/dl-machine.h | 340 +++
+ sysdeps/arc/dl-runtime.c | 39 +
+ sysdeps/arc/dl-sysdep.h | 25 +
+ sysdeps/arc/dl-tls.h | 30 +
+ sysdeps/arc/dl-trampoline.S | 80 +
+ sysdeps/arc/entry.h | 5 +
+ sysdeps/arc/gccframe.h | 21 +
+ sysdeps/arc/gmp-mparam.h | 23 +
+ sysdeps/arc/jmpbuf-offsets.h | 47 +
+ sysdeps/arc/jmpbuf-unwind.h | 47 +
+ sysdeps/arc/ldsodefs.h | 43 +
+ sysdeps/arc/libc-tls.c | 27 +
+ sysdeps/arc/machine-gmon.h | 35 +
+ sysdeps/arc/memusage.h | 23 +
+ sysdeps/arc/nofpu/Implies | 1 +
+ sysdeps/arc/nofpu/libm-test-ulps | 390 +++
+ sysdeps/arc/nofpu/libm-test-ulps-name | 1 +
+ sysdeps/arc/nofpu/math-tests-exceptions.h | 27 +
+ sysdeps/arc/nofpu/math-tests-rounding.h | 27 +
+ sysdeps/arc/nptl/Makefile | 22 +
+ sysdeps/arc/nptl/bits/pthreadtypes-arch.h | 43 +
+ sysdeps/arc/nptl/bits/semaphore.h | 32 +
+ sysdeps/arc/nptl/pthreaddef.h | 32 +
+ sysdeps/arc/nptl/tcb-offsets.sym | 11 +
+ sysdeps/arc/nptl/tls.h | 150 ++
+ sysdeps/arc/preconfigure | 15 +
+ sysdeps/arc/setjmp.S | 66 +
+ sysdeps/arc/sfp-machine.h | 73 +
+ sysdeps/arc/sotruss-lib.c | 51 +
+ sysdeps/arc/stackinfo.h | 33 +
+ sysdeps/arc/start.S | 89 +
+ sysdeps/arc/sysdep.h | 48 +
+ sysdeps/arc/tls-macros.h | 47 +
+ sysdeps/arc/tst-audit.h | 23 +
+ sysdeps/unix/sysv/linux/arc/Implies | 3 +
+ sysdeps/unix/sysv/linux/arc/Makefile | 20 +
+ sysdeps/unix/sysv/linux/arc/Versions | 16 +
+ sysdeps/unix/sysv/linux/arc/arch-syscall.h | 317 +++
+ sysdeps/unix/sysv/linux/arc/bits/procfs.h | 35 +
+ .../sysv/linux/arc/bits/types/__sigset_t.h | 12 +
+ sysdeps/unix/sysv/linux/arc/c++-types.data | 67 +
+ sysdeps/unix/sysv/linux/arc/clone.S | 98 +
+ sysdeps/unix/sysv/linux/arc/configure | 4 +
+ sysdeps/unix/sysv/linux/arc/configure.ac | 4 +
+ sysdeps/unix/sysv/linux/arc/dl-static.c | 84 +
+ sysdeps/unix/sysv/linux/arc/getcontext.S | 63 +
+ sysdeps/unix/sysv/linux/arc/ipc_priv.h | 21 +
+ sysdeps/unix/sysv/linux/arc/jmp_buf-macros.h | 6 +
+ sysdeps/unix/sysv/linux/arc/kernel-features.h | 28 +
+ sysdeps/unix/sysv/linux/arc/ld.abilist | 9 +
+ sysdeps/unix/sysv/linux/arc/ldsodefs.h | 32 +
+ .../sysv/linux/arc/libBrokenLocale.abilist | 1 +
+ sysdeps/unix/sysv/linux/arc/libanl.abilist | 4 +
+ sysdeps/unix/sysv/linux/arc/libc.abilist | 2084 +++++++++++++++++
+ sysdeps/unix/sysv/linux/arc/libcrypt.abilist | 2 +
+ sysdeps/unix/sysv/linux/arc/libdl.abilist | 9 +
+ sysdeps/unix/sysv/linux/arc/libm.abilist | 753 ++++++
+ .../unix/sysv/linux/arc/libpthread.abilist | 240 ++
+ sysdeps/unix/sysv/linux/arc/libresolv.abilist | 79 +
+ sysdeps/unix/sysv/linux/arc/librt.abilist | 35 +
+ .../unix/sysv/linux/arc/libthread_db.abilist | 40 +
+ sysdeps/unix/sysv/linux/arc/libutil.abilist | 6 +
+ sysdeps/unix/sysv/linux/arc/localplt.data | 16 +
+ sysdeps/unix/sysv/linux/arc/makecontext.c | 75 +
+ sysdeps/unix/sysv/linux/arc/mmap_internal.h | 27 +
+ sysdeps/unix/sysv/linux/arc/pt-vfork.S | 1 +
+ sysdeps/unix/sysv/linux/arc/setcontext.S | 92 +
+ sysdeps/unix/sysv/linux/arc/shlib-versions | 2 +
+ sysdeps/unix/sysv/linux/arc/sigaction.c | 31 +
+ sysdeps/unix/sysv/linux/arc/sigcontextinfo.h | 31 +
+ sysdeps/unix/sysv/linux/arc/sigrestorer.S | 29 +
+ sysdeps/unix/sysv/linux/arc/swapcontext.S | 92 +
+ sysdeps/unix/sysv/linux/arc/sys/cachectl.h | 36 +
+ sysdeps/unix/sysv/linux/arc/sys/ucontext.h | 63 +
+ sysdeps/unix/sysv/linux/arc/sys/user.h | 31 +
+ sysdeps/unix/sysv/linux/arc/syscall.S | 38 +
+ sysdeps/unix/sysv/linux/arc/syscalls.list | 3 +
+ sysdeps/unix/sysv/linux/arc/sysdep.c | 33 +
+ sysdeps/unix/sysv/linux/arc/sysdep.h | 250 ++
+ sysdeps/unix/sysv/linux/arc/ucontext-macros.h | 29 +
+ sysdeps/unix/sysv/linux/arc/ucontext_i.sym | 20 +
+ sysdeps/unix/sysv/linux/arc/vfork.S | 42 +
+ sysdeps/unix/sysv/linux/syscall-names.list | 3 +
+ timezone/zic.c | 2 +-
+ 103 files changed, 7413 insertions(+), 13 deletions(-)
+ create mode 100644 sysdeps/arc/Implies
+ create mode 100644 sysdeps/arc/Makefile
+ create mode 100644 sysdeps/arc/Versions
+ create mode 100644 sysdeps/arc/__longjmp.S
+ create mode 100644 sysdeps/arc/abort-instr.h
+ create mode 100644 sysdeps/arc/atomic-machine.h
+ create mode 100644 sysdeps/arc/bits/endianness.h
+ create mode 100644 sysdeps/arc/bits/fenv.h
+ create mode 100644 sysdeps/arc/bits/link.h
+ create mode 100644 sysdeps/arc/bits/setjmp.h
+ create mode 100644 sysdeps/arc/bsd-_setjmp.S
+ create mode 100644 sysdeps/arc/bsd-setjmp.S
+ create mode 100644 sysdeps/arc/configure
+ create mode 100644 sysdeps/arc/configure.ac
+ create mode 100644 sysdeps/arc/dl-machine.h
+ create mode 100644 sysdeps/arc/dl-runtime.c
+ create mode 100644 sysdeps/arc/dl-sysdep.h
+ create mode 100644 sysdeps/arc/dl-tls.h
+ create mode 100644 sysdeps/arc/dl-trampoline.S
+ create mode 100644 sysdeps/arc/entry.h
+ create mode 100644 sysdeps/arc/gccframe.h
+ create mode 100644 sysdeps/arc/gmp-mparam.h
+ create mode 100644 sysdeps/arc/jmpbuf-offsets.h
+ create mode 100644 sysdeps/arc/jmpbuf-unwind.h
+ create mode 100644 sysdeps/arc/ldsodefs.h
+ create mode 100644 sysdeps/arc/libc-tls.c
+ create mode 100644 sysdeps/arc/machine-gmon.h
+ create mode 100644 sysdeps/arc/memusage.h
+ create mode 100644 sysdeps/arc/nofpu/Implies
+ create mode 100644 sysdeps/arc/nofpu/libm-test-ulps
+ create mode 100644 sysdeps/arc/nofpu/libm-test-ulps-name
+ create mode 100644 sysdeps/arc/nofpu/math-tests-exceptions.h
+ create mode 100644 sysdeps/arc/nofpu/math-tests-rounding.h
+ create mode 100644 sysdeps/arc/nptl/Makefile
+ create mode 100644 sysdeps/arc/nptl/bits/pthreadtypes-arch.h
+ create mode 100644 sysdeps/arc/nptl/bits/semaphore.h
+ create mode 100644 sysdeps/arc/nptl/pthreaddef.h
+ create mode 100644 sysdeps/arc/nptl/tcb-offsets.sym
+ create mode 100644 sysdeps/arc/nptl/tls.h
+ create mode 100644 sysdeps/arc/preconfigure
+ create mode 100644 sysdeps/arc/setjmp.S
+ create mode 100644 sysdeps/arc/sfp-machine.h
+ create mode 100644 sysdeps/arc/sotruss-lib.c
+ create mode 100644 sysdeps/arc/stackinfo.h
+ create mode 100644 sysdeps/arc/start.S
+ create mode 100644 sysdeps/arc/sysdep.h
+ create mode 100644 sysdeps/arc/tls-macros.h
+ create mode 100644 sysdeps/arc/tst-audit.h
+ create mode 100644 sysdeps/unix/sysv/linux/arc/Implies
+ create mode 100644 sysdeps/unix/sysv/linux/arc/Makefile
+ create mode 100644 sysdeps/unix/sysv/linux/arc/Versions
+ create mode 100644 sysdeps/unix/sysv/linux/arc/arch-syscall.h
+ create mode 100644 sysdeps/unix/sysv/linux/arc/bits/procfs.h
+ create mode 100644 sysdeps/unix/sysv/linux/arc/bits/types/__sigset_t.h
+ create mode 100644 sysdeps/unix/sysv/linux/arc/c++-types.data
+ create mode 100644 sysdeps/unix/sysv/linux/arc/clone.S
+ create mode 100644 sysdeps/unix/sysv/linux/arc/configure
+ create mode 100644 sysdeps/unix/sysv/linux/arc/configure.ac
+ create mode 100644 sysdeps/unix/sysv/linux/arc/dl-static.c
+ create mode 100644 sysdeps/unix/sysv/linux/arc/getcontext.S
+ create mode 100644 sysdeps/unix/sysv/linux/arc/ipc_priv.h
+ create mode 100644 sysdeps/unix/sysv/linux/arc/jmp_buf-macros.h
+ create mode 100644 sysdeps/unix/sysv/linux/arc/kernel-features.h
+ create mode 100644 sysdeps/unix/sysv/linux/arc/ld.abilist
+ create mode 100644 sysdeps/unix/sysv/linux/arc/ldsodefs.h
+ create mode 100644 sysdeps/unix/sysv/linux/arc/libBrokenLocale.abilist
+ create mode 100644 sysdeps/unix/sysv/linux/arc/libanl.abilist
+ create mode 100644 sysdeps/unix/sysv/linux/arc/libc.abilist
+ create mode 100644 sysdeps/unix/sysv/linux/arc/libcrypt.abilist
+ create mode 100644 sysdeps/unix/sysv/linux/arc/libdl.abilist
+ create mode 100644 sysdeps/unix/sysv/linux/arc/libm.abilist
+ create mode 100644 sysdeps/unix/sysv/linux/arc/libpthread.abilist
+ create mode 100644 sysdeps/unix/sysv/linux/arc/libresolv.abilist
+ create mode 100644 sysdeps/unix/sysv/linux/arc/librt.abilist
+ create mode 100644 sysdeps/unix/sysv/linux/arc/libthread_db.abilist
+ create mode 100644 sysdeps/unix/sysv/linux/arc/libutil.abilist
+ create mode 100644 sysdeps/unix/sysv/linux/arc/localplt.data
+ create mode 100644 sysdeps/unix/sysv/linux/arc/makecontext.c
+ create mode 100644 sysdeps/unix/sysv/linux/arc/mmap_internal.h
+ create mode 100644 sysdeps/unix/sysv/linux/arc/pt-vfork.S
+ create mode 100644 sysdeps/unix/sysv/linux/arc/setcontext.S
+ create mode 100644 sysdeps/unix/sysv/linux/arc/shlib-versions
+ create mode 100644 sysdeps/unix/sysv/linux/arc/sigaction.c
+ create mode 100644 sysdeps/unix/sysv/linux/arc/sigcontextinfo.h
+ create mode 100644 sysdeps/unix/sysv/linux/arc/sigrestorer.S
+ create mode 100644 sysdeps/unix/sysv/linux/arc/swapcontext.S
+ create mode 100644 sysdeps/unix/sysv/linux/arc/sys/cachectl.h
+ create mode 100644 sysdeps/unix/sysv/linux/arc/sys/ucontext.h
+ create mode 100644 sysdeps/unix/sysv/linux/arc/sys/user.h
+ create mode 100644 sysdeps/unix/sysv/linux/arc/syscall.S
+ create mode 100644 sysdeps/unix/sysv/linux/arc/syscalls.list
+ create mode 100644 sysdeps/unix/sysv/linux/arc/sysdep.c
+ create mode 100644 sysdeps/unix/sysv/linux/arc/sysdep.h
+ create mode 100644 sysdeps/unix/sysv/linux/arc/ucontext-macros.h
+ create mode 100644 sysdeps/unix/sysv/linux/arc/ucontext_i.sym
+ create mode 100644 sysdeps/unix/sysv/linux/arc/vfork.S
+diff --git a/elf/elf.h b/elf/elf.h
+index 2549a177d6..1d235cf3ac 100644
--- a/elf/elf.h
+++ b/elf/elf.h
-@@ -330,7 +330,7 @@
+@@ -330,7 +330,7 @@ typedef struct
#define EM_CLOUDSHIELD 192 /* CloudShield */
#define EM_COREA_1ST 193 /* KIPO-KAIST Core-A 1st gen. */
#define EM_COREA_2ND 194 /* KIPO-KAIST Core-A 2nd gen. */
@@ -127,7 +229,7 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
#define EM_OPEN8 196 /* Open8 RISC */
#define EM_RL78 197 /* Renesas RL78 */
#define EM_VIDEOCORE5 198 /* Broadcom VideoCore V */
-@@ -4027,6 +4027,74 @@
+@@ -4027,6 +4027,74 @@ enum
#define R_NDS32_TLS_TPOFF 102
#define R_NDS32_TLS_DESC 119
@@ -202,9 +304,11 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
__END_DECLS
#endif /* elf.h */
+diff --git a/locale/Makefile b/locale/Makefile
+index c9694e236e..95a4a432a9 100644
--- a/locale/Makefile
+++ b/locale/Makefile
-@@ -28,6 +28,7 @@
+@@ -28,6 +28,7 @@ routines = setlocale findlocale loadlocale loadarchive \
localeconv nl_langinfo nl_langinfo_l mb_cur_max \
newlocale duplocale freelocale uselocale
tests = tst-C-locale tst-locname tst-duplocale
@@ -212,7 +316,7 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
categories = ctype messages monetary numeric time paper name \
address telephone measurement identification collate
aux = $(categories:%=lc-%) $(categories:%=C-%) SYS_libc C_name \
-@@ -62,10 +63,6 @@
+@@ -62,10 +63,6 @@ lib-modules := charmap-dir simple-hash xmalloc xstrdup \
GPERF = gperf
GPERFFLAGS = -acCgopt -k1,2,5,9,$$ -L ANSI-C
@@ -223,9 +327,11 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
include ../Rules
CFLAGS-md5.c += -I../crypt
+diff --git a/scripts/build-many-glibcs.py b/scripts/build-many-glibcs.py
+index 90b76caa93..1fdf4d44c7 100755
--- a/scripts/build-many-glibcs.py
+++ b/scripts/build-many-glibcs.py
-@@ -155,6 +155,9 @@
+@@ -155,6 +155,9 @@ class Context(object):
'cfg': ['--disable-multi-arch']}])
self.add_config(arch='aarch64_be',
os_name='linux-gnu')
@@ -235,7 +341,7 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
self.add_config(arch='alpha',
os_name='linux-gnu')
self.add_config(arch='arm',
-@@ -1201,6 +1204,7 @@
+@@ -1201,6 +1204,7 @@ class LinuxHeadersPolicyForUpdateSyscalls(object):
def install_linux_headers(policy, cmdlist):
"""Install Linux kernel headers."""
arch_map = {'aarch64': 'arm64',
@@ -243,9 +349,11 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
'alpha': 'alpha',
'arm': 'arm',
'csky': 'csky',
+diff --git a/stdlib/longlong.h b/stdlib/longlong.h
+index ee4aac1bb5..638b7894d4 100644
--- a/stdlib/longlong.h
+++ b/stdlib/longlong.h
-@@ -199,7 +199,8 @@
+@@ -199,7 +199,8 @@ extern UDItype __udiv_qrnnd (UDItype *, UDItype, UDItype, UDItype);
: "%r" ((USItype) (ah)), \
"rICal" ((USItype) (bh)), \
"%r" ((USItype) (al)), \
@@ -255,7 +363,7 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
#define sub_ddmmss(sh, sl, ah, al, bh, bl) \
__asm__ ("sub.f %1, %4, %5\n\tsbc %0, %2, %3" \
: "=r" ((USItype) (sh)), \
-@@ -207,7 +208,8 @@
+@@ -207,7 +208,8 @@ extern UDItype __udiv_qrnnd (UDItype *, UDItype, UDItype, UDItype);
: "r" ((USItype) (ah)), \
"rICal" ((USItype) (bh)), \
"r" ((USItype) (al)), \
@@ -265,9 +373,11 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
#define __umulsidi3(u,v) ((UDItype)(USItype)u*(USItype)v)
#ifdef __ARC_NORM__
+diff --git a/support/Makefile b/support/Makefile
+index 3325feb790..d9fdc46ffa 100644
--- a/support/Makefile
+++ b/support/Makefile
-@@ -188,12 +188,7 @@
+@@ -188,12 +188,7 @@ CFLAGS-support_paths.c = \
-DSBINDIR_PATH=\"$(sbindir)\" \
-DROOTSBINDIR_PATH=\"$(rootsbindir)\"
@@ -280,6 +390,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
ifeq (yes,$(have-selinux))
LDLIBS-$(LINKS_DSO_PROGRAM) += -lselinux
+diff --git a/sysdeps/arc/Implies b/sysdeps/arc/Implies
+new file mode 100644
+index 0000000000..a0f0b00cfa
--- /dev/null
+++ b/sysdeps/arc/Implies
@@ -0,0 +1,4 @@
@@ -287,6 +400,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+wordsize-32
+ieee754/flt-32
+ieee754/dbl-64
+diff --git a/sysdeps/arc/Makefile b/sysdeps/arc/Makefile
+new file mode 100644
+index 0000000000..8d2fbe00c5
--- /dev/null
+++ b/sysdeps/arc/Makefile
@@ -0,0 +1,25 @@
@@ -315,6 +431,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+ifeq ($(subdir),debug)
+CFLAGS-backtrace.c += -funwind-tables
+endif
+diff --git a/sysdeps/arc/Versions b/sysdeps/arc/Versions
+new file mode 100644
+index 0000000000..ca0856d2db
--- /dev/null
+++ b/sysdeps/arc/Versions
@@ -0,0 +1,6 @@
@@ -324,6 +443,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+ __mcount;
+ }
+}
+diff --git a/sysdeps/arc/__longjmp.S b/sysdeps/arc/__longjmp.S
+new file mode 100644
+index 0000000000..8296aa445f
--- /dev/null
+++ b/sysdeps/arc/__longjmp.S
@@ -0,0 +1,50 @@
@@ -377,11 +499,17 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+ mov.z r0, 1 ; can't let setjmp return 0 when it is due to longjmp
+
+END (__longjmp)
+diff --git a/sysdeps/arc/abort-instr.h b/sysdeps/arc/abort-instr.h
+new file mode 100644
+index 0000000000..49f33613c4
--- /dev/null
+++ b/sysdeps/arc/abort-instr.h
@@ -0,0 +1,2 @@
+/* FLAG 1 is privilege mode only instruction, hence will crash any program. */
+#define ABORT_INSTRUCTION asm ("flag 1")
+diff --git a/sysdeps/arc/atomic-machine.h b/sysdeps/arc/atomic-machine.h
+new file mode 100644
+index 0000000000..bdc91d0558
--- /dev/null
+++ b/sysdeps/arc/atomic-machine.h
@@ -0,0 +1,73 @@
@@ -458,13 +586,18 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+#endif
+
+#endif /* _ARC_BITS_ATOMIC_H */
+diff --git a/sysdeps/arc/bits/endianness.h b/sysdeps/arc/bits/endianness.h
+new file mode 100644
+index 0000000000..21fae520cd
--- /dev/null
-+++ b/sysdeps/arc/bits/endian.h
-@@ -0,0 +1,12 @@
++++ b/sysdeps/arc/bits/endianness.h
+@@ -0,0 +1,15 @@
++#ifndef _BITS_ENDIANNESS_H
++#define _BITS_ENDIANNESS_H 1
+/* Although ARC CPU can do BE, it is not supported. */
+
-+#ifndef _ENDIAN_H
-+# error "Never use <bits/endian.h> directly; include <endian.h> instead."
++#ifndef _BITS_ENDIAN_H
++# error "Never use <bits/endianness.h> directly; include <endian.h> instead."
+#endif
+
+#ifdef __LITTLE_ENDIAN__
@@ -473,6 +606,10 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+#ifdef __BIG_ENDIAN__
+# error "Big Endian NOt supported on ARC"
+#endif
++#endif /* bits/endianness.h */
+diff --git a/sysdeps/arc/bits/fenv.h b/sysdeps/arc/bits/fenv.h
+new file mode 100644
+index 0000000000..58388fb43a
--- /dev/null
+++ b/sysdeps/arc/bits/fenv.h
@@ -0,0 +1,72 @@
@@ -548,6 +685,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+/* Default floating-point control modes. */
+# define FE_DFL_MODE ((const femode_t *) -1L)
+#endif
+diff --git a/sysdeps/arc/bits/link.h b/sysdeps/arc/bits/link.h
+new file mode 100644
+index 0000000000..c4508ab666
--- /dev/null
+++ b/sysdeps/arc/bits/link.h
@@ -0,0 +1,52 @@
@@ -603,6 +743,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+ const char *symname);
+
+__END_DECLS
+diff --git a/sysdeps/arc/bits/setjmp.h b/sysdeps/arc/bits/setjmp.h
+new file mode 100644
+index 0000000000..3cb457d097
--- /dev/null
+++ b/sysdeps/arc/bits/setjmp.h
@@ -0,0 +1,26 @@
@@ -632,14 +775,23 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+typedef long int __jmp_buf[32];
+
+#endif
+diff --git a/sysdeps/arc/bsd-_setjmp.S b/sysdeps/arc/bsd-_setjmp.S
+new file mode 100644
+index 0000000000..90b99cd8c3
--- /dev/null
+++ b/sysdeps/arc/bsd-_setjmp.S
@@ -0,0 +1 @@
+/* _setjmp is in setjmp.S. */
+diff --git a/sysdeps/arc/bsd-setjmp.S b/sysdeps/arc/bsd-setjmp.S
+new file mode 100644
+index 0000000000..d3b823c118
--- /dev/null
+++ b/sysdeps/arc/bsd-setjmp.S
@@ -0,0 +1 @@
+/* setjmp is in setjmp.S. */
+diff --git a/sysdeps/arc/configure b/sysdeps/arc/configure
+new file mode 100644
+index 0000000000..52e286da2e
--- /dev/null
+++ b/sysdeps/arc/configure
@@ -0,0 +1,14 @@
@@ -657,6 +809,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+cat >>confdefs.h <<_ACEOF
+#define ASM_LINE_SEP $libc_cv_asm_line_sep
+_ACEOF
+diff --git a/sysdeps/arc/configure.ac b/sysdeps/arc/configure.ac
+new file mode 100644
+index 0000000000..1074d312f0
--- /dev/null
+++ b/sysdeps/arc/configure.ac
@@ -0,0 +1,11 @@
@@ -671,6 +826,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+# canonical newline as there's lots of code out there which will break
+libc_cv_asm_line_sep='`'
+AC_DEFINE_UNQUOTED(ASM_LINE_SEP, $libc_cv_asm_line_sep)
+diff --git a/sysdeps/arc/dl-machine.h b/sysdeps/arc/dl-machine.h
+new file mode 100644
+index 0000000000..c81acb9d4f
--- /dev/null
+++ b/sysdeps/arc/dl-machine.h
@@ -0,0 +1,340 @@
@@ -1014,6 +1172,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+}
+
+#endif /* RESOLVE_MAP */
+diff --git a/sysdeps/arc/dl-runtime.c b/sysdeps/arc/dl-runtime.c
+new file mode 100644
+index 0000000000..48f4a5a7e1
--- /dev/null
+++ b/sysdeps/arc/dl-runtime.c
@@ -0,0 +1,39 @@
@@ -1056,6 +1217,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+#define reloc_offset reloc_index * sizeof (PLTREL)
+
+#include <elf/dl-runtime.c>
+diff --git a/sysdeps/arc/dl-sysdep.h b/sysdeps/arc/dl-sysdep.h
+new file mode 100644
+index 0000000000..ffc30b6937
--- /dev/null
+++ b/sysdeps/arc/dl-sysdep.h
@@ -0,0 +1,25 @@
@@ -1084,6 +1248,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+#define DL_ARGV_NOT_RELRO 1
+
+#define DL_EXTERN_PROTECTED_DATA
+diff --git a/sysdeps/arc/dl-tls.h b/sysdeps/arc/dl-tls.h
+new file mode 100644
+index 0000000000..7f0cf91e40
--- /dev/null
+++ b/sysdeps/arc/dl-tls.h
@@ -0,0 +1,30 @@
@@ -1117,6 +1284,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+
+/* Value used for dtv entries for which the allocation is delayed. */
+#define TLS_DTV_UNALLOCATED ((void *) -1l)
+diff --git a/sysdeps/arc/dl-trampoline.S b/sysdeps/arc/dl-trampoline.S
+new file mode 100644
+index 0000000000..9da75fb1fe
--- /dev/null
+++ b/sysdeps/arc/dl-trampoline.S
@@ -0,0 +1,80 @@
@@ -1200,6 +1370,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+ cfi_adjust_cfa_offset (-4)
+ cfi_restore (r0)
+END (_dl_runtime_resolve)
+diff --git a/sysdeps/arc/entry.h b/sysdeps/arc/entry.h
+new file mode 100644
+index 0000000000..adb01d981a
--- /dev/null
+++ b/sysdeps/arc/entry.h
@@ -0,0 +1,5 @@
@@ -1208,6 +1381,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+#endif
+
+#define ENTRY_POINT __start
+diff --git a/sysdeps/arc/gccframe.h b/sysdeps/arc/gccframe.h
+new file mode 100644
+index 0000000000..40487fa77b
--- /dev/null
+++ b/sysdeps/arc/gccframe.h
@@ -0,0 +1,21 @@
@@ -1232,6 +1408,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+#define FIRST_PSEUDO_REGISTER 40
+
+#include <sysdeps/generic/gccframe.h>
+diff --git a/sysdeps/arc/gmp-mparam.h b/sysdeps/arc/gmp-mparam.h
+new file mode 100644
+index 0000000000..e30695fc6b
--- /dev/null
+++ b/sysdeps/arc/gmp-mparam.h
@@ -0,0 +1,23 @@
@@ -1258,6 +1437,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+#include <sysdeps/generic/gmp-mparam.h>
+
+#define IEEE_DOUBLE_BIG_ENDIAN 0
+diff --git a/sysdeps/arc/jmpbuf-offsets.h b/sysdeps/arc/jmpbuf-offsets.h
+new file mode 100644
+index 0000000000..9760f3a389
--- /dev/null
+++ b/sysdeps/arc/jmpbuf-offsets.h
@@ -0,0 +1,47 @@
@@ -1308,6 +1490,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+
+/* Helper for generic ____longjmp_chk(). */
+#define JB_FRAME_ADDRESS(buf) ((void *) (unsigned long int) (buf[JB_SP]))
+diff --git a/sysdeps/arc/jmpbuf-unwind.h b/sysdeps/arc/jmpbuf-unwind.h
+new file mode 100644
+index 0000000000..47be5758c7
--- /dev/null
+++ b/sysdeps/arc/jmpbuf-unwind.h
@@ -0,0 +1,47 @@
@@ -1358,6 +1543,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+
+/* We use the normal longjmp for unwinding. */
+#define __libc_unwind_longjmp(buf, val) __libc_longjmp (buf, val)
+diff --git a/sysdeps/arc/ldsodefs.h b/sysdeps/arc/ldsodefs.h
+new file mode 100644
+index 0000000000..53ef4e1e83
--- /dev/null
+++ b/sysdeps/arc/ldsodefs.h
@@ -0,0 +1,43 @@
@@ -1404,6 +1592,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+#include_next <ldsodefs.h>
+
+#endif
+diff --git a/sysdeps/arc/libc-tls.c b/sysdeps/arc/libc-tls.c
+new file mode 100644
+index 0000000000..903a75a41b
--- /dev/null
+++ b/sysdeps/arc/libc-tls.c
@@ -0,0 +1,27 @@
@@ -1434,6 +1625,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+ dtv_t *dtv = THREAD_DTV ();
+ return (char *) dtv[1].pointer.val + ti->ti_offset;
+}
+diff --git a/sysdeps/arc/machine-gmon.h b/sysdeps/arc/machine-gmon.h
+new file mode 100644
+index 0000000000..1d9e8108d9
--- /dev/null
+++ b/sysdeps/arc/machine-gmon.h
@@ -0,0 +1,35 @@
@@ -1472,6 +1666,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+ __mcount_internal ((unsigned long int) frompc, \
+ (unsigned long int) __builtin_return_address(0)); \
+}
+diff --git a/sysdeps/arc/memusage.h b/sysdeps/arc/memusage.h
+new file mode 100644
+index 0000000000..29f234f5ba
--- /dev/null
+++ b/sysdeps/arc/memusage.h
@@ -0,0 +1,23 @@
@@ -1498,10 +1695,16 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+#define uatomic32_t unsigned int
+
+#include <sysdeps/generic/memusage.h>
+diff --git a/sysdeps/arc/nofpu/Implies b/sysdeps/arc/nofpu/Implies
+new file mode 100644
+index 0000000000..abcbadb25f
--- /dev/null
+++ b/sysdeps/arc/nofpu/Implies
@@ -0,0 +1 @@
+ieee754/soft-fp
+diff --git a/sysdeps/arc/nofpu/libm-test-ulps b/sysdeps/arc/nofpu/libm-test-ulps
+new file mode 100644
+index 0000000000..0e8ef313fa
--- /dev/null
+++ b/sysdeps/arc/nofpu/libm-test-ulps
@@ -0,0 +1,390 @@
@@ -1895,10 +2098,16 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+ifloat: 3
+
+# end of automatic generation
+diff --git a/sysdeps/arc/nofpu/libm-test-ulps-name b/sysdeps/arc/nofpu/libm-test-ulps-name
+new file mode 100644
+index 0000000000..8c4fba4f9a
--- /dev/null
+++ b/sysdeps/arc/nofpu/libm-test-ulps-name
@@ -0,0 +1 @@
+ARC
+diff --git a/sysdeps/arc/nofpu/math-tests-exceptions.h b/sysdeps/arc/nofpu/math-tests-exceptions.h
+new file mode 100644
+index 0000000000..f5c0b73589
--- /dev/null
+++ b/sysdeps/arc/nofpu/math-tests-exceptions.h
@@ -0,0 +1,27 @@
@@ -1929,6 +2138,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+#define EXCEPTION_TESTS_long_double 0
+
+#endif
+diff --git a/sysdeps/arc/nofpu/math-tests-rounding.h b/sysdeps/arc/nofpu/math-tests-rounding.h
+new file mode 100644
+index 0000000000..e8f76338b1
--- /dev/null
+++ b/sysdeps/arc/nofpu/math-tests-rounding.h
@@ -0,0 +1,27 @@
@@ -1959,6 +2171,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+#define ROUNDING_TESTS_long_double(MODE) ((MODE) == FE_TONEAREST)
+
+#endif
+diff --git a/sysdeps/arc/nptl/Makefile b/sysdeps/arc/nptl/Makefile
+new file mode 100644
+index 0000000000..3c33c9cc11
--- /dev/null
+++ b/sysdeps/arc/nptl/Makefile
@@ -0,0 +1,22 @@
@@ -1984,9 +2199,12 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+ifeq ($(subdir),csu)
+gen-as-const-headers += tcb-offsets.sym
+endif
+diff --git a/sysdeps/arc/nptl/bits/pthreadtypes-arch.h b/sysdeps/arc/nptl/bits/pthreadtypes-arch.h
+new file mode 100644
+index 0000000000..c104ad4444
--- /dev/null
+++ b/sysdeps/arc/nptl/bits/pthreadtypes-arch.h
-@@ -0,0 +1,71 @@
+@@ -0,0 +1,43 @@
+/* Machine-specific pthread type layouts. ARC version.
+ Copyright (C) 2012-2019 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
@@ -2029,35 +2247,10 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+#define __LOCK_ALIGNMENT
+#define __ONCE_ALIGNMENT
+
-+struct __pthread_rwlock_arch_t
-+{
-+ unsigned int __readers;
-+ unsigned int __writers;
-+ unsigned int __wrphase_futex;
-+ unsigned int __writers_futex;
-+ unsigned int __pad3;
-+ unsigned int __pad4;
-+#if __BYTE_ORDER == __BIG_ENDIAN
-+ unsigned char __pad1;
-+ unsigned char __pad2;
-+ unsigned char __shared;
-+ /* FLAGS must stay at this position in the structure to maintain
-+ binary compatibility. */
-+ unsigned char __flags;
-+#else
-+ /* FLAGS must stay at this position in the structure to maintain
-+ binary compatibility. */
-+ unsigned char __flags;
-+ unsigned char __shared;
-+ unsigned char __pad1;
-+ unsigned char __pad2;
-+#endif
-+ int __cur_writer;
-+};
-+
-+#define __PTHREAD_RWLOCK_ELISION_EXTRA 0
-+
+#endif /* bits/pthreadtypes-arch.h */
+diff --git a/sysdeps/arc/nptl/bits/semaphore.h b/sysdeps/arc/nptl/bits/semaphore.h
+new file mode 100644
+index 0000000000..662d08401d
--- /dev/null
+++ b/sysdeps/arc/nptl/bits/semaphore.h
@@ -0,0 +1,32 @@
@@ -2093,13 +2286,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+ char __size[__SIZEOF_SEM_T];
+ long int __align;
+} sem_t;
---- /dev/null
-+++ b/sysdeps/arc/nptl/pthread-offsets.h
-@@ -0,0 +1,4 @@
-+#define __PTHREAD_MUTEX_NUSERS_OFFSET 12
-+#define __PTHREAD_MUTEX_KIND_OFFSET 16
-+#define __PTHREAD_MUTEX_SPINS_OFFSET 20
-+#define __PTHREAD_MUTEX_LIST_OFFSET 24
+diff --git a/sysdeps/arc/nptl/pthreaddef.h b/sysdeps/arc/nptl/pthreaddef.h
+new file mode 100644
+index 0000000000..80a109bbd5
--- /dev/null
+++ b/sysdeps/arc/nptl/pthreaddef.h
@@ -0,0 +1,32 @@
@@ -2135,6 +2324,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+
+/* Location of current stack frame. */
+#define CURRENT_STACK_FRAME __builtin_frame_address (0)
+diff --git a/sysdeps/arc/nptl/tcb-offsets.sym b/sysdeps/arc/nptl/tcb-offsets.sym
+new file mode 100644
+index 0000000000..56950e0676
--- /dev/null
+++ b/sysdeps/arc/nptl/tcb-offsets.sym
@@ -0,0 +1,11 @@
@@ -2149,6 +2341,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+TLS_TCB_SIZE sizeof(tcbhead_t)
+
+PTHREAD_TID offsetof(struct pthread, tid)
+diff --git a/sysdeps/arc/nptl/tls.h b/sysdeps/arc/nptl/tls.h
+new file mode 100644
+index 0000000000..2c90109d57
--- /dev/null
+++ b/sysdeps/arc/nptl/tls.h
@@ -0,0 +1,150 @@
@@ -2302,6 +2497,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+#endif /* __ASSEMBLER__ */
+
+#endif /* tls.h */
+diff --git a/sysdeps/arc/preconfigure b/sysdeps/arc/preconfigure
+new file mode 100644
+index 0000000000..d9c5429f40
--- /dev/null
+++ b/sysdeps/arc/preconfigure
@@ -0,0 +1,15 @@
@@ -2320,6 +2518,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+ ;;
+
+esac
+diff --git a/sysdeps/arc/setjmp.S b/sysdeps/arc/setjmp.S
+new file mode 100644
+index 0000000000..518545a99e
--- /dev/null
+++ b/sysdeps/arc/setjmp.S
@@ -0,0 +1,66 @@
@@ -2389,6 +2590,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+END (__sigsetjmp)
+
+libc_hidden_def (__sigsetjmp)
+diff --git a/sysdeps/arc/sfp-machine.h b/sysdeps/arc/sfp-machine.h
+new file mode 100644
+index 0000000000..5ceaf56a98
--- /dev/null
+++ b/sysdeps/arc/sfp-machine.h
@@ -0,0 +1,73 @@
@@ -2465,6 +2669,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+ } while (0)
+
+#define _FP_TININESS_AFTER_ROUNDING 0
+diff --git a/sysdeps/arc/sotruss-lib.c b/sysdeps/arc/sotruss-lib.c
+new file mode 100644
+index 0000000000..ffbb5bbd6d
--- /dev/null
+++ b/sysdeps/arc/sotruss-lib.c
@@ -0,0 +1,51 @@
@@ -2519,6 +2726,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+
+ return 0;
+}
+diff --git a/sysdeps/arc/stackinfo.h b/sysdeps/arc/stackinfo.h
+new file mode 100644
+index 0000000000..fe69161382
--- /dev/null
+++ b/sysdeps/arc/stackinfo.h
@@ -0,0 +1,33 @@
@@ -2555,6 +2765,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+#define DEFAULT_STACK_PERMS (PF_R|PF_W)
+
+#endif /* stackinfo.h */
+diff --git a/sysdeps/arc/start.S b/sysdeps/arc/start.S
+new file mode 100644
+index 0000000000..4ade1e871f
--- /dev/null
+++ b/sysdeps/arc/start.S
@@ -0,0 +1,89 @@
@@ -2647,6 +2860,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+ .long 0
+ .weak data_start
+ data_start = __data_start
+diff --git a/sysdeps/arc/sysdep.h b/sysdeps/arc/sysdep.h
+new file mode 100644
+index 0000000000..127e9b01e7
--- /dev/null
+++ b/sysdeps/arc/sysdep.h
@@ -0,0 +1,48 @@
@@ -2698,6 +2914,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+# define CALL_MCOUNT /* Do nothing for now. */
+
+#endif /* __ASSEMBLER__ */
+diff --git a/sysdeps/arc/tls-macros.h b/sysdeps/arc/tls-macros.h
+new file mode 100644
+index 0000000000..4d54683eda
--- /dev/null
+++ b/sysdeps/arc/tls-macros.h
@@ -0,0 +1,47 @@
@@ -2748,6 +2967,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+ "add %0, %1, %0 \n" \
+ : "=&r" (__result) : "r" (tp)); \
+ __result; })
+diff --git a/sysdeps/arc/tst-audit.h b/sysdeps/arc/tst-audit.h
+new file mode 100644
+index 0000000000..9237ad2440
--- /dev/null
+++ b/sysdeps/arc/tst-audit.h
@@ -0,0 +1,23 @@
@@ -2774,12 +2996,18 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+#define La_regs La_arc_regs
+#define La_retval La_arc_retval
+#define int_retval lrv_reg[0]
+diff --git a/sysdeps/unix/sysv/linux/arc/Implies b/sysdeps/unix/sysv/linux/arc/Implies
+new file mode 100644
+index 0000000000..7f739a0340
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/Implies
@@ -0,0 +1,3 @@
+arc/nptl
+unix/sysv/linux/generic/wordsize-32
+unix/sysv/linux/generic
+diff --git a/sysdeps/unix/sysv/linux/arc/Makefile b/sysdeps/unix/sysv/linux/arc/Makefile
+new file mode 100644
+index 0000000000..a6c6dfc6ec
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/Makefile
@@ -0,0 +1,20 @@
@@ -2803,6 +3031,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+sysdep-dl-routines += dl-static
+endif
+endif
+diff --git a/sysdeps/unix/sysv/linux/arc/Versions b/sysdeps/unix/sysv/linux/arc/Versions
+new file mode 100644
+index 0000000000..3eedf26ae2
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/Versions
@@ -0,0 +1,16 @@
@@ -2822,6 +3053,332 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+ __default_rt_sa_restorer;
+ }
+}
+diff --git a/sysdeps/unix/sysv/linux/arc/arch-syscall.h b/sysdeps/unix/sysv/linux/arc/arch-syscall.h
+new file mode 100644
+index 0000000000..db25a17ad0
+--- /dev/null
++++ b/sysdeps/unix/sysv/linux/arc/arch-syscall.h
+@@ -0,0 +1,317 @@
++/* AUTOGENERATED by update-syscall-lists.py. */
++#define __NR_accept 202
++#define __NR_accept4 242
++#define __NR_acct 89
++#define __NR_add_key 217
++#define __NR_adjtimex 171
++#define __NR_arc_gettls 246
++#define __NR_arc_settls 245
++#define __NR_arc_usr_cmpxchg 248
++#define __NR_bind 200
++#define __NR_bpf 280
++#define __NR_brk 214
++#define __NR_cacheflush 244
++#define __NR_capget 90
++#define __NR_capset 91
++#define __NR_chdir 49
++#define __NR_chroot 51
++#define __NR_clock_adjtime 266
++#define __NR_clock_adjtime64 405
++#define __NR_clock_getres 114
++#define __NR_clock_getres_time64 406
++#define __NR_clock_gettime 113
++#define __NR_clock_gettime64 403
++#define __NR_clock_nanosleep 115
++#define __NR_clock_nanosleep_time64 407
++#define __NR_clock_settime 112
++#define __NR_clock_settime64 404
++#define __NR_clone 220
++#define __NR_clone3 435
++#define __NR_close 57
++#define __NR_connect 203
++#define __NR_copy_file_range 285
++#define __NR_delete_module 106
++#define __NR_dup 23
++#define __NR_dup3 24
++#define __NR_epoll_create1 20
++#define __NR_epoll_ctl 21
++#define __NR_epoll_pwait 22
++#define __NR_eventfd2 19
++#define __NR_execve 221
++#define __NR_execveat 281
++#define __NR_exit 93
++#define __NR_exit_group 94
++#define __NR_faccessat 48
++#define __NR_fadvise64_64 223
++#define __NR_fallocate 47
++#define __NR_fanotify_init 262
++#define __NR_fanotify_mark 263
++#define __NR_fchdir 50
++#define __NR_fchmod 52
++#define __NR_fchmodat 53
++#define __NR_fchown 55
++#define __NR_fchownat 54
++#define __NR_fcntl64 25
++#define __NR_fdatasync 83
++#define __NR_fgetxattr 10
++#define __NR_finit_module 273
++#define __NR_flistxattr 13
++#define __NR_flock 32
++#define __NR_fremovexattr 16
++#define __NR_fsconfig 431
++#define __NR_fsetxattr 7
++#define __NR_fsmount 432
++#define __NR_fsopen 430
++#define __NR_fspick 433
++#define __NR_fstat64 80
++#define __NR_fstatat64 79
++#define __NR_fstatfs64 44
++#define __NR_fsync 82
++#define __NR_ftruncate64 46
++#define __NR_futex 98
++#define __NR_futex_time64 422
++#define __NR_get_mempolicy 236
++#define __NR_get_robust_list 100
++#define __NR_getcpu 168
++#define __NR_getcwd 17
++#define __NR_getdents64 61
++#define __NR_getegid 177
++#define __NR_geteuid 175
++#define __NR_getgid 176
++#define __NR_getgroups 158
++#define __NR_getitimer 102
++#define __NR_getpeername 205
++#define __NR_getpgid 155
++#define __NR_getpid 172
++#define __NR_getppid 173
++#define __NR_getpriority 141
++#define __NR_getrandom 278
++#define __NR_getresgid 150
++#define __NR_getresuid 148
++#define __NR_getrlimit 163
++#define __NR_getrusage 165
++#define __NR_getsid 156
++#define __NR_getsockname 204
++#define __NR_getsockopt 209
++#define __NR_gettid 178
++#define __NR_gettimeofday 169
++#define __NR_getuid 174
++#define __NR_getxattr 8
++#define __NR_init_module 105
++#define __NR_inotify_add_watch 27
++#define __NR_inotify_init1 26
++#define __NR_inotify_rm_watch 28
++#define __NR_io_cancel 3
++#define __NR_io_destroy 1
++#define __NR_io_getevents 4
++#define __NR_io_pgetevents 292
++#define __NR_io_pgetevents_time64 416
++#define __NR_io_setup 0
++#define __NR_io_submit 2
++#define __NR_io_uring_enter 426
++#define __NR_io_uring_register 427
++#define __NR_io_uring_setup 425
++#define __NR_ioctl 29
++#define __NR_ioprio_get 31
++#define __NR_ioprio_set 30
++#define __NR_kcmp 272
++#define __NR_kexec_file_load 294
++#define __NR_kexec_load 104
++#define __NR_keyctl 219
++#define __NR_kill 129
++#define __NR_lgetxattr 9
++#define __NR_linkat 37
++#define __NR_listen 201
++#define __NR_listxattr 11
++#define __NR_llistxattr 12
++#define __NR_llseek 62
++#define __NR_lookup_dcookie 18
++#define __NR_lremovexattr 15
++#define __NR_lsetxattr 6
++#define __NR_madvise 233
++#define __NR_mbind 235
++#define __NR_membarrier 283
++#define __NR_memfd_create 279
++#define __NR_migrate_pages 238
++#define __NR_mincore 232
++#define __NR_mkdirat 34
++#define __NR_mknodat 33
++#define __NR_mlock 228
++#define __NR_mlock2 284
++#define __NR_mlockall 230
++#define __NR_mmap2 222
++#define __NR_mount 40
++#define __NR_move_mount 429
++#define __NR_move_pages 239
++#define __NR_mprotect 226
++#define __NR_mq_getsetattr 185
++#define __NR_mq_notify 184
++#define __NR_mq_open 180
++#define __NR_mq_timedreceive 183
++#define __NR_mq_timedreceive_time64 419
++#define __NR_mq_timedsend 182
++#define __NR_mq_timedsend_time64 418
++#define __NR_mq_unlink 181
++#define __NR_mremap 216
++#define __NR_msgctl 187
++#define __NR_msgget 186
++#define __NR_msgrcv 188
++#define __NR_msgsnd 189
++#define __NR_msync 227
++#define __NR_munlock 229
++#define __NR_munlockall 231
++#define __NR_munmap 215
++#define __NR_name_to_handle_at 264
++#define __NR_nanosleep 101
++#define __NR_nfsservctl 42
++#define __NR_open_by_handle_at 265
++#define __NR_open_tree 428
++#define __NR_openat 56
++#define __NR_perf_event_open 241
++#define __NR_personality 92
++#define __NR_pidfd_open 434
++#define __NR_pidfd_send_signal 424
++#define __NR_pipe2 59
++#define __NR_pivot_root 41
++#define __NR_pkey_alloc 289
++#define __NR_pkey_free 290
++#define __NR_pkey_mprotect 288
++#define __NR_ppoll 73
++#define __NR_ppoll_time64 414
++#define __NR_prctl 167
++#define __NR_pread64 67
++#define __NR_preadv 69
++#define __NR_preadv2 286
++#define __NR_prlimit64 261
++#define __NR_process_vm_readv 270
++#define __NR_process_vm_writev 271
++#define __NR_pselect6 72
++#define __NR_pselect6_time64 413
++#define __NR_ptrace 117
++#define __NR_pwrite64 68
++#define __NR_pwritev 70
++#define __NR_pwritev2 287
++#define __NR_quotactl 60
++#define __NR_read 63
++#define __NR_readahead 213
++#define __NR_readlinkat 78
++#define __NR_readv 65
++#define __NR_reboot 142
++#define __NR_recvfrom 207
++#define __NR_recvmmsg 243
++#define __NR_recvmmsg_time64 417
++#define __NR_recvmsg 212
++#define __NR_remap_file_pages 234
++#define __NR_removexattr 14
++#define __NR_renameat 38
++#define __NR_renameat2 276
++#define __NR_request_key 218
++#define __NR_restart_syscall 128
++#define __NR_rseq 293
++#define __NR_rt_sigaction 134
++#define __NR_rt_sigpending 136
++#define __NR_rt_sigprocmask 135
++#define __NR_rt_sigqueueinfo 138
++#define __NR_rt_sigreturn 139
++#define __NR_rt_sigsuspend 133
++#define __NR_rt_sigtimedwait 137
++#define __NR_rt_sigtimedwait_time64 421
++#define __NR_rt_tgsigqueueinfo 240
++#define __NR_sched_get_priority_max 125
++#define __NR_sched_get_priority_min 126
++#define __NR_sched_getaffinity 123
++#define __NR_sched_getattr 275
++#define __NR_sched_getparam 121
++#define __NR_sched_getscheduler 120
++#define __NR_sched_rr_get_interval 127
++#define __NR_sched_rr_get_interval_time64 423
++#define __NR_sched_setaffinity 122
++#define __NR_sched_setattr 274
++#define __NR_sched_setparam 118
++#define __NR_sched_setscheduler 119
++#define __NR_sched_yield 124
++#define __NR_seccomp 277
++#define __NR_semctl 191
++#define __NR_semget 190
++#define __NR_semop 193
++#define __NR_semtimedop 192
++#define __NR_semtimedop_time64 420
++#define __NR_sendfile64 71
++#define __NR_sendmmsg 269
++#define __NR_sendmsg 211
++#define __NR_sendto 206
++#define __NR_set_mempolicy 237
++#define __NR_set_robust_list 99
++#define __NR_set_tid_address 96
++#define __NR_setdomainname 162
++#define __NR_setfsgid 152
++#define __NR_setfsuid 151
++#define __NR_setgid 144
++#define __NR_setgroups 159
++#define __NR_sethostname 161
++#define __NR_setitimer 103
++#define __NR_setns 268
++#define __NR_setpgid 154
++#define __NR_setpriority 140
++#define __NR_setregid 143
++#define __NR_setresgid 149
++#define __NR_setresuid 147
++#define __NR_setreuid 145
++#define __NR_setrlimit 164
++#define __NR_setsid 157
++#define __NR_setsockopt 208
++#define __NR_settimeofday 170
++#define __NR_setuid 146
++#define __NR_setxattr 5
++#define __NR_shmat 196
++#define __NR_shmctl 195
++#define __NR_shmdt 197
++#define __NR_shmget 194
++#define __NR_shutdown 210
++#define __NR_sigaltstack 132
++#define __NR_signalfd4 74
++#define __NR_socket 198
++#define __NR_socketpair 199
++#define __NR_splice 76
++#define __NR_statfs64 43
++#define __NR_statx 291
++#define __NR_swapoff 225
++#define __NR_swapon 224
++#define __NR_symlinkat 36
++#define __NR_sync 81
++#define __NR_sync_file_range 84
++#define __NR_syncfs 267
++#define __NR_sysfs 247
++#define __NR_sysinfo 179
++#define __NR_syslog 116
++#define __NR_tee 77
++#define __NR_tgkill 131
++#define __NR_timer_create 107
++#define __NR_timer_delete 111
++#define __NR_timer_getoverrun 109
++#define __NR_timer_gettime 108
++#define __NR_timer_gettime64 408
++#define __NR_timer_settime 110
++#define __NR_timer_settime64 409
++#define __NR_timerfd_create 85
++#define __NR_timerfd_gettime 87
++#define __NR_timerfd_gettime64 410
++#define __NR_timerfd_settime 86
++#define __NR_timerfd_settime64 411
++#define __NR_times 153
++#define __NR_tkill 130
++#define __NR_truncate64 45
++#define __NR_umask 166
++#define __NR_umount2 39
++#define __NR_uname 160
++#define __NR_unlinkat 35
++#define __NR_unshare 97
++#define __NR_userfaultfd 282
++#define __NR_utimensat 88
++#define __NR_utimensat_time64 412
++#define __NR_vhangup 58
++#define __NR_vmsplice 75
++#define __NR_wait4 260
++#define __NR_waitid 95
++#define __NR_write 64
++#define __NR_writev 66
+diff --git a/sysdeps/unix/sysv/linux/arc/bits/procfs.h b/sysdeps/unix/sysv/linux/arc/bits/procfs.h
+new file mode 100644
+index 0000000000..b37deaee58
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/bits/procfs.h
@@ -0,0 +1,35 @@
@@ -2860,6 +3417,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+
+/* There's no seperate floating point reg file in ARCv2. */
+typedef struct { } elf_fpregset_t;
+diff --git a/sysdeps/unix/sysv/linux/arc/bits/types/__sigset_t.h b/sysdeps/unix/sysv/linux/arc/bits/types/__sigset_t.h
+new file mode 100644
+index 0000000000..795638a30b
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/bits/types/__sigset_t.h
@@ -0,0 +1,12 @@
@@ -2875,6 +3435,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+} __sigset_t;
+
+#endif
+diff --git a/sysdeps/unix/sysv/linux/arc/c++-types.data b/sysdeps/unix/sysv/linux/arc/c++-types.data
+new file mode 100644
+index 0000000000..303f4570c8
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/c++-types.data
@@ -0,0 +1,67 @@
@@ -2945,6 +3508,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+useconds_t:j
+ushort:t
+u_short:t
+diff --git a/sysdeps/unix/sysv/linux/arc/clone.S b/sysdeps/unix/sysv/linux/arc/clone.S
+new file mode 100644
+index 0000000000..55c2a2b60e
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/clone.S
@@ -0,0 +1,98 @@
@@ -3046,6 +3612,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+PSEUDO_END (__clone)
+libc_hidden_def (__clone)
+weak_alias (__clone, clone)
+diff --git a/sysdeps/unix/sysv/linux/arc/configure b/sysdeps/unix/sysv/linux/arc/configure
+new file mode 100644
+index 0000000000..f74fa7cb02
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/configure
@@ -0,0 +1,4 @@
@@ -3053,6 +3622,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+ # Local configure fragment for sysdeps/unix/sysv/linux/arc.
+
+arch_minimum_kernel=3.9.0
+diff --git a/sysdeps/unix/sysv/linux/arc/configure.ac b/sysdeps/unix/sysv/linux/arc/configure.ac
+new file mode 100644
+index 0000000000..a9528032d3
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/configure.ac
@@ -0,0 +1,4 @@
@@ -3060,6 +3632,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+# Local configure fragment for sysdeps/unix/sysv/linux/arc.
+
+arch_minimum_kernel=3.9.0
+diff --git a/sysdeps/unix/sysv/linux/arc/dl-static.c b/sysdeps/unix/sysv/linux/arc/dl-static.c
+new file mode 100644
+index 0000000000..1a8757c984
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/dl-static.c
@@ -0,0 +1,84 @@
@@ -3147,6 +3722,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+}
+
+#endif
+diff --git a/sysdeps/unix/sysv/linux/arc/getcontext.S b/sysdeps/unix/sysv/linux/arc/getcontext.S
+new file mode 100644
+index 0000000000..723cc237d8
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/getcontext.S
@@ -0,0 +1,63 @@
@@ -3213,6 +3791,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+
+PSEUDO_END (__getcontext)
+weak_alias (__getcontext, getcontext)
+diff --git a/sysdeps/unix/sysv/linux/arc/ipc_priv.h b/sysdeps/unix/sysv/linux/arc/ipc_priv.h
+new file mode 100644
+index 0000000000..309eb3064e
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/ipc_priv.h
@@ -0,0 +1,21 @@
@@ -3237,6 +3818,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+#include <sys/ipc.h> /* For __key_t */
+
+#define __IPC_64 0x0
+diff --git a/sysdeps/unix/sysv/linux/arc/jmp_buf-macros.h b/sysdeps/unix/sysv/linux/arc/jmp_buf-macros.h
+new file mode 100644
+index 0000000000..6c12939848
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/jmp_buf-macros.h
@@ -0,0 +1,6 @@
@@ -3246,6 +3830,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+#define SIGJMP_BUF_ALIGN __alignof__ (unsigned long int)
+#define MASK_WAS_SAVED_OFFSET (32 * sizeof (unsigned long int))
+#define SAVED_MASK_OFFSET (33 * sizeof (unsigned long int))
+diff --git a/sysdeps/unix/sysv/linux/arc/kernel-features.h b/sysdeps/unix/sysv/linux/arc/kernel-features.h
+new file mode 100644
+index 0000000000..00255337bc
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/kernel-features.h
@@ -0,0 +1,28 @@
@@ -3277,6 +3864,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+
+#undef __ASSUME_CLONE_DEFAULT
+#define __ASSUME_CLONE_BACKWARDS 1
+diff --git a/sysdeps/unix/sysv/linux/arc/ld.abilist b/sysdeps/unix/sysv/linux/arc/ld.abilist
+new file mode 100644
+index 0000000000..41183d7bee
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/ld.abilist
@@ -0,0 +1,9 @@
@@ -3289,6 +3879,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+GLIBC_2.30 free F
+GLIBC_2.30 malloc F
+GLIBC_2.30 realloc F
+diff --git a/sysdeps/unix/sysv/linux/arc/ldsodefs.h b/sysdeps/unix/sysv/linux/arc/ldsodefs.h
+new file mode 100644
+index 0000000000..8c5c6800af
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/ldsodefs.h
@@ -0,0 +1,32 @@
@@ -3324,10 +3917,16 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+#define DL_STATIC_INIT(map) _dl_static_init (map)
+
+#endif /* ldsodefs.h */
+diff --git a/sysdeps/unix/sysv/linux/arc/libBrokenLocale.abilist b/sysdeps/unix/sysv/linux/arc/libBrokenLocale.abilist
+new file mode 100644
+index 0000000000..c6253c0ae8
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/libBrokenLocale.abilist
@@ -0,0 +1 @@
+GLIBC_2.30 __ctype_get_mb_cur_max F
+diff --git a/sysdeps/unix/sysv/linux/arc/libanl.abilist b/sysdeps/unix/sysv/linux/arc/libanl.abilist
+new file mode 100644
+index 0000000000..d3b753219e
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/libanl.abilist
@@ -0,0 +1,4 @@
@@ -3335,6 +3934,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+GLIBC_2.30 gai_error F
+GLIBC_2.30 gai_suspend F
+GLIBC_2.30 getaddrinfo_a F
+diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
+new file mode 100644
+index 0000000000..823ae25bcc
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -0,0 +1,2084 @@
@@ -5422,11 +6024,17 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+GLIBC_2.30 xencrypt F
+GLIBC_2.30 xprt_register F
+GLIBC_2.30 xprt_unregister F
+diff --git a/sysdeps/unix/sysv/linux/arc/libcrypt.abilist b/sysdeps/unix/sysv/linux/arc/libcrypt.abilist
+new file mode 100644
+index 0000000000..8d83578d8c
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/libcrypt.abilist
@@ -0,0 +1,2 @@
+GLIBC_2.30 crypt F
+GLIBC_2.30 crypt_r F
+diff --git a/sysdeps/unix/sysv/linux/arc/libdl.abilist b/sysdeps/unix/sysv/linux/arc/libdl.abilist
+new file mode 100644
+index 0000000000..3fc6d95b85
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/libdl.abilist
@@ -0,0 +1,9 @@
@@ -5439,6 +6047,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+GLIBC_2.30 dlopen F
+GLIBC_2.30 dlsym F
+GLIBC_2.30 dlvsym F
+diff --git a/sysdeps/unix/sysv/linux/arc/libm.abilist b/sysdeps/unix/sysv/linux/arc/libm.abilist
+new file mode 100644
+index 0000000000..43f3a97e6f
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/libm.abilist
@@ -0,0 +1,753 @@
@@ -6195,6 +6806,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+GLIBC_2.30 ynf32x F
+GLIBC_2.30 ynf64 F
+GLIBC_2.30 ynl F
+diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
+new file mode 100644
+index 0000000000..d89cf8d301
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
@@ -0,0 +1,240 @@
@@ -6438,6 +7052,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+GLIBC_2.30 wait F
+GLIBC_2.30 waitpid F
+GLIBC_2.30 write F
+diff --git a/sysdeps/unix/sysv/linux/arc/libresolv.abilist b/sysdeps/unix/sysv/linux/arc/libresolv.abilist
+new file mode 100644
+index 0000000000..ca745f5b98
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/libresolv.abilist
@@ -0,0 +1,79 @@
@@ -6520,6 +7137,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+GLIBC_2.30 ns_sprintrr F
+GLIBC_2.30 ns_sprintrrf F
+GLIBC_2.30 ns_subdomain F
+diff --git a/sysdeps/unix/sysv/linux/arc/librt.abilist b/sysdeps/unix/sysv/linux/arc/librt.abilist
+new file mode 100644
+index 0000000000..8d39a08696
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/librt.abilist
@@ -0,0 +1,35 @@
@@ -6558,6 +7178,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+GLIBC_2.30 timer_getoverrun F
+GLIBC_2.30 timer_gettime F
+GLIBC_2.30 timer_settime F
+diff --git a/sysdeps/unix/sysv/linux/arc/libthread_db.abilist b/sysdeps/unix/sysv/linux/arc/libthread_db.abilist
+new file mode 100644
+index 0000000000..94220c9592
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/libthread_db.abilist
@@ -0,0 +1,40 @@
@@ -6601,6 +7224,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+GLIBC_2.30 td_thr_tlsbase F
+GLIBC_2.30 td_thr_tsd F
+GLIBC_2.30 td_thr_validate F
+diff --git a/sysdeps/unix/sysv/linux/arc/libutil.abilist b/sysdeps/unix/sysv/linux/arc/libutil.abilist
+new file mode 100644
+index 0000000000..f745157afa
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/libutil.abilist
@@ -0,0 +1,6 @@
@@ -6610,6 +7236,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+GLIBC_2.30 logout F
+GLIBC_2.30 logwtmp F
+GLIBC_2.30 openpty F
+diff --git a/sysdeps/unix/sysv/linux/arc/localplt.data b/sysdeps/unix/sysv/linux/arc/localplt.data
+new file mode 100644
+index 0000000000..e902fd0607
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/localplt.data
@@ -0,0 +1,16 @@
@@ -6629,6 +7258,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+ld.so: _dl_catch_error
+ld.so: _dl_signal_exception
+ld.so: _dl_catch_exception
+diff --git a/sysdeps/unix/sysv/linux/arc/makecontext.c b/sysdeps/unix/sysv/linux/arc/makecontext.c
+new file mode 100644
+index 0000000000..3d46452e17
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/makecontext.c
@@ -0,0 +1,75 @@
@@ -6707,6 +7339,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+}
+
+weak_alias (__makecontext, makecontext)
+diff --git a/sysdeps/unix/sysv/linux/arc/mmap_internal.h b/sysdeps/unix/sysv/linux/arc/mmap_internal.h
+new file mode 100644
+index 0000000000..51d0a25f26
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/mmap_internal.h
@@ -0,0 +1,27 @@
@@ -6737,15 +7372,16 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+#include_next <mmap_internal.h>
+
+#endif
---- /dev/null
-+++ b/sysdeps/unix/sysv/linux/arc/profil-counter.h
-@@ -0,0 +1,2 @@
-+/* We can use the ix86 version. */
-+#include <sysdeps/unix/sysv/linux/i386/profil-counter.h>
+diff --git a/sysdeps/unix/sysv/linux/arc/pt-vfork.S b/sysdeps/unix/sysv/linux/arc/pt-vfork.S
+new file mode 100644
+index 0000000000..1cc8931700
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/pt-vfork.S
@@ -0,0 +1 @@
+/* Not needed. */
+diff --git a/sysdeps/unix/sysv/linux/arc/setcontext.S b/sysdeps/unix/sysv/linux/arc/setcontext.S
+new file mode 100644
+index 0000000000..8cf4ffcaf5
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/setcontext.S
@@ -0,0 +1,92 @@
@@ -6841,11 +7477,17 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+ /* Exit with status 0. */
+ b HIDDEN_JUMPTARGET(exit)
+END (__startcontext)
+diff --git a/sysdeps/unix/sysv/linux/arc/shlib-versions b/sysdeps/unix/sysv/linux/arc/shlib-versions
+new file mode 100644
+index 0000000000..cbe457b9db
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/shlib-versions
@@ -0,0 +1,2 @@
+DEFAULT GLIBC_2.30
+ld=ld-linux-arc.so.2
+diff --git a/sysdeps/unix/sysv/linux/arc/sigaction.c b/sysdeps/unix/sysv/linux/arc/sigaction.c
+new file mode 100644
+index 0000000000..db7293865f
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/sigaction.c
@@ -0,0 +1,31 @@
@@ -6880,9 +7522,12 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+#define RESET_SA_RESTORER(act, kact)
+
+#include <sysdeps/unix/sysv/linux/sigaction.c>
+diff --git a/sysdeps/unix/sysv/linux/arc/sigcontextinfo.h b/sysdeps/unix/sysv/linux/arc/sigcontextinfo.h
+new file mode 100644
+index 0000000000..db5f4b6d21
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/sigcontextinfo.h
-@@ -0,0 +1,23 @@
+@@ -0,0 +1,31 @@
+/* ARC definitions for signal handling calling conventions.
+ Copyright (C) 2017-2019 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
@@ -6901,11 +7546,22 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
++#ifndef _SIGCONTEXTINFO_H
++#define _SIGCONTEXTINFO_H
++
++#include <stdint.h>
+#include <sys/ucontext.h>
-+#include "kernel-features.h"
+
-+#define SIGCONTEXT int _code, struct ucontext_t *
-+#define GET_PC(ctx) ((void *) (ctx)->uc_mcontext.__scratch.__ret)
++static inline uintptr_t
++sigcontext_get_pc (const ucontext_t *ctx)
++{
++ return ctx->uc_mcontext.__scratch.__ret;
++}
++
++#endif
+diff --git a/sysdeps/unix/sysv/linux/arc/sigrestorer.S b/sysdeps/unix/sysv/linux/arc/sigrestorer.S
+new file mode 100644
+index 0000000000..573b54e36c
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/sigrestorer.S
@@ -0,0 +1,29 @@
@@ -6938,6 +7594,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+ ARC_TRAP_INSN
+ j_s [blink]
+PSEUDO_END_NOERRNO (__default_rt_sa_restorer)
+diff --git a/sysdeps/unix/sysv/linux/arc/swapcontext.S b/sysdeps/unix/sysv/linux/arc/swapcontext.S
+new file mode 100644
+index 0000000000..853d3805de
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/swapcontext.S
@@ -0,0 +1,92 @@
@@ -7033,6 +7692,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+
+PSEUDO_END (__swapcontext)
+weak_alias (__swapcontext, swapcontext)
+diff --git a/sysdeps/unix/sysv/linux/arc/sys/cachectl.h b/sysdeps/unix/sysv/linux/arc/sys/cachectl.h
+new file mode 100644
+index 0000000000..2d93e49e6a
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/sys/cachectl.h
@@ -0,0 +1,36 @@
@@ -7072,6 +7734,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+__END_DECLS
+
+#endif /* sys/cachectl.h */
+diff --git a/sysdeps/unix/sysv/linux/arc/sys/ucontext.h b/sysdeps/unix/sysv/linux/arc/sys/ucontext.h
+new file mode 100644
+index 0000000000..7e357bcd65
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/sys/ucontext.h
@@ -0,0 +1,63 @@
@@ -7138,6 +7803,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+#undef __ctx
+
+#endif /* sys/ucontext.h */
+diff --git a/sysdeps/unix/sysv/linux/arc/sys/user.h b/sysdeps/unix/sysv/linux/arc/sys/user.h
+new file mode 100644
+index 0000000000..50d0dc7827
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/sys/user.h
@@ -0,0 +1,31 @@
@@ -7172,6 +7840,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+};
+
+#endif /* sys/user.h */
+diff --git a/sysdeps/unix/sysv/linux/arc/syscall.S b/sysdeps/unix/sysv/linux/arc/syscall.S
+new file mode 100644
+index 0000000000..3fe5fcdd04
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/syscall.S
@@ -0,0 +1,38 @@
@@ -7213,12 +7884,18 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+ brhi r0, -1024, .Lcall_syscall_err
+ j [blink]
+PSEUDO_END (syscall)
+diff --git a/sysdeps/unix/sysv/linux/arc/syscalls.list b/sysdeps/unix/sysv/linux/arc/syscalls.list
+new file mode 100644
+index 0000000000..d0ef5977ee
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/syscalls.list
@@ -0,0 +1,3 @@
+# File name Caller Syscall name Args Strong name Weak names
+
+cacheflush - cacheflush i:pii _flush_cache cacheflush
+diff --git a/sysdeps/unix/sysv/linux/arc/sysdep.c b/sysdeps/unix/sysv/linux/arc/sysdep.c
+new file mode 100644
+index 0000000000..5618f37851
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/sysdep.c
@@ -0,0 +1,33 @@
@@ -7255,9 +7932,12 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+#if IS_IN (libc)
+hidden_def (__syscall_error)
+#endif
+diff --git a/sysdeps/unix/sysv/linux/arc/sysdep.h b/sysdeps/unix/sysv/linux/arc/sysdep.h
+new file mode 100644
+index 0000000000..28547ac448
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/sysdep.h
-@@ -0,0 +1,251 @@
+@@ -0,0 +1,250 @@
+/* Assembler macros for ARC.
+ Copyright (C) 2000-2019 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
@@ -7279,7 +7959,6 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+#ifndef _LINUX_ARC_SYSDEP_H
+#define _LINUX_ARC_SYSDEP_H 1
+
-+#include <asm/unistd.h>
+#include <sysdeps/arc/sysdep.h>
+#include <sysdeps/unix/sysv/linux/generic/sysdep.h>
+
@@ -7509,6 +8188,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+#endif /* !__ASSEMBLER__ */
+
+#endif /* linux/arc/sysdep.h */
+diff --git a/sysdeps/unix/sysv/linux/arc/ucontext-macros.h b/sysdeps/unix/sysv/linux/arc/ucontext-macros.h
+new file mode 100644
+index 0000000000..ed261399c9
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/ucontext-macros.h
@@ -0,0 +1,29 @@
@@ -7541,6 +8223,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+#define LOAD_REG(reg, rbase, off) ld reg, [rbase, UCONTEXT_MCONTEXT + off * 4]
+
+#endif
+diff --git a/sysdeps/unix/sysv/linux/arc/ucontext_i.sym b/sysdeps/unix/sysv/linux/arc/ucontext_i.sym
+new file mode 100644
+index 0000000000..d84e92f9f5
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/ucontext_i.sym
@@ -0,0 +1,20 @@
@@ -7564,6 +8249,9 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+UCONTEXT_MCONTEXT ucontext (uc_mcontext)
+UCONTEXT_SIGMASK ucontext (uc_sigmask)
+UCONTEXT_SIZE sizeof (ucontext_t)
+diff --git a/sysdeps/unix/sysv/linux/arc/vfork.S b/sysdeps/unix/sysv/linux/arc/vfork.S
+new file mode 100644
+index 0000000000..7f981d0681
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/vfork.S
@@ -0,0 +1,42 @@
@@ -7609,9 +8297,11 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+libc_hidden_def (__vfork)
+
+weak_alias (__vfork, vfork)
+diff --git a/sysdeps/unix/sysv/linux/syscall-names.list b/sysdeps/unix/sysv/linux/syscall-names.list
+index 36e087d8f4..60ecb263db 100644
--- a/sysdeps/unix/sysv/linux/syscall-names.list
+++ b/sysdeps/unix/sysv/linux/syscall-names.list
-@@ -41,6 +41,9 @@
+@@ -41,6 +41,9 @@ adjtimex
afs_syscall
alarm
alloc_hugepages
@@ -7621,9 +8311,11 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
arch_prctl
arm_fadvise64_64
arm_sync_file_range
+diff --git a/timezone/zic.c b/timezone/zic.c
+index 2ebc66a9af..8e8d94fac3 100644
--- a/timezone/zic.c
+++ b/timezone/zic.c
-@@ -39,7 +39,7 @@
+@@ -39,7 +39,7 @@ typedef int_fast64_t zic_t;
#include <sys/stat.h>
#endif
#ifdef S_IRUSR
@@ -7632,3 +8324,6 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
#else
#define MKDIR_UMASK 0755
#endif
+--
+2.20.1
+