diff mbox series

[V2,2/2] scripts: dtc: Build fdtoverlay and fdtdump tools

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

Commit Message

Viresh Kumar Jan. 7, 2021, 5:15 a.m. UTC
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

Comments

Masahiro Yamada Jan. 7, 2021, 5:45 a.m. UTC | #1
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
Frank Rowand Jan. 19, 2021, 4:28 p.m. UTC | #2
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
Frank Rowand Jan. 19, 2021, 4:34 p.m. UTC | #3
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 mbox series

Patch

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