[RFC PATCH 00/10] port C-SKY to glibc
Mao Han
han_mao@c-sky.com
Fri Mar 16 09:59:00 GMT 2018
I am working on editing C-SKY Glibc porting, and want to upstream these
patches to the official master branch. I send the email for the initial
review, and want get some suggestion on what I should do next.
I was Employed by Hangzhou C-SKY Microsystems Co., Ltd.; and responsible
for the C-SKY porting of Glibc. Meanwhile, we are doing the upstreams of
C-SKY GCC, binutils, GDB and Linux. Mentor graphic is helping us with the
upstream submission of GCC, binutils, GDB. More information about us is on
http://en.c-sky.com/.
This patchset adds architecture support to Glibc for CK610, CK807, CK810
processor cores. It base on the release version of 2.27.
CK610 is the second-generation CPU of CSKY, fullycompatible with M*Core.
CK807/CK810 bases on C-SKY V2 instruction set architecture and 16/32-bit
variable length instruction. Including basic core(CK807/CK810),
floating-point enhancement(CK807F/CK810F), multimedia enhancement (CK810D)
and multiple-processing extension (CK807MP/CK810MP).
The porting of C-SKY Glibc is tested in our CI enviroment. Toolchain, kernel,
test packages are built form source code via builtroot. LTP, Lmbench, dhrystone
etc are tested in the enviroment.
Here is our CI envoirnment:
https://gitlab.com/c-sky/buildroot/pipelines
Our sources are available on github.com/c-sky. Including gcc, glibc, uclibc-ng
Linux kernel e.g.
Mao Han (10):
C-SKY: ABI related code
C-SKY: TLS support
C-SKY: Generic math Routines
C-SKY: Hard Float Support
C-SKY: Linux Startup and Dynamic Loading Code
C-SKY: Build Infastructure
C-SKY: Atomic and Locking Routines
C-SKY: ABI Lists
C-SKY: Linux Syscall Interface
C-SKY: Linux ABI
elf/elf.h | 61 +
scripts/config.sub | 4 +-
sysdeps/csky/Implies | 4 +
sysdeps/csky/Makefile | 32 +
sysdeps/csky/__longjmp.S | 67 +
sysdeps/csky/abort-instr.h | 2 +
sysdeps/csky/atomic-machine.h | 115 ++
sysdeps/csky/backtrace.c | 128 ++
sysdeps/csky/bits/endian.h | 10 +
sysdeps/csky/bits/fenv.h | 97 +
sysdeps/csky/bits/link.h | 54 +
sysdeps/csky/bits/setjmp.h | 32 +
sysdeps/csky/bsd-_setjmp.S | 1 +
sysdeps/csky/bsd-setjmp.S | 1 +
sysdeps/csky/configure | 4 +
sysdeps/csky/configure.ac | 4 +
sysdeps/csky/crti.S | 113 ++
sysdeps/csky/crtn.S | 51 +
sysdeps/csky/csky-mcount.S | 87 +
sysdeps/csky/dl-machine.h | 471 +++++
sysdeps/csky/dl-procinfo.c | 62 +
sysdeps/csky/dl-procinfo.h | 59 +
sysdeps/csky/dl-sysdep.h | 23 +
sysdeps/csky/dl-tls.h | 26 +
sysdeps/csky/dl-tlsdesc.h | 61 +
sysdeps/csky/dl-trampoline.S | 110 ++
sysdeps/csky/fenv_private.h | 288 +++
sysdeps/csky/fpu/fclrexcpt.c | 47 +
sysdeps/csky/fpu/fedisblxcpt.c | 46 +
sysdeps/csky/fpu/feenablxcpt.c | 45 +
sysdeps/csky/fpu/fegetenv.c | 43 +
sysdeps/csky/fpu/fegetexcept.c | 37 +
sysdeps/csky/fpu/fegetmode.c | 29 +
sysdeps/csky/fpu/fegetround.c | 39 +
sysdeps/csky/fpu/feholdexcpt.c | 39 +
sysdeps/csky/fpu/fenv_libc.h | 29 +
sysdeps/csky/fpu/fesetenv.c | 65 +
sysdeps/csky/fpu/fesetexcept.c | 37 +
sysdeps/csky/fpu/fesetmode.c | 37 +
sysdeps/csky/fpu/fesetround.c | 42 +
sysdeps/csky/fpu/feupdateenv.c | 52 +
sysdeps/csky/fpu/fgetexcptflg.c | 37 +
sysdeps/csky/fpu/fraiseexcpt.c | 131 ++
sysdeps/csky/fpu/fsetexcptflg.c | 48 +
sysdeps/csky/fpu/ftestexcept.c | 35 +
sysdeps/csky/fpu_control.h | 150 ++
sysdeps/csky/gccframe.h | 21 +
sysdeps/csky/jmpbuf-unwind.h | 47 +
sysdeps/csky/ldsodefs.h | 42 +
sysdeps/csky/libc-tls.c | 32 +
sysdeps/csky/libm-test-ulps | 1682 ++++++++++++++++
sysdeps/csky/libm-test-ulps-name | 1 +
sysdeps/csky/linkmap.h | 5 +
sysdeps/csky/machine-gmon.h | 32 +
sysdeps/csky/macro.S | 31 +
sysdeps/csky/math-tests.h | 35 +
sysdeps/csky/math_private.h | 7 +
sysdeps/csky/memcpy.S | 400 ++++
sysdeps/csky/memusage.h | 20 +
sysdeps/csky/nptl/Makefile | 20 +
sysdeps/csky/nptl/bits/pthreadtypes-arch.h | 71 +
sysdeps/csky/nptl/bits/semaphore.h | 34 +
sysdeps/csky/nptl/pthread-offsets.h | 5 +
sysdeps/csky/nptl/pthreaddef.h | 40 +
sysdeps/csky/nptl/tcb-offsets.sym | 10 +
sysdeps/csky/nptl/tls.h | 169 ++
sysdeps/csky/preconfigure | 5 +
sysdeps/csky/setjmp.S | 95 +
sysdeps/csky/sfp-machine.h | 51 +
sysdeps/csky/sotruss-lib.c | 49 +
sysdeps/csky/stackinfo.h | 32 +
sysdeps/csky/start.S | 133 ++
sysdeps/csky/strcmp.S | 337 ++++
sysdeps/csky/strcpy.S | 273 +++
sysdeps/csky/sys/ucontext.h | 116 ++
sysdeps/csky/sysdep.h | 46 +
sysdeps/csky/tls-macros.h | 106 +
sysdeps/csky/tst-audit.h | 24 +
sysdeps/unix/csky/abiv2_sysdep.S | 73 +
sysdeps/unix/csky/sysdep.S | 84 +
sysdeps/unix/csky/sysdep.h | 26 +
sysdeps/unix/sysv/linux/csky/Implies | 1 +
sysdeps/unix/sysv/linux/csky/Makefile | 28 +
sysdeps/unix/sysv/linux/csky/____longjmp_chk.S | 129 ++
sysdeps/unix/sysv/linux/csky/abiv2_brk.c | 56 +
sysdeps/unix/sysv/linux/csky/abiv2_clone.S | 133 ++
sysdeps/unix/sysv/linux/csky/abiv2_getcontext.S | 72 +
sysdeps/unix/sysv/linux/csky/abiv2_mmap.S | 62 +
sysdeps/unix/sysv/linux/csky/abiv2_setcontext.S | 95 +
sysdeps/unix/sysv/linux/csky/abiv2_socket.S | 152 ++
sysdeps/unix/sysv/linux/csky/abiv2_syscall.S | 69 +
sysdeps/unix/sysv/linux/csky/abiv2_vfork.S | 45 +
sysdeps/unix/sysv/linux/csky/alphasort64.c | 1 +
sysdeps/unix/sysv/linux/csky/bits/fcntl.h | 54 +
sysdeps/unix/sysv/linux/csky/bits/mman.h | 42 +
sysdeps/unix/sysv/linux/csky/bits/shm.h | 103 +
sysdeps/unix/sysv/linux/csky/brk.c | 61 +
sysdeps/unix/sysv/linux/csky/c++-types.data | 67 +
sysdeps/unix/sysv/linux/csky/clone.S | 125 ++
sysdeps/unix/sysv/linux/csky/configure | 5 +
sysdeps/unix/sysv/linux/csky/configure.ac | 6 +
sysdeps/unix/sysv/linux/csky/csky_readtp.h | 24 +
sysdeps/unix/sysv/linux/csky/ftruncate64.c | 41 +
sysdeps/unix/sysv/linux/csky/fxstat.c | 1 +
sysdeps/unix/sysv/linux/csky/fxstatat.c | 1 +
sysdeps/unix/sysv/linux/csky/getcontext.S | 108 +
sysdeps/unix/sysv/linux/csky/getdents64.c | 1 +
sysdeps/unix/sysv/linux/csky/jmp_buf-macros.h | 6 +
sysdeps/unix/sysv/linux/csky/kernel-features.h | 29 +
sysdeps/unix/sysv/linux/csky/ld.abilist | 10 +
sysdeps/unix/sysv/linux/csky/ldconfig.h | 24 +
.../unix/sysv/linux/csky/libBrokenLocale.abilist | 2 +
sysdeps/unix/sysv/linux/csky/libanl.abilist | 5 +
sysdeps/unix/sysv/linux/csky/libc-read_tp.S | 1 +
sysdeps/unix/sysv/linux/csky/libc.abilist | 2083 ++++++++++++++++++++
sysdeps/unix/sysv/linux/csky/libcrypt.abilist | 8 +
sysdeps/unix/sysv/linux/csky/libdl.abilist | 10 +
sysdeps/unix/sysv/linux/csky/libm.abilist | 737 +++++++
sysdeps/unix/sysv/linux/csky/libnsl.abilist | 121 ++
sysdeps/unix/sysv/linux/csky/libpthread.abilist | 217 ++
sysdeps/unix/sysv/linux/csky/libresolv.abilist | 80 +
sysdeps/unix/sysv/linux/csky/librt.abilist | 36 +
sysdeps/unix/sysv/linux/csky/libthread_db.abilist | 41 +
sysdeps/unix/sysv/linux/csky/libutil.abilist | 7 +
sysdeps/unix/sysv/linux/csky/lockf64.c | 1 +
sysdeps/unix/sysv/linux/csky/lxstat.c | 2 +
sysdeps/unix/sysv/linux/csky/makecontext.c | 81 +
sysdeps/unix/sysv/linux/csky/mmap.S | 65 +
sysdeps/unix/sysv/linux/csky/profil-counter.h | 34 +
sysdeps/unix/sysv/linux/csky/pt-vfork.S | 50 +
sysdeps/unix/sysv/linux/csky/read_tp.S | 47 +
sysdeps/unix/sysv/linux/csky/readahead.c | 44 +
sysdeps/unix/sysv/linux/csky/readdir64.c | 1 +
sysdeps/unix/sysv/linux/csky/readdir64_r.c | 1 +
sysdeps/unix/sysv/linux/csky/register-dump.h | 218 ++
sysdeps/unix/sysv/linux/csky/scandir64.c | 1 +
sysdeps/unix/sysv/linux/csky/setcontext.S | 128 ++
sysdeps/unix/sysv/linux/csky/shlib-versions | 3 +
sysdeps/unix/sysv/linux/csky/sigcontextinfo.h | 37 +
sysdeps/unix/sysv/linux/csky/socket.S | 171 ++
sysdeps/unix/sysv/linux/csky/swapcontext.S | 112 ++
sysdeps/unix/sysv/linux/csky/sys/cachectl.h | 35 +
sysdeps/unix/sysv/linux/csky/sys/procfs.h | 123 ++
sysdeps/unix/sysv/linux/csky/sys/ucontext.h | 111 ++
sysdeps/unix/sysv/linux/csky/sys/user.h | 65 +
sysdeps/unix/sysv/linux/csky/syscall.S | 61 +
sysdeps/unix/sysv/linux/csky/syscalls.list | 7 +
sysdeps/unix/sysv/linux/csky/sysdep-cancel.h | 407 ++++
sysdeps/unix/sysv/linux/csky/sysdep.S | 119 ++
sysdeps/unix/sysv/linux/csky/sysdep.h | 730 +++++++
sysdeps/unix/sysv/linux/csky/ucontext_i.sym | 31 +
sysdeps/unix/sysv/linux/csky/versionsort64.c | 1 +
sysdeps/unix/sysv/linux/csky/vfork.S | 49 +
sysdeps/unix/sysv/linux/csky/xstat.c | 1 +
154 files changed, 14742 insertions(+), 2 deletions(-)
create mode 100644 sysdeps/csky/Implies
create mode 100644 sysdeps/csky/Makefile
create mode 100644 sysdeps/csky/__longjmp.S
create mode 100644 sysdeps/csky/abort-instr.h
create mode 100644 sysdeps/csky/atomic-machine.h
create mode 100644 sysdeps/csky/backtrace.c
create mode 100644 sysdeps/csky/bits/endian.h
create mode 100644 sysdeps/csky/bits/fenv.h
create mode 100644 sysdeps/csky/bits/link.h
create mode 100644 sysdeps/csky/bits/setjmp.h
create mode 100644 sysdeps/csky/bsd-_setjmp.S
create mode 100644 sysdeps/csky/bsd-setjmp.S
create mode 100644 sysdeps/csky/configure
create mode 100644 sysdeps/csky/configure.ac
create mode 100644 sysdeps/csky/crti.S
create mode 100644 sysdeps/csky/crtn.S
create mode 100644 sysdeps/csky/csky-mcount.S
create mode 100644 sysdeps/csky/dl-machine.h
create mode 100644 sysdeps/csky/dl-procinfo.c
create mode 100644 sysdeps/csky/dl-procinfo.h
create mode 100644 sysdeps/csky/dl-sysdep.h
create mode 100644 sysdeps/csky/dl-tls.h
create mode 100644 sysdeps/csky/dl-tlsdesc.h
create mode 100644 sysdeps/csky/dl-trampoline.S
create mode 100644 sysdeps/csky/fenv_private.h
create mode 100644 sysdeps/csky/fpu/fclrexcpt.c
create mode 100644 sysdeps/csky/fpu/fedisblxcpt.c
create mode 100644 sysdeps/csky/fpu/feenablxcpt.c
create mode 100644 sysdeps/csky/fpu/fegetenv.c
create mode 100644 sysdeps/csky/fpu/fegetexcept.c
create mode 100644 sysdeps/csky/fpu/fegetmode.c
create mode 100644 sysdeps/csky/fpu/fegetround.c
create mode 100644 sysdeps/csky/fpu/feholdexcpt.c
create mode 100644 sysdeps/csky/fpu/fenv_libc.h
create mode 100644 sysdeps/csky/fpu/fesetenv.c
create mode 100644 sysdeps/csky/fpu/fesetexcept.c
create mode 100644 sysdeps/csky/fpu/fesetmode.c
create mode 100644 sysdeps/csky/fpu/fesetround.c
create mode 100644 sysdeps/csky/fpu/feupdateenv.c
create mode 100644 sysdeps/csky/fpu/fgetexcptflg.c
create mode 100644 sysdeps/csky/fpu/fraiseexcpt.c
create mode 100644 sysdeps/csky/fpu/fsetexcptflg.c
create mode 100644 sysdeps/csky/fpu/ftestexcept.c
create mode 100644 sysdeps/csky/fpu_control.h
create mode 100644 sysdeps/csky/gccframe.h
create mode 100644 sysdeps/csky/jmpbuf-unwind.h
create mode 100644 sysdeps/csky/ldsodefs.h
create mode 100644 sysdeps/csky/libc-tls.c
create mode 100644 sysdeps/csky/libm-test-ulps
create mode 100644 sysdeps/csky/libm-test-ulps-name
create mode 100644 sysdeps/csky/linkmap.h
create mode 100644 sysdeps/csky/machine-gmon.h
create mode 100644 sysdeps/csky/macro.S
create mode 100644 sysdeps/csky/math-tests.h
create mode 100644 sysdeps/csky/math_private.h
create mode 100644 sysdeps/csky/memcpy.S
create mode 100644 sysdeps/csky/memusage.h
create mode 100644 sysdeps/csky/nptl/Makefile
create mode 100644 sysdeps/csky/nptl/bits/pthreadtypes-arch.h
create mode 100644 sysdeps/csky/nptl/bits/semaphore.h
create mode 100644 sysdeps/csky/nptl/pthread-offsets.h
create mode 100644 sysdeps/csky/nptl/pthreaddef.h
create mode 100644 sysdeps/csky/nptl/tcb-offsets.sym
create mode 100644 sysdeps/csky/nptl/tls.h
create mode 100644 sysdeps/csky/preconfigure
create mode 100644 sysdeps/csky/setjmp.S
create mode 100644 sysdeps/csky/sfp-machine.h
create mode 100644 sysdeps/csky/sotruss-lib.c
create mode 100644 sysdeps/csky/stackinfo.h
create mode 100644 sysdeps/csky/start.S
create mode 100644 sysdeps/csky/strcmp.S
create mode 100644 sysdeps/csky/strcpy.S
create mode 100644 sysdeps/csky/sys/ucontext.h
create mode 100644 sysdeps/csky/sysdep.h
create mode 100644 sysdeps/csky/tls-macros.h
create mode 100644 sysdeps/csky/tst-audit.h
create mode 100644 sysdeps/unix/csky/abiv2_sysdep.S
create mode 100644 sysdeps/unix/csky/sysdep.S
create mode 100644 sysdeps/unix/csky/sysdep.h
create mode 100644 sysdeps/unix/sysv/linux/csky/Implies
create mode 100644 sysdeps/unix/sysv/linux/csky/Makefile
create mode 100644 sysdeps/unix/sysv/linux/csky/____longjmp_chk.S
create mode 100644 sysdeps/unix/sysv/linux/csky/abiv2_brk.c
create mode 100644 sysdeps/unix/sysv/linux/csky/abiv2_clone.S
create mode 100644 sysdeps/unix/sysv/linux/csky/abiv2_getcontext.S
create mode 100644 sysdeps/unix/sysv/linux/csky/abiv2_mmap.S
create mode 100644 sysdeps/unix/sysv/linux/csky/abiv2_setcontext.S
create mode 100644 sysdeps/unix/sysv/linux/csky/abiv2_socket.S
create mode 100644 sysdeps/unix/sysv/linux/csky/abiv2_syscall.S
create mode 100644 sysdeps/unix/sysv/linux/csky/abiv2_vfork.S
create mode 100644 sysdeps/unix/sysv/linux/csky/alphasort64.c
create mode 100644 sysdeps/unix/sysv/linux/csky/bits/fcntl.h
create mode 100644 sysdeps/unix/sysv/linux/csky/bits/mman.h
create mode 100644 sysdeps/unix/sysv/linux/csky/bits/shm.h
create mode 100644 sysdeps/unix/sysv/linux/csky/brk.c
create mode 100644 sysdeps/unix/sysv/linux/csky/c++-types.data
create mode 100644 sysdeps/unix/sysv/linux/csky/clone.S
create mode 100644 sysdeps/unix/sysv/linux/csky/configure
create mode 100644 sysdeps/unix/sysv/linux/csky/configure.ac
create mode 100644 sysdeps/unix/sysv/linux/csky/csky_readtp.h
create mode 100644 sysdeps/unix/sysv/linux/csky/ftruncate64.c
create mode 100644 sysdeps/unix/sysv/linux/csky/fxstat.c
create mode 100644 sysdeps/unix/sysv/linux/csky/fxstatat.c
create mode 100644 sysdeps/unix/sysv/linux/csky/getcontext.S
create mode 100644 sysdeps/unix/sysv/linux/csky/getdents64.c
create mode 100644 sysdeps/unix/sysv/linux/csky/jmp_buf-macros.h
create mode 100644 sysdeps/unix/sysv/linux/csky/kernel-features.h
create mode 100644 sysdeps/unix/sysv/linux/csky/ld.abilist
create mode 100644 sysdeps/unix/sysv/linux/csky/ldconfig.h
create mode 100644 sysdeps/unix/sysv/linux/csky/libBrokenLocale.abilist
create mode 100644 sysdeps/unix/sysv/linux/csky/libanl.abilist
create mode 100644 sysdeps/unix/sysv/linux/csky/libc-read_tp.S
create mode 100644 sysdeps/unix/sysv/linux/csky/libc.abilist
create mode 100644 sysdeps/unix/sysv/linux/csky/libcrypt.abilist
create mode 100644 sysdeps/unix/sysv/linux/csky/libdl.abilist
create mode 100644 sysdeps/unix/sysv/linux/csky/libm.abilist
create mode 100644 sysdeps/unix/sysv/linux/csky/libnsl.abilist
create mode 100644 sysdeps/unix/sysv/linux/csky/libpthread.abilist
create mode 100644 sysdeps/unix/sysv/linux/csky/libresolv.abilist
create mode 100644 sysdeps/unix/sysv/linux/csky/librt.abilist
create mode 100644 sysdeps/unix/sysv/linux/csky/libthread_db.abilist
create mode 100644 sysdeps/unix/sysv/linux/csky/libutil.abilist
create mode 100644 sysdeps/unix/sysv/linux/csky/lockf64.c
create mode 100644 sysdeps/unix/sysv/linux/csky/lxstat.c
create mode 100644 sysdeps/unix/sysv/linux/csky/makecontext.c
create mode 100644 sysdeps/unix/sysv/linux/csky/mmap.S
create mode 100644 sysdeps/unix/sysv/linux/csky/profil-counter.h
create mode 100644 sysdeps/unix/sysv/linux/csky/pt-vfork.S
create mode 100644 sysdeps/unix/sysv/linux/csky/read_tp.S
create mode 100644 sysdeps/unix/sysv/linux/csky/readahead.c
create mode 100644 sysdeps/unix/sysv/linux/csky/readdir64.c
create mode 100644 sysdeps/unix/sysv/linux/csky/readdir64_r.c
create mode 100644 sysdeps/unix/sysv/linux/csky/register-dump.h
create mode 100644 sysdeps/unix/sysv/linux/csky/scandir64.c
create mode 100644 sysdeps/unix/sysv/linux/csky/setcontext.S
create mode 100644 sysdeps/unix/sysv/linux/csky/shlib-versions
create mode 100644 sysdeps/unix/sysv/linux/csky/sigcontextinfo.h
create mode 100644 sysdeps/unix/sysv/linux/csky/socket.S
create mode 100644 sysdeps/unix/sysv/linux/csky/swapcontext.S
create mode 100644 sysdeps/unix/sysv/linux/csky/sys/cachectl.h
create mode 100644 sysdeps/unix/sysv/linux/csky/sys/procfs.h
create mode 100644 sysdeps/unix/sysv/linux/csky/sys/ucontext.h
create mode 100644 sysdeps/unix/sysv/linux/csky/sys/user.h
create mode 100644 sysdeps/unix/sysv/linux/csky/syscall.S
create mode 100644 sysdeps/unix/sysv/linux/csky/syscalls.list
create mode 100644 sysdeps/unix/sysv/linux/csky/sysdep-cancel.h
create mode 100644 sysdeps/unix/sysv/linux/csky/sysdep.S
create mode 100644 sysdeps/unix/sysv/linux/csky/sysdep.h
create mode 100644 sysdeps/unix/sysv/linux/csky/ucontext_i.sym
create mode 100644 sysdeps/unix/sysv/linux/csky/versionsort64.c
create mode 100644 sysdeps/unix/sysv/linux/csky/vfork.S
create mode 100644 sysdeps/unix/sysv/linux/csky/xstat.c
--
2.7.4
More information about the Libc-help
mailing list