Message ID | d6e4edd213433d24a2a5c7e6a816bc40b0ada32d.1609996381.git.viresh.kumar@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | [V2,1/2] scripts: dtc: Add fdtoverlay.c and fdtdump.c to DTC_SOURCE | expand |
On Thu, Jan 7, 2021 at 2:16 PM Viresh Kumar <viresh.kumar@linaro.org> wrote: > > We will start building overlays for platforms soon in the kernel and > would need these tools going forward. Lets start building them. The commit log should explain how fdtdump and fdtoverlay are used while building the kernel tree. > Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> > --- > scripts/dtc/Makefile | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > diff --git a/scripts/dtc/Makefile b/scripts/dtc/Makefile > index 4852bf44e913..c607980a5c17 100644 > --- a/scripts/dtc/Makefile > +++ b/scripts/dtc/Makefile > @@ -1,12 +1,18 @@ > # SPDX-License-Identifier: GPL-2.0 > # scripts/dtc makefile > > -hostprogs-always-$(CONFIG_DTC) += dtc > +hostprogs-always-$(CONFIG_DTC) += dtc fdtdump fdtoverlay > hostprogs-always-$(CHECK_DT_BINDING) += dtc > > dtc-objs := dtc.o flattree.o fstree.o data.o livetree.o treesource.o \ > srcpos.o checks.o util.o > dtc-objs += dtc-lexer.lex.o dtc-parser.tab.o > +fdtdump-objs := fdtdump.o util.o > + > +libfdt_dir = libfdt Adding 'libfdt_dir' is not helpful except increasing the amount of code. Please hard-code 'libfdt' > +libfdt-objs := fdt.o fdt_ro.o fdt_wip.o fdt_sw.o fdt_rw.o fdt_strerror.o fdt_empty_tree.o fdt_addresses.o fdt_overlay.o > +libfdt = $(addprefix $(libfdt_dir)/,$(libfdt-objs)) > +fdtoverlay-objs := $(libfdt) fdtoverlay.o util.o > # Source files need to get at the userspace version of libfdt_env.h to compile > HOST_EXTRACFLAGS += -I $(srctree)/$(src)/libfdt > -- > 2.25.0.rc1.19.g042ed3e048af > -- Best Regards Masahiro Yamada
On 1/6/21 11:15 PM, Viresh Kumar wrote: > We will start building overlays for platforms soon in the kernel and > would need these tools going forward. Lets start building them. > > Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> > --- > scripts/dtc/Makefile | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > diff --git a/scripts/dtc/Makefile b/scripts/dtc/Makefile > index 4852bf44e913..c607980a5c17 100644 > --- a/scripts/dtc/Makefile > +++ b/scripts/dtc/Makefile > @@ -1,12 +1,18 @@ > # SPDX-License-Identifier: GPL-2.0 > # scripts/dtc makefile > > -hostprogs-always-$(CONFIG_DTC) += dtc > +hostprogs-always-$(CONFIG_DTC) += dtc fdtdump fdtoverlay > hostprogs-always-$(CHECK_DT_BINDING) += dtc > > dtc-objs := dtc.o flattree.o fstree.o data.o livetree.o treesource.o \ > srcpos.o checks.o util.o > dtc-objs += dtc-lexer.lex.o dtc-parser.tab.o > +fdtdump-objs := fdtdump.o util.o > + # The upstream project builds libfdt as a separate library. We are choosing to # instead directly link the libfdt object files into fdtoverly > +libfdt_dir = libfdt > +libfdt-objs := fdt.o fdt_ro.o fdt_wip.o fdt_sw.o fdt_rw.o fdt_strerror.o fdt_empty_tree.o fdt_addresses.o fdt_overlay.o > +libfdt = $(addprefix $(libfdt_dir)/,$(libfdt-objs)) > +fdtoverlay-objs := $(libfdt) fdtoverlay.o util.o > > # Source files need to get at the userspace version of libfdt_env.h to compile > HOST_EXTRACFLAGS += -I $(srctree)/$(src)/libfdt > In general, I am a proponent of using shared libraries (which the upstream project builds by default) because if a security bug in the library is fixed, it is fixed for all users of the library. In this specific case, I actually prefer the implementation that the patch provides (directly linking the library object files into fdtoverlay, which uses the library) because it is the only user of the library _and_ fdtoverlay will not inadvertently use the system wide libfdt if it happens to be installed (as it is on my system). Any thoughts on this Rob? -Frank
On 1/19/21 10:28 AM, Frank Rowand wrote: > On 1/6/21 11:15 PM, Viresh Kumar wrote: >> We will start building overlays for platforms soon in the kernel and >> would need these tools going forward. Lets start building them. >> >> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> >> --- >> scripts/dtc/Makefile | 8 +++++++- >> 1 file changed, 7 insertions(+), 1 deletion(-) >> >> diff --git a/scripts/dtc/Makefile b/scripts/dtc/Makefile >> index 4852bf44e913..c607980a5c17 100644 >> --- a/scripts/dtc/Makefile >> +++ b/scripts/dtc/Makefile >> @@ -1,12 +1,18 @@ >> # SPDX-License-Identifier: GPL-2.0 >> # scripts/dtc makefile >> >> -hostprogs-always-$(CONFIG_DTC) += dtc >> +hostprogs-always-$(CONFIG_DTC) += dtc fdtdump fdtoverlay >> hostprogs-always-$(CHECK_DT_BINDING) += dtc >> >> dtc-objs := dtc.o flattree.o fstree.o data.o livetree.o treesource.o \ >> srcpos.o checks.o util.o >> dtc-objs += dtc-lexer.lex.o dtc-parser.tab.o >> +fdtdump-objs := fdtdump.o util.o >> + > > # The upstream project builds libfdt as a separate library. We are choosing to > # instead directly link the libfdt object files into fdtoverly > >> +libfdt_dir = libfdt >> +libfdt-objs := fdt.o fdt_ro.o fdt_wip.o fdt_sw.o fdt_rw.o fdt_strerror.o fdt_empty_tree.o fdt_addresses.o fdt_overlay.o >> +libfdt = $(addprefix $(libfdt_dir)/,$(libfdt-objs)) >> +fdtoverlay-objs := $(libfdt) fdtoverlay.o util.o >> >> # Source files need to get at the userspace version of libfdt_env.h to compile >> HOST_EXTRACFLAGS += -I $(srctree)/$(src)/libfdt >> > > In general, I am a proponent of using shared libraries (which the upstream project > builds by default) because if a security bug in the library is fixed, it is fixed > for all users of the library. > > In this specific case, I actually prefer the implementation that the patch provides > (directly linking the library object files into fdtoverlay, which uses the library) > because it is the only user of the library _and_ fdtoverlay will not inadvertently > use the system wide libfdt if it happens to be installed (as it is on my system). > > Any thoughts on this Rob? I see that this patch series is up to v4, so I commented in the wrong place. I will repeat this comment in the v4 series. > > -Frank >
diff --git a/scripts/dtc/Makefile b/scripts/dtc/Makefile index 4852bf44e913..c607980a5c17 100644 --- a/scripts/dtc/Makefile +++ b/scripts/dtc/Makefile @@ -1,12 +1,18 @@ # SPDX-License-Identifier: GPL-2.0 # scripts/dtc makefile -hostprogs-always-$(CONFIG_DTC) += dtc +hostprogs-always-$(CONFIG_DTC) += dtc fdtdump fdtoverlay hostprogs-always-$(CHECK_DT_BINDING) += dtc dtc-objs := dtc.o flattree.o fstree.o data.o livetree.o treesource.o \ srcpos.o checks.o util.o dtc-objs += dtc-lexer.lex.o dtc-parser.tab.o +fdtdump-objs := fdtdump.o util.o + +libfdt_dir = libfdt +libfdt-objs := fdt.o fdt_ro.o fdt_wip.o fdt_sw.o fdt_rw.o fdt_strerror.o fdt_empty_tree.o fdt_addresses.o fdt_overlay.o +libfdt = $(addprefix $(libfdt_dir)/,$(libfdt-objs)) +fdtoverlay-objs := $(libfdt) fdtoverlay.o util.o # Source files need to get at the userspace version of libfdt_env.h to compile HOST_EXTRACFLAGS += -I $(srctree)/$(src)/libfdt
We will start building overlays for platforms soon in the kernel and would need these tools going forward. Lets start building them. Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> --- scripts/dtc/Makefile | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) -- 2.25.0.rc1.19.g042ed3e048af