2019-04-03 08:40:14

by Masahiro Yamada

[permalink] [raw]
Subject: [PATCH] nds32: vdso: fix and clean-up Makefile

- $(call if_changed,...) must have FORCE as a prerequisite

- vdso.lds is a generated file, so it should be prefixed with
$(obj)/ instead of $(src)/.

- cmd_vdsosym is a one-liner rule, so the assignment with '='
is simpler.

Signed-off-by: Masahiro Yamada <[email protected]>
---

arch/nds32/kernel/vdso/Makefile | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/arch/nds32/kernel/vdso/Makefile b/arch/nds32/kernel/vdso/Makefile
index e6c50a7..01a9610 100644
--- a/arch/nds32/kernel/vdso/Makefile
+++ b/arch/nds32/kernel/vdso/Makefile
@@ -28,7 +28,7 @@ CPPFLAGS_vdso.lds += -P -C -U$(ARCH)
$(obj)/vdso.o : $(obj)/vdso.so

# Link rule for the .so file, .lds has to be first
-$(obj)/vdso.so.dbg: $(src)/vdso.lds $(obj-vdso)
+$(obj)/vdso.so.dbg: $(obj)/vdso.lds $(obj-vdso) FORCE
$(call if_changed,vdsold)


@@ -40,9 +40,7 @@ $(obj)/%.so: $(obj)/%.so.dbg FORCE
# Generate VDSO offsets using helper script
gen-vdsosym := $(srctree)/$(src)/gen_vdso_offsets.sh
quiet_cmd_vdsosym = VDSOSYM $@
-define cmd_vdsosym
- $(NM) $< | $(gen-vdsosym) | LC_ALL=C sort > $@
-endef
+ cmd_vdsosym = $(NM) $< | $(gen-vdsosym) | LC_ALL=C sort > $@

include/generated/vdso-offsets.h: $(obj)/vdso.so.dbg FORCE
$(call if_changed,vdsosym)
@@ -65,7 +63,7 @@ gettimeofday.o : gettimeofday.c FORCE

# Actual build commands
quiet_cmd_vdsold = VDSOL $@
- cmd_vdsold = $(CC) $(c_flags) -Wl,-n -Wl,-T $^ -o $@
+ cmd_vdsold = $(CC) $(c_flags) -Wl,-n -Wl,-T $(real-prereqs) -o $@
quiet_cmd_vdsoas = VDSOA $@
cmd_vdsoas = $(CC) $(a_flags) -c -o $@ $<
quiet_cmd_vdsocc = VDSOA $@
--
2.7.4


2019-04-18 09:39:27

by Masahiro Yamada

[permalink] [raw]
Subject: Re: [PATCH] nds32: vdso: fix and clean-up Makefile

Hi Greentime,


On Wed, Apr 3, 2019 at 5:38 PM Masahiro Yamada
<[email protected]> wrote:
>
> - $(call if_changed,...) must have FORCE as a prerequisite
>
> - vdso.lds is a generated file, so it should be prefixed with
> $(obj)/ instead of $(src)/.
>
> - cmd_vdsosym is a one-liner rule, so the assignment with '='
> is simpler.
>
> Signed-off-by: Masahiro Yamada <[email protected]>
> ---

Ping?


> arch/nds32/kernel/vdso/Makefile | 8 +++-----
> 1 file changed, 3 insertions(+), 5 deletions(-)
>
> diff --git a/arch/nds32/kernel/vdso/Makefile b/arch/nds32/kernel/vdso/Makefile
> index e6c50a7..01a9610 100644
> --- a/arch/nds32/kernel/vdso/Makefile
> +++ b/arch/nds32/kernel/vdso/Makefile
> @@ -28,7 +28,7 @@ CPPFLAGS_vdso.lds += -P -C -U$(ARCH)
> $(obj)/vdso.o : $(obj)/vdso.so
>
> # Link rule for the .so file, .lds has to be first
> -$(obj)/vdso.so.dbg: $(src)/vdso.lds $(obj-vdso)
> +$(obj)/vdso.so.dbg: $(obj)/vdso.lds $(obj-vdso) FORCE
> $(call if_changed,vdsold)
>
>
> @@ -40,9 +40,7 @@ $(obj)/%.so: $(obj)/%.so.dbg FORCE
> # Generate VDSO offsets using helper script
> gen-vdsosym := $(srctree)/$(src)/gen_vdso_offsets.sh
> quiet_cmd_vdsosym = VDSOSYM $@
> -define cmd_vdsosym
> - $(NM) $< | $(gen-vdsosym) | LC_ALL=C sort > $@
> -endef
> + cmd_vdsosym = $(NM) $< | $(gen-vdsosym) | LC_ALL=C sort > $@
>
> include/generated/vdso-offsets.h: $(obj)/vdso.so.dbg FORCE
> $(call if_changed,vdsosym)
> @@ -65,7 +63,7 @@ gettimeofday.o : gettimeofday.c FORCE
>
> # Actual build commands
> quiet_cmd_vdsold = VDSOL $@
> - cmd_vdsold = $(CC) $(c_flags) -Wl,-n -Wl,-T $^ -o $@
> + cmd_vdsold = $(CC) $(c_flags) -Wl,-n -Wl,-T $(real-prereqs) -o $@
> quiet_cmd_vdsoas = VDSOA $@
> cmd_vdsoas = $(CC) $(a_flags) -c -o $@ $<
> quiet_cmd_vdsocc = VDSOA $@
> --
> 2.7.4
>


