From patchwork Thu Apr 23 11:53:09 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Will Wagner X-Patchwork-Id: 463934 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from whitealder.osuosl.org (whitealder.osuosl.org [140.211.166.138]) by ozlabs.org (Postfix) with ESMTP id B8A601400A0 for ; Thu, 23 Apr 2015 21:53:26 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id F21648D0C4; Thu, 23 Apr 2015 11:53:25 +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 5Mvd+9xORJJq; Thu, 23 Apr 2015 11:53:23 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by whitealder.osuosl.org (Postfix) with ESMTP id AB4418C6DD; Thu, 23 Apr 2015 11:53:23 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from fraxinus.osuosl.org (fraxinus.osuosl.org [140.211.166.137]) by ash.osuosl.org (Postfix) with ESMTP id ADF2F1C1F80 for ; Thu, 23 Apr 2015 11:53:22 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id A288BA198B for ; Thu, 23 Apr 2015 11:53:22 +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 SAM7rcJRpPc9 for ; Thu, 23 Apr 2015 11:53:21 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail.carallon.com (mail.carallon.com [95.177.28.122]) by fraxinus.osuosl.org (Postfix) with ESMTPS id 7B22EA1980 for ; Thu, 23 Apr 2015 11:53:20 +0000 (UTC) X-MDAV-Result: clean X-MDAV-Processed: mail.carallon.com, Thu, 23 Apr 2015 12:52:53 +0100 Received: from animal.office.carallon.com by mail.carallon.com (MDaemon PRO v15.0.0) with ESMTPA id md50001922463.msg for ; Thu, 23 Apr 2015 12:52:53 +0100 X-Spam-Processed: mail.carallon.com, Thu, 23 Apr 2015 12:52:53 +0100 (not processed: message from trusted or authenticated source) X-MDHelo: animal.office.carallon.com X-MDArrival-Date: Thu, 23 Apr 2015 12:52:53 +0100 X-Authenticated-Sender: will_wagner@carallon.com X-Return-Path: prvs=15559debb2=will_wagner@carallon.com X-Envelope-From: will_wagner@carallon.com X-MDaemon-Deliver-To: buildroot@buildroot.org From: will_wagner@carallon.com To: buildroot@buildroot.org Date: Thu, 23 Apr 2015 12:53:09 +0100 Message-Id: <1429789989-14539-1-git-send-email-will_wagner@carallon.com> X-Mailer: git-send-email 2.1.4 Subject: [Buildroot] [RFC 1/1] add musl-cross 1.1.6 external toolchain 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: Will Wagner The 1.1.6 version of musl-cross fixes the two issues preventing recent toolchains being used by buildroot, namely: - sysroot is enabled again - kernel headers are included again I have added it in addition to the 1.1.1 version, as I believe we normally deprecate old version before removal. Also was not sure how to add the second version. I could have renamed the existing BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS to BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS_1_1_1 which would have been more consistent with other toolchains where multiple versions are supported, however to avoid any legacy issues I did not. Signed-off-by: Will Wagner --- toolchain/toolchain-external/Config.in | 30 ++++++++++++++++++++++ toolchain/toolchain-external/toolchain-external.mk | 6 ++++- 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in index d2b99cc..df7e2a5 100644 --- a/toolchain/toolchain-external/Config.in +++ b/toolchain/toolchain-external/Config.in @@ -833,6 +833,26 @@ config BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS http://musl.codu.org/ +config BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS_1_1_6 + bool "Musl 1.1.6 toolchain" + depends on (BR2_arm && BR2_ARM_EABI) || (BR2_armeb && BR2_ARM_EABI) || \ + (BR2_i386 && !BR2_x86_i386) || BR2_microblazebe || BR2_mips || \ + BR2_mipsel || (BR2_powerpc && BR2_powerpc_CLASSIC) || BR2_x86_64 + depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" + select BR2_TOOLCHAIN_EXTERNAL_MUSL + select BR2_INSTALL_LIBSTDCPP + select BR2_HOSTARCH_NEEDS_IA32_LIBS + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 + help + Toolchain based on the Musl C library, provided by the + musl-cross project. It uses gcc 4.9.2, binutils 2.25 and + musl 1.1.6. It does not have a cross debugger included. + + The ARM toolchain is built for ARMv4t, soft-float. + The x86 toolchain is built for i486. + + http://musl.codu.org/ + config BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_2014_12 bool "Synopsys ARC 2014.12 toolchain" depends on BR2_arc @@ -943,6 +963,16 @@ config BR2_TOOLCHAIN_EXTERNAL_PREFIX default "mipsel-sf-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && (BR2_mipsel && BR2_SOFT_FLOAT) default "powerpc-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_powerpc default "x86_64-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_x86_64 + default "arm-linux-musleabi" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS_1_1_6 && BR2_arm + default "armeb-linux-musleabi" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS_1_1_6 && BR2_armeb + default "i486-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS_1_1_6 && BR2_i386 + default "microblaze-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS_1_1_6 && BR2_microblazebe + default "mips-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS_1_1_6 && (BR2_mips && !BR2_SOFT_FLOAT) + default "mips-sf-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS_1_1_6 && (BR2_mips && BR2_SOFT_FLOAT) + default "mipsel-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS_1_1_6 && (BR2_mipsel && !BR2_SOFT_FLOAT) + default "mipsel-sf-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS_1_1_6 && (BR2_mipsel && BR2_SOFT_FLOAT) + default "powerpc-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS_1_1_6 && BR2_powerpc + default "x86_64-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS_1_1_6 && BR2_x86_64 default BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX \ if BR2_TOOLCHAIN_EXTERNAL_CUSTOM diff --git a/toolchain/toolchain-external/toolchain-external.mk b/toolchain/toolchain-external/toolchain-external.mk index 2427463..9885a64 100644 --- a/toolchain/toolchain-external/toolchain-external.mk +++ b/toolchain/toolchain-external/toolchain-external.mk @@ -355,8 +355,12 @@ TOOLCHAIN_EXTERNAL_POST_INSTALL_STAGING_HOOKS += TOOLCHAIN_EXTERNAL_LINARO_AARCH else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64),y) TOOLCHAIN_EXTERNAL_SITE = http://sourcery.mentor.com/public/gnu_toolchain/aarch64-linux-gnu TOOLCHAIN_EXTERNAL_SOURCE = aarch64-2014.05-30-aarch64-linux-gnu-i686-pc-linux-gnu.tar.bz2 -else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS),y) +else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS)$(BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS_1_1_6),y) +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS),y) TOOLCHAIN_EXTERNAL_VERSION = 1.1.1 +else +TOOLCHAIN_EXTERNAL_VERSION = 1.1.6 +endif TOOLCHAIN_EXTERNAL_SITE = https://googledrive.com/host/0BwnS5DMB0YQ6bDhPZkpOYVFhbk0/musl-$(TOOLCHAIN_EXTERNAL_VERSION) ifeq ($(BR2_arm),y) TOOLCHAIN_EXTERNAL_SOURCE = crossx86-arm-linux-musleabi-$(TOOLCHAIN_EXTERNAL_VERSION).tar.xz