sparc64:allmodconfig fails to build with the following error.
unrecognized e_machine 18 arch/sparc/vdso/vdso32/vclock_gettime.o
arch/sparc/vdso/vdso32/vclock_gettime.o: failed
make[2]: *** [arch/sparc/vdso/vdso32/vclock_gettime.o] Error 1
make[2]: *** Deleting file 'arch/sparc/vdso/vdso32/vclock_gettime.o'
make[2]: *** Waiting for unfinished jobs....
The problem bisects to commit a3de7a72c517 ("kbuild: change
*FLAGS_<basetarget>.o to take the path relative to $(obj)").
Duplicate the x86 specific defines from this commit to the sparc
vdso Makefile to fix the problem.
Fixes: a3de7a72c517 ("kbuild: change *FLAGS_<basetarget>.o to take the path relative to $(obj)")
Cc: Masahiro Yamada <[email protected]>
Cc: Marc Zyngier <[email protected]>
Signed-off-by: Guenter Roeck <[email protected]>
---
arch/sparc/vdso/Makefile | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/sparc/vdso/Makefile b/arch/sparc/vdso/Makefile
index 324a23947585..cb72a205cd7e 100644
--- a/arch/sparc/vdso/Makefile
+++ b/arch/sparc/vdso/Makefile
@@ -67,6 +67,7 @@ $(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/vclock_gettime.o = -pg
$(obj)/%.so: OBJCOPYFLAGS := -S
$(obj)/%.so: $(obj)/%.so.dbg FORCE
@@ -74,6 +75,7 @@ $(obj)/%.so: $(obj)/%.so.dbg FORCE
CPPFLAGS_vdso32.lds = $(CPPFLAGS_vdso.lds)
VDSO_LDFLAGS_vdso32.lds = -m elf32_sparc -soname linux-gate.so.1
+VDSO_LDFLAGS_vdso32/vdso32.lds = -m elf32_sparc -soname linux-gate.so.1
#This makes sure the $(obj) subdirectory exists even though vdso32/
#is not a kbuild sub-make subdirectory
--
2.17.1
From: Guenter Roeck <[email protected]>
Date: Sun, 10 Nov 2019 17:11:06 -0800
> sparc64:allmodconfig fails to build with the following error.
>
> unrecognized e_machine 18 arch/sparc/vdso/vdso32/vclock_gettime.o
> arch/sparc/vdso/vdso32/vclock_gettime.o: failed
> make[2]: *** [arch/sparc/vdso/vdso32/vclock_gettime.o] Error 1
> make[2]: *** Deleting file 'arch/sparc/vdso/vdso32/vclock_gettime.o'
> make[2]: *** Waiting for unfinished jobs....
>
> The problem bisects to commit a3de7a72c517 ("kbuild: change
> *FLAGS_<basetarget>.o to take the path relative to $(obj)").
> Duplicate the x86 specific defines from this commit to the sparc
> vdso Makefile to fix the problem.
>
> Fixes: a3de7a72c517 ("kbuild: change *FLAGS_<basetarget>.o to take the path relative to $(obj)")
> Cc: Masahiro Yamada <[email protected]>
> Cc: Marc Zyngier <[email protected]>
> Signed-off-by: Guenter Roeck <[email protected]>
Acked-by: David S. Miller <[email protected]>
On Mon, Nov 11, 2019 at 10:32 AM David Miller <[email protected]> wrote:
>
> From: Guenter Roeck <[email protected]>
> Date: Sun, 10 Nov 2019 17:11:06 -0800
>
> > sparc64:allmodconfig fails to build with the following error.
> >
> > unrecognized e_machine 18 arch/sparc/vdso/vdso32/vclock_gettime.o
> > arch/sparc/vdso/vdso32/vclock_gettime.o: failed
> > make[2]: *** [arch/sparc/vdso/vdso32/vclock_gettime.o] Error 1
> > make[2]: *** Deleting file 'arch/sparc/vdso/vdso32/vclock_gettime.o'
> > make[2]: *** Waiting for unfinished jobs....
> >
> > The problem bisects to commit a3de7a72c517 ("kbuild: change
> > *FLAGS_<basetarget>.o to take the path relative to $(obj)").
> > Duplicate the x86 specific defines from this commit to the sparc
> > vdso Makefile to fix the problem.
> >
> > Fixes: a3de7a72c517 ("kbuild: change *FLAGS_<basetarget>.o to take the path relative to $(obj)")
> > Cc: Masahiro Yamada <[email protected]>
> > Cc: Marc Zyngier <[email protected]>
> > Signed-off-by: Guenter Roeck <[email protected]>
>
> Acked-by: David S. Miller <[email protected]>
Yeah, I had submitted a fix a long time before.
https://lore.kernel.org/patchwork/patch/1130469/
I do not know why it was not picked up.
It is OK whether any patch is picked up
as long as the build error is fixed.
(I think CFLAGS_REMOVE_vdso32/vdso-note.o
should be added too, though)
--
Best Regards
Masahiro Yamada
On 11/10/19 5:47 PM, Masahiro Yamada wrote:
> On Mon, Nov 11, 2019 at 10:32 AM David Miller <[email protected]> wrote:
>>
>> From: Guenter Roeck <[email protected]>
>> Date: Sun, 10 Nov 2019 17:11:06 -0800
>>
>>> sparc64:allmodconfig fails to build with the following error.
>>>
>>> unrecognized e_machine 18 arch/sparc/vdso/vdso32/vclock_gettime.o
>>> arch/sparc/vdso/vdso32/vclock_gettime.o: failed
>>> make[2]: *** [arch/sparc/vdso/vdso32/vclock_gettime.o] Error 1
>>> make[2]: *** Deleting file 'arch/sparc/vdso/vdso32/vclock_gettime.o'
>>> make[2]: *** Waiting for unfinished jobs....
>>>
>>> The problem bisects to commit a3de7a72c517 ("kbuild: change
>>> *FLAGS_<basetarget>.o to take the path relative to $(obj)").
>>> Duplicate the x86 specific defines from this commit to the sparc
>>> vdso Makefile to fix the problem.
>>>
>>> Fixes: a3de7a72c517 ("kbuild: change *FLAGS_<basetarget>.o to take the path relative to $(obj)")
>>> Cc: Masahiro Yamada <[email protected]>
>>> Cc: Marc Zyngier <[email protected]>
>>> Signed-off-by: Guenter Roeck <[email protected]>
>>
>> Acked-by: David S. Miller <[email protected]>
>
>
> Yeah, I had submitted a fix a long time before.
>
> https://lore.kernel.org/patchwork/patch/1130469/
>
> I do not know why it was not picked up.
>
Why don't you just push it upstream yourself ?
>
> It is OK whether any patch is picked up
> as long as the build error is fixed.
>
Same here.
>
> (I think CFLAGS_REMOVE_vdso32/vdso-note.o
> should be added too, though)
>
Hard to decide for someone not involved in vdso development.
It wasn't added for x86, and it compiles without, so I rather
left it alone.
Guenter
On Mon, Nov 11, 2019 at 11:35 PM Guenter Roeck <[email protected]> wrote:
>
> On 11/10/19 5:47 PM, Masahiro Yamada wrote:
> > On Mon, Nov 11, 2019 at 10:32 AM David Miller <[email protected]> wrote:
> >>
> >> From: Guenter Roeck <[email protected]>
> >> Date: Sun, 10 Nov 2019 17:11:06 -0800
> >>
> >>> sparc64:allmodconfig fails to build with the following error.
> >>>
> >>> unrecognized e_machine 18 arch/sparc/vdso/vdso32/vclock_gettime.o
> >>> arch/sparc/vdso/vdso32/vclock_gettime.o: failed
> >>> make[2]: *** [arch/sparc/vdso/vdso32/vclock_gettime.o] Error 1
> >>> make[2]: *** Deleting file 'arch/sparc/vdso/vdso32/vclock_gettime.o'
> >>> make[2]: *** Waiting for unfinished jobs....
> >>>
> >>> The problem bisects to commit a3de7a72c517 ("kbuild: change
> >>> *FLAGS_<basetarget>.o to take the path relative to $(obj)").
> >>> Duplicate the x86 specific defines from this commit to the sparc
> >>> vdso Makefile to fix the problem.
> >>>
> >>> Fixes: a3de7a72c517 ("kbuild: change *FLAGS_<basetarget>.o to take the path relative to $(obj)")
> >>> Cc: Masahiro Yamada <[email protected]>
> >>> Cc: Marc Zyngier <[email protected]>
> >>> Signed-off-by: Guenter Roeck <[email protected]>
> >>
> >> Acked-by: David S. Miller <[email protected]>
> >
> >
> > Yeah, I had submitted a fix a long time before.
> >
> > https://lore.kernel.org/patchwork/patch/1130469/
> >
> > I do not know why it was not picked up.
> >
>
> Why don't you just push it upstream yourself ?
>
> >
> > It is OK whether any patch is picked up
> > as long as the build error is fixed.
> >
> Same here.
>
> >
> > (I think CFLAGS_REMOVE_vdso32/vdso-note.o
> > should be added too, though)
> >
> Hard to decide for someone not involved in vdso development.
> It wasn't added for x86, and it compiles without, so I rather
> left it alone.
After looking at the code closer,
I believe your code is more correct.
vdso-note is assembly instead of C.
arch/sparc/vdso/vdso-note.S
arch/sparc/vdso/vdso32/vdso-note.S
The -pg flag is added by the top Makefile,
only for C files.
CFLAGS_REMOVE_vdso-note.o = -pg
was unneeded in the first place.
BTW, I just thought this patch
was supposed to be applied by Dave
since it is touching a single file in arch/sparc/.
If Dave plans to pick up this, please feel free to add:
Reviewed-by: Masahiro Yamada <[email protected]>
If I should apply this to kbuild tree, please let me know.
--
Best Regards
Masahiro Yamada