[v6,13/13] C-SKY: Skeleton documentation

Message ID 5ec2bc8bd9b7dcf9e19d013d61a8e61e12e266df.1543283180.git.han_mao@c-sky.com
State New, archived
Headers

Commit Message

毛晗 Nov. 29, 2018, 3:32 a.m. UTC
  ---
 ChangeLog | 154 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 NEWS      |   6 +++
 README    |   1 +
 3 files changed, 161 insertions(+)
  

Patch

diff --git a/ChangeLog b/ChangeLog
index c4dae98..1c75198 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,157 @@ 
+2018-11-15  Han Mao  <han_mao@c-sky.com>
+
+	* config.h.in (CSKYABI, CSKY_HARD_FLOAT): New Define.
+	* elf/elf.h (EM_CSKY, R_CKCORE_NONE, R_CKCORE_ADDR32)
+	(R_CKCORE_PCRELIMM8BY4, R_CKCORE_PCRELIMM11BY2, R_CKCORE_PCREL32)
+	(R_CKCORE_PCRELJSR_IMM11BY2, R_CKCORE_RELATIVE, R_CKCORE_COPY)
+	(R_CKCORE_GLOB_DAT, R_CKCORE_JUMP_SLOT, R_CKCORE_GOTOFF)
+	(R_CKCORE_GOTPC, R_CKCORE_GOT32, R_CKCORE_PLT32, R_CKCORE_ADDRGOT)
+	(R_CKCORE_ADDRPLT, R_CKCORE_PCREL_IMM26BY2, R_CKCORE_PCREL_IMM16BY2)
+	(R_CKCORE_PCREL_IMM16BY4, R_CKCORE_PCREL_IMM10BY2)
+	(R_CKCORE_PCREL_IMM10BY4, R_CKCORE_ADDR_HI16, R_CKCORE_ADDR_LO16)
+	(R_CKCORE_GOTPC_HI16, R_CKCORE_GOTPC_LO16, R_CKCORE_GOTOFF_HI16)
+	(R_CKCORE_GOTOFF_LO16, R_CKCORE_GOT12, R_CKCORE_GOT_HI16)
+	(R_CKCORE_GOT_LO16, R_CKCORE_PLT12, R_CKCORE_PLT_HI16)
+	(R_CKCORE_PLT_LO16, R_CKCORE_ADDRGOT_HI16, R_CKCORE_ADDRGOT_LO16)
+	(R_CKCORE_ADDRPLT_HI16, R_CKCORE_ADDRPLT_LO16)
+	(R_CKCORE_PCREL_JSR_IMM26BY2, R_CKCORE_TOFFSET_LO16)
+	(R_CKCORE_DOFFSET_LO16, R_CKCORE_PCREL_IMM18BY2)
+	(R_CKCORE_DOFFSET_IMM18, R_CKCORE_DOFFSET_IMM18BY2)
+	(R_CKCORE_DOFFSET_IMM18BY4, R_CKCORE_GOT_IMM18BY4)
+	(R_CKCORE_PLT_IMM18BY4, R_CKCORE_PCREL_IMM7BY4, R_CKCORE_TLS_LE32)
+	(R_CKCORE_TLS_IE32, R_CKCORE_TLS_GD32, R_CKCORE_TLS_LDM32)
+	(R_CKCORE_TLS_LDO32, R_CKCORE_TLS_DTPMOD32, R_CKCORE_TLS_DTPOFF32)
+	(R_CKCORE_TLS_TPOFF32): New Define.
+	* scripts/build-many-glibcs.py: Add C-SKY targets.
+	* sysdeps/csky/Implies: New file.
+	* sysdeps/csky/Makefile: Likewise.
+	* sysdeps/csky/abiv2/__longjmp.S: Likewise.
+	* sysdeps/csky/abiv2/crti.S: Likewise.
+	* sysdeps/csky/abiv2/crtn.S: Likewise.
+	* sysdeps/csky/abiv2/csky-mcount.S: Likewise.
+	* sysdeps/csky/abiv2/dl-trampoline.S: Likewise.
+	* sysdeps/csky/abiv2/memcmp.S: Likewise.
+	* sysdeps/csky/abiv2/memcpy.S: Likewise.
+	* sysdeps/csky/abiv2/memmove.S: Likewise.
+	* sysdeps/csky/abiv2/memset.S: Likewise.
+	* sysdeps/csky/abiv2/setjmp.S: Likewise.
+	* sysdeps/csky/abiv2/start.S: Likewise.
+	* sysdeps/csky/abiv2/strcmp.S: Likewise.
+	* sysdeps/csky/abiv2/strcpy.S: Likewise.
+	* sysdeps/csky/abiv2/strlen.S: Likewise.
+	* sysdeps/csky/abiv2/tls-macros.h: Likewise.
+	* sysdeps/csky/abort-instr.h: Likewise.
+	* sysdeps/csky/atomic-machine.h: Likewise.
+	* sysdeps/csky/bits/endian.h: Likewise.
+	* sysdeps/csky/bits/fenv.h: Likewise.
+	* sysdeps/csky/bits/link.h: Likewise.
+	* sysdeps/csky/bits/setjmp.h: Likewise.
+	* sysdeps/csky/bsd-_setjmp.S: Likewise.
+	* sysdeps/csky/bsd-setjmp.S: Likewise.
+	* sysdeps/csky/configure: Likewise.
+	* sysdeps/csky/configure.ac: Likewise.
+	* sysdeps/csky/dl-machine.h: Likewise.
+	* sysdeps/csky/dl-procinfo.c: Likewise.
+	* sysdeps/csky/dl-procinfo.h: Likewise.
+	* sysdeps/csky/dl-sysdep.h: Likewise.
+	* sysdeps/csky/dl-tls.h: Likewise.
+	* sysdeps/csky/fpu/fclrexcpt.c: Likewise.
+	* sysdeps/csky/fpu/fedisblxcpt.c: Likewise.
+	* sysdeps/csky/fpu/feenablxcpt.c: Likewise.
+	* sysdeps/csky/fpu/fegetenv.c: Likewise.
+	* sysdeps/csky/fpu/fegetexcept.c: Likewise.
+	* sysdeps/csky/fpu/fegetmode.c: Likewise.
+	* sysdeps/csky/fpu/fegetround.c: Likewise.
+	* sysdeps/csky/fpu/feholdexcpt.c: Likewise.
+	* sysdeps/csky/fpu/fenv_libc.h: Likewise.
+	* sysdeps/csky/fpu/fenv_private.h: Likewise.
+	* sysdeps/csky/fpu/fesetenv.c: Likewise.
+	* sysdeps/csky/fpu/fesetexcept.c: Likewise.
+	* sysdeps/csky/fpu/fesetmode.c: Likewise.
+	* sysdeps/csky/fpu/fesetround.c: Likewise.
+	* sysdeps/csky/fpu/feupdateenv.c: Likewise.
+	* sysdeps/csky/fpu/fgetexcptflg.c: Likewise.
+	* sysdeps/csky/fpu/fix-fp-int-convert-overflow.h: Likewise.
+	* sysdeps/csky/fpu/fpu_control.h: Likewise.
+	* sysdeps/csky/fpu/fraiseexcpt.c: Likewise.
+	* sysdeps/csky/fpu/fsetexcptflg.c: Likewise.
+	* sysdeps/csky/fpu/ftestexcept.c: Likewise.
+	* sysdeps/csky/fpu/libm-test-ulps: Likewise.
+	* sysdeps/csky/fpu/libm-test-ulps-name: Likewise.
+	* sysdeps/csky/gccframe.h: Likewise.
+	* sysdeps/csky/jmpbuf-unwind.h: Likewise.
+	* sysdeps/csky/ldsodefs.h: Likewise.
+	* sysdeps/csky/libc-tls.c: Likewise.
+	* sysdeps/csky/linkmap.h: Likewise.
+	* sysdeps/csky/machine-gmon.h: Likewise.
+	* sysdeps/csky/math-tests-trap.h: Likewise.
+	* sysdeps/csky/memusage.h: Likewise.
+	* sysdeps/csky/nofpu/Implies: Likewise.
+	* sysdeps/csky/nofpu/libm-test-ulps: Likewise.
+	* sysdeps/csky/nofpu/libm-test-ulps-name: Likewise.
+	* sysdeps/csky/nofpu/math-tests-exceptions.h: Likewise.
+	* sysdeps/csky/nofpu/math-tests-rounding.h: Likewise.
+	* sysdeps/csky/nptl/Makefile: Likewise.
+	* sysdeps/csky/nptl/bits/pthreadtypes-arch.h: Likewise.
+	* sysdeps/csky/nptl/bits/semaphore.h: Likewise.
+	* sysdeps/csky/nptl/pthread-offsets.h: Likewise.
+	* sysdeps/csky/nptl/pthreaddef.h: Likewise.
+	* sysdeps/csky/nptl/tcb-offsets.sym: Likewise.
+	* sysdeps/csky/nptl/tls.h: Likewise.
+	* sysdeps/csky/preconfigure: Likewise.
+	* sysdeps/csky/sfp-machine.h: Likewise.
+	* sysdeps/csky/sotruss-lib.c: Likewise.
+	* sysdeps/csky/stackinfo.h: Likewise.
+	* sysdeps/csky/sysdep.h: Likewise.
+	* sysdeps/csky/tininess.h: Likewise.
+	* sysdeps/csky/tst-audit.h: Likewise.
+	* sysdeps/unix/sysv/linux/csky/Implies: Likewise.
+	* sysdeps/unix/sysv/linux/csky/Makefile: Likewise.
+	* sysdeps/unix/sysv/linux/csky/Versions: Likewise.
+	* sysdeps/unix/sysv/linux/csky/abiv2/____longjmp_chk.S: Likewise.
+	* sysdeps/unix/sysv/linux/csky/abiv2/clone.S: Likewise.
+	* sysdeps/unix/sysv/linux/csky/abiv2/getcontext.S: Likewise.
+	* sysdeps/unix/sysv/linux/csky/abiv2/setcontext.S: Likewise.
+	* sysdeps/unix/sysv/linux/csky/abiv2/swapcontext.S: Likewise.
+	* sysdeps/unix/sysv/linux/csky/abiv2/syscall.S: Likewise.
+	* sysdeps/unix/sysv/linux/csky/abiv2/sysdep.S: Likewise.
+	* sysdeps/unix/sysv/linux/csky/abiv2/ucontext_i.sym: Likewise.
+	* sysdeps/unix/sysv/linux/csky/bits/mman.h: Likewise.
+	* sysdeps/unix/sysv/linux/csky/bits/shm.h: Likewise.
+	* sysdeps/unix/sysv/linux/csky/c++-types.data: Likewise.
+	* sysdeps/unix/sysv/linux/csky/configure: Likewise.
+	* sysdeps/unix/sysv/linux/csky/configure.ac: Likewise.
+	* sysdeps/unix/sysv/linux/csky/ipc_priv.h: Likewise.
+	* sysdeps/unix/sysv/linux/csky/jmp_buf-macros.h: Likewise.
+	* sysdeps/unix/sysv/linux/csky/kernel-features.h: Likewise.
+	* sysdeps/unix/sysv/linux/csky/ld.abilist: Likewise.
+	* sysdeps/unix/sysv/linux/csky/ldconfig.h: Likewise.
+	* sysdeps/unix/sysv/linux/csky/libBrokenLocale.abilist: Likewise.
+	* sysdeps/unix/sysv/linux/csky/libanl.abilist: Likewise.
+	* sysdeps/unix/sysv/linux/csky/libc.abilist: Likewise.
+	* sysdeps/unix/sysv/linux/csky/libcrypt.abilist: Likewise.
+	* sysdeps/unix/sysv/linux/csky/libdl.abilist: Likewise.
+	* sysdeps/unix/sysv/linux/csky/libm.abilist: Likewise.
+	* sysdeps/unix/sysv/linux/csky/libnsl.abilist: Likewise.
+	* sysdeps/unix/sysv/linux/csky/libpthread.abilist: Likewise.
+	* sysdeps/unix/sysv/linux/csky/libresolv.abilist: Likewise.
+	* sysdeps/unix/sysv/linux/csky/librt.abilist: Likewise.
+	* sysdeps/unix/sysv/linux/csky/libthread_db.abilist: Likewise.
+	* sysdeps/unix/sysv/linux/csky/libutil.abilist: Likewise.
+	* sysdeps/unix/sysv/linux/csky/localplt.data: Likewise.
+	* sysdeps/unix/sysv/linux/csky/makecontext.c: Likewise.
+	* sysdeps/unix/sysv/linux/csky/profil-counter.h: Likewise.
+	* sysdeps/unix/sysv/linux/csky/pt-vfork.S: Likewise.
+	* sysdeps/unix/sysv/linux/csky/register-dump.h: Likewise.
+	* sysdeps/unix/sysv/linux/csky/shlib-versions: Likewise.
+	* sysdeps/unix/sysv/linux/csky/sigcontextinfo.h: Likewise.
+	* sysdeps/unix/sysv/linux/csky/sys/cachectl.h: Likewise.
+	* sysdeps/unix/sysv/linux/csky/sys/procfs.h: Likewise.
+	* sysdeps/unix/sysv/linux/csky/sys/ucontext.h: Likewise.
+	* sysdeps/unix/sysv/linux/csky/sys/user.h: Likewise.
+	* sysdeps/unix/sysv/linux/csky/syscalls.list: Likewise.
+	* sysdeps/unix/sysv/linux/csky/sysdep.h: Likewise.
+
 2018-11-26  Joseph Myers  <joseph@codesourcery.com>
 
 	* scripts/build-many-glibcs.py (Context.fix_glibc_timestamps):
diff --git a/NEWS b/NEWS
index f488821..7228c7b 100644
--- a/NEWS
+++ b/NEWS
@@ -35,6 +35,12 @@  Major new features:
   different directory.  This is a GNU extension and similar to the
   Solaris function of the same name.
 
+* Support for the C-SKY ABIV2 running on Linux has been added.  This port
+  requires at least binutils-2.32, gcc-9.0, and linux-4.20.  Two ABIs are
+  supported:
+    - C-SKY ABIV2 soft-float little-endian
+    - C-SKY ABIV2 hard-float little-endian
+
 Deprecated and removed features, and other changes affecting compatibility:
 
 * The glibc.tune tunable namespace has been renamed to glibc.cpu and the
diff --git a/README b/README
index 27a9fd4..eb9b0b3 100644
--- a/README
+++ b/README
@@ -25,6 +25,7 @@  The GNU C Library supports these configurations for using Linux kernels:
 	aarch64*-*-linux-gnu
 	alpha*-*-linux-gnu
 	arm-*-linux-gnueabi
+	csky-*-linux-gnuabiv2
 	hppa-*-linux-gnu
 	i[4567]86-*-linux-gnu
 	x86_64-*-linux-gnu	Can build either x86_64 or x32