Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756937AbdLPRZj (ORCPT ); Sat, 16 Dec 2017 12:25:39 -0500 Received: from mail-wm0-f66.google.com ([74.125.82.66]:46768 "EHLO mail-wm0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752165AbdLPRZh (ORCPT ); Sat, 16 Dec 2017 12:25:37 -0500 X-Google-Smtp-Source: ACJfBosV8besHTofNd48pKcEmiCOKyQZPdvASyuYvJB9xrXWjKEobA1L4zQHoBYlTzspUgZuE+h9LQ== Subject: Re: [PATCH] of: build dbts with symbols when CONFIG_OF_OVERLAY is set To: Frank Rowand , Rob Herring , Masahiro Yamada , Michal Marek Cc: linux-kernel@vger.kernel.org, linux-kbuild@vger.kernel.org, linux-arm-kernel@lists.infradead.org References: <20171214151240.14555-1-a.heider@gmail.com> From: Andre Heider Message-ID: <05291157-a1dc-db84-e453-c43945c1da07@gmail.com> Date: Sat, 16 Dec 2017 18:25:33 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3239 Lines: 105 Hi Frank, On 15/12/17 22:06, Frank Rowand wrote: > On 12/14/17 07:12, Andre Heider wrote: >> The overlay feature requires the base dtb to be built with symbols, so >> lets build the dtbs with symbols when overlay support was explicitly >> enabled. >> >> With CONFIG_OF_ALL_DTBS on ARCH=arm the 989 dtb files grow about ~38% on >> average. >> >> Totals in bytes with the 3 biggest ones: >> >> Before: >> 90471 arch/arm/boot/dts/am57xx-beagle-x15-revc.dtb >> 90521 arch/arm/boot/dts/am57xx-beagle-x15-revb1.dtb >> 92639 arch/arm/boot/dts/dra7-evm.dtb >> 25731296 total >> >> After: >> 133203 arch/arm/boot/dts/am57xx-beagle-x15-revc.dtb >> 133237 arch/arm/boot/dts/am57xx-beagle-x15-revb1.dtb >> 134545 arch/arm/boot/dts/dra7-evm.dtb >> 35464440 total >> >> Signed-off-by: Andre Heider >> --- >> >> Hi, >> >> while playing around with overlays I noticed that I needed to rebuilt >> my distro's device trees because they didn't come with symbols. >> >> Is that for a reason, maybe the not so minor increase in size? > > Yes, size is the issue. > > >> >> Thanks, >> Andre >> >> drivers/of/unittest-data/Makefile | 7 ------- >> scripts/Makefile.lib | 5 +++++ >> 2 files changed, 5 insertions(+), 7 deletions(-) >> >> diff --git a/drivers/of/unittest-data/Makefile b/drivers/of/unittest-data/Makefile >> index 32389acfa616..b65061013512 100644 >> --- a/drivers/of/unittest-data/Makefile >> +++ b/drivers/of/unittest-data/Makefile >> @@ -15,13 +15,6 @@ targets += overlay.dtb overlay.dtb.S >> targets += overlay_bad_phandle.dtb overlay_bad_phandle.dtb.S >> targets += overlay_bad_symbol.dtb overlay_bad_symbol.dtb.S >> targets += overlay_base.dtb overlay_base.dtb.S >> - >> -# enable creation of __symbols__ node >> -DTC_FLAGS_overlay := -@ >> -DTC_FLAGS_overlay_bad_phandle := -@ >> -DTC_FLAGS_overlay_bad_symbol := -@ >> -DTC_FLAGS_overlay_base := -@ >> - >> endif >> >> .PRECIOUS: \ > > No. The unittests require these to be set unconditionally. > > >> diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib >> index 1ca4dcd2d500..c7ba4aa8a07a 100644 >> --- a/scripts/Makefile.lib >> +++ b/scripts/Makefile.lib >> @@ -278,6 +278,11 @@ DTC_FLAGS += -Wnode_name_chars_strict \ >> -Wproperty_name_chars_strict >> endif >> >> +ifeq ($(CONFIG_OF_OVERLAY),y) >> +# enable creation of __symbols__ node >> +DTC_FLAGS += -@ >> +endif >> + >> DTC_FLAGS += $(DTC_FLAGS_$(basetarget)) >> >> # Generate an assembly file to wrap the output of the device tree compiler >> > > Not needed. Instead set DTC_FLAGS in the make command. For example: > > DTC_FLAGS=-@ make qcom-apq8074-dragonboard.dtb > > There are a few architecture Makefiles that need to be fixed to not unconditionally > set DTC_FLAGS. Rebuilding the dts files manually with symbols isn't the problem. The idea was to enable it with a switch which distros simply can flip. Passing DTC_FLAGS to `make` would work too I guess, but on multi platform builds that's still the same issue if there're boards which can't handle that because of the size increase. Would a solution which enables symbols per family work? E.g. CONFIG_MACH_SUN7I chooses to use -@ because it can handle it. Thanks, Andre