Re: [PATCH 2/2] x86,vdso: Fix vdso_install

Andy Lutomirski
2014-06-11T19:03:39Z

On Wed, Jun 11, 2014 at 11:51 AM, Sam Ravnborg <sam@ravnborg.org> wrote:
> On Wed, Jun 11, 2014 at 01:23:59PM -0400, Josh Boyer wrote:
>> On Wed, Jun 11, 2014 at 12:20 PM, Andy Lutomirski <luto@amacapital.net> wrote:
>> > Rather than monkeying with barely-comprehensible static pattern
>> > rules, just use an explicit loop.
>> >
>> > Signed-off-by: Andy Lutomirski <luto@amacapital.net>
>> > ---
>> > arch/x86/vdso/Makefile | 20 +++++++-------------
>> > 1 file changed, 7 insertions(+), 13 deletions(-)
>> >
>> > diff --git a/arch/x86/vdso/Makefile b/arch/x86/vdso/Makefile
>> > index 9769df0..b1c70cc 100644
>> > --- a/arch/x86/vdso/Makefile
>> > +++ b/arch/x86/vdso/Makefile
>> > @@ -9,11 +9,6 @@ VDSOX32-$(CONFIG_X86_X32_ABI) := y
>> > VDSO32-$(CONFIG_X86_32) := y
>> > VDSO32-$(CONFIG_COMPAT) := y
>> >
>> > -vdso-install-$(VDSO64-y) += vdso.so
>> > -vdso-install-$(VDSOX32-y) += vdsox32.so
>> > -vdso-install-$(VDSO32-y) += $(vdso32-images)
>> > -
>> > -
>> > # files to link into the vdso
>> > vobjs-y := vdso-note.o vclock_gettime.o vgetcpu.o
>> >
>> > @@ -176,15 +171,14 @@ VDSO_LDFLAGS = -fPIC -shared $(call cc-ldoption, -Wl$(comma)--hash-style=sysv) \
>> > GCOV_PROFILE := n
>> >
>> > #
>> > -# Install the unstripped copy of vdso*.so listed in $(vdso-install-y).
>> > +# Install the unstripped copies of vdso*.so listed in $(vdso-install-y).
>> > #
>> > -quiet_cmd_vdso_install = INSTALL $@
>> > - cmd_vdso_install = cp $(obj)/$@.dbg $(MODLIB)/vdso/$@
>> > -$(vdso-install-y): %.so: $(obj)/%.so.dbg FORCE
>> > - @mkdir -p $(MODLIB)/vdso
>> > - $(call cmd,vdso_install)
>> > +quiet_cmd_vdso_install = INSTALL $(sofile)
>> > + cmd_vdso_install = cp $(obj)/$(sofile).dbg $(MODLIB)/vdso/$(sofile)
>> >
>> > -PHONY += vdso_install $(vdso-install-y)
>> > -vdso_install: $(vdso-install-y)
>> > +PHONY += vdso_install
>> > +vdso_install: $(vdso_img_sodbg:%=$(obj)/%) FORCE
>> > + @mkdir -p $(MODLIB)/vdso
>> > + @$(foreach sofile,$(vdso_img_sodbg:%.dbg=%),$(call recipe-cmd,vdso_install);)
>
> Can we please fix this in a way where we do not need to add stuff to core kbuild.
> If the original approach was used then make took care of the looping
> and the foreach part was not needed.

Would expanding out the cmd macro here be okay? Or is that too
dependent on kbuild internals?

I can fiddle with static patterns again (ugh).

--Andy