summaryrefslogtreecommitdiff
path: root/packages/glibc/2.30/0001-Add-ARC-architecture.patch
diff options
context:
space:
mode:
Diffstat (limited to 'packages/glibc/2.30/0001-Add-ARC-architecture.patch')
-rw-r--r--packages/glibc/2.30/0001-Add-ARC-architecture.patch434
1 files changed, 118 insertions, 316 deletions
diff --git a/packages/glibc/2.30/0001-Add-ARC-architecture.patch b/packages/glibc/2.30/0001-Add-ARC-architecture.patch
index be2ee8a..dce1d20 100644
--- a/packages/glibc/2.30/0001-Add-ARC-architecture.patch
+++ b/packages/glibc/2.30/0001-Add-ARC-architecture.patch
@@ -9,11 +9,116 @@ git diff glibc-2.30..arc-2.30-2019.09.06 ':!NEWS' ':!ChangeLog'
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
---
-diff --git a/elf/elf.h b/elf/elf.h
-index 7c6d6094edb..0aa5cb58463 100644
+---
+ 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(-)
+
--- a/elf/elf.h
+++ b/elf/elf.h
-@@ -330,7 +330,7 @@ typedef struct
+@@ -330,7 +330,7 @@
#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. */
@@ -22,7 +127,7 @@ index 7c6d6094edb..0aa5cb58463 100644
#define EM_OPEN8 196 /* Open8 RISC */
#define EM_RL78 197 /* Renesas RL78 */
#define EM_VIDEOCORE5 198 /* Broadcom VideoCore V */
-@@ -4024,6 +4024,74 @@ enum
+@@ -4024,6 +4024,74 @@
#define R_NDS32_TLS_TPOFF 102
#define R_NDS32_TLS_DESC 119
@@ -97,11 +202,9 @@ index 7c6d6094edb..0aa5cb58463 100644
__END_DECLS
#endif /* elf.h */
-diff --git a/locale/Makefile b/locale/Makefile
-index d78cf9b83ac..23fe4bcd8a7 100644
--- a/locale/Makefile
+++ b/locale/Makefile
-@@ -28,6 +28,7 @@ routines = setlocale findlocale loadlocale loadarchive \
+@@ -28,6 +28,7 @@
localeconv nl_langinfo nl_langinfo_l mb_cur_max \
newlocale duplocale freelocale uselocale
tests = tst-C-locale tst-locname tst-duplocale
@@ -109,7 +212,7 @@ index d78cf9b83ac..23fe4bcd8a7 100644
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 @@ lib-modules := charmap-dir simple-hash xmalloc xstrdup \
+@@ -62,10 +63,6 @@
GPERF = gperf
GPERFFLAGS = -acCgopt -k1,2,5,9,$$ -L ANSI-C
@@ -120,11 +223,9 @@ index d78cf9b83ac..23fe4bcd8a7 100644
include ../Rules
CFLAGS-md5.c += -I../crypt
-diff --git a/scripts/build-many-glibcs.py b/scripts/build-many-glibcs.py
-index aa6884e046d..9d3f22e2ccc 100755
--- a/scripts/build-many-glibcs.py
+++ b/scripts/build-many-glibcs.py
-@@ -155,6 +155,9 @@ class Context(object):
+@@ -155,6 +155,9 @@
'cfg': ['--disable-multi-arch']}])
self.add_config(arch='aarch64_be',
os_name='linux-gnu')
@@ -134,7 +235,7 @@ index aa6884e046d..9d3f22e2ccc 100755
self.add_config(arch='alpha',
os_name='linux-gnu')
self.add_config(arch='arm',
-@@ -1259,6 +1262,7 @@ class Config(object):
+@@ -1259,6 +1262,7 @@
def install_linux_headers(self, cmdlist):
"""Install Linux kernel headers."""
arch_map = {'aarch64': 'arm64',
@@ -142,11 +243,9 @@ index aa6884e046d..9d3f22e2ccc 100755
'alpha': 'alpha',
'arm': 'arm',
'csky': 'csky',
-diff --git a/stdlib/longlong.h b/stdlib/longlong.h
-index 3dd8dc3aa80..1f0ce420425 100644
--- a/stdlib/longlong.h
+++ b/stdlib/longlong.h
-@@ -199,7 +199,8 @@ extern UDItype __udiv_qrnnd (UDItype *, UDItype, UDItype, UDItype);
+@@ -199,7 +199,8 @@
: "%r" ((USItype) (ah)), \
"rICal" ((USItype) (bh)), \
"%r" ((USItype) (al)), \
@@ -156,7 +255,7 @@ index 3dd8dc3aa80..1f0ce420425 100644
#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 @@ extern UDItype __udiv_qrnnd (UDItype *, UDItype, UDItype, UDItype);
+@@ -207,7 +208,8 @@
: "r" ((USItype) (ah)), \
"rICal" ((USItype) (bh)), \
"r" ((USItype) (al)), \
@@ -166,11 +265,9 @@ index 3dd8dc3aa80..1f0ce420425 100644
#define __umulsidi3(u,v) ((UDItype)(USItype)u*(USItype)v)
#ifdef __ARC_NORM__
-diff --git a/support/Makefile b/support/Makefile
-index ab66913a02d..c64a0a4b907 100644
--- a/support/Makefile
+++ b/support/Makefile
-@@ -184,12 +184,7 @@ CFLAGS-support_paths.c = \
+@@ -184,12 +184,7 @@
-DSBINDIR_PATH=\"$(sbindir)\" \
-DROOTSBINDIR_PATH=\"$(rootsbindir)\"
@@ -183,9 +280,6 @@ index ab66913a02d..c64a0a4b907 100644
ifeq (yes,$(have-selinux))
LDLIBS-$(LINKS_DSO_PROGRAM) += -lselinux
-diff --git a/sysdeps/arc/Implies b/sysdeps/arc/Implies
-new file mode 100644
-index 00000000000..a0f0b00cfac
--- /dev/null
+++ b/sysdeps/arc/Implies
@@ -0,0 +1,4 @@
@@ -193,9 +287,6 @@ index 00000000000..a0f0b00cfac
+wordsize-32
+ieee754/flt-32
+ieee754/dbl-64
-diff --git a/sysdeps/arc/Makefile b/sysdeps/arc/Makefile
-new file mode 100644
-index 00000000000..8d2fbe00c5e
--- /dev/null
+++ b/sysdeps/arc/Makefile
@@ -0,0 +1,25 @@
@@ -224,9 +315,6 @@ index 00000000000..8d2fbe00c5e
+ifeq ($(subdir),debug)
+CFLAGS-backtrace.c += -funwind-tables
+endif
-diff --git a/sysdeps/arc/Versions b/sysdeps/arc/Versions
-new file mode 100644
-index 00000000000..ca0856d2dbd
--- /dev/null
+++ b/sysdeps/arc/Versions
@@ -0,0 +1,6 @@
@@ -236,9 +324,6 @@ index 00000000000..ca0856d2dbd
+ __mcount;
+ }
+}
-diff --git a/sysdeps/arc/__longjmp.S b/sysdeps/arc/__longjmp.S
-new file mode 100644
-index 00000000000..8296aa445f6
--- /dev/null
+++ b/sysdeps/arc/__longjmp.S
@@ -0,0 +1,50 @@
@@ -292,17 +377,11 @@ index 00000000000..8296aa445f6
+ 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 00000000000..49f33613c40
--- /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 00000000000..bdc91d0558f
--- /dev/null
+++ b/sysdeps/arc/atomic-machine.h
@@ -0,0 +1,73 @@
@@ -379,9 +458,6 @@ index 00000000000..bdc91d0558f
+#endif
+
+#endif /* _ARC_BITS_ATOMIC_H */
-diff --git a/sysdeps/arc/bits/endian.h b/sysdeps/arc/bits/endian.h
-new file mode 100644
-index 00000000000..46f41e3cffe
--- /dev/null
+++ b/sysdeps/arc/bits/endian.h
@@ -0,0 +1,12 @@
@@ -397,9 +473,6 @@ index 00000000000..46f41e3cffe
+#ifdef __BIG_ENDIAN__
+# error "Big Endian NOt supported on ARC"
+#endif
-diff --git a/sysdeps/arc/bits/fenv.h b/sysdeps/arc/bits/fenv.h
-new file mode 100644
-index 00000000000..58388fb43a3
--- /dev/null
+++ b/sysdeps/arc/bits/fenv.h
@@ -0,0 +1,72 @@
@@ -475,9 +548,6 @@ index 00000000000..58388fb43a3
+/* 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 00000000000..c4508ab6664
--- /dev/null
+++ b/sysdeps/arc/bits/link.h
@@ -0,0 +1,52 @@
@@ -533,9 +603,6 @@ index 00000000000..c4508ab6664
+ const char *symname);
+
+__END_DECLS
-diff --git a/sysdeps/arc/bits/setjmp.h b/sysdeps/arc/bits/setjmp.h
-new file mode 100644
-index 00000000000..3cb457d097c
--- /dev/null
+++ b/sysdeps/arc/bits/setjmp.h
@@ -0,0 +1,26 @@
@@ -565,23 +632,14 @@ index 00000000000..3cb457d097c
+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 00000000000..90b99cd8c3e
--- /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 00000000000..d3b823c118b
--- /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 00000000000..52e286da2eb
--- /dev/null
+++ b/sysdeps/arc/configure
@@ -0,0 +1,14 @@
@@ -599,9 +657,6 @@ index 00000000000..52e286da2eb
+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 00000000000..1074d312f03
--- /dev/null
+++ b/sysdeps/arc/configure.ac
@@ -0,0 +1,11 @@
@@ -616,9 +671,6 @@ index 00000000000..1074d312f03
+# 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 00000000000..c81acb9d4fd
--- /dev/null
+++ b/sysdeps/arc/dl-machine.h
@@ -0,0 +1,340 @@
@@ -962,9 +1014,6 @@ index 00000000000..c81acb9d4fd
+}
+
+#endif /* RESOLVE_MAP */
-diff --git a/sysdeps/arc/dl-runtime.c b/sysdeps/arc/dl-runtime.c
-new file mode 100644
-index 00000000000..48f4a5a7e1d
--- /dev/null
+++ b/sysdeps/arc/dl-runtime.c
@@ -0,0 +1,39 @@
@@ -1007,9 +1056,6 @@ index 00000000000..48f4a5a7e1d
+#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 00000000000..ffc30b69372
--- /dev/null
+++ b/sysdeps/arc/dl-sysdep.h
@@ -0,0 +1,25 @@
@@ -1038,9 +1084,6 @@ index 00000000000..ffc30b69372
+#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 00000000000..7f0cf91e402
--- /dev/null
+++ b/sysdeps/arc/dl-tls.h
@@ -0,0 +1,30 @@
@@ -1074,9 +1117,6 @@ index 00000000000..7f0cf91e402
+
+/* 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 00000000000..9da75fb1fe2
--- /dev/null
+++ b/sysdeps/arc/dl-trampoline.S
@@ -0,0 +1,80 @@
@@ -1160,9 +1200,6 @@ index 00000000000..9da75fb1fe2
+ 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 00000000000..adb01d981af
--- /dev/null
+++ b/sysdeps/arc/entry.h
@@ -0,0 +1,5 @@
@@ -1171,9 +1208,6 @@ index 00000000000..adb01d981af
+#endif
+
+#define ENTRY_POINT __start
-diff --git a/sysdeps/arc/gccframe.h b/sysdeps/arc/gccframe.h
-new file mode 100644
-index 00000000000..40487fa77b4
--- /dev/null
+++ b/sysdeps/arc/gccframe.h
@@ -0,0 +1,21 @@
@@ -1198,9 +1232,6 @@ index 00000000000..40487fa77b4
+#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 00000000000..e30695fc6b2
--- /dev/null
+++ b/sysdeps/arc/gmp-mparam.h
@@ -0,0 +1,23 @@
@@ -1227,9 +1258,6 @@ index 00000000000..e30695fc6b2
+#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 00000000000..9760f3a3891
--- /dev/null
+++ b/sysdeps/arc/jmpbuf-offsets.h
@@ -0,0 +1,47 @@
@@ -1280,9 +1308,6 @@ index 00000000000..9760f3a3891
+
+/* 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 00000000000..47be5758c75
--- /dev/null
+++ b/sysdeps/arc/jmpbuf-unwind.h
@@ -0,0 +1,47 @@
@@ -1333,9 +1358,6 @@ index 00000000000..47be5758c75
+
+/* 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 00000000000..53ef4e1e83d
--- /dev/null
+++ b/sysdeps/arc/ldsodefs.h
@@ -0,0 +1,43 @@
@@ -1382,9 +1404,6 @@ index 00000000000..53ef4e1e83d
+#include_next <ldsodefs.h>
+
+#endif
-diff --git a/sysdeps/arc/libc-tls.c b/sysdeps/arc/libc-tls.c
-new file mode 100644
-index 00000000000..903a75a41b5
--- /dev/null
+++ b/sysdeps/arc/libc-tls.c
@@ -0,0 +1,27 @@
@@ -1415,9 +1434,6 @@ index 00000000000..903a75a41b5
+ 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 00000000000..1d9e8108d9b
--- /dev/null
+++ b/sysdeps/arc/machine-gmon.h
@@ -0,0 +1,35 @@
@@ -1456,9 +1472,6 @@ index 00000000000..1d9e8108d9b
+ __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 00000000000..29f234f5bac
--- /dev/null
+++ b/sysdeps/arc/memusage.h
@@ -0,0 +1,23 @@
@@ -1485,16 +1498,10 @@ index 00000000000..29f234f5bac
+#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 00000000000..abcbadb25f2
--- /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 00000000000..0e8ef313fa9
--- /dev/null
+++ b/sysdeps/arc/nofpu/libm-test-ulps
@@ -0,0 +1,390 @@
@@ -1888,16 +1895,10 @@ index 00000000000..0e8ef313fa9
+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 00000000000..8c4fba4f9ae
--- /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 00000000000..f5c0b73589e
--- /dev/null
+++ b/sysdeps/arc/nofpu/math-tests-exceptions.h
@@ -0,0 +1,27 @@
@@ -1928,9 +1929,6 @@ index 00000000000..f5c0b73589e
+#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 00000000000..e8f76338b1e
--- /dev/null
+++ b/sysdeps/arc/nofpu/math-tests-rounding.h
@@ -0,0 +1,27 @@
@@ -1961,9 +1959,6 @@ index 00000000000..e8f76338b1e
+#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 00000000000..3c33c9cc112
--- /dev/null
+++ b/sysdeps/arc/nptl/Makefile
@@ -0,0 +1,22 @@
@@ -1989,9 +1984,6 @@ index 00000000000..3c33c9cc112
+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 00000000000..eae884f61cf
--- /dev/null
+++ b/sysdeps/arc/nptl/bits/pthreadtypes-arch.h
@@ -0,0 +1,71 @@
@@ -2066,9 +2058,6 @@ index 00000000000..eae884f61cf
+#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 00000000000..662d08401d0
--- /dev/null
+++ b/sysdeps/arc/nptl/bits/semaphore.h
@@ -0,0 +1,32 @@
@@ -2104,9 +2093,6 @@ index 00000000000..662d08401d0
+ char __size[__SIZEOF_SEM_T];
+ long int __align;
+} sem_t;
-diff --git a/sysdeps/arc/nptl/pthread-offsets.h b/sysdeps/arc/nptl/pthread-offsets.h
-new file mode 100644
-index 00000000000..c363e8cda8d
--- /dev/null
+++ b/sysdeps/arc/nptl/pthread-offsets.h
@@ -0,0 +1,4 @@
@@ -2114,9 +2100,6 @@ index 00000000000..c363e8cda8d
+#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 00000000000..80a109bbd52
--- /dev/null
+++ b/sysdeps/arc/nptl/pthreaddef.h
@@ -0,0 +1,32 @@
@@ -2152,9 +2135,6 @@ index 00000000000..80a109bbd52
+
+/* 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 00000000000..56950e0676e
--- /dev/null
+++ b/sysdeps/arc/nptl/tcb-offsets.sym
@@ -0,0 +1,11 @@
@@ -2169,9 +2149,6 @@ index 00000000000..56950e0676e
+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 00000000000..2c90109d570
--- /dev/null
+++ b/sysdeps/arc/nptl/tls.h
@@ -0,0 +1,150 @@
@@ -2325,9 +2302,6 @@ index 00000000000..2c90109d570
+#endif /* __ASSEMBLER__ */
+
+#endif /* tls.h */
-diff --git a/sysdeps/arc/preconfigure b/sysdeps/arc/preconfigure
-new file mode 100644
-index 00000000000..d9c5429f405
--- /dev/null
+++ b/sysdeps/arc/preconfigure
@@ -0,0 +1,15 @@
@@ -2346,9 +2320,6 @@ index 00000000000..d9c5429f405
+ ;;
+
+esac
-diff --git a/sysdeps/arc/setjmp.S b/sysdeps/arc/setjmp.S
-new file mode 100644
-index 00000000000..518545a99e8
--- /dev/null
+++ b/sysdeps/arc/setjmp.S
@@ -0,0 +1,66 @@
@@ -2418,9 +2389,6 @@ index 00000000000..518545a99e8
+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 00000000000..5ceaf56a988
--- /dev/null
+++ b/sysdeps/arc/sfp-machine.h
@@ -0,0 +1,73 @@
@@ -2497,9 +2465,6 @@ index 00000000000..5ceaf56a988
+ } 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 00000000000..ffbb5bbd6d0
--- /dev/null
+++ b/sysdeps/arc/sotruss-lib.c
@@ -0,0 +1,51 @@
@@ -2554,9 +2519,6 @@ index 00000000000..ffbb5bbd6d0
+
+ return 0;
+}
-diff --git a/sysdeps/arc/stackinfo.h b/sysdeps/arc/stackinfo.h
-new file mode 100644
-index 00000000000..fe69161382a
--- /dev/null
+++ b/sysdeps/arc/stackinfo.h
@@ -0,0 +1,33 @@
@@ -2593,9 +2555,6 @@ index 00000000000..fe69161382a
+#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 00000000000..4ade1e871f6
--- /dev/null
+++ b/sysdeps/arc/start.S
@@ -0,0 +1,89 @@
@@ -2688,9 +2647,6 @@ index 00000000000..4ade1e871f6
+ .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 00000000000..127e9b01e73
--- /dev/null
+++ b/sysdeps/arc/sysdep.h
@@ -0,0 +1,48 @@
@@ -2742,9 +2698,6 @@ index 00000000000..127e9b01e73
+# 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 00000000000..4d54683eda4
--- /dev/null
+++ b/sysdeps/arc/tls-macros.h
@@ -0,0 +1,47 @@
@@ -2795,9 +2748,6 @@ index 00000000000..4d54683eda4
+ "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 00000000000..9237ad2440c
--- /dev/null
+++ b/sysdeps/arc/tst-audit.h
@@ -0,0 +1,23 @@
@@ -2824,18 +2774,12 @@ index 00000000000..9237ad2440c
+#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 00000000000..7f739a0340b
--- /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 00000000000..a6c6dfc6ec6
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/Makefile
@@ -0,0 +1,20 @@
@@ -2859,9 +2803,6 @@ index 00000000000..a6c6dfc6ec6
+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 00000000000..3eedf26ae23
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/Versions
@@ -0,0 +1,16 @@
@@ -2881,9 +2822,6 @@ index 00000000000..3eedf26ae23
+ __default_rt_sa_restorer;
+ }
+}
-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 00000000000..b37deaee587
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/bits/procfs.h
@@ -0,0 +1,35 @@
@@ -2922,9 +2860,6 @@ index 00000000000..b37deaee587
+
+/* 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 00000000000..795638a30bd
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/bits/types/__sigset_t.h
@@ -0,0 +1,12 @@
@@ -2940,9 +2875,6 @@ index 00000000000..795638a30bd
+} __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 00000000000..303f4570c8e
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/c++-types.data
@@ -0,0 +1,67 @@
@@ -3013,9 +2945,6 @@ index 00000000000..303f4570c8e
+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 00000000000..55c2a2b60ed
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/clone.S
@@ -0,0 +1,98 @@
@@ -3117,9 +3046,6 @@ index 00000000000..55c2a2b60ed
+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 00000000000..f74fa7cb025
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/configure
@@ -0,0 +1,4 @@
@@ -3127,9 +3053,6 @@ index 00000000000..f74fa7cb025
+ # 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 00000000000..a9528032d32
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/configure.ac
@@ -0,0 +1,4 @@
@@ -3137,9 +3060,6 @@ index 00000000000..a9528032d32
+# 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 00000000000..1a8757c9840
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/dl-static.c
@@ -0,0 +1,84 @@
@@ -3227,9 +3147,6 @@ index 00000000000..1a8757c9840
+}
+
+#endif
-diff --git a/sysdeps/unix/sysv/linux/arc/getcontext.S b/sysdeps/unix/sysv/linux/arc/getcontext.S
-new file mode 100644
-index 00000000000..723cc237d87
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/getcontext.S
@@ -0,0 +1,63 @@
@@ -3296,9 +3213,6 @@ index 00000000000..723cc237d87
+
+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 00000000000..309eb3064e9
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/ipc_priv.h
@@ -0,0 +1,21 @@
@@ -3323,9 +3237,6 @@ index 00000000000..309eb3064e9
+#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 00000000000..6c129398483
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/jmp_buf-macros.h
@@ -0,0 +1,6 @@
@@ -3335,9 +3246,6 @@ index 00000000000..6c129398483
+#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 00000000000..00255337bc8
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/kernel-features.h
@@ -0,0 +1,28 @@
@@ -3369,9 +3277,6 @@ index 00000000000..00255337bc8
+
+#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 00000000000..41183d7beed
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/ld.abilist
@@ -0,0 +1,9 @@
@@ -3384,9 +3289,6 @@ index 00000000000..41183d7beed
+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 00000000000..8c5c6800af1
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/ldsodefs.h
@@ -0,0 +1,32 @@
@@ -3422,16 +3324,10 @@ index 00000000000..8c5c6800af1
+#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 00000000000..c6253c0ae8a
--- /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 00000000000..d3b753219ee
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/libanl.abilist
@@ -0,0 +1,4 @@
@@ -3439,9 +3335,6 @@ index 00000000000..d3b753219ee
+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 00000000000..823ae25bccf
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -0,0 +1,2084 @@
@@ -5529,17 +5422,11 @@ index 00000000000..823ae25bccf
+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 00000000000..8d83578d8cf
--- /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 00000000000..3fc6d95b85b
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/libdl.abilist
@@ -0,0 +1,9 @@
@@ -5552,9 +5439,6 @@ index 00000000000..3fc6d95b85b
+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 00000000000..43f3a97e6f2
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/libm.abilist
@@ -0,0 +1,753 @@
@@ -6311,9 +6195,6 @@ index 00000000000..43f3a97e6f2
+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 00000000000..d89cf8d3014
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
@@ -0,0 +1,240 @@
@@ -6557,9 +6438,6 @@ index 00000000000..d89cf8d3014
+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 00000000000..ca745f5b987
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/libresolv.abilist
@@ -0,0 +1,79 @@
@@ -6642,9 +6520,6 @@ index 00000000000..ca745f5b987
+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 00000000000..8d39a086966
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/librt.abilist
@@ -0,0 +1,35 @@
@@ -6683,9 +6558,6 @@ index 00000000000..8d39a086966
+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 00000000000..94220c95927
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/libthread_db.abilist
@@ -0,0 +1,40 @@
@@ -6729,9 +6601,6 @@ index 00000000000..94220c95927
+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 00000000000..f745157afa3
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/libutil.abilist
@@ -0,0 +1,6 @@
@@ -6741,9 +6610,6 @@ index 00000000000..f745157afa3
+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 00000000000..e902fd0607a
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/localplt.data
@@ -0,0 +1,16 @@
@@ -6763,9 +6629,6 @@ index 00000000000..e902fd0607a
+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 00000000000..3d46452e175
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/makecontext.c
@@ -0,0 +1,75 @@
@@ -6844,9 +6707,6 @@ index 00000000000..3d46452e175
+}
+
+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 00000000000..51d0a25f26b
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/mmap_internal.h
@@ -0,0 +1,27 @@
@@ -6877,24 +6737,15 @@ index 00000000000..51d0a25f26b
+#include_next <mmap_internal.h>
+
+#endif
-diff --git a/sysdeps/unix/sysv/linux/arc/profil-counter.h b/sysdeps/unix/sysv/linux/arc/profil-counter.h
-new file mode 100644
-index 00000000000..8a6a0bcf3d5
--- /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 00000000000..1cc89317007
--- /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 00000000000..8cf4ffcaf5a
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/setcontext.S
@@ -0,0 +1,92 @@
@@ -6990,17 +6841,11 @@ index 00000000000..8cf4ffcaf5a
+ /* 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 00000000000..cbe457b9dbe
--- /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 00000000000..db7293865f3
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/sigaction.c
@@ -0,0 +1,31 @@
@@ -7035,9 +6880,6 @@ index 00000000000..db7293865f3
+#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 00000000000..acf03c6afd9
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/sigcontextinfo.h
@@ -0,0 +1,23 @@
@@ -7064,9 +6906,6 @@ index 00000000000..acf03c6afd9
+
+#define SIGCONTEXT int _code, struct ucontext_t *
+#define GET_PC(ctx) ((void *) (ctx)->uc_mcontext.__scratch.__ret)
-diff --git a/sysdeps/unix/sysv/linux/arc/sigrestorer.S b/sysdeps/unix/sysv/linux/arc/sigrestorer.S
-new file mode 100644
-index 00000000000..573b54e36cf
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/sigrestorer.S
@@ -0,0 +1,29 @@
@@ -7099,9 +6938,6 @@ index 00000000000..573b54e36cf
+ 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 00000000000..853d3805de6
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/swapcontext.S
@@ -0,0 +1,92 @@
@@ -7197,9 +7033,6 @@ index 00000000000..853d3805de6
+
+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 00000000000..2d93e49e6a9
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/sys/cachectl.h
@@ -0,0 +1,36 @@
@@ -7239,9 +7072,6 @@ index 00000000000..2d93e49e6a9
+__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 00000000000..7e357bcd65e
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/sys/ucontext.h
@@ -0,0 +1,63 @@
@@ -7308,9 +7138,6 @@ index 00000000000..7e357bcd65e
+#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 00000000000..50d0dc7827a
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/sys/user.h
@@ -0,0 +1,31 @@
@@ -7345,9 +7172,6 @@ index 00000000000..50d0dc7827a
+};
+
+#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 00000000000..3fe5fcdd041
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/syscall.S
@@ -0,0 +1,38 @@
@@ -7389,18 +7213,12 @@ index 00000000000..3fe5fcdd041
+ 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 00000000000..d0ef5977ee0
--- /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 00000000000..5618f378515
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/sysdep.c
@@ -0,0 +1,33 @@
@@ -7437,9 +7255,6 @@ index 00000000000..5618f378515
+#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 00000000000..9ad95d97ae1
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/sysdep.h
@@ -0,0 +1,251 @@
@@ -7694,9 +7509,6 @@ index 00000000000..9ad95d97ae1
+#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 00000000000..ed261399c98
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/ucontext-macros.h
@@ -0,0 +1,29 @@
@@ -7729,9 +7541,6 @@ index 00000000000..ed261399c98
+#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 00000000000..d84e92f9f54
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/ucontext_i.sym
@@ -0,0 +1,20 @@
@@ -7755,9 +7564,6 @@ index 00000000000..d84e92f9f54
+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 00000000000..7f981d0681c
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/vfork.S
@@ -0,0 +1,42 @@
@@ -7803,11 +7609,9 @@ index 00000000000..7f981d0681c
+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 21bf37c6274..1b12c8844a1 100644
--- a/sysdeps/unix/sysv/linux/syscall-names.list
+++ b/sysdeps/unix/sysv/linux/syscall-names.list
-@@ -42,6 +42,9 @@ adjtimex
+@@ -42,6 +42,9 @@
afs_syscall
alarm
alloc_hugepages
@@ -7817,11 +7621,9 @@ index 21bf37c6274..1b12c8844a1 100644
arch_prctl
arm_fadvise64_64
arm_sync_file_range
-diff --git a/timezone/zic.c b/timezone/zic.c
-index 2ebc66a9af5..8e8d94fac3a 100644
--- a/timezone/zic.c
+++ b/timezone/zic.c
-@@ -39,7 +39,7 @@ typedef int_fast64_t zic_t;
+@@ -39,7 +39,7 @@
#include <sys/stat.h>
#endif
#ifdef S_IRUSR