From patchwork Sun Jul 9 12:21:56 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Max Filippov X-Patchwork-Id: 785905 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3x56tR2WfCz9s76 for ; Sun, 9 Jul 2017 22:22:39 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="VqBuuv9m"; dkim-atps=neutral Received: from localhost (localhost [127.0.0.1]) by silver.osuosl.org (Postfix) with ESMTP id 81D282F63E; Sun, 9 Jul 2017 12:22:37 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from silver.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 6dJB43XAzzxL; Sun, 9 Jul 2017 12:22:36 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by silver.osuosl.org (Postfix) with ESMTP id 7746A2F5F5; Sun, 9 Jul 2017 12:22:36 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by ash.osuosl.org (Postfix) with ESMTP id 14FF11C1111 for ; Sun, 9 Jul 2017 12:22:35 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id 108C581BA0 for ; Sun, 9 Jul 2017 12:22:35 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Bupy7jhHeel7 for ; Sun, 9 Jul 2017 12:22:33 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-lf0-f65.google.com (mail-lf0-f65.google.com [209.85.215.65]) by hemlock.osuosl.org (Postfix) with ESMTPS id 5AB2581B79 for ; Sun, 9 Jul 2017 12:22:33 +0000 (UTC) Received: by mail-lf0-f65.google.com with SMTP id f28so7666211lfi.3 for ; Sun, 09 Jul 2017 05:22:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=VTl7cxs3FohBhX2CAh4oNDN089z/g1q8G8/d+clh9N8=; b=VqBuuv9mg3pJvwNuOmT0Ih6gb0mViBNNNx8DPSX90Mv4FCBPt2Ro1Zd3C8Vwi0prcr D3ySWpvqffvNl/a20KE4Zg1ks18YXp39zi03jyOyWe5324OeS6jMpRDlYZ+ftIGpkqL3 2bm8eYr1DNKRf2XhAmv9suqmZSP5O6YYfAyy1v4OUHYAwZjJDMrNt6nSdLUEXsLivnVu rntlr3F7CEO0UIAIVb1seSotyXcP41k+1KCWENMPkM5SUkr9nYN+7gr/fydn+RzAgb8w n/ONwG2RUL+kN31mquedpZRV4t/kc0ygqR7GJ1W2y8SjyG5tjID7ywpJ0UuOEQ6zoXg3 8F9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=VTl7cxs3FohBhX2CAh4oNDN089z/g1q8G8/d+clh9N8=; b=r81acL9igKyjaxqB4IMOJP/xLzOjLjGuEK7wdX2ZTSw2Z0gOCtXpLTwXK0LRHX+CfR QhOOPmfxbkwNGiyZCn8s7A6X5r96kNijWTvq0KE5yRKW0Fz9vAvTEvx0+SP4n3l/SeSv ipQhSR3JMqMt4yM4OaiT7vjjwxK3jw9QzNPHeChu+qRNMi2EBCGfx1WutIQc2dIjuktD YdbklUnLZ5d0mAMk26aoK7Pfl5deuLSlnpRvtCrZT8NwXwTtv3vA4PZMgWiytcN90mRn 8OxK6/8C85u0zY5xkz14J3wiWqdMXW4kamcZeOjVgumAuds5+pOVeo4RzMTORw1A/kGH OjjQ== X-Gm-Message-State: AKS2vOwPakm4X2/0kqeXWX1FpCtxS/TUjlXm4FixwXGZnq/zcxY3+dM6 MlSCRbIKthB40vT2 X-Received: by 10.25.209.2 with SMTP id i2mr17229454lfg.119.1499602950961; Sun, 09 Jul 2017 05:22:30 -0700 (PDT) Received: from octofox.net ([5.19.183.212]) by smtp.gmail.com with ESMTPSA id 28sm1712336ljw.33.2017.07.09.05.22.28 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sun, 09 Jul 2017 05:22:30 -0700 (PDT) From: Max Filippov To: buildroot@uclibc.org Date: Sun, 9 Jul 2017 05:21:56 -0700 Message-Id: <1499602921-25097-3-git-send-email-jcmvbkbc@gmail.com> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1499602921-25097-1-git-send-email-jcmvbkbc@gmail.com> References: <1499602921-25097-1-git-send-email-jcmvbkbc@gmail.com> Cc: Thomas Petazzoni , "Yann E. MORIN" Subject: [Buildroot] [PATCH v2 2/7] arch/xtensa: allow specifying path to tarball file X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" From: "Yann E. MORIN" currently, specifying a custom Xtrensa core is done with two variables: - the core name - the directory containing the overlay tarball However, the core name only serves to construct the tarball name, and is not used whatsoever to configure any of the toolchain components (binutils, gcc or gdb), except through the files that are overlayed in their respective source trees. This has two main drawbacks: - the overlay file must be named after the core, - the tarball can not be compressed. Furthermore, it also makes it extremely complex to implement a download of that tarball. So, those two variables can be squeezed into a single variable, that is the complete path of the overlay tarball. Update the qemu-xtensa defconfig accordingly. Note: we do not add a legacy entry for BR2_XTENSA_CORE_NAME, since it was previously a blind option in the last release, and there's been no release since we removed BR2_XTENSA_CUSTOM_NAME. So, we just update the legacy comments for BR2_XTENSA_CUSTOM_NAME, since that's all the user could have seen in any of our releases so far. Signed-off-by: "Yann E. MORIN" Cc: Gustavo Zacarias Signed-off-by: Max Filippov --- Changes v1->v2: - replace ARCH_XTENSA_CORE_NAME with ARCH_XTENSA_OVERLAY_FILE in overlay application conditions in package makefiles. Config.in.legacy | 18 +++++++++++++++--- arch/Config.in.xtensa | 19 ++++++++----------- arch/arch.mk.xtensa | 17 +++++++---------- configs/qemu_xtensa_lx60_defconfig | 3 +-- configs/qemu_xtensa_lx60_nommu_defconfig | 3 +-- package/binutils/binutils.mk | 2 +- package/gcc/gcc-final/gcc-final.mk | 2 +- package/gcc/gcc-initial/gcc-initial.mk | 2 +- package/gdb/gdb.mk | 2 +- 9 files changed, 36 insertions(+), 32 deletions(-) diff --git a/Config.in.legacy b/Config.in.legacy index f05b63eb1c54..66fa240f3899 100644 --- a/Config.in.legacy +++ b/Config.in.legacy @@ -336,11 +336,23 @@ config BR2_GCC_VERSION_4_8_X Support for gcc version 4.8.x has been removed. The current default version (5.x or later) has been selected instead. +config BR2_XTENSA_OVERLAY_DIR + string "The BR2_XTENSA_OVERLAY_DIR option has been removed" + help + The BR2_XTENSA_OVERLAY_DIR has been removed in favour of + BR2_XTENSA_OVERLAY_FILE. You must now pass the cpmplete + path to the overlay file, not to the directory containing + it. + +config BR2_XTENSA_OVERLAY_DIR_WRAP + bool + default y if BR2_XTENSA_OVERLAY_DIR != "" + select BR2_LEGACY + config BR2_XTENSA_CUSTOM_NAME - string "The BR2_XTENSA_CUSTOM_NAME option has been renamed" + string "The BR2_XTENSA_CUSTOM_NAME option has been removed" help - The BR2_XTENSA_CUSTOM_NAME option has been renamed - to BR2_XTENSA_CORE_NAME. + The BR2_XTENSA_CUSTOM_NAME option has been removed. config BR2_XTENSA_CUSTOM_NAME_WRAP bool diff --git a/arch/Config.in.xtensa b/arch/Config.in.xtensa index 00b1f6853c94..5d5bcb48f99f 100644 --- a/arch/Config.in.xtensa +++ b/arch/Config.in.xtensa @@ -13,24 +13,21 @@ config BR2_xtensa_fsf endchoice -config BR2_XTENSA_CORE_NAME - string "Custom Xtensa processor configuration name" if BR2_XTENSA_CUSTOM - default BR2_XTENSA_CUSTOM_NAME if BR2_XTENSA_CUSTOM_NAME != "" # legacy - help - Name given to a custom Xtensa processor configuration. - -config BR2_XTENSA_OVERLAY_DIR - string "Overlay directory for custom configuration" +config BR2_XTENSA_OVERLAY_FILE + string "Overlay file for custom configuration" depends on BR2_XTENSA_CUSTOM help - Provide the directory path that contains the overlay file - for a custom processor configuration. The path is relative - to the top directory of buildroot. + Enter the path to the overlay tarball for a custom processor + configuration. + These overlay files are tar packages with updated configuration files for various toolchain packages and Xtensa processor configurations. They are provided by the processor vendor or directly from Tensilica. + The path can be either absolute, or relative to the top directory + of buildroot. + choice prompt "Target Architecture Endianness" depends on BR2_XTENSA_CUSTOM diff --git a/arch/arch.mk.xtensa b/arch/arch.mk.xtensa index 2843333b5800..6d9fd63d124a 100644 --- a/arch/arch.mk.xtensa +++ b/arch/arch.mk.xtensa @@ -1,18 +1,15 @@ ################################################################################ -# Those two variables can be used by packages that need to extract the overlay. +# This variable can be used by packages that need to extract the overlay. # -# ARCH_XTENSA_CORE_NAME is the name of the Xtensa core; empty if none or the -# standard 'fsf' core. -# ARCH_XTENSA_OVERLAY_TAR is the path to the overlay tarball; only valid when -# ARCH_XTENSA_CORE_NAME is not empty. +# ARCH_XTENSA_OVERLAY_FILE is the path to the overlay tarball; empty if not +# using any overlay # # Example: -# ifneq ($(ARCH_XTENSA_CORE_NAME),) -# tar xf $(ARCH_XTENSA_OVERLAY_TAR) -C $(@D) --strip-components=1 gcc +# ifneq ($(ARCH_XTENSA_OVERLAY_FILE),) +# tar xf $(ARCH_XTENSA_OVERLAY_FILE) -C $(@D) --strip-components=1 gcc # endif ################################################################################ -ARCH_XTENSA_CORE_NAME = $(call qstrip,$(BR2_XTENSA_CORE_NAME)) -ARCH_XTENSA_OVERLAY_TAR = $(call qstrip,$(BR2_XTENSA_OVERLAY_DIR))/xtensa_$(ARCH_XTENSA_CORE_NAME).tar +ARCH_XTENSA_OVERLAY_FILE = $(call qstrip,$(BR2_XTENSA_OVERLAY_FILE)) ################################################################################ # arch-xtensa-overlay-extract -- extract an extensa overlay @@ -24,5 +21,5 @@ ARCH_XTENSA_OVERLAY_TAR = $(call qstrip,$(BR2_XTENSA_OVERLAY_DIR))/xtensa_$(ARCH # $(call arch-xtensa-overlay-extract,/path/to/overlay.tar,$(@D),gcc) ################################################################################ define arch-xtensa-overlay-extract - tar xf $(ARCH_XTENSA_OVERLAY_TAR) -C $(1) --strip-components=1 $(2) + tar xf $(ARCH_XTENSA_OVERLAY_FILE) -C $(1) --strip-components=1 $(2) endef diff --git a/configs/qemu_xtensa_lx60_defconfig b/configs/qemu_xtensa_lx60_defconfig index ec0c1bac51be..778c31aba01e 100644 --- a/configs/qemu_xtensa_lx60_defconfig +++ b/configs/qemu_xtensa_lx60_defconfig @@ -1,8 +1,7 @@ # Architecture BR2_xtensa=y BR2_XTENSA_CUSTOM=y -BR2_XTENSA_CORE_NAME="dc233c" -BR2_XTENSA_OVERLAY_DIR="board/qemu/xtensa-lx60" +BR2_XTENSA_OVERLAY_FILE="board/qemu/xtensa-lx60/xtensa_dc233c.tar" # System BR2_SYSTEM_DHCP="eth0" diff --git a/configs/qemu_xtensa_lx60_nommu_defconfig b/configs/qemu_xtensa_lx60_nommu_defconfig index d19bc5431b39..63e0194fefeb 100644 --- a/configs/qemu_xtensa_lx60_nommu_defconfig +++ b/configs/qemu_xtensa_lx60_nommu_defconfig @@ -1,8 +1,7 @@ # Architecture BR2_xtensa=y BR2_XTENSA_CUSTOM=y -BR2_XTENSA_CORE_NAME="dc233c" -BR2_XTENSA_OVERLAY_DIR="board/qemu/xtensa-lx60" +BR2_XTENSA_OVERLAY_FILE="board/qemu/xtensa-lx60/xtensa_dc233c.tar" # Toolchain BR2_PACKAGE_HOST_ELF2FLT=y diff --git a/package/binutils/binutils.mk b/package/binutils/binutils.mk index c64ec47292ec..8e26394fbf51 100644 --- a/package/binutils/binutils.mk +++ b/package/binutils/binutils.mk @@ -122,7 +122,7 @@ define BINUTILS_INSTALL_TARGET_CMDS endef endif -ifneq ($(ARCH_XTENSA_CORE_NAME),) +ifneq ($(ARCH_XTENSA_OVERLAY_FILE),) define BINUTILS_XTENSA_OVERLAY_EXTRACT $(call arch-xtensa-overlay-extract,$(@D),binutils) endef diff --git a/package/gcc/gcc-final/gcc-final.mk b/package/gcc/gcc-final/gcc-final.mk index 78466fa4da40..f3bc72efc719 100644 --- a/package/gcc/gcc-final/gcc-final.mk +++ b/package/gcc/gcc-final/gcc-final.mk @@ -15,7 +15,7 @@ HOST_GCC_FINAL_DEPENDENCIES = \ HOST_GCC_FINAL_EXCLUDES = $(HOST_GCC_EXCLUDES) HOST_GCC_FINAL_POST_EXTRACT_HOOKS += HOST_GCC_FAKE_TESTSUITE -ifneq ($(ARCH_XTENSA_CORE_NAME),) +ifneq ($(ARCH_XTENSA_OVERLAY_FILE),) HOST_GCC_FINAL_POST_EXTRACT_HOOKS += HOST_GCC_XTENSA_OVERLAY_EXTRACT endif diff --git a/package/gcc/gcc-initial/gcc-initial.mk b/package/gcc/gcc-initial/gcc-initial.mk index e1a224164a20..dc7dff922818 100644 --- a/package/gcc/gcc-initial/gcc-initial.mk +++ b/package/gcc/gcc-initial/gcc-initial.mk @@ -13,7 +13,7 @@ HOST_GCC_INITIAL_DEPENDENCIES = $(HOST_GCC_COMMON_DEPENDENCIES) HOST_GCC_INITIAL_EXCLUDES = $(HOST_GCC_EXCLUDES) HOST_GCC_INITIAL_POST_EXTRACT_HOOKS += HOST_GCC_FAKE_TESTSUITE -ifneq ($(ARCH_XTENSA_CORE_NAME),) +ifneq ($(ARCH_XTENSA_OVERLAY_FILE),) HOST_GCC_INITIAL_POST_EXTRACT_HOOKS += HOST_GCC_XTENSA_OVERLAY_EXTRACT endif diff --git a/package/gdb/gdb.mk b/package/gdb/gdb.mk index 9b4d50e9d803..8ef01d6c12ea 100644 --- a/package/gdb/gdb.mk +++ b/package/gdb/gdb.mk @@ -44,7 +44,7 @@ HOST_GDB_MAKE_OPTS += MAKEINFO=true HOST_GDB_INSTALL_OPTS += MAKEINFO=true install # Apply the Xtensa specific patches -ifneq ($(ARCH_XTENSA_CORE_NAME),) +ifneq ($(ARCH_XTENSA_OVERLAY_FILE),) define GDB_XTENSA_OVERLAY_EXTRACT $(call arch-xtensa-overlay-extract,$(@D),gdb) endef