From patchwork Sun Sep 8 16:12:15 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chung-Ju Wu X-Patchwork-Id: 273445 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "www.sourceware.org", Issuer "StartCom Class 1 Primary Intermediate Server CA" (not verified)) by ozlabs.org (Postfix) with ESMTPS id 057522C00C9 for ; Mon, 9 Sep 2013 02:12:29 +1000 (EST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :message-id:date:from:mime-version:to:subject:references :in-reply-to:content-type; q=dns; s=default; b=GpVlEEoB+cQcCCtRf NabPBcJi9SHGibBJsJ53CDu3AIpFbkOifE/oYPvUTmCLzt4kylun98YcKN2w6o0G 331gEoBIWh0kbE36MUX8cTPk4oRfTQDYV0t9QJ6M/bcWgq9KskZJo3z7VNY1a3/K 5YqyBiNSZeS237yiPo9zo+bpJE= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :message-id:date:from:mime-version:to:subject:references :in-reply-to:content-type; s=default; bh=9HmLdpzlcV2/sJuUO+Ap8Kx Lbdg=; b=IhijeCZJZPI7UbezbU7Yj/8AIr7omRjlTLfOwKT+Vqct/qXWEk1WbzS VLxORuDm2NxNlasnXSh6tOOR3Ay/JNT3CiS1qZYHoDWKv0XFRX1U7sIvme7XGNLB RF16fuF6H8vwVaaT4m3N9gb1r1mIn6jUgVpCfzrAg6o2zW7caCcg= Received: (qmail 16583 invoked by alias); 8 Sep 2013 16:12:22 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 16571 invoked by uid 89); 8 Sep 2013 16:12:21 -0000 Received: from mail-pd0-f172.google.com (HELO mail-pd0-f172.google.com) (209.85.192.172) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Sun, 08 Sep 2013 16:12:21 +0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.7 required=5.0 tests=ALL_TRUSTED, AWL, BAYES_00, FREEMAIL_FROM, KHOP_THREADED autolearn=ham version=3.3.2 X-HELO: mail-pd0-f172.google.com Received: by mail-pd0-f172.google.com with SMTP id z10so5216018pdj.31 for ; Sun, 08 Sep 2013 09:12:19 -0700 (PDT) X-Received: by 10.68.244.168 with SMTP id xh8mr14186717pbc.3.1378656739007; Sun, 08 Sep 2013 09:12:19 -0700 (PDT) Received: from Wu-Chung-Jude-MacBook-Air.local (123-194-206-10.dynamic.kbronet.com.tw. [123.194.206.10]) by mx.google.com with ESMTPSA id ve9sm10790702pbc.19.1969.12.31.16.00.00 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sun, 08 Sep 2013 09:12:18 -0700 (PDT) Message-ID: <522CA1DF.5050401@gmail.com> Date: Mon, 09 Sep 2013 00:12:15 +0800 From: Chung-Ju Wu User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:17.0) Gecko/20130801 Thunderbird/17.0.8 MIME-Version: 1.0 To: gcc-patches Subject: Re: [PATCH 1/6] Andes nds32: configure settings for nds32 target. References: <51EFF6DA.5070905@gmail.com> In-Reply-To: <51EFF6DA.5070905@gmail.com> X-IsSubscribed: yes On 7/24/13 11:46 PM, Chung-Ju Wu wrote: > On 7/10/13 6:56 AM, Joseph S. Myers wrote: >> On Mon, 8 Jul 2013, Chung-Ju Wu wrote: > > Thanks for the review comments. > A revised patch is provided and here is a summary: > > 1. Handle -march option within the compiler proper. > Simplify the handling of --with-arch in config.gcc. > 2. The c-isr library is supported for all arch configuration. > 3. Use tm_defines so that we can have only one t-mlibs used. > > It has been a while since last v2 patch. So I create a new v3 patch to resolve conflict with current trunk. Is it OK to apply on the trunk? Best regards, jasonwucj diff --git contrib/config-list.mk contrib/config-list.mk index 9a141c2..08acc35 100644 --- contrib/config-list.mk +++ contrib/config-list.mk @@ -43,7 +43,9 @@ LIST = aarch64-elf aarch64-linux-gnu \ mipsisa64-elfoabi mipsisa64r2el-elf mipsisa64sr71k-elf mipsisa64sb1-elf \ mipsel-elf mips64-elf mips64vr-elf mips64orion-elf mips-rtems \ mips-wrs-vxworks mipstx39-elf mmix-knuth-mmixware mn10300-elf moxie-elf \ - moxie-uclinux moxie-rtems pdp11-aout picochip-elfOPT-enable-obsolete \ + moxie-uclinux moxie-rtems \ + nds32le-elf nds32be-elf \ + pdp11-aout picochip-elfOPT-enable-obsolete \ powerpc-darwin8 \ powerpc-darwin7 powerpc64-darwin powerpc-freebsd6 powerpc-netbsd \ powerpc-eabispe powerpc-eabisimaltivec powerpc-eabisim ppc-elf \ diff --git gcc/config.gcc gcc/config.gcc index 36d5ae8..6ea8bba 100644 --- gcc/config.gcc +++ gcc/config.gcc @@ -418,6 +418,10 @@ mips*-*-*) extra_headers="loongson.h" extra_options="${extra_options} g.opt mips/mips-tables.opt" ;; +nds32*) + cpu_type=nds32 + extra_headers="nds32_intrinsic.h" + ;; picochip-*-*) cpu_type=picochip ;; @@ -2030,6 +2034,18 @@ mn10300-*-*) use_collect2=no use_gcc_stdint=wrap ;; +nds32le-*-*) + target_cpu_default="0" + tm_defines="${tm_defines}" + tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}" + tmake_file="nds32/t-mlibs" + ;; +nds32be-*-*) + target_cpu_default="0|MASK_BIG_ENDIAN" + tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1" + tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}" + tmake_file="nds32/t-mlibs" + ;; pdp11-*-*) tm_file="${tm_file} newlib-stdint.h" use_gcc_stdint=wrap @@ -3645,6 +3661,39 @@ case "${target}" in esac ;; + nds32*-*-*) + supported_defaults="arch nds32_lib" + + # process --with-arch + case "${with_arch}" in + "" | v2 | v3 | v3m) + # OK + ;; + *) + echo "Cannot accept --with-arch=$with_arch, available values are: v2 v3 v3m" 1>&2 + exit 1 + ;; + esac + + # process --with-nds32-lib + case "${with_nds32_lib}" in + "") + # the default library is newlib + with_nds32_lib=newlib + ;; + newlib) + # OK + ;; + mculib) + # OK + ;; + *) + echo "Cannot accept --with-nds32-lib=$with_nds32_lib, available values are: newlib mculib" 1>&2 + exit 1 + ;; + esac + ;; + powerpc*-*-* | rs6000-*-*) supported_defaults="cpu cpu_32 cpu_64 float tune tune_32 tune_64" diff --git libgcc/config.host libgcc/config.host index 187391e..20f56d2 100644 --- libgcc/config.host +++ libgcc/config.host @@ -137,6 +137,9 @@ mips*-*-*) cpu_type=mips tmake_file=mips/t-mips ;; +nds32*-*) + cpu_type=nds32 + ;; powerpc*-*-*) cpu_type=rs6000 ;; @@ -831,6 +834,29 @@ moxie-*-rtems*) # Don't use default. extra_parts= ;; +nds32*-elf*) + # Basic makefile fragment and extra_parts for crt stuff. + # We also append c-isr library implementation. + tmake_file="${tmake_file} nds32/t-nds32 nds32/t-nds32-isr" + extra_parts="crtbegin1.o crtend1.o libnds32_isr.a" + # Append library definition makefile fragment according to --with-nds32-lib=X setting. + case "${with_nds32_lib}" in + "" | newlib) + # Append library definition makefile fragment t-nds32-newlib. + # Append 'soft-fp' software floating point make rule fragment provided by gcc. + tmake_file="${tmake_file} nds32/t-nds32-newlib t-softfp-sfdf t-softfp" + ;; + mculib) + # Append library definition makefile fragment t-nds32-mculib. + # The software floating point library is included in mculib. + tmake_file="${tmake_file} nds32/t-nds32-mculib" + ;; + *) + echo "Cannot accept --with-nds32-lib=$with_nds32_lib, available values are: newlib mculib" 1>&2 + exit 1 + ;; + esac + ;; pdp11-*-*) tmake_file="pdp11/t-pdp11 t-fdpbit" ;;