diff mbox series

sparc: vdso: fix build error of vdso32

Message ID 20190922113436.10396-1-yamada.masahiro@socionext.com
State Accepted
Commit 5347291415a33bfa6efa5bb61350b078f200956b
Headers show
Series sparc: vdso: fix build error of vdso32 | expand

Commit Message

Masahiro Yamada Sept. 22, 2019, 11:34 a.m. UTC
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@gmail.com>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

---

 arch/sparc/vdso/Makefile | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

-- 
2.17.1

Comments

Masahiro Yamada Sept. 27, 2019, 3:46 p.m. UTC | #1
On Sun, Sep 22, 2019 at 8:36 PM Masahiro Yamada
<yamada.masahiro@socionext.com> 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@gmail.com>

> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

> ---

>



I am copy-pasting Tested-by from the reporter:

Tested-by: Anatoly Pugachev <matorola@gmail.com>


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/

> --

> 2.17.1

>



-- 
Best Regards
Masahiro Yamada
Anatoly Pugachev Oct. 18, 2019, 8:27 a.m. UTC | #2
On Fri, Sep 27, 2019 at 6:47 PM Masahiro Yamada
<yamada.masahiro@socionext.com> wrote:
>

> On Sun, Sep 22, 2019 at 8:36 PM Masahiro Yamada

> <yamada.masahiro@socionext.com> 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@gmail.com>

> > Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

> > ---

> >

>

>

> I am copy-pasting Tested-by from the reporter:

>

> Tested-by: Anatoly Pugachev <matorola@gmail.com>

>

> 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!
Kees Cook Nov. 13, 2019, 11:59 p.m. UTC | #3
On Sun, Sep 22, 2019 at 08:34:36PM +0900, Masahiro Yamada 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@gmail.com>

> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>


I've tripped over this as well. Since no one has picked this up, can you
take it via your tree Masahiro?

Thanks!

-Kees

> ---

> 

>  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/

> -- 

> 2.17.1

> 


-- 
Kees Cook
David Miller Nov. 14, 2019, 12:21 a.m. UTC | #4
From: Kees Cook <keescook@chromium.org>

Date: Wed, 13 Nov 2019 15:59:27 -0800

> On Sun, Sep 22, 2019 at 08:34:36PM +0900, Masahiro Yamada 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@gmail.com>

>> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

> 

> I've tripped over this as well. Since no one has picked this up, can you

> take it via your tree Masahiro?


Yes, please do.  Sorry, I haven't had a lot of time for Sparc work lately.

Acked-by: David S. Miller <davem@davemloft.net>
Masahiro Yamada Nov. 14, 2019, 3:08 p.m. UTC | #5
On Thu, Nov 14, 2019 at 9:22 AM David Miller <davem@davemloft.net> wrote:
>

> From: Kees Cook <keescook@chromium.org>

> Date: Wed, 13 Nov 2019 15:59:27 -0800

>

> > On Sun, Sep 22, 2019 at 08:34:36PM +0900, Masahiro Yamada 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@gmail.com>

> >> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

> >

> > I've tripped over this as well. Since no one has picked this up, can you

> > take it via your tree Masahiro?

>

> Yes, please do.  Sorry, I haven't had a lot of time for Sparc work lately.

>

> Acked-by: David S. Miller <davem@davemloft.net>



Applied to linux-kbuild.

-- 
Best Regards
Masahiro Yamada
diff mbox series

Patch

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/