This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[RFC PATCH V2 00/10] port C-SKY to glibc


It is a patchset port C-SKY to glibc. 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.

Changes since v1:
  - update the changelog format
  - clean up unnecessary legacy code and odd comments
  - add rel description and fix EM_CSKY check
  - remove some arch-specific implementation
  - remove DEPRECATED linux syscall support
  - support pointer mangling

Mao Han (10):
  C-SKY: ABI related code
  C-SKY: TLS support
  C-SKY: Generic math Routines
  C-SKY: Hard Float Support
  C-SKY: Atomic and Locking Routines
  C-SKY: Linux Syscall Interface
  C-SKY: ABI Lists
  C-SKY: Build Infastructure
  C-SKY: Linux Startup and Dynamic Loading Code
  C-SKY: Linux ABI

 elf/elf.h                                          |   67 +-
 scripts/config.sub                                 |    4 +-
 sysdeps/csky/Implies                               |    4 +
 sysdeps/csky/Makefile                              |   13 +
 sysdeps/csky/__longjmp.S                           |   74 +
 sysdeps/csky/abort-instr.h                         |    2 +
 sysdeps/csky/atomic-machine.h                      |  114 ++
 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                         |   34 +
 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                                |   96 +
 sysdeps/csky/crtn.S                                |   50 +
 sysdeps/csky/csky-mcount.S                         |   87 +
 sysdeps/csky/dl-machine.h                          |  472 +++++
 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                       |   88 +
 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                        |   42 +
 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                        |   64 +
 sysdeps/csky/fpu/fesetexcept.c                     |   37 +
 sysdeps/csky/fpu/fesetmode.c                       |   37 +
 sysdeps/csky/fpu/fesetround.c                      |   41 +
 sysdeps/csky/fpu/feupdateenv.c                     |   51 +
 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                               |   30 +
 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                  |   11 +
 sysdeps/csky/nptl/tls.h                            |  179 ++
 sysdeps/csky/preconfigure                          |    4 +
 sysdeps/csky/setjmp.S                              |  113 ++
 sysdeps/csky/sfp-machine.h                         |   50 +
 sysdeps/csky/sotruss-lib.c                         |   49 +
 sysdeps/csky/stackinfo.h                           |   32 +
 sysdeps/csky/start.S                               |  133 ++
 sysdeps/csky/strcmp.S                              |  336 ++++
 sysdeps/csky/strcpy.S                              |  273 +++
 sysdeps/csky/sys/ucontext.h                        |  116 ++
 sysdeps/csky/sysdep.h                              |   45 +
 sysdeps/csky/tls-macros.h                          |  106 +
 sysdeps/csky/tst-audit.h                           |   23 +
 sysdeps/unix/csky/abiv2_sysdep.S                   |   63 +
 sysdeps/unix/csky/sysdep.S                         |   74 +
 sysdeps/unix/csky/sysdep.h                         |   26 +
 sysdeps/unix/sysv/linux/csky/Implies               |    4 +
 sysdeps/unix/sysv/linux/csky/Makefile              |   26 +
 sysdeps/unix/sysv/linux/csky/Versions              |   34 +
 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         |  106 +
 sysdeps/unix/sysv/linux/csky/abiv2_getcontext.S    |   72 +
 sysdeps/unix/sysv/linux/csky/abiv2_setcontext.S    |   95 +
 sysdeps/unix/sysv/linux/csky/abiv2_syscall.S       |   68 +
 sysdeps/unix/sysv/linux/csky/abiv2_vfork.S         |   45 +
 sysdeps/unix/sysv/linux/csky/bits/fcntl.h          |   55 +
 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               |   99 +
 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/getcontext.S          |  108 +
 sysdeps/unix/sysv/linux/csky/ipc_priv.h            |   21 +
 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          | 2084 ++++++++++++++++++++
 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/makecontext.c         |   81 +
 sysdeps/unix/sysv/linux/csky/profil-counter.h      |   34 +
 sysdeps/unix/sysv/linux/csky/pt-vfork.S            |    1 +
 sysdeps/unix/sysv/linux/csky/read_tp.S             |   46 +
 sysdeps/unix/sysv/linux/csky/readahead.c           |   34 +
 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/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.S              |  110 ++
 sysdeps/unix/sysv/linux/csky/sysdep.h              |  757 +++++++
 sysdeps/unix/sysv/linux/csky/ucontext_i.sym        |   31 +
 140 files changed, 13741 insertions(+), 3 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/Versions
 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_setcontext.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/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/getcontext.S
 create mode 100644 sysdeps/unix/sysv/linux/csky/ipc_priv.h
 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/makecontext.c
 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/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/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.S
 create mode 100644 sysdeps/unix/sysv/linux/csky/sysdep.h
 create mode 100644 sysdeps/unix/sysv/linux/csky/ucontext_i.sym

-- 
2.7.4


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]