Patchwork [0/6] Contributing new target port: Andes 'nds32'.

login
register
mail settings
Submitter Chung-Ju Wu
Date July 8, 2013, 11:13 a.m.
Message ID <CADj25HOswjL9sAtL3OP3pgts8rouE9rfsFdjk1_0_PY6d4_=Zg@mail.gmail.com>
Download mbox | patch
Permalink /patch/257537/
State New
Headers show

Comments

Chung-Ju Wu - July 8, 2013, 11:13 a.m.
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:



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
Chung-Ju Wu - July 25, 2013, 10:11 a.m.
On 7/8/13 7:13 PM, Chung-Ju Wu wrote:
> 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.
>

Hi, GCC reviewers and developers,

Thanks for all the comments to the original patches [1], and
thanks GCC Steering Committee for accepting nds32 port contribution [2].
However, the initial patch still needs approval from a global maintainer
before it may be committed.

Based on the review comments previously:
   http://gcc.gnu.org/ml/gcc-patches/2013-07/msg00388.html
   http://gcc.gnu.org/ml/gcc-patches/2013-07/msg00390.html
   http://gcc.gnu.org/ml/gcc-patches/2013-07/msg00391.html
   http://gcc.gnu.org/ml/gcc-patches/2013-07/msg00394.html
   http://gcc.gnu.org/ml/gcc-patches/2013-07/msg00395.html
   http://gcc.gnu.org/ml/gcc-patches/2013-07/msg00396.html
   http://gcc.gnu.org/ml/gcc-patches/2013-07/msg00397.html

we have posted revised patches on gcc-patches:

[PATCH 1/6] Andes nds32: configure settings for nds32 target.
   http://gcc.gnu.org/ml/gcc-patches/2013-07/msg01095.html
[PATCH 2/6] Andes nds32: machine description of nds32 porting.
   http://gcc.gnu.org/ml/gcc-patches/2013-07/msg01138.html
   http://gcc.gnu.org/ml/gcc-patches/2013-07/msg01139.html
   http://gcc.gnu.org/ml/gcc-patches/2013-07/msg01141.html
[PATCH 3/6] Andes nds32: libgcc of nds32 porting.
   http://gcc.gnu.org/ml/gcc-patches/2013-07/msg01109.html
[PATCH 4/6] Andes nds32: testsuite modifications for nds32 target.
   http://gcc.gnu.org/ml/gcc-patches/2013-07/msg01104.html
[PATCH 5/6] Andes nds32: documentation for nds32 target.
   http://gcc.gnu.org/ml/gcc-patches/2013-07/msg01106.html
[PATCH 6/6] Andes nds32: wwwdoc for nds32 target.
   http://gcc.gnu.org/ml/gcc-patches/2013-07/msg00277.html


We also have up-to-date status of doing bootstrap and testing
with current GCC trunk:

1. Using a native compiler from current GCC trunk (20130724, Rev.201200),
    the nds32 port can be built cleanly with --enable-werror-always
    on both 32-bit and 64-bit host.

2. The up-to-date nds32 testing results (Results for GCC 4.9.0 20130723)
    have been posted on gcc-testresults:
    32-bit host:
      v2, http://gcc.gnu.org/ml/gcc-testresults/2013-07/msg02146.html
      v3, http://gcc.gnu.org/ml/gcc-testresults/2013-07/msg02147.html
    64-bit host:
      v2, http://gcc.gnu.org/ml/gcc-testresults/2013-07/msg02148.html
      v3, http://gcc.gnu.org/ml/gcc-testresults/2013-07/msg02149.html


Thank you for your time reviewing our patches.
Your review comments make our initial patches better quality for GCC.


Best regards,
jasonwucj

[1] http://gcc.gnu.org/ml/gcc-patches/2013-07/msg00278.html
[2] http://gcc.gnu.org/ml/gcc/2013-07/msg00232.html
Chung-Ju Wu - Aug. 12, 2013, 4:32 p.m.
Hi, GCC Global Maintainers,

The Andes nds32 port has been accepted by GCC SC [1]
and the initial patch is posted on [2] but still needs
global maintainer's approval.

Here are some up-to-date status of nds32 port with current trunk:
 a) Using a native compiler from current GCC trunk (20130811, Rev.201651),
    the nds32 port can be built cleanly with --enable-werror-always option.
 b) New testing results have been published on [3]:

Since it has been two weeks and there is no further comment
for nds32 initial patch, could any global maintainer approve it
so that I may commit the patches into trunk?

We and Andes Technology Corporation really appreciate it. :) 


Best regards,
jasonwucj

[1] http://gcc.gnu.org/ml/gcc/2013-07/msg00232.html

[2] http://gcc.gnu.org/ml/gcc-patches/2013-07/msg01144.html

[3] http://gcc.gnu.org/ml/gcc-testresults/2013-08/msg01142.html
    http://gcc.gnu.org/ml/gcc-testresults/2013-08/msg01143.html
    http://gcc.gnu.org/ml/gcc-testresults/2013-08/msg01144.html
    http://gcc.gnu.org/ml/gcc-testresults/2013-08/msg01145.html

Patch

Index: MAINTAINERS
===================================================================
--- MAINTAINERS (revision 200655)
+++ MAINTAINERS (working copy)
@@ -87,6 +87,8 @@ 
 mn10300 port           Jeff Law                law@redhat.com
 mn10300 port           Alexandre Oliva         aoliva@redhat.com
 moxie port             Anthony Green           green@moxielogic.com
+nds32 port             Chung-Ju Wu             jasonwucj@gmail.com
+nds32 port             Shiva Chen              shiva0217@gmail.com
 pdp11 port             Paul Koning             ni1d@arrl.net
 picochip port          Daniel Towner           dant@picochip.com
 rl78 port              DJ Delorie              dj@redhat.com