From patchwork Sat Jul 14 07:13:30 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anton Kuzmin X-Patchwork-Id: 943882 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=busybox.net (client-ip=140.211.166.137; helo=fraxinus.osuosl.org; envelope-from=buildroot-bounces@busybox.net; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=aries-embedded.de Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=aries-embedded.de header.i=@aries-embedded.de header.b="OzDbS3fZ"; dkim-atps=neutral Received: from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 41SLQH71jnz9s1R for ; Sat, 14 Jul 2018 17:09:27 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id 5D8548845C; Sat, 14 Jul 2018 07:09:26 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from fraxinus.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id TiZF9QlaK00Z; Sat, 14 Jul 2018 07:09:25 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by fraxinus.osuosl.org (Postfix) with ESMTP id AAB468844C; Sat, 14 Jul 2018 07:09:25 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id 84F241C0622 for ; Sat, 14 Jul 2018 07:09:24 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 82A9688C73 for ; Sat, 14 Jul 2018 07:09:24 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id u05I7Z2ReyTO for ; Sat, 14 Jul 2018 07:09:22 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from mo4-p01-ob.smtp.rzone.de (mo4-p01-ob.smtp.rzone.de [85.215.255.53]) by whitealder.osuosl.org (Postfix) with ESMTPS id 10C5988C34 for ; Sat, 14 Jul 2018 07:09:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1531552159; s=strato-dkim-0002; d=aries-embedded.de; h=Date:Message-ID:Subject:From:Cc:To:X-RZG-CLASS-ID:X-RZG-AUTH:From: Subject:Sender; bh=tleGMIT1dChA52oMA7ozpCG/cttnMw5Qj4xsM5i9mIU=; b=OzDbS3fZFha6PFQKkzlwP3MGPqUJqJtlpMMJF79FHseAMn8ZFaY/2+x9uKaa7jC/Y6 QxnkRjyjk3EZldg8qeQmVvdA84EKIAnRjl0TziO2boihtMdy7ktXcAlm4TxfcQUgbrBE ojCzxmSBW/8BoagfiNFFRqrEy6Mx08RJNT+Xjgu4KCiVB+HLGWFBy+EW9VdfIZGAD4ga QPx5UeOax7sWIMfx0zooYYSO1X3rHBORlgx6nBaKbjN4legO9nEpfFO6s2imDY5puUYD 8cp+LuQBA8vU6EGM7LEYeKPiySbcItvIiwFDktxqUIvta/SVq5wXI44MOeJCfxqEe2l4 JNdw== X-RZG-AUTH: ":LWckdFKhfuylYhGOHPJ/AcW+0SXb7Mhksqh81P3lZnV3wWrXlhaUXTtbD6MEn9bcEYgedxqjfA==" X-RZG-CLASS-ID: mo01 Received: from [192.168.1.5] by smtp.strato.de (RZmta 43.13 DYNA|AUTH) with ESMTPSA id v0aef0u6E79J11T (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (curve secp521r1 with 521 ECDH bits, eq. 15360 bits RSA)) (Client did not present a certificate); Sat, 14 Jul 2018 09:09:19 +0200 (CEST) To: buildroot@buildroot.org From: Anton Kuzmin Openpgp: preference=signencrypt Autocrypt: addr=ak@aries-embedded.de; prefer-encrypt=mutual; keydata= xsBNBFG3P50BCACvrPITXlSQdqbHSFlLoExhJBsUyMbB6WylfRQPPf6dZHb0j8kNs+qiJOGW b8JCWRamviBQ2vucnITxkqtPu/JCUkHeETufLjCr34StV3qjQjNYCJSMEayWeRw5HCaUzqXM dkXbK+CwyCpUVgUukZI6O+bfKkMDYHHtnCnHRsNR7BtdBXFt/A27b6QbDihF9EHadKMxnR8z A3xAFs9PbAm7OcZ+5Hhig7psobQ+eS2AuVeulQNr4FEaaEQWGVZ2OW1QzKqBlh1sQY1o2JCL BZousCg8bDCpXMFLy1FJPeSaoWnFhREi7fMrZS+umkDBLu7bKTyOy/Yhd3nu8iJ461frABEB AAHNI0FudG9uIEt1em1pbiA8YWtAYXJpZXMtZW1iZWRkZWQuZGU+wsB9BBMBCgAnAhsDBQsJ CAcDBRUKCQgLBRYCAwEAAh4BAheABQJX9CYeBQkL4IEBAAoJEO+kQmSkuPSdAkoH+wYffbxO upfeurzhXU4qWVM34pXtCxUVJzJK9sSTnJJpwQPdK7tR5Rrm5eH8R6YQ4FzxhtPNMNDJjq+V 537B2cnKubnjDZVjVvceV0Kcf+2ATalgxpNshNlK8n2yL6L1uBvsLt8uDS12S9ti+2uTyXni DGzN+oYV+ScPsQa4xuAsK0Ucz0Ue/J1gW5WjqA26h8bu7XdryUdl2z9oW2piWMa5b7PEWj2+ 1IZmH04gcHEQD8eAYGxA1zMJpIC3WGAidNNeWiNnrcBZ5YW7Y1LFrgIqJsLDRL8PjFPm4Iwo GEqiMKo/I41b31Y4frurAQijZsg+z91XjwmAX6zJetBmsHvOwE0EUbc/nQEIAKkHjJpvRpJa jdBML1SgS0+G3aJF6x8KtTMHk6RVkI5JDLuy/auzOsd547wZkjl553ML03omEd+2E9Vp0zbX J1lcPb7uuB/8UK2sD1dM1wUOPi5dBhrVAPIbnLc8Y7bISCuChEpyaxgJos/4AJkwI/1bGl5W I0AhiQBmLuz40OO6fBJVWwOlk6sSS/De9co+puffmgWGkXTfAWJQ3L8fleaIidmtHK5e/u/s Jc3LXENDjFAOfE0C1TXhqvktDEQAM/V0Lm24n7EwXMtBpIFVeggScERwgXG+uMorO2Vhl+6s 2qKJBf+sueilvuctac4bkV7Ei9NAOh8yUp3JB6ZGdzcAEQEAAcLAZQQYAQoADwIbDAUCV/Qm pgUJC+CBiQAKCRDvpEJkpLj0nYzFB/0TuRg6SrIxsS+jmhw8MHBkQKA/R36itWinWtUikZ+t 4oYL7c2H0owGewUmfb8INmIrqA19FVNsmeqjFAF45eaRpKUEDDAuVhucL/+Hy5OzZmUSHm+c E3f6GbyTP8hDsfpx2SErZTvBBRdrAB6v50Ofa7W1mwB0FBvKyDNvrKPztgdqPGAjWEfPLdqM BnOdJ6naDgILRsZwMqFiFFUzXuiBFfswiMc6kkbd0zHLjTw52McPhTrxEO2yztYziMD23bz5 G0ZX9yGQtxoz/SrQ9AuzQNN4qifmeDkhOzNa5jQrgL1h/H3HCBEokZelFrW2/nC9NDhzYgy2 x39rBNFdi+k1 Message-ID: <6386450f-5970-4998-0840-1552401ea5fb@aries-embedded.de> Date: Sat, 14 Jul 2018 09:13:30 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 MIME-Version: 1.0 Content-Language: en-US Subject: [Buildroot] [PATCH 2/2] toolchain-buildroot: add support for RISC-V Instruction Set Architecture X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.24 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Thomas De Schampheleire , Thomas Petazzoni Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" Signed-off-by: Anton Kuzmin --- Makefile | 3 ++- arch/Config.in.riscv | 13 +++++++++++-- arch/arch.mk.riscv | 18 ++++++++++++++++++ toolchain/toolchain-buildroot/Config.in | 3 ++- 4 files changed, 33 insertions(+), 4 deletions(-) create mode 100644 arch/arch.mk.riscv diff --git a/Makefile b/Makefile index 8d25c8a239..5e2302e1d3 100644 --- a/Makefile +++ b/Makefile @@ -434,7 +434,8 @@ KERNEL_ARCH := $(shell echo "$(ARCH)" | sed -e "s/-.*//" \ -e s/powerpc64.*/powerpc/ \ -e s/ppc.*/powerpc/ -e s/mips.*/mips/ \ -e s/sh.*/sh/ \ - -e s/microblazeel/microblaze/) + -e s/microblazeel/microblaze/ \ + -e s/riscv.*/riscv/) ZCAT := $(call qstrip,$(BR2_ZCAT)) BZCAT := $(call qstrip,$(BR2_BZCAT)) diff --git a/arch/Config.in.riscv b/arch/Config.in.riscv index 31c25a92c2..23c5b2da6c 100644 --- a/arch/Config.in.riscv +++ b/arch/Config.in.riscv @@ -64,5 +64,14 @@ config BR2_ARCH config BR2_ENDIAN default "LITTLE" -config BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT - default y +config BR2_GCC_TARGET_ARCH +# Extension characters are appended by arch/arch.mk.riscv file + default "rv32i" if BR2_rv32i + default "rv64i" if BR2_rv64i + +config BR2_GCC_TARGET_ABI + default "ilp32" if BR2_rv32i + default "lp64" if BR2_rv64i + +config BR2_READELF_ARCH_NAME + default "RISC-V" diff --git a/arch/arch.mk.riscv b/arch/arch.mk.riscv new file mode 100644 index 0000000000..c8c5763c2c --- /dev/null +++ b/arch/arch.mk.riscv @@ -0,0 +1,18 @@ +ifeq ($(BR2_riscv_m),y) +BR2_GCC_TARGET_ARCH := $(echo $(BR2_GCC_TARGET_ARCH)"m") +endif +ifeq ($(BR2_riscv_f),y) +BR2_GCC_TARGET_ARCH := $(echo $(BR2_GCC_TARGET_ARCH)"f") +endif +ifeq ($(BR2_riscv_d),y) +BR2_GCC_TARGET_ARCH := $(echo $(BR2_GCC_TARGET_ARCH)"d") +endif +ifeq ($(BR2_riscv_a),y) +BR2_GCC_TARGET_ARCH := $(echo $(BR2_GCC_TARGET_ARCH)"a") +endif +ifeq ($(BR2_riscv_c),y) +BR2_GCC_TARGET_ARCH := $(echo $(BR2_GCC_TARGET_ARCH)"c") +endif +ifeq ($(BR2_riscv_v),y) +BR2_GCC_TARGET_ARCH := $(echo $(BR2_GCC_TARGET_ARCH)"v") +endif diff --git a/toolchain/toolchain-buildroot/Config.in b/toolchain/toolchain-buildroot/Config.in index 75e8191f46..6f0af1b936 100644 --- a/toolchain/toolchain-buildroot/Config.in +++ b/toolchain/toolchain-buildroot/Config.in @@ -47,7 +47,8 @@ config BR2_TOOLCHAIN_BUILDROOT_GLIBC BR2_mipsel || BR2_mips64 || BR2_mips64el|| \ BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le || \ BR2_sh || BR2_sparc64 || BR2_x86_64 || \ - BR2_microblaze || BR2_nios2 || BR2_archs38 + BR2_microblaze || BR2_nios2 || BR2_archs38 || \ + BR2_riscv depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2 -- 2.18.0