On 5/4/20 2:21 PM, Vineet Gupta wrote: > On 4/22/20 6:41 PM, Vineet Gupta wrote: >> Hi, >> >> This patchset implements glibc port to ARC HS48x processor from Synopsys. > > ping ! ping ^2 I have rebased and adjusted the v6 patch for semaphore header unification. Would appreciate more technincal review. > >> >> 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