[Mesa-dev] [PATCH] android: mesa: revert "Enable asm unconditionally"
Mauro Rossi
issor.oruam at gmail.com
Sat Jul 27 12:56:02 UTC 2019
On Thu, Jul 18, 2019 at 1:07 PM Chih-Wei Huang <cwhuang at android-x86.org> wrote:
>
> Mauro Rossi <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>
> > ---
> > Android.common.mk | 3 +++
> > Android.mk | 7 +++++++
> > src/mesa/Android.libmesa_dricore.mk | 2 ++
> > src/mesa/Android.libmesa_st_mesa.mk | 2 ++
> > 4 files changed, 14 insertions(+)
> >
> > diff --git a/Android.common.mk b/Android.common.mk
> > index 8a1c734353..209654bb75 100644
> > --- a/Android.common.mk
> > +++ b/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 b/src/mesa/Android.libmesa_dricore.mk
> > index 8eb6aabe83..792117767b 100644
> > --- a/src/mesa/Android.libmesa_dricore.mk
> > +++ b/src/mesa/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 b/src/mesa/Android.libmesa_st_mesa.mk
> > index 16153a3c5b..ddfd03059c 100644
> > --- a/src/mesa/Android.libmesa_st_mesa.mk
> > +++ b/src/mesa/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>
Added Tapani who should one of the users of 32bit mesa,
please provide feedback to proceed.
Mauro
More information about the mesa-dev
mailing list