Re: [PATCH] powerpc/vdso32: Drop -mabi=elfv1 for 32 bit objects
flat view
From: Daniel Axtens <hidden>
Date: 2019-01-10 14:47:09
Christophe Leroy [off-list ref] writes:
Le 10/01/2019 à 02:42, Joel Stanley a écrit :quoted
From: Daniel Axtens <redacted> All 64-bit objects need to specify the flag to be compiled correctly, we just don't need it for 32-bit objects. GCC just ignored it, but clang doesn't. Link: https://github.com/ClangBuiltLinux/linux/issues/240 Signed-off-by: Daniel Axtens <redacted> Signed-off-by: Joel Stanley <joel@jms.id.au> --- arch/powerpc/kernel/vdso32/Makefile | 14 ++++++++++++++ 1 file changed, 14 insertions(+)diff --git a/arch/powerpc/kernel/vdso32/Makefile b/arch/powerpc/kernel/vdso32/Makefile index 50112d4473bb..6bd41756e0c7 100644 --- a/arch/powerpc/kernel/vdso32/Makefile +++ b/arch/powerpc/kernel/vdso32/Makefile@@ -34,6 +34,20 @@ obj-y += vdso32_wrapper.o extra-y += vdso32.lds CPPFLAGS_vdso32.lds += -P -C -Upowerpc +# clang refuses to accept -mabi=elfv1 for when using the +# 64-bit target in 32-bit mode +ifdef CONFIG_CC_IS_CLANGIf -mabi=elfv1 is unneeded even for GCC, why depend on CLANG ?quoted
+ifdef CONFIG_PPC64 +AFLAGS_REMOVE_getcpu.o += -mabi=elfv1 +endifWhy only this one is inside the ifdef ? powerpc Makefile only set -mabi=elfv1 when CONFIG_PPC64 is set, so all objects should be handled the same way. And would it harm just doing it all the time, regardless of CONFIG_PPC64 ?
I designed the patch to mirror some code earlier on, and to be conservative in what it did. I have no issue with it being restructured, but I probably won't have the time to do it for a month or so. I'm very happy for you or Joel to rework it and to test any resulting patches. Regards, Daniel
Christophequoted
+AFLAGS_REMOVE_sigtramp.o += -mabi=elfv1 +AFLAGS_REMOVE_gettimeofday.o += -mabi=elfv1 +AFLAGS_REMOVE_datapage.o += -mabi=elfv1 +AFLAGS_REMOVE_cacheflush.o += -mabi=elfv1 +AFLAGS_REMOVE_note.o += -mabi=elfv1 +endif + + # Force dependency (incbin is bad) $(obj)/vdso32_wrapper.o : $(obj)/vdso32.so