From f290ad24173549c46ff070df86335aebc50b1bde Mon Sep 17 00:00:00 2001 From: Alexey Neyman Date: Tue, 25 Feb 2020 23:30:11 -0800 Subject: Update ARC patch to glibc 2.31 Build-tested only. Signed-off-by: Alexey Neyman 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 + +[Updated to glibc 2.31: remove headers that became generic +(including pthread-offsets.h which had incorrect offsets copied +from 64-bit platforms), remove 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 #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 __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 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 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 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 '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 #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 #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 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 +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 +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 + __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 + 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 +#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 directly; include instead." ++#ifndef _BITS_ENDIAN_H ++# error "Never use directly; include instead." +#endif + +#ifdef __LITTLE_ENDIAN__ @@ -473,6 +606,10 @@ Signed-off-by: Alexey Brodkin +#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 +/* 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 + 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 +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 +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 +# 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 +} + +#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 +#define reloc_offset reloc_index * sizeof (PLTREL) + +#include +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 +#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 + +/* 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 + 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 +#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 +#define FIRST_PSEUDO_REGISTER 40 + +#include +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 +#include + +#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 + +/* 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 + +/* 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 +#include_next + +#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 + 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 + __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 +#define uatomic32_t unsigned int + +#include +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 +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 +#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 +#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 +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 +#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 + 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 + +/* 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 +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 +#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 + ;; + +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 +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 + } 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 + + 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 +#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 + .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 +# 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 + "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 +#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 +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 + __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 + +/* 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 +} __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 +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 +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 + # 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 +# 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 +} + +#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 + +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 +#include /* 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 +#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 + +#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 +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 +#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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +} + +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 +#include_next + +#endif ---- /dev/null -+++ b/sysdeps/unix/sysv/linux/arc/profil-counter.h -@@ -0,0 +1,2 @@ -+/* We can use the ix86 version. */ -+#include +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 + /* 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 +#define RESET_SA_RESTORER(act, kact) + +#include +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 + License along with the GNU C Library; if not, see + . */ + ++#ifndef _SIGCONTEXTINFO_H ++#define _SIGCONTEXTINFO_H ++ ++#include +#include -+#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 + 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 + +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 +__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 +#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 +}; + +#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 + 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 +#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 +#ifndef _LINUX_ARC_SYSDEP_H +#define _LINUX_ARC_SYSDEP_H 1 + -+#include +#include +#include + @@ -7509,6 +8188,9 @@ Signed-off-by: Alexey Brodkin +#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 +#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 +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 +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 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 #endif #ifdef S_IRUSR @@ -7632,3 +8324,6 @@ Signed-off-by: Alexey Brodkin #else #define MKDIR_UMASK 0755 #endif +-- +2.20.1 + -- cgit v0.10.2-6-g49f6