Hi, GCC Steering Committee, reviewers, and developers, On behalf of Andes Technology Corp., we are submitting a new port 'nds32' for GCC contribution. In this contribution, we use the design and strategy as modern as possible, such as having LRA enabled and taking soft-fp as our software floating point library. None of general gcc code is required to be changed for this nds32 port.
We have already signed FSF agreement and are proposing Shiva Chen and myself (Chung-Ju Wu), both of Andes compiler engineers, as nds32 port maintainers: Index: MAINTAINERS =================================================================== --- MAINTAINERS (revision 200655) +++ MAINTAINERS (working copy) @@ -87,6 +87,8 @@ mn10300 port Jeff Law l...@redhat.com mn10300 port Alexandre Oliva aol...@redhat.com moxie port Anthony Green gr...@moxielogic.com +nds32 port Chung-Ju Wu jasonw...@gmail.com +nds32 port Shiva Chen shiva0...@gmail.com pdp11 port Paul Koning n...@arrl.net picochip port Daniel Towner d...@picochip.com rl78 port DJ Delorie d...@redhat.com A series of patches have been posted on gcc-patches: [PATCH 1/6] Andes nds32: configure settings for nds32 target. http://gcc.gnu.org/ml/gcc-patches/2013-07/msg00269.html [PATCH 2/6] Andes nds32: machine description of nds32 porting. http://gcc.gnu.org/ml/gcc-patches/2013-07/msg00270.html http://gcc.gnu.org/ml/gcc-patches/2013-07/msg00271.html http://gcc.gnu.org/ml/gcc-patches/2013-07/msg00272.html [PATCH 3/6] Andes nds32: libgcc of nds32 porting. http://gcc.gnu.org/ml/gcc-patches/2013-07/msg00273.html [PATCH 4/6] Andes nds32: testsuite modifications for nds32 target. http://gcc.gnu.org/ml/gcc-patches/2013-07/msg00274.html [PATCH 5/6] Andes nds32: documentation for nds32 target. http://gcc.gnu.org/ml/gcc-patches/2013-07/msg00276.html [PATCH 6/6] Andes nds32: wwwdoc for nds32 target. http://gcc.gnu.org/ml/gcc-patches/2013-07/msg00277.html A brief overview of changed files is as below: [gcc-svn: contrib/] * config-list.mk [gcc-svn: gcc/] * config.gcc * config/nds32/* * common/config/nds32/* * doc/invoke.texi * doc/md.texi * doc/install.texi * doc/extend.texi [gcc-svn: libgcc/] * config.host * config/nds32/* [gcc-svn: gcc/testsuite/] * g++.dg/other/PR23205.C * g++.dg/other/pr23205-2.C * gcc.dg/20020312-2.c * gcc.dg/builtin-apply2.c * gcc.dg/lower-subreg-1.c * gcc.dg/sibcall-3.c * gcc.dg/sibcall-4.c * gcc.dg/stack-usage-1.c * gcc.dg/torture/pr37868.c * gcc.dg/torture/stackalign/builtin-apply-2.c * gcc.dg/tree-ssa/20040204-1.c * gcc.dg/tree-ssa/forwprop-28.c * gcc.dg/tree-ssa/pr42585.c * gcc.dg/tree-ssa/sra-12.c * gcc.dg/ucnid-11.c * gcc.dg/ucnid-2.c * gcc.dg/ucnid-3.c * lib/target-supports.exp [wwwdoc-cvs: htdocs/] * backends.html * readings.html * gcc-4.9/changes.html In addition, here are some standard requirement we have made for contribution: 1. Add nds32le-elf and nds32be-elf into contrib/config-list.mk. 2. We follow the <years>-2013 range convention in copyright description. 3. Using a native compiler from current GCC trunk (20130704, Rev.200655), the nds32 port can be built cleanly with --enable-werror-always on both 32-bit and 64-bit host. 4. The nds32 test results have been posted on gcc-testresults: 32-bit host: v2, http://gcc.gnu.org/ml/gcc-testresults/2013-07/msg00378.html v3, http://gcc.gnu.org/ml/gcc-testresults/2013-07/msg00380.html 64-bit host: v2, http://gcc.gnu.org/ml/gcc-testresults/2013-07/msg00379.html v3, http://gcc.gnu.org/ml/gcc-testresults/2013-07/msg00381.html For completeness of Andes nds32 toolchain, we also proposed nds32 contribution for other packages [1]-[3] on corresponding mailing list. And the nds32 target for packages [4] and [5] are previously merged into master on 2011.10 and 2013.06, respectively. We sincerely hope that the nds32 target will be available in GCC 4.9. Your reviews and comments are very important to us for making this contribution better. Thanks for your time to review our contribution. Best regards, jasonwucj [1] binutils: http://sourceware.org/ml/binutils/2013-07/msg00062.html [2] gdb: http://sourceware.org/ml/gdb-patches/2013-07/msg00223.html [3] newlib: http://sourceware.org/ml/newlib/2013/msg00525.html [4] u-boot: http://lists.denx.de/pipermail/u-boot/2011-October/106467.html [5] openocd: http://openocd.zylin.com/1259