--
Best Regards
Masahiro Yamada

2019-04-24 07:45:28

by Greentime Hu

[permalink] [raw]
Subject: Re: [PATCH] nds32: vdso: fix and clean-up Makefile

Masahiro Yamada <[email protected]> 於 2019年4月18日 週四 下午5:37寫道:
>
> Hi Greentime,
>
>
> On Wed, Apr 3, 2019 at 5:38 PM Masahiro Yamada
> <[email protected]> wrote:
> >
> > - $(call if_changed,...) must have FORCE as a prerequisite
> >
> > - vdso.lds is a generated file, so it should be prefixed with
> > $(obj)/ instead of $(src)/.
> >
> > - cmd_vdsosym is a one-liner rule, so the assignment with '='
> > is simpler.
> >
> > Signed-off-by: Masahiro Yamada <[email protected]>
> > ---
>
> Ping?
>
>
> > arch/nds32/kernel/vdso/Makefile | 8 +++-----
> > 1 file changed, 3 insertions(+), 5 deletions(-)
> >
> > diff --git a/arch/nds32/kernel/vdso/Makefile b/arch/nds32/kernel/vdso/Makefile
> > index e6c50a7..01a9610 100644
> > --- a/arch/nds32/kernel/vdso/Makefile
> > +++ b/arch/nds32/kernel/vdso/Makefile
> > @@ -28,7 +28,7 @@ CPPFLAGS_vdso.lds += -P -C -U$(ARCH)
> > $(obj)/vdso.o : $(obj)/vdso.so
> >
> > # Link rule for the .so file, .lds has to be first
> > -$(obj)/vdso.so.dbg: $(src)/vdso.lds $(obj-vdso)
> > +$(obj)/vdso.so.dbg: $(obj)/vdso.lds $(obj-vdso) FORCE
> > $(call if_changed,vdsold)
> >
> >
> > @@ -40,9 +40,7 @@ $(obj)/%.so: $(obj)/%.so.dbg FORCE
> > # Generate VDSO offsets using helper script
> > gen-vdsosym := $(srctree)/$(src)/gen_vdso_offsets.sh
> > quiet_cmd_vdsosym = VDSOSYM $@
> > -define cmd_vdsosym
> > - $(NM) $< | $(gen-vdsosym) | LC_ALL=C sort > $@
> > -endef
> > + cmd_vdsosym = $(NM) $< | $(gen-vdsosym) | LC_ALL=C sort > $@
> >
> > include/generated/vdso-offsets.h: $(obj)/vdso.so.dbg FORCE
> > $(call if_changed,vdsosym)
> > @@ -65,7 +63,7 @@ gettimeofday.o : gettimeofday.c FORCE
> >
> > # Actual build commands
> > quiet_cmd_vdsold = VDSOL $@
> > - cmd_vdsold = $(CC) $(c_flags) -Wl,-n -Wl,-T $^ -o $@
> > + cmd_vdsold = $(CC) $(c_flags) -Wl,-n -Wl,-T $(real-prereqs) -o $@
> > quiet_cmd_vdsoas = VDSOA $@
> > cmd_vdsoas = $(CC) $(a_flags) -c -o $@ $<
> > quiet_cmd_vdsocc = VDSOA $@

Hi Yamada,

Thank you.
Acked-by: Greentime Hu <[email protected]>