lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Thu, 9 Nov 2017 12:19:02 +0000 From: James Hogan <james@...anarts.com> To: Masahiro Yamada <yamada.masahiro@...ionext.com> Cc: Rob Herring <robh+dt@...nel.org>, devicetree@...r.kernel.org, linux-kbuild@...r.kernel.org, Mark Rutland <mark.rutland@....com>, Pantelis Antoniou <pantelis.antoniou@...sulko.com>, ARM Kernel List <linux-arm-kernel@...ts.infradead.org>, Arnd Bergmann <arnd@...db.de>, LKML <linux-kernel@...r.kernel.org>, Michal Marek <michal.lkml@...kovi.net>, Sam Ravnborg <sam@...nborg.org>, Linux MIPS Mailing List <linux-mips@...ux-mips.org>, Ralf Baechle <ralf@...ux-mips.org>, David Daney <david.daney@...ium.com>, James Hogan <james.hogan@...s.com>, linux-next@...r.kernel.org Subject: Re: [PATCH 2/2] kbuild: handle dtb-y and CONFIG_OF_ALL_DTBS natively in Makefile.lib (resend using a working From address) <yamada.masahiro@...ionext.com> wrote: > If CONFIG_OF_ALL_DTBS is enabled, "make ARCH=arm64 dtbs" compiles each > DTB twice; one from arch/arm64/boot/dts/*/Makefile and the other from > the dtb-$(CONFIG_OF_ALL_DTBS) line in arch/arm64/boot/dts/Makefile. > It could be a race problem when building DTBS in parallel. > > Another minor issue is CONFIG_OF_ALL_DTBS covers only *.dts in vendor > sub-directories, so this broke when Broadcom added one more hierarchy > in arch/arm64/boot/dts/broadcom/<soc>/. > > One idea to fix the issues in a clean way is to move DTB handling > to Kbuild core scripts. Makefile.dtbinst already recognizes dtb-y > natively, so it should not hurt to do so. > > Add $(dtb-y) to extra-y, and $(dtb-) as well if CONFIG_OF_ALL_DTBS is > enabled. All clutter things in Makefiles go away. > > As a bonus clean-up, I also removed dts-dirs. Just use subdir-y > directly to traverse sub-directories. > > Signed-off-by: Masahiro Yamada <yamada.masahiro@...ionext.com> ... > diff --git a/arch/mips/boot/dts/Makefile b/arch/mips/boot/dts/Makefile > index 7891ffa..b2b0d88 100644 > --- a/arch/mips/boot/dts/Makefile > +++ b/arch/mips/boot/dts/Makefile > @@ -1,20 +1,14 @@ > -dts-dirs += brcm > -dts-dirs += cavium-octeon > -dts-dirs += img > -dts-dirs += ingenic > -dts-dirs += lantiq > -dts-dirs += mti > -dts-dirs += netlogic > -dts-dirs += ni > -dts-dirs += pic32 > -dts-dirs += qca > -dts-dirs += ralink > -dts-dirs += xilfpga > +subdir-y += brcm > +subdir-y += cavium-octeon > +subdir-y += img > +subdir-y += ingenic > +subdir-y += lantiq > +subdir-y += mti > +subdir-y += netlogic > +subdir-y += ni > +subdir-y += pic32 > +subdir-y += qca > +subdir-y += ralink > +subdir-y += xilfpga > > -obj-y := $(addsuffix /, $(dts-dirs)) > - > -dtstree := $(srctree)/$(src) > -dtb-$(CONFIG_OF_ALL_DTBS) := $(patsubst $(dtstree)/%.dts,%.dtb, $(foreach d,$(dts-dirs), $(wildcard $(dtstree)/$(d)/*.dts))) > - > -always := $(dtb-y) > -subdir-y := $(dts-dirs) > +obj-$(BUILTIN_DTB) := $(addsuffix /, $(subdir-y)) I wonder if that should be CONFIG_BUILTIN_DTB? This is causing failures in linux-next with MIPS cavium_octeon_defconfig like below, and changing this line to CONFIG_BUILTIN_DTB seems to fix it. arch/mips/cavium-octeon/setup.o: In function `__octeon_is_model_runtime__': /work/mips/linux/main/./arch/mips/include/asm/octeon/octeon-model.h:368: undefined reference to `__dtb_octeon_3xxx_begin' arch/mips/cavium-octeon/setup.o: In function `device_tree_init': /work/mips/linux/main/arch/mips/cavium-octeon/setup.c:1188: undefined reference to `__dtb_octeon_3xxx_begin' /work/mips/linux/main/arch/mips/cavium-octeon/setup.c:1184: undefined reference to `__dtb_octeon_68xx_begin' /work/mips/linux/main/arch/mips/cavium-octeon/setup.c:1184: undefined reference to `__dtb_octeon_68xx_begin' Thanks James -- James Hogan
Powered by blists - more mailing lists