On 4/22/20 6:41 PM, Vineet Gupta wrote: > Hi, > > This patchset implements glibc port to ARC HS48x processor from Synopsys. ping ! > > This still needs a couple of inflight 64-time, offset patches. > > git@xxxxxxxxxx:foss-for-synopsys-dwc-arc-processors/glibc.git upstream-v6 > > v6: > * Dropped 11/14: merged upstream > * _FPU_SETS() inline asm reworked > * Introduce fixup-asm-unistd.h to elide 32-bit time, offset syscalls and > regenerate arch-syscall.h > * Fix snafu in updating build-many-glibcs for ARC > * More code sytle fixes flagged by Joseph > v5: > * Big Endian formally supported as multi-ABI > * Removed code for ARC700 processors > * Hard-float code updates: fegetmode, fesetround, feupdateenv > * socket-constant.h update for 64-bit ABI spun off as standalone patch > * __syscall_error made glibc_private > * math ulps regen > * gmp-mparam.h removed > * lint fixes as flagged by Joseph > v4: > * Dropped 1/17: Merged upstream > * Dropped 17/17: > - 64-bit time/offset code chunked up into respective patches > * sysctl removed > * Updated README for arc gnu triplet > * Updated install files for ARC gcc/binutils requirements > * Updated NEWS with brief ISA/ABI info > > v3: > * Support for Hardware Floating Point > * 64-bit time and offsets ABI (although all such changes are confined > to a single patch) > > v5: https://sourceware.org/pipermail/libc-alpha/2020-April/112657.html > v4: https://sourceware.org/pipermail/libc-alpha/2020-March/111855.html > v3: https://sourceware.org/legacy-ml/libc-alpha/2020-03/msg00167.html > v2: https://sourceware.org/legacy-ml/libc-alpha/2019-01/msg00681.html > v1: https://sourceware.org/legacy-ml/libc-alpha/2018-12/msg00678.html > > Documentation: > -------------- > > (a) ABI doc: > https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/wiki/files/ARCv2_ABI.pdf > > (b) Programmer's Reference Manual (PRM) : needs a download request to be filled > https://www.synopsys.com/dw/ipdir.php?ds=arc-hs44-hs46-hs48 > https://www.synopsys.com/dw/doc.php/ds/cc/programmers-reference-manual-ARC-HS.pdf > > Test Results: > -------------- > (a) build-many-glibcs.py > > | Summary of test results: > | 1251 PASS > | 15 XFAIL > > > (b) Full testsuite ran in a cross compile setup using buildroot on HSDK development > platform. Bulk of failures come from cross testing setup and I > intend to improve things with native testing going forward. > > | Summary of test results: > | 30 FAIL (-3) > | > | FAIL: csu/test-as-const-tcb-offsets > + FAIL: elf/tst-audit14 > + FAIL: elf/tst-audit15 > + FAIL: elf/tst-audit16 > | FAIL: elf/tst-ldconfig-ld_so_conf-update # not true: dlopen > | FAIL: iconv/test-iconvconfig # Needs gconv installed > - FAIL: iconv/tst-gconv-init-failure > | FAIL: io/ftwtest # Requires execution by non-root > - FAIL: io/tst-futimesat > | FAIL: io/tst-lockf > | FAIL: libio/tst-wfile-sync > | FAIL: locale/tst-C-locale > | FAIL: locale/tst-duplocale > | FAIL: locale/tst-locale-locpath > | FAIL: locale/tst-locname > | FAIL: localedata/sort-test > | FAIL: nptl/test-cond-printers # needs Python3 and target GDB on target > | FAIL: nptl/test-condattr-printers # ditto > | FAIL: nptl/test-mutex-printers # ditto > | FAIL: nptl/test-mutexattr-printers # ditto > | FAIL: nptl/test-rwlock-printers # ditto > | FAIL: nptl/test-rwlockattr-printers # ditto > | FAIL: nptl/tst-umask1 # passes if run natively on target (NFS ACLv3 support needed) > | FAIL: nss/bug-erange > | FAIL: nss/tst-nss-files-hosts-getent # Timed out > | FAIL: nss/tst-nss-files-hosts-multi # Timed out > | FAIL: posix/bug-ga2 # DNS issue: google DNS vs. SNPS > | FAIL: posix/globtest # require same user on target and host > | FAIL: posix/tst-getaddrinfo5 # passes outside corporate network > - FAIL: resolv/tst-resolv-basic > - FAIL: resolv/tst-resolv-edns > - FAIL: resolv/tst-resolv-rotate > - FAIL: resolv/tst-resolv-search > | FAIL: stdio-common/bug22 # Needs more RAM: 2 GB memory > | FAIL: sunrpc/bug20790 # missing cpp on target > | FAIL: timezone/tst-tzset # passes outside corporate network > > > kindly review. > > Thx, > -Vineet > > Vineet Gupta (13): > ARC: ABI Implementation > ARC: startup and dynamic linking code > ARC: Thread Local Storage support > ARC: Atomics and Locking primitives > ARC: math soft float support > ARC: hardware floating point support > ARC: Linux Syscall Interface > ARC: Linux ABI > ARC: Linux Startup and Dynamic Loading > ARC: ABI lists > ARC: Build Infrastructure > build-many-glibcs.py: Enable ARC builds > Documentation for ARC port > > NEWS | 9 + > README | 1 + > config.h.in | 3 + > manual/install.texi | 4 + > scripts/build-many-glibcs.py | 10 + > sysdeps/arc/Implies | 3 + > sysdeps/arc/Makefile | 21 + > sysdeps/arc/Versions | 8 + > sysdeps/arc/__longjmp.S | 50 + > sysdeps/arc/abort-instr.h | 2 + > sysdeps/arc/atomic-machine.h | 69 + > sysdeps/arc/bits/endianness.h | 15 + > sysdeps/arc/bits/fenv.h | 77 + > 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 | 182 ++ > sysdeps/arc/configure.ac | 26 + > sysdeps/arc/dl-machine.h | 340 +++ > sysdeps/arc/dl-runtime.c | 33 + > 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/fpu/e_sqrt.c | 27 + > sysdeps/arc/fpu/e_sqrtf.c | 27 + > sysdeps/arc/fpu/fclrexcpt.c | 36 + > sysdeps/arc/fpu/fegetenv.c | 37 + > sysdeps/arc/fpu/fegetmode.c | 31 + > sysdeps/arc/fpu/fegetround.c | 32 + > sysdeps/arc/fpu/feholdexcpt.c | 43 + > sysdeps/arc/fpu/fesetenv.c | 48 + > sysdeps/arc/fpu/fesetexcept.c | 32 + > sysdeps/arc/fpu/fesetmode.c | 40 + > sysdeps/arc/fpu/fesetround.c | 40 + > sysdeps/arc/fpu/feupdateenv.c | 51 + > sysdeps/arc/fpu/fgetexcptflg.c | 31 + > sysdeps/arc/fpu/fraiseexcpt.c | 39 + > sysdeps/arc/fpu/fsetexcptflg.c | 38 + > sysdeps/arc/fpu/ftestexcept.c | 33 + > sysdeps/arc/fpu/libm-test-ulps | 1140 +++++++++ > sysdeps/arc/fpu/libm-test-ulps-name | 1 + > sysdeps/arc/fpu/s_fma.c | 28 + > sysdeps/arc/fpu/s_fmaf.c | 28 + > sysdeps/arc/fpu_control.h | 106 + > sysdeps/arc/gccframe.h | 21 + > sysdeps/arc/get-rounding-mode.h | 38 + > 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/math-tests-trap.h | 27 + > sysdeps/arc/memusage.h | 23 + > sysdeps/arc/nofpu/Implies | 1 + > sysdeps/arc/nofpu/libm-test-ulps | 270 +++ > 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/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 | 14 + > 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 | 74 + > sysdeps/arc/sysdep.h | 48 + > sysdeps/arc/tininess.h | 1 + > 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 | 29 + > sysdeps/unix/sysv/linux/arc/Versions | 16 + > sysdeps/unix/sysv/linux/arc/arch-syscall.h | 303 +++ > sysdeps/unix/sysv/linux/arc/bits/procfs.h | 35 + > sysdeps/unix/sysv/linux/arc/bits/timesize.h | 21 + > .../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 + > .../unix/sysv/linux/arc/fixup-asm-unistd.h | 41 + > sysdeps/unix/sysv/linux/arc/getcontext.S | 63 + > sysdeps/unix/sysv/linux/arc/jmp_buf-macros.h | 6 + > sysdeps/unix/sysv/linux/arc/kernel-features.h | 28 + > sysdeps/unix/sysv/linux/arc/kernel_stat.h | 26 + > sysdeps/unix/sysv/linux/arc/ld.abilist | 5 + > sysdeps/unix/sysv/linux/arc/ldconfig.h | 27 + > 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 | 2082 +++++++++++++++++ > sysdeps/unix/sysv/linux/arc/libcrypt.abilist | 2 + > sysdeps/unix/sysv/linux/arc/libdl.abilist | 9 + > sysdeps/unix/sysv/linux/arc/libm.abilist | 699 ++++++ > .../unix/sysv/linux/arc/libpthread.abilist | 216 ++ > 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 | 12 + > sysdeps/unix/sysv/linux/arc/makecontext.c | 73 + > 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 | 7 + > sysdeps/unix/sysv/linux/arc/sigaction.c | 31 + > sysdeps/unix/sysv/linux/arc/sigcontextinfo.h | 28 + > 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 | 61 + > sysdeps/unix/sysv/linux/arc/sys/user.h | 31 + > sysdeps/unix/sysv/linux/arc/syscall.S | 33 + > sysdeps/unix/sysv/linux/arc/syscalls.list | 3 + > sysdeps/unix/sysv/linux/arc/sysctl.mk | 1 + > sysdeps/unix/sysv/linux/arc/sysdep.c | 33 + > sysdeps/unix/sysv/linux/arc/sysdep.h | 224 ++ > 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 + > 127 files changed, 9254 insertions(+) > 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/fpu/e_sqrt.c > create mode 100644 sysdeps/arc/fpu/e_sqrtf.c > create mode 100644 sysdeps/arc/fpu/fclrexcpt.c > create mode 100644 sysdeps/arc/fpu/fegetenv.c > create mode 100644 sysdeps/arc/fpu/fegetmode.c > create mode 100644 sysdeps/arc/fpu/fegetround.c > create mode 100644 sysdeps/arc/fpu/feholdexcpt.c > create mode 100644 sysdeps/arc/fpu/fesetenv.c > create mode 100644 sysdeps/arc/fpu/fesetexcept.c > create mode 100644 sysdeps/arc/fpu/fesetmode.c > create mode 100644 sysdeps/arc/fpu/fesetround.c > create mode 100644 sysdeps/arc/fpu/feupdateenv.c > create mode 100644 sysdeps/arc/fpu/fgetexcptflg.c > create mode 100644 sysdeps/arc/fpu/fraiseexcpt.c > create mode 100644 sysdeps/arc/fpu/fsetexcptflg.c > create mode 100644 sysdeps/arc/fpu/ftestexcept.c > create mode 100644 sysdeps/arc/fpu/libm-test-ulps > create mode 100644 sysdeps/arc/fpu/libm-test-ulps-name > create mode 100644 sysdeps/arc/fpu/s_fma.c > create mode 100644 sysdeps/arc/fpu/s_fmaf.c > create mode 100644 sysdeps/arc/fpu_control.h > create mode 100644 sysdeps/arc/gccframe.h > create mode 100644 sysdeps/arc/get-rounding-mode.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/math-tests-trap.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/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/tininess.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/timesize.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/fixup-asm-unistd.h > create mode 100644 sysdeps/unix/sysv/linux/arc/getcontext.S > 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/kernel_stat.h > create mode 100644 sysdeps/unix/sysv/linux/arc/ld.abilist > create mode 100644 sysdeps/unix/sysv/linux/arc/ldconfig.h > 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/sysctl.mk > 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 > _______________________________________________ linux-snps-arc mailing list linux-snps-arc@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/linux-snps-arc