From patchwork Mon Dec 5 14:39:55 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wei Liu X-Patchwork-Id: 9461059 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 06A3D60236 for ; Mon, 5 Dec 2016 14:42:24 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id EAAAA25EA6 for ; Mon, 5 Dec 2016 14:42:23 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id DF7F6271BC; Mon, 5 Dec 2016 14:42:23 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.2 required=2.0 tests=BAYES_00, RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 30CAF25EA6 for ; Mon, 5 Dec 2016 14:42:22 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cDuQz-0008Nx-Nj; Mon, 05 Dec 2016 14:40:01 +0000 Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cDuQy-0008Nr-R0 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2016 14:40:00 +0000 Received: from [85.158.137.68] by server-12.bemta-3.messagelabs.com id 77/9A-28947-04C75485; Mon, 05 Dec 2016 14:40:00 +0000 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrFLMWRWlGSWpSXmKPExsXitHSDva59jWu EQfNqVYvvWyYzOTB6HP5whSWAMYo1My8pvyKBNePRs+OsBR/EKxou7mFtYJwq0sXIySEh4C9x feYpdhCbTUBZ4mdnLxuILSKgJ9F04DljFyMXB7PAPiaJw683sIAkhAWMJf5/Ww1mswioSCzff g2sgVfAWeLYq7NMEEPlJM4f/8kMYgsJKEh0TD/GBFEjKHFy5hOwXmYBCYmDL14wT2DknoUkNQ tJagEj0ypGjeLUorLUIl0jE72kosz0jJLcxMwcXUMDY73c1OLixPTUnMSkYr3k/NxNjMBwqGd gYNzB+Oq43yFGSQ4mJVHeKQmuEUJ8SfkplRmJxRnxRaU5qcWHGGU4OJQkeKWrgXKCRanpqRVp mTnAwIRJS3DwKInwLgZJ8xYXJOYWZ6ZDpE4x6nKs2Lr2KZMQS15+XqqUOK86SJEASFFGaR7cC FiUXGKUlRLmZWRgYBDiKUgtys0sQZV/xSjOwagkzFsFMoUnM68EbtMroCOYgI44cdwZ5IiSRI SUVAOjsmtmlJmS/z4bmRltFw44bnnDW5l6pEO5M/mznk/17Z11SkaSDkEe/kbcC+a+2W267cP rSA7rdP9NucwpMS1sfAX5xrHCCbls+7aLcOtzKE3Z8jTbtNBX/f1G1osnzi5xEdc1dYox3rno 6W/TNvnyP79cW03KDvPs8rdQ/7DhyIIrksJ7s5VYijMSDbWYi4oTAWdYlxWNAgAA X-Env-Sender: prvs=140091d35=wei.liu2@citrix.com X-Msg-Ref: server-4.tower-31.messagelabs.com!1480948796!16428557!1 X-Originating-IP: [66.165.176.63] X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAzMDYwNDg=\n, received_headers: No Received headers X-StarScan-Received: X-StarScan-Version: 9.0.16; banners=-,-,- X-VirusChecked: Checked Received: (qmail 37519 invoked from network); 5 Dec 2016 14:39:59 -0000 Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63) by server-4.tower-31.messagelabs.com with RC4-SHA encrypted SMTP; 5 Dec 2016 14:39:59 -0000 X-IronPort-AV: E=Sophos;i="5.33,747,1477958400"; d="scan'208";a="401832942" From: Wei Liu To: Xen-devel Date: Mon, 5 Dec 2016 14:39:55 +0000 Message-ID: <1480948795-25317-1-git-send-email-wei.liu2@citrix.com> X-Mailer: git-send-email 2.1.4 MIME-Version: 1.0 Cc: Stefano Stabellini , Wei Liu , George Dunlap , Andrew Cooper , Ian Jackson , Tim Deegan , Jan Beulich Subject: [Xen-devel] [PATCH] xen: convert lto to Kconfig option X-BeenThere: xen-devel@lists.xen.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" X-Virus-Scanned: ClamAV using ClamSMTP Introduce CONFIG_LTO in Kconfig. Since this is the last option to be converted to Kconfig, delete the preceding comment in Rules.mk as well. Make it depend on BROKEN because it doesn't work at the moment. Signed-off-by: Wei Liu --- Cc: Andrew Cooper Cc: George Dunlap Cc: Ian Jackson Cc: Jan Beulich Cc: Konrad Rzeszutek Wilk Cc: Stefano Stabellini Cc: Tim Deegan Cc: Wei Liu The option is placed under top level Kconfig because it doesn't fit into any existing category. Suggestions are welcome. --- xen/Kconfig | 8 ++++++++ xen/Rules.mk | 10 ++-------- xen/arch/arm/Makefile | 2 +- xen/arch/x86/Makefile | 2 +- 4 files changed, 12 insertions(+), 10 deletions(-) diff --git a/xen/Kconfig b/xen/Kconfig index 5515fe9..65d491d 100644 --- a/xen/Kconfig +++ b/xen/Kconfig @@ -30,4 +30,12 @@ config EXPERT string option env="XEN_CONFIG_EXPERT" +config LTO + bool "Link Time Optimisation" + depends on BROKEN + ---help--- + Enable Link Time Optimisation. + + If unsure, say N. + source "Kconfig.debug" diff --git a/xen/Rules.mk b/xen/Rules.mk index 08cc776..24d13dc 100644 --- a/xen/Rules.mk +++ b/xen/Rules.mk @@ -1,10 +1,4 @@ -# -# If you change any of these configuration options then you must -# 'make clean' before rebuilding. -# -lto ?= n - -include $(BASEDIR)/include/config/auto.conf include $(XEN_ROOT)/Config.mk @@ -125,7 +119,7 @@ ifeq ($(CONFIG_GCOV),y) $(filter-out %.init.o $(nogcov-y),$(obj-y) $(obj-bin-y) $(extra-y)): CFLAGS += -fprofile-arcs -ftest-coverage endif -ifeq ($(lto),y) +ifeq ($(CONFIG_LTO),y) # Would like to handle all object files as bitcode, but objects made from # pure asm are in a different format and have to be collected separately. # Mirror the directory tree, collecting them as built_in_bin.o. @@ -144,7 +138,7 @@ built_in.o: $(obj-y) ifeq ($(obj-y),) $(CC) $(CFLAGS) -c -x c /dev/null -o $@ else -ifeq ($(lto),y) +ifeq ($(CONFIG_LTO),y) $(LD_LTO) -r -o $@ $^ else $(LD) $(LDFLAGS) -r -o $@ $^ diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile index da39d39..f165178 100644 --- a/xen/arch/arm/Makefile +++ b/xen/arch/arm/Makefile @@ -81,7 +81,7 @@ $(TARGET).axf: $(TARGET)-syms $(OBJCOPY) --change-addresses +0x80000000 $< $@ $(STRIP) $@ -ifeq ($(lto),y) +ifeq ($(CONFIG_LTO),y) # Gather all LTO objects together prelink_lto.o: $(ALL_OBJS) $(LD_LTO) -r -o $@ $^ diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile index 931917d..fdcf977 100644 --- a/xen/arch/x86/Makefile +++ b/xen/arch/x86/Makefile @@ -95,7 +95,7 @@ $(TARGET): $(TARGET)-syms $(efi-y) boot/mkelf32 ALL_OBJS := $(BASEDIR)/arch/x86/boot/built_in.o $(BASEDIR)/arch/x86/efi/built_in.o $(ALL_OBJS) -ifeq ($(lto),y) +ifeq ($(CONFIG_LTO),y) # Gather all LTO objects together prelink_lto.o: $(ALL_OBJS) $(LD_LTO) -r -o $@ $^