Re: [PATCH] sparc: vdso: fix build error of vdso32

From: Anatoly Pugachev
Date: Fri Oct 18 2019 - 04:27:57 EST


On Fri, Sep 27, 2019 at 6:47 PM Masahiro Yamada
<yamada.masahiro@xxxxxxxxxxxxx> wrote:
>
> On Sun, Sep 22, 2019 at 8:36 PM Masahiro Yamada
> <yamada.masahiro@xxxxxxxxxxxxx> wrote:
> >
> > Since commit 54b8ae66ae1a ("kbuild: change *FLAGS_<basetarget>.o to
> > take the path relative to $(obj)"), sparc allmodconfig fails to build
> > as follows:
> >
> > CC arch/sparc/vdso/vdso32/vclock_gettime.o
> > unrecognized e_machine 18 arch/sparc/vdso/vdso32/vclock_gettime.o
> > arch/sparc/vdso/vdso32/vclock_gettime.o: failed
> >
> > The cause of the breakage is that -pg flag not being dropped.
> >
> > The vdso32 files are located in the vdso32/ subdirectory, but I missed
> > to update the Makefile.
> >
> > Fixes: 54b8ae66ae1a ("kbuild: change *FLAGS_<basetarget>.o to take the path relative to $(obj)")
> > Reported-by: Anatoly Pugachev <matorola@xxxxxxxxx>
> > Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>
> > ---
> >
>
>
> I am copy-pasting Tested-by from the reporter:
>
> Tested-by: Anatoly Pugachev <matorola@xxxxxxxxx>
>
> It was given here:
>
> https://lkml.org/lkml/2019/9/25/197
>
>
>
>
> > arch/sparc/vdso/Makefile | 4 +++-
> > 1 file changed, 3 insertions(+), 1 deletion(-)
> >
> > diff --git a/arch/sparc/vdso/Makefile b/arch/sparc/vdso/Makefile
> > index 324a23947585..399bc22b1cf8 100644
> > --- a/arch/sparc/vdso/Makefile
> > +++ b/arch/sparc/vdso/Makefile
> > @@ -67,12 +67,14 @@ $(vobjs): KBUILD_CFLAGS := $(filter-out $(GCC_PLUGINS_CFLAGS) $(SPARC_REG_CFLAGS
> > #
> > CFLAGS_REMOVE_vdso-note.o = -pg
> > CFLAGS_REMOVE_vclock_gettime.o = -pg
> > +CFLAGS_REMOVE_vdso32/vdso-note.o = -pg
> > +CFLAGS_REMOVE_vdso32/vclock_gettime.o = -pg
> >
> > $(obj)/%.so: OBJCOPYFLAGS := -S
> > $(obj)/%.so: $(obj)/%.so.dbg FORCE
> > $(call if_changed,objcopy)
> >
> > -CPPFLAGS_vdso32.lds = $(CPPFLAGS_vdso.lds)
> > +CPPFLAGS_vdso32/vdso32.lds = $(CPPFLAGS_vdso.lds)
> > VDSO_LDFLAGS_vdso32.lds = -m elf32_sparc -soname linux-gate.so.1
> >
> > #This makes sure the $(obj) subdirectory exists even though vdso32/


Hello!

Can someone please pull/apply this to master ?!

Thanks!