On Thu, Jul 18, 2019 at 1:07 PM Chih-Wei Huang <cwhu...@android-x86.org> wrote: > > Mauro Rossi <issor.or...@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.or...@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 <cwhu...@linux.org.tw>
Added Tapani who should one of the users of 32bit mesa, please provide feedback to proceed. Mauro _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev