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

Eric Engestrom eric at engestrom.ch
Sun Jul 14 13:16:25 UTC 2019


See also this MR which reverts the other half of that commit:
https://gitlab.freedesktop.org/mesa/mesa/merge_requests/1283

On 2019-07-14 at 11:17, Mauro Rossi <issor.oruam at gmail.com> wrote:
> 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 := \
> -- 
> 2.20.1
> 
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list