From patchwork Tue Mar 14 18:30:46 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Max Filippov X-Patchwork-Id: 738874 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org 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 3vjNdP0GDnz9s1h for ; Wed, 15 Mar 2017 05:32:40 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="YzFs0PU4"; dkim-atps=neutral Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id 53134888F5; Tue, 14 Mar 2017 18:32:18 +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 w0bCqPF9CkHr; Tue, 14 Mar 2017 18:32:16 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by fraxinus.osuosl.org (Postfix) with ESMTP id F383E8895F; Tue, 14 Mar 2017 18:32:15 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137]) by ash.osuosl.org (Postfix) with ESMTP id 66A5A1BFCC3 for ; Tue, 14 Mar 2017 18:31:44 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id 334448897E for ; Tue, 14 Mar 2017 18:31:44 +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 27Q-mXAGF4dA for ; Tue, 14 Mar 2017 18:31:42 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-pg0-f66.google.com (mail-pg0-f66.google.com [74.125.83.66]) by fraxinus.osuosl.org (Postfix) with ESMTPS id 6B1D188969 for ; Tue, 14 Mar 2017 18:31:41 +0000 (UTC) Received: by mail-pg0-f66.google.com with SMTP id b5so25752272pgg.1 for ; Tue, 14 Mar 2017 11:31:41 -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=iIMfacO/Oq2/K0u62vJUBNrFhoLfLnrEqO1FeejY9PI=; b=YzFs0PU4R0u37y6qoiR+s6MzJvpCIGK+EC2iyErbfgC74wpSitO5R9gk+gQOURy+1P vX+XdxzQEX8bBSZwJHZtsNJ+2Vc4qPvpI8puRCN6t4zIhUeql0qZ8UOmGfsDRLGIiYdY nTOtuVBRmNg+QvPza7bS1TFypQl+X9UfNGcnLbjMCIGeu0B46AktlAE534YrYvqprKs/ JHoHdIFGonQE6suz0AshqWsVduYEfNmSsTVeVFdxlpwH1ivwZZwYwJBTcqmIc36J6nfM y8oWdYQMOYbtQgcpJPl4uIdJKcTvUo6nKj3RgP4mKTuRGUH/ZHTGOvxrXs3uDLDOkY/4 nJSw== 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=iIMfacO/Oq2/K0u62vJUBNrFhoLfLnrEqO1FeejY9PI=; b=fg8PJy35sIQX2qCoC09qRUcDB8vZJ6VZA1uP9aFuhFAGqyH7gAk0tIZeXGA4Bcta+k ecAL7Sxn+CC86wMtAyBrrlD3WLXStH6ML43Txpig1+aamcfJV1LT7U7eLgH8HpK2xher 7gz4nmN5H4uQ1HcfEauZaDOc2Df3v/n3vtBwAVOTqt79viWaTLqqOomDzeYDyRhUuXTb AsrvhXutBPF7dpt3/pX8eTz7QhnVFMDORjpEAz19Nd+kN01pvEVfaMeuATzF2OANdgEG 1IPCn/Y7wDBni1qpZ2jwm7F+sxDgpk5IQy/skfCknaPB+8UY8/9py88F8i3w5XcfFNQL M0DQ== X-Gm-Message-State: AMke39lXPeqMqb7NBymJqEB7XSE580TH/UHW3e8EYGa2Vyx9xldNbnWWX7jfJ++21v2q0g== X-Received: by 10.84.193.101 with SMTP id e92mr58219159pld.4.1489516300995; Tue, 14 Mar 2017 11:31:40 -0700 (PDT) Received: from octofox.metropolis (corp.Cadence.COM. [158.140.1.28]) by smtp.gmail.com with ESMTPSA id e13sm40192470pgn.38.2017.03.14.11.31.39 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 14 Mar 2017 11:31:40 -0700 (PDT) From: Max Filippov To: buildroot@uclibc.org Date: Tue, 14 Mar 2017 11:30:46 -0700 Message-Id: <1489516252-3803-18-git-send-email-jcmvbkbc@gmail.com> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1489516252-3803-1-git-send-email-jcmvbkbc@gmail.com> References: <1489516252-3803-1-git-send-email-jcmvbkbc@gmail.com> Cc: Thomas Petazzoni , "Yann E. MORIN" Subject: [Buildroot] [PATCH 17/23] 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 --- Config.in.legacy | 18 +++++++++++++++--- arch/Config.in.xtensa | 19 ++++++++----------- arch/arch.mk.xtensa | 21 +++++++++------------ configs/qemu_xtensa_lx60_defconfig | 3 +-- configs/qemu_xtensa_lx60_nommu_defconfig | 3 +-- 5 files changed, 34 insertions(+), 30 deletions(-) diff --git a/Config.in.legacy b/Config.in.legacy index 2261e0c..db6853e 100644 --- a/Config.in.legacy +++ b/Config.in.legacy @@ -194,11 +194,23 @@ config BR2_GLIBC_VERSION_2_22 Support for glibc version 2.22 has been removed. The current default version 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 263af80..a1494fa 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 0377ceb..12c2d4e 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,7 +21,7 @@ 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 ################################################################################ @@ -40,14 +37,14 @@ endef ################################################################################ define arch-xtensa-overlay-inner -ifneq ($$(ARCH_XTENSA_CORE_NAME),) +ifneq ($$(ARCH_XTENSA_OVERLAY_FILE),) define $(1)_XTENSA_OVERLAY_EXTRACT $$(call arch-xtensa-overlay-extract,$$(@D),$$($(1)_ARCH_XTENSA_OVERLAY_COMPONENT)) endef $(1)_POST_EXTRACT_HOOKS += $(1)_XTENSA_OVERLAY_EXTRACT -endif # ARCH_XTENSA_CORE_NAME != "" +endif # ARCH_XTENSA_OVERLAY_FILE != "" endef # arch-xtensa-overlay-inner diff --git a/configs/qemu_xtensa_lx60_defconfig b/configs/qemu_xtensa_lx60_defconfig index 5c0cf8c..f17aa48 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" # Patches BR2_GLOBAL_PATCH_DIR="board/qemu/xtensa-lx60" diff --git a/configs/qemu_xtensa_lx60_nommu_defconfig b/configs/qemu_xtensa_lx60_nommu_defconfig index 97e5c98..68af710 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