[Mesa-dev] [PATCH] android: mesa: revert "Enable asm unconditionally"

Mauro Rossi issor.oruam at gmail.com
Tue Aug 13 12:32:23 UTC 2019


Hi,

On Tue, Aug 13, 2019 at 2:03 PM Tapani Pälli <tapani.palli at intel.com> wrote:

> Hi;
>
> On 8/13/19 2:43 PM, Mauro Rossi wrote:
> > Hi Tapani,
> >
> > On Sat, Jul 27, 2019 at 2:56 PM Mauro Rossi <issor.oruam at gmail.com
> > <mailto:issor.oruam at gmail.com>> wrote:
> >
> >     On Sat, Jul 27, 2019 at 2:56 PM Mauro Rossi <issor.oruam at gmail.com
> >     <mailto:issor.oruam at gmail.com>> wrote:
> >      >
> >      > On Thu, Jul 18, 2019 at 1:07 PM Chih-Wei Huang
> >     <cwhuang at android-x86.org <mailto:cwhuang at android-x86.org>> wrote:
> >      > >
> >      > > Mauro Rossi <issor.oruam at gmail.com
> >     <mailto:issor.oruam at gmail.com>> 於 2019年7月14日 週日 下午5:17寫道:
> >      > > >
> >      > > > This patch partially reverts 20294dc ("mesa: Enable asm
> >     unconditionally, ...")
> >      > > >
> >      > > > Android makefile build logic needs to disable assembler
> >     optimization
> >      > > > in 32bit builds to avoid text relocations for libglapi.so
> shared
> >      > > >
> >      > > > Fixes the following build error with Android x86 32bit target:
> >      > > >
> >      > > > [  0% 4/477] target SharedLib: libglapi
> >
>  (out/target/product/x86/obj/SHARED_LIBRARIES/libglapi_intermediates/LINKED/libglapi.so)
> >      > > > FAILED:
> >
>  out/target/product/x86/obj/SHARED_LIBRARIES/libglapi_intermediates/LINKED/libglapi.so
> >      > > > ...
> >      > > >
> >
>  prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9/x86_64-linux-android/bin/ld:
> >     warning: shared library text segment is not shareable
> >      > > >
> >
>  prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9/x86_64-linux-android/bin/ld:
> >     error: treating warnings as errors
> >      > > > clang-6.0: error: linker command failed with exit code 1 (use
> >     -v to see invocation)
> >      > > >
> >      > > > Fixes: 20294dc ("mesa: Enable asm unconditionally, now that
> >     gen_matypes is gone.")
> >      > > > Signed-off-by: Mauro Rossi <issor.oruam at gmail.com
> >     <mailto:issor.oruam at gmail.com>>
> >      > > > ---
> >      > > > Android.common.mk <http://Android.common.mk>
> >       | 3 +++
> >      > > >  Android.mk                          | 7 +++++++
> >      > > >  src/mesa/Android.libmesa_dricore.mk
> >     <http://Android.libmesa_dricore.mk> | 2 ++
> >      > > >  src/mesa/Android.libmesa_st_mesa.mk
> >     <http://Android.libmesa_st_mesa.mk> | 2 ++
> >      > > >  4 files changed, 14 insertions(+)
> >      > > >
> >      > > > diff --git a/Android.common.mk <http://Android.common.mk>
> >     b/Android.common.mk <http://Android.common.mk>
> >      > > > index 8a1c734353..209654bb75 100644
> >      > > > --- a/Android.common.mk <http://Android.common.mk>
> >      > > > +++ b/Android.common.mk <http://Android.common.mk>
> >      > > > @@ -106,9 +106,12 @@ ifeq ($(shell test
> >     $(PLATFORM_SDK_VERSION) -ge 26 && echo true),true)
> >      > > >  LOCAL_CFLAGS += -DHAVE_SYS_SHM_H
> >      > > >  endif
> >      > > >
> >      > > > +ifeq ($(strip $(MESA_ENABLE_ASM)),true)
> >      > > >  ifeq ($(TARGET_ARCH),x86)
> >      > > >  LOCAL_CFLAGS += \
> >      > > >         -DUSE_X86_ASM
> >      > > > +
> >      > > > +endif
> >      > > >  endif
> >      > > >  ifeq ($(ARCH_ARM_HAVE_NEON),true)
> >      > > >  LOCAL_CFLAGS_arm += -DUSE_ARM_ASM
> >      > > > diff --git a/Android.mk b/Android.mk
> >      > > > index 57613eccfc..4a2a003ea3 100644
> >      > > > --- a/Android.mk
> >      > > > +++ b/Android.mk
> >      > > > @@ -83,6 +83,13 @@ endif
> >      > > >
> >      > > >  $(foreach d, $(MESA_BUILD_CLASSIC) $(MESA_BUILD_GALLIUM),
> >     $(eval $(d) := true))
> >      > > >
> >      > > > +# host and target must be the same arch to generate matypes.h
> >      > > > +ifeq ($(TARGET_ARCH),$(HOST_ARCH))
> >      > > > +MESA_ENABLE_ASM := true
> >      > > > +else
> >      > > > +MESA_ENABLE_ASM := false
> >      > > > +endif
> >      > > > +
> >      > > >  ifneq ($(filter true, $(HAVE_GALLIUM_RADEONSI)),)
> >      > > >  MESA_ENABLE_LLVM := true
> >      > > >  endif
> >      > > > diff --git a/src/mesa/Android.libmesa_dricore.mk
> >     <http://Android.libmesa_dricore.mk>
> >     b/src/mesa/Android.libmesa_dricore.mk
> >     <http://Android.libmesa_dricore.mk>
> >      > > > index 8eb6aabe83..792117767b 100644
> >      > > > --- a/src/mesa/Android.libmesa_dricore.mk
> >     <http://Android.libmesa_dricore.mk>
> >      > > > +++ b/src/mesa/Android.libmesa_dricore.mk
> >     <http://Android.libmesa_dricore.mk>
> >      > > > @@ -39,9 +39,11 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
> >      > > >  LOCAL_SRC_FILES := \
> >      > > >         $(MESA_FILES)
> >      > > >
> >      > > > +ifeq ($(strip $(MESA_ENABLE_ASM)),true)
> >      > > >  ifeq ($(TARGET_ARCH),x86)
> >      > > >         LOCAL_SRC_FILES += $(X86_FILES)
> >      > > >  endif # x86
> >      > > > +endif # MESA_ENABLE_ASM
> >      > > >
> >      > > >  ifeq ($(ARCH_X86_HAVE_SSE4_1),true)
> >      > > >  LOCAL_WHOLE_STATIC_LIBRARIES := \
> >      > > > diff --git a/src/mesa/Android.libmesa_st_mesa.mk
> >     <http://Android.libmesa_st_mesa.mk>
> >     b/src/mesa/Android.libmesa_st_mesa.mk
> >     <http://Android.libmesa_st_mesa.mk>
> >      > > > index 16153a3c5b..ddfd03059c 100644
> >      > > > --- a/src/mesa/Android.libmesa_st_mesa.mk
> >     <http://Android.libmesa_st_mesa.mk>
> >      > > > +++ b/src/mesa/Android.libmesa_st_mesa.mk
> >     <http://Android.libmesa_st_mesa.mk>
> >      > > > @@ -42,9 +42,11 @@ LOCAL_GENERATED_SOURCES := \
> >      > > >         $(MESA_GEN_GLSL_H) \
> >      > > >         $(MESA_GEN_NIR_H)
> >      > > >
> >      > > > +ifeq ($(strip $(MESA_ENABLE_ASM)),true)
> >      > > >  ifeq ($(TARGET_ARCH),x86)
> >      > > >         LOCAL_SRC_FILES += $(X86_FILES)
> >      > > >  endif # x86
> >      > > > +endif # MESA_ENABLE_ASM
> >      > > >
> >      > > >  ifeq ($(ARCH_X86_HAVE_SSE4_1),true)
> >      > > >  LOCAL_WHOLE_STATIC_LIBRARIES := \
> >      > > > --
> >      > >
> >      > > Looks good to me.
> >      > >
> >      > > Review-by: Chih-Wei Huang <cwhuang at linux.org.tw
> >     <mailto:cwhuang at linux.org.tw>>
> >      >
> >      > Added Tapani who should one of the users of 32bit mesa,
> >      > please provide feedback to proceed.
> >      > Mauro
> >
> >     Tapani added now
> >     M.
> >
> >
> > did you had the chance to have a look
> > and provide Reviewed-by ?
> >
>
> Sorry I've managed to miss this one. I'm not hitting any problems after
> mentioned changes though. Does this happen only if you compile on a
> 32bit machine? I'm compiling both 64bit and 32bit but on a 64bit machine.
>
>
>
> // Tapani
>

It happens when compiling on a 64 bit build machine,
the assembler parts of mesa have text relocation when mesa libglapi 32bit
target is compiled.

How do you avoid the linker error?
Mauro
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20190813/256f2686/attachment.html>


More information about the mesa-dev mailing list