android: mesa: revert "Enable asm unconditionally"

Submitted by Mauro Rossi on July 14, 2019, 9:17 a.m.

Details

Message ID 20190714091727.21844-1-issor.oruam@gmail.com
State Accepted
Commit 7a6e7803a791724841346b4b274ce68bcf3fff3f
Headers show
Series "android: mesa: revert "Enable asm unconditionally"" ( rev: 1 ) in Mesa

Not browsing as part of any series.

Commit Message

Mauro Rossi July 14, 2019, 9:17 a.m.
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@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(+)

Patch hide | download patch | download mbox

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 := \

Comments

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@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@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@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Mauro Rossi <issor.oruam@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@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@linux.org.tw>
On Thu, Jul 18, 2019 at 1:07 PM Chih-Wei Huang <cwhuang@android-x86.org> wrote:
>
> Mauro Rossi <issor.oruam@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@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@linux.org.tw>

Added Tapani who should one of the users of 32bit mesa,
please provide feedback to proceed.
Mauro
On Sat, Jul 27, 2019 at 2:56 PM Mauro Rossi <issor.oruam@gmail.com> wrote:
>
> On Thu, Jul 18, 2019 at 1:07 PM Chih-Wei Huang <cwhuang@android-x86.org> wrote:
> >
> > Mauro Rossi <issor.oruam@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@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@linux.org.tw>
>
> Added Tapani who should one of the users of 32bit mesa,
> please provide feedback to proceed.
> Mauro

Tapani added now
M.

On 8/13/19 3:32 PM, Mauro Rossi wrote:
> Hi,
> 
> On Tue, Aug 13, 2019 at 2:03 PM Tapani Pälli <tapani.palli@intel.com 
> <mailto:tapani.palli@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@gmail.com <mailto:issor.oruam@gmail.com>
>      > <mailto:issor.oruam@gmail.com <mailto:issor.oruam@gmail.com>>> wrote:
>      >
>      >     On Sat, Jul 27, 2019 at 2:56 PM Mauro Rossi
>     <issor.oruam@gmail.com <mailto:issor.oruam@gmail.com>
>      >     <mailto:issor.oruam@gmail.com
>     <mailto:issor.oruam@gmail.com>>> wrote:
>      >      >
>      >      > On Thu, Jul 18, 2019 at 1:07 PM Chih-Wei Huang
>      >     <cwhuang@android-x86.org <mailto:cwhuang@android-x86.org>
>     <mailto:cwhuang@android-x86.org <mailto:cwhuang@android-x86.org>>>
>     wrote:
>      >      > >
>      >      > > Mauro Rossi <issor.oruam@gmail.com
>     <mailto:issor.oruam@gmail.com>
>      >     <mailto:issor.oruam@gmail.com
>     <mailto:issor.oruam@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@gmail.com
>     <mailto:issor.oruam@gmail.com>
>      >     <mailto:issor.oruam@gmail.com <mailto:issor.oruam@gmail.com>>>
>      >      > > > ---
>      >      > > > Android.common.mk <http://Android.common.mk>
>     <http://Android.common.mk>
>      >       | 3 +++
>      >      > > >  Android.mk                          | 7 +++++++
>      >      > > >  src/mesa/Android.libmesa_dricore.mk
>     <http://Android.libmesa_dricore.mk>
>      >     <http://Android.libmesa_dricore.mk> | 2 ++
>      >      > > >  src/mesa/Android.libmesa_st_mesa.mk
>     <http://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> <http://Android.common.mk>
>      >     b/Android.common.mk <http://Android.common.mk>
>     <http://Android.common.mk>
>      >      > > > index 8a1c734353..209654bb75 100644
>      >      > > > --- a/Android.common.mk <http://Android.common.mk>
>     <http://Android.common.mk>
>      >      > > > +++ b/Android.common.mk <http://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>
>      >     <http://Android.libmesa_dricore.mk>
>      >     b/src/mesa/Android.libmesa_dricore.mk
>     <http://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>
>      >     <http://Android.libmesa_dricore.mk>
>      >      > > > +++ b/src/mesa/Android.libmesa_dricore.mk
>     <http://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>
>      >     <http://Android.libmesa_st_mesa.mk>
>      >     b/src/mesa/Android.libmesa_st_mesa.mk
>     <http://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>
>      >     <http://Android.libmesa_st_mesa.mk>
>      >      > > > +++ b/src/mesa/Android.libmesa_st_mesa.mk
>     <http://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@linux.org.tw
>     <mailto:cwhuang@linux.org.tw>
>      >     <mailto:cwhuang@linux.org.tw <mailto:cwhuang@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?

I'm not getting any linker error. Today I've compiled and tested both 
i965 and iris with some patches rebased on top of commit b594796f1b8.

Does this happen with a particular version of Android?

// Tapani

On 8/13/19 9:55 PM, Mauro Rossi wrote:
> Hi,
> 
> On Tue, Aug 13, 2019 at 3:51 PM Tapani Pälli <tapani.palli@intel.com 
> <mailto:tapani.palli@intel.com>> wrote:
> 
> 
>     On 8/13/19 3:32 PM, Mauro Rossi wrote:
>      > Hi,
>      >
>      > On Tue, Aug 13, 2019 at 2:03 PM Tapani Pälli
>     <tapani.palli@intel.com <mailto:tapani.palli@intel.com>
>      > <mailto:tapani.palli@intel.com <mailto:tapani.palli@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@gmail.com <mailto:issor.oruam@gmail.com>
>     <mailto:issor.oruam@gmail.com <mailto:issor.oruam@gmail.com>>
>      >      > <mailto:issor.oruam@gmail.com
>     <mailto:issor.oruam@gmail.com> <mailto:issor.oruam@gmail.com
>     <mailto:issor.oruam@gmail.com>>>> wrote:
>      >      >
>      >      >     On Sat, Jul 27, 2019 at 2:56 PM Mauro Rossi
>      >     <issor.oruam@gmail.com <mailto:issor.oruam@gmail.com>
>     <mailto:issor.oruam@gmail.com <mailto:issor.oruam@gmail.com>>
>      >      >     <mailto:issor.oruam@gmail.com
>     <mailto:issor.oruam@gmail.com>
>      >     <mailto:issor.oruam@gmail.com
>     <mailto:issor.oruam@gmail.com>>>> wrote:
>      >      >      >
>      >      >      > On Thu, Jul 18, 2019 at 1:07 PM Chih-Wei Huang
>      >      >     <cwhuang@android-x86.org
>     <mailto:cwhuang@android-x86.org> <mailto:cwhuang@android-x86.org
>     <mailto:cwhuang@android-x86.org>>
>      >     <mailto:cwhuang@android-x86.org
>     <mailto:cwhuang@android-x86.org> <mailto:cwhuang@android-x86.org
>     <mailto:cwhuang@android-x86.org>>>>
>      >     wrote:
>      >      >      > >
>      >      >      > > Mauro Rossi <issor.oruam@gmail.com
>     <mailto:issor.oruam@gmail.com>
>      >     <mailto:issor.oruam@gmail.com <mailto:issor.oruam@gmail.com>>
>      >      >     <mailto:issor.oruam@gmail.com
>     <mailto:issor.oruam@gmail.com>
>      >     <mailto:issor.oruam@gmail.com
>     <mailto:issor.oruam@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@gmail.com <mailto:issor.oruam@gmail.com>
>      >     <mailto:issor.oruam@gmail.com <mailto:issor.oruam@gmail.com>>
>      >      >     <mailto:issor.oruam@gmail.com
>     <mailto:issor.oruam@gmail.com> <mailto:issor.oruam@gmail.com
>     <mailto:issor.oruam@gmail.com>>>>
>      >      >      > > > ---
>      >      >      > > > Android.common.mk <http://Android.common.mk>
>     <http://Android.common.mk>
>      >     <http://Android.common.mk>
>      >      >       | 3 +++
>      >      >      > > >  Android.mk                          | 7 +++++++
>      >      >      > > >  src/mesa/Android.libmesa_dricore.mk
>     <http://Android.libmesa_dricore.mk>
>      >     <http://Android.libmesa_dricore.mk>
>      >      >     <http://Android.libmesa_dricore.mk> | 2 ++
>      >      >      > > >  src/mesa/Android.libmesa_st_mesa.mk
>     <http://Android.libmesa_st_mesa.mk>
>      >     <http://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>
>      >     <http://Android.common.mk> <http://Android.common.mk>
>      >      >     b/Android.common.mk <http://Android.common.mk>
>     <http://Android.common.mk>
>      >     <http://Android.common.mk>
>      >      >      > > > index 8a1c734353..209654bb75 100644
>      >      >      > > > --- a/Android.common.mk
>     <http://Android.common.mk> <http://Android.common.mk>
>      >     <http://Android.common.mk>
>      >      >      > > > +++ b/Android.common.mk
>     <http://Android.common.mk> <http://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>
>      >     <http://Android.libmesa_dricore.mk>
>      >      >     <http://Android.libmesa_dricore.mk>
>      >      >     b/src/mesa/Android.libmesa_dricore.mk
>     <http://Android.libmesa_dricore.mk>
>      >     <http://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>
>      >     <http://Android.libmesa_dricore.mk>
>      >      >     <http://Android.libmesa_dricore.mk>
>      >      >      > > > +++ b/src/mesa/Android.libmesa_dricore.mk
>     <http://Android.libmesa_dricore.mk>
>      >     <http://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>
>      >     <http://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>
>      >     <http://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>
>      >     <http://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>
>      >     <http://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@linux.org.tw
>     <mailto:cwhuang@linux.org.tw>
>      >     <mailto:cwhuang@linux.org.tw <mailto:cwhuang@linux.org.tw>>
>      >      >     <mailto:cwhuang@linux.org.tw
>     <mailto:cwhuang@linux.org.tw> <mailto:cwhuang@linux.org.tw
>     <mailto:cwhuang@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?
> 
>     I'm not getting any linker error. Today I've compiled and tested both
>     i965 and iris with some patches rebased on top of commit b594796f1b8.
> 
>     Does this happen with a particular version of Android?
> 
>     // Tapani
> 
> 
> It happens with oreo-x86 (Android 8.1) and pie-x86 (Android 9),
> but we histocally know since Lollipop that building mesa
> with asm optimization induces text relocations in libglapi shared library
> and the specific problem affects 32bit builds
> 
> Here is the build log where '--warn-shared-textrel' is visible for 
> target libglapi.so,
> please Tapani could you provide the corresponding section of your build log?
> (There may be clues about the reason you are not getting the error)

I've made a celadon P build today and put the build log here:

http://tpalli.kapsi.fi/build_log.tgz

This is not complete image but builds the mesa parts, you can see that 
libglapi is being built both for 32bit and 64bit in the log.


> [  1% 5/326] 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 
> 
> /bin/bash -c "prebuilts/clang/host/linux-x86/clang-4691093/bin/clang++ 
> -nostdlib -Wl,-soname,libglapi.so -Wl,--gc-sections -shared 
> out/target/product/x86/obj/lib/crtbegin_so.o 
> out/target/product/x86/obj/SHARED_LIBRARIES/libglapi_intermediates/entry.o 
> out/target/product/x86/obj/SHARED_LIBRARIES/libglapi_intermediates/mapi_glapi.o 
> out/target/product/x86/obj/SHARED_LIBRARIES/libglapi_intermediates/stub.o out/target/product/x86/obj/SHARED_LIBRARIES/libglapi_intermediates/table.o 
> out/target/product/x86/obj/SHARED_LIBRARIES/libglapi_intermediates/u_current.o 
> out/target/product/x86/obj/SHARED_LIBRARIES/libglapi_intermediates/u_execmem.o 
> -Wl,--whole-archive  -Wl,--no-whole-archive   
> out/target/product/x86/obj/STATIC_LIBRARIES/libclang_rt.ubsan_minimal-i686-android_intermediates/libclang_rt.ubsan_minimal-i686-android.a 
>   out/target/product/x86/obj/STATIC_LIBRARIES/libcompiler_rt-extras_intermediates/libcompiler_rt-extras.a   out/target/product/x86/obj/STATIC_LIBRARIES/libatomic_intermediates/libatomic.a out/target/product/x86/obj/STATIC_LIBRARIES/libgcc_intermediates/libgcc.a -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -Wl,--build-id=md5 -Wl,*--warn-shared-textrel *-Wl,--fatal-warnings -Wl,--no-undefined-version -Wl,--hash-style=gnu -m32  -target i686-linux-android -Bprebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9/x86_64-linux-android/bin -Wl,--exclude-libs,libclang_rt.ubsan_minimal-i686-android.a -Wl,--no-undefined out/target/product/x86/obj/lib/libdrm.so out/target/product/x86/obj/lib/libc++.so out/target/product/x86/obj/lib/libc.so out/target/product/x86/obj/lib/libm.so out/target/product/x86/obj/lib/libdl.so -o out/target/product/x86/obj/SHARED_LIBRARIES/libglapi_intermediates/LINKED/libglapi.so out/target/product/x86/obj/lib/crtend_so.o"
> 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)

On 8/15/19 12:52 PM, Mauro Rossi wrote:
> Hi Tapani,
> 
> On Thu, Aug 15, 2019 at 7:29 AM Tapani Pälli <tapani.palli@intel.com 
> <mailto:tapani.palli@intel.com>> wrote:
> 
> 
>     On 8/13/19 9:55 PM, Mauro Rossi wrote:
>      > Hi,
>      >
>      > On Tue, Aug 13, 2019 at 3:51 PM Tapani Pälli
>     <tapani.palli@intel.com <mailto:tapani.palli@intel.com>
>      > <mailto:tapani.palli@intel.com <mailto:tapani.palli@intel.com>>>
>     wrote:
>      >
>      >
>      >     On 8/13/19 3:32 PM, Mauro Rossi wrote:
>      >      > Hi,
>      >      >
>      >      > On Tue, Aug 13, 2019 at 2:03 PM Tapani Pälli
>      >     <tapani.palli@intel.com <mailto:tapani.palli@intel.com>
>     <mailto:tapani.palli@intel.com <mailto:tapani.palli@intel.com>>
>      >      > <mailto:tapani.palli@intel.com
>     <mailto:tapani.palli@intel.com> <mailto:tapani.palli@intel.com
>     <mailto:tapani.palli@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@gmail.com <mailto:issor.oruam@gmail.com>
>     <mailto:issor.oruam@gmail.com <mailto:issor.oruam@gmail.com>>
>      >     <mailto:issor.oruam@gmail.com <mailto:issor.oruam@gmail.com>
>     <mailto:issor.oruam@gmail.com <mailto:issor.oruam@gmail.com>>>
>      >      >      > <mailto:issor.oruam@gmail.com
>     <mailto:issor.oruam@gmail.com>
>      >     <mailto:issor.oruam@gmail.com <mailto:issor.oruam@gmail.com>>
>     <mailto:issor.oruam@gmail.com <mailto:issor.oruam@gmail.com>
>      >     <mailto:issor.oruam@gmail.com
>     <mailto:issor.oruam@gmail.com>>>>> wrote:
>      >      >      >
>      >      >      >     On Sat, Jul 27, 2019 at 2:56 PM Mauro Rossi
>      >      >     <issor.oruam@gmail.com <mailto:issor.oruam@gmail.com>
>     <mailto:issor.oruam@gmail.com <mailto:issor.oruam@gmail.com>>
>      >     <mailto:issor.oruam@gmail.com <mailto:issor.oruam@gmail.com>
>     <mailto:issor.oruam@gmail.com <mailto:issor.oruam@gmail.com>>>
>      >      >      >     <mailto:issor.oruam@gmail.com
>     <mailto:issor.oruam@gmail.com>
>      >     <mailto:issor.oruam@gmail.com <mailto:issor.oruam@gmail.com>>
>      >      >     <mailto:issor.oruam@gmail.com
>     <mailto:issor.oruam@gmail.com>
>      >     <mailto:issor.oruam@gmail.com
>     <mailto:issor.oruam@gmail.com>>>>> wrote:
>      >      >      >      >
>      >      >      >      > On Thu, Jul 18, 2019 at 1:07 PM Chih-Wei Huang
>      >      >      >     <cwhuang@android-x86.org
>     <mailto:cwhuang@android-x86.org>
>      >     <mailto:cwhuang@android-x86.org
>     <mailto:cwhuang@android-x86.org>> <mailto:cwhuang@android-x86.org
>     <mailto:cwhuang@android-x86.org>
>      >     <mailto:cwhuang@android-x86.org
>     <mailto:cwhuang@android-x86.org>>>
>      >      >     <mailto:cwhuang@android-x86.org
>     <mailto:cwhuang@android-x86.org>
>      >     <mailto:cwhuang@android-x86.org
>     <mailto:cwhuang@android-x86.org>> <mailto:cwhuang@android-x86.org
>     <mailto:cwhuang@android-x86.org>
>      >     <mailto:cwhuang@android-x86.org
>     <mailto:cwhuang@android-x86.org>>>>>
>      >      >     wrote:
>      >      >      >      > >
>      >      >      >      > > Mauro Rossi <issor.oruam@gmail.com
>     <mailto:issor.oruam@gmail.com>
>      >     <mailto:issor.oruam@gmail.com <mailto:issor.oruam@gmail.com>>
>      >      >     <mailto:issor.oruam@gmail.com
>     <mailto:issor.oruam@gmail.com> <mailto:issor.oruam@gmail.com
>     <mailto:issor.oruam@gmail.com>>>
>      >      >      >     <mailto:issor.oruam@gmail.com
>     <mailto:issor.oruam@gmail.com>
>      >     <mailto:issor.oruam@gmail.com <mailto:issor.oruam@gmail.com>>
>      >      >     <mailto:issor.oruam@gmail.com
>     <mailto:issor.oruam@gmail.com>
>      >     <mailto:issor.oruam@gmail.com
>     <mailto:issor.oruam@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@gmail.com <mailto:issor.oruam@gmail.com>
>     <mailto:issor.oruam@gmail.com <mailto:issor.oruam@gmail.com>>
>      >      >     <mailto:issor.oruam@gmail.com
>     <mailto:issor.oruam@gmail.com> <mailto:issor.oruam@gmail.com
>     <mailto:issor.oruam@gmail.com>>>
>      >      >      >     <mailto:issor.oruam@gmail.com
>     <mailto:issor.oruam@gmail.com>
>      >     <mailto:issor.oruam@gmail.com <mailto:issor.oruam@gmail.com>>
>     <mailto:issor.oruam@gmail.com <mailto:issor.oruam@gmail.com>
>      >     <mailto:issor.oruam@gmail.com <mailto:issor.oruam@gmail.com>>>>>
>      >      >      >      > > > ---
>      >      >      >      > > > Android.common.mk
>     <http://Android.common.mk> <http://Android.common.mk>
>      >     <http://Android.common.mk>
>      >      >     <http://Android.common.mk>
>      >      >      >       | 3 +++
>      >      >      >      > > >  Android.mk                          | 7
>     +++++++
>      >      >      >      > > >  src/mesa/Android.libmesa_dricore.mk
>     <http://Android.libmesa_dricore.mk>
>      >     <http://Android.libmesa_dricore.mk>
>      >      >     <http://Android.libmesa_dricore.mk>
>      >      >      >     <http://Android.libmesa_dricore.mk> | 2 ++
>      >      >      >      > > >  src/mesa/Android.libmesa_st_mesa.mk
>     <http://Android.libmesa_st_mesa.mk>
>      >     <http://Android.libmesa_st_mesa.mk>
>      >      >     <http://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>
>      >     <http://Android.common.mk>
>      >      >     <http://Android.common.mk> <http://Android.common.mk>
>      >      >      >     b/Android.common.mk <http://Android.common.mk>
>     <http://Android.common.mk>
>      >     <http://Android.common.mk>
>      >      >     <http://Android.common.mk>
>      >      >      >      > > > index 8a1c734353..209654bb75 100644
>      >      >      >      > > > --- a/Android.common.mk
>     <http://Android.common.mk>
>      >     <http://Android.common.mk> <http://Android.common.mk>
>      >      >     <http://Android.common.mk>
>      >      >      >      > > > +++ b/Android.common.mk
>     <http://Android.common.mk>
>      >     <http://Android.common.mk> <http://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>
>      >     <http://Android.libmesa_dricore.mk>
>      >      >     <http://Android.libmesa_dricore.mk>
>      >      >      >     <http://Android.libmesa_dricore.mk>
>      >      >      >     b/src/mesa/Android.libmesa_dricore.mk
>     <http://Android.libmesa_dricore.mk>
>      >     <http://Android.libmesa_dricore.mk>
>      >      >     <http://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>
>      >     <http://Android.libmesa_dricore.mk>
>      >      >     <http://Android.libmesa_dricore.mk>
>      >      >      >     <http://Android.libmesa_dricore.mk>
>      >      >      >      > > > +++
>     b/src/mesa/Android.libmesa_dricore.mk
>     <http://Android.libmesa_dricore.mk>
>      >     <http://Android.libmesa_dricore.mk>
>      >      >     <http://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>
>      >     <http://Android.libmesa_st_mesa.mk>
>      >      >     <http://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>
>      >     <http://Android.libmesa_st_mesa.mk>
>      >      >     <http://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>
>      >     <http://Android.libmesa_st_mesa.mk>
>      >      >     <http://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>
>      >     <http://Android.libmesa_st_mesa.mk>
>      >      >     <http://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@linux.org.tw <mailto:cwhuang@linux.org.tw>
>      >     <mailto:cwhuang@linux.org.tw <mailto:cwhuang@linux.org.tw>>
>      >      >     <mailto:cwhuang@linux.org.tw
>     <mailto:cwhuang@linux.org.tw> <mailto:cwhuang@linux.org.tw
>     <mailto:cwhuang@linux.org.tw>>>
>      >      >      >     <mailto:cwhuang@linux.org.tw
>     <mailto:cwhuang@linux.org.tw>
>      >     <mailto:cwhuang@linux.org.tw <mailto:cwhuang@linux.org.tw>>
>     <mailto:cwhuang@linux.org.tw <mailto:cwhuang@linux.org.tw>
>      >     <mailto:cwhuang@linux.org.tw <mailto:cwhuang@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?
>      >
>      >     I'm not getting any linker error. Today I've compiled and
>     tested both
>      >     i965 and iris with some patches rebased on top of commit
>     b594796f1b8.
>      >
>      >     Does this happen with a particular version of Android?
>      >
>      >     // Tapani
>      >
>      >
>      > It happens with oreo-x86 (Android 8.1) and pie-x86 (Android 9),
>      > but we histocally know since Lollipop that building mesa
>      > with asm optimization induces text relocations in libglapi shared
>     library
>      > and the specific problem affects 32bit builds
>      >
>      > Here is the build log where '--warn-shared-textrel' is visible for
>      > target libglapi.so,
>      > please Tapani could you provide the corresponding section of your
>     build log?
>      > (There may be clues about the reason you are not getting the error)
> 
>     I've made a celadon P build today and put the build log here:
> 
>     http://tpalli.kapsi.fi/build_log.tgz
> 
>     This is not complete image but builds the mesa parts, you can see that
>     libglapi is being built both for 32bit and 64bit in the log.
> 
> 
> In our scenario the text relocations happen when building android-x86 
> 32bit user space on 32bit kernel,
> in your build log you are building x86_64 target, where we also don't 
> get any issue.

Ah right now I got it, this is the difference we had.

> Could you please try, when you have time (and no hurry) to build Celadon 
> P 32bit user space on 32bit kernel?

I don't think we have such a target, but also I think these changes here 
should not affect celadon so this is fine change for me. If I read 
correctly, it sets MESA_ENABLE_ASM if TARGET_ARCH equals HOST_ARCH, right?


> I'd really like to use asm optimizations if now possible
> 
> As additional info here is the android-x86-development thread were all 
> attempst to use -fPIC, -DPIC were failed,
> in our experience the 32bit user space will just refuse to use the 
> libglapi.so with Text Relocations:
> https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!msg/android-x86-devel/qO9gtkyE_PU/9fUan0VjCAAJ 
> 
> 
> Then if Celadon P can build libglapi.so without Text Relocations for 
> 32bit user space on 32bit kernel,
> how is it done? We have this problem since Android nougat-x86
> 
> Thanks (and sorry in case I'm doing something wrong)
> Mauro
> 
> 
> 
>      > [  1% 5/326] 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
> 
>      >
>      > /bin/bash -c
>     "prebuilts/clang/host/linux-x86/clang-4691093/bin/clang++
>      > -nostdlib -Wl,-soname,libglapi.so -Wl,--gc-sections -shared
>      > out/target/product/x86/obj/lib/crtbegin_so.o
>      >
>     out/target/product/x86/obj/SHARED_LIBRARIES/libglapi_intermediates/entry.o
> 
>      >
>     out/target/product/x86/obj/SHARED_LIBRARIES/libglapi_intermediates/mapi_glapi.o
> 
>      >
>     out/target/product/x86/obj/SHARED_LIBRARIES/libglapi_intermediates/stub.o
>     out/target/product/x86/obj/SHARED_LIBRARIES/libglapi_intermediates/table.o
> 
>      >
>     out/target/product/x86/obj/SHARED_LIBRARIES/libglapi_intermediates/u_current.o
> 
>      >
>     out/target/product/x86/obj/SHARED_LIBRARIES/libglapi_intermediates/u_execmem.o
> 
>      > -Wl,--whole-archive  -Wl,--no-whole-archive
>      >
>     out/target/product/x86/obj/STATIC_LIBRARIES/libclang_rt.ubsan_minimal-i686-android_intermediates/libclang_rt.ubsan_minimal-i686-android.a
> 
>      > 
>       out/target/product/x86/obj/STATIC_LIBRARIES/libcompiler_rt-extras_intermediates/libcompiler_rt-extras.a   out/target/product/x86/obj/STATIC_LIBRARIES/libatomic_intermediates/libatomic.a out/target/product/x86/obj/STATIC_LIBRARIES/libgcc_intermediates/libgcc.a -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -Wl,--build-id=md5 -Wl,*--warn-shared-textrel *-Wl,--fatal-warnings -Wl,--no-undefined-version -Wl,--hash-style=gnu -m32  -target i686-linux-android -Bprebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9/x86_64-linux-android/bin -Wl,--exclude-libs,libclang_rt.ubsan_minimal-i686-android.a -Wl,--no-undefined out/target/product/x86/obj/lib/libdrm.so out/target/product/x86/obj/lib/libc++.so out/target/product/x86/obj/lib/libc.so out/target/product/x86/obj/lib/libm.so out/target/product/x86/obj/lib/libdl.so -o out/target/product/x86/obj/SHARED_LIBRARIES/libglapi_intermediates/LINKED/libglapi.so out/target/product/x86/obj/lib/crtend_so.o"
>      >
>     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)
>


On Thursday, 2019-09-05 17:58:22 +0200, Mauro Rossi wrote:
> Hi Eric, Emil,
> we have Tapani ok, in my understanding
> 
> Please follow up on this one

Sure, feel free to push the android revert until we can figure out a fix:
Acked-by: Eric Engestrom <eric@engestrom.ch>


> Mauro
> 
> On Fri, Aug 16, 2019 at 4:29 AM Mauro Rossi <issor.oruam@gmail.com> wrote:
> 
> > Hi Tapani, Eric,
> >
> > On Thu, Aug 15, 2019 at 1:00 PM Tapani Pälli <tapani.palli@intel.com>
> > wrote:
> >
> >>
> >> On 8/15/19 12:52 PM, Mauro Rossi wrote:
> >> > Hi Tapani,
> >> >
> >> > On Thu, Aug 15, 2019 at 7:29 AM Tapani Pälli <tapani.palli@intel.com
> >> > <mailto:tapani.palli@intel.com>> wrote:
> >> >
> >> >
> >> >     On 8/13/19 9:55 PM, Mauro Rossi wrote:
> >> >      > Hi,
> >> >      >
> >> >      > On Tue, Aug 13, 2019 at 3:51 PM Tapani Pälli
> >> >     <tapani.palli@intel.com <mailto:tapani.palli@intel.com>
> >> >      > <mailto:tapani.palli@intel.com <mailto:tapani.palli@intel.com>>>
> >> >     wrote:
> >> >      >
> >> >      >
> >> >      >     On 8/13/19 3:32 PM, Mauro Rossi wrote:
> >> >      >      > Hi,
> >> >      >      >
> >> >      >      > On Tue, Aug 13, 2019 at 2:03 PM Tapani Pälli
> >> >      >     <tapani.palli@intel.com <mailto:tapani.palli@intel.com>
> >> >     <mailto:tapani.palli@intel.com <mailto:tapani.palli@intel.com>>
> >> >      >      > <mailto:tapani.palli@intel.com
> >> >     <mailto:tapani.palli@intel.com> <mailto:tapani.palli@intel.com
> >> >     <mailto:tapani.palli@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@gmail.com <mailto:issor.oruam@gmail.com>
> >> >     <mailto:issor.oruam@gmail.com <mailto:issor.oruam@gmail.com>>
> >> >      >     <mailto:issor.oruam@gmail.com <mailto:issor.oruam@gmail.com>
> >> >     <mailto:issor.oruam@gmail.com <mailto:issor.oruam@gmail.com>>>
> >> >      >      >      > <mailto:issor.oruam@gmail.com
> >> >     <mailto:issor.oruam@gmail.com>
> >> >      >     <mailto:issor.oruam@gmail.com <mailto:issor.oruam@gmail.com
> >> >>
> >> >     <mailto:issor.oruam@gmail.com <mailto:issor.oruam@gmail.com>
> >> >      >     <mailto:issor.oruam@gmail.com
> >> >     <mailto:issor.oruam@gmail.com>>>>> wrote:
> >> >      >      >      >
> >> >      >      >      >     On Sat, Jul 27, 2019 at 2:56 PM Mauro Rossi
> >> >      >      >     <issor.oruam@gmail.com <mailto:issor.oruam@gmail.com>
> >> >     <mailto:issor.oruam@gmail.com <mailto:issor.oruam@gmail.com>>
> >> >      >     <mailto:issor.oruam@gmail.com <mailto:issor.oruam@gmail.com>
> >> >     <mailto:issor.oruam@gmail.com <mailto:issor.oruam@gmail.com>>>
> >> >      >      >      >     <mailto:issor.oruam@gmail.com
> >> >     <mailto:issor.oruam@gmail.com>
> >> >      >     <mailto:issor.oruam@gmail.com <mailto:issor.oruam@gmail.com
> >> >>
> >> >      >      >     <mailto:issor.oruam@gmail.com
> >> >     <mailto:issor.oruam@gmail.com>
> >> >      >     <mailto:issor.oruam@gmail.com
> >> >     <mailto:issor.oruam@gmail.com>>>>> wrote:
> >> >      >      >      >      >
> >> >      >      >      >      > On Thu, Jul 18, 2019 at 1:07 PM Chih-Wei
> >> Huang
> >> >      >      >      >     <cwhuang@android-x86.org
> >> >     <mailto:cwhuang@android-x86.org>
> >> >      >     <mailto:cwhuang@android-x86.org
> >> >     <mailto:cwhuang@android-x86.org>> <mailto:cwhuang@android-x86.org
> >> >     <mailto:cwhuang@android-x86.org>
> >> >      >     <mailto:cwhuang@android-x86.org
> >> >     <mailto:cwhuang@android-x86.org>>>
> >> >      >      >     <mailto:cwhuang@android-x86.org
> >> >     <mailto:cwhuang@android-x86.org>
> >> >      >     <mailto:cwhuang@android-x86.org
> >> >     <mailto:cwhuang@android-x86.org>> <mailto:cwhuang@android-x86.org
> >> >     <mailto:cwhuang@android-x86.org>
> >> >      >     <mailto:cwhuang@android-x86.org
> >> >     <mailto:cwhuang@android-x86.org>>>>>
> >> >      >      >     wrote:
> >> >      >      >      >      > >
> >> >      >      >      >      > > Mauro Rossi <issor.oruam@gmail.com
> >> >     <mailto:issor.oruam@gmail.com>
> >> >      >     <mailto:issor.oruam@gmail.com <mailto:issor.oruam@gmail.com
> >> >>
> >> >      >      >     <mailto:issor.oruam@gmail.com
> >> >     <mailto:issor.oruam@gmail.com> <mailto:issor.oruam@gmail.com
> >> >     <mailto:issor.oruam@gmail.com>>>
> >> >      >      >      >     <mailto:issor.oruam@gmail.com
> >> >     <mailto:issor.oruam@gmail.com>
> >> >      >     <mailto:issor.oruam@gmail.com <mailto:issor.oruam@gmail.com
> >> >>
> >> >      >      >     <mailto:issor.oruam@gmail.com
> >> >     <mailto:issor.oruam@gmail.com>
> >> >      >     <mailto:issor.oruam@gmail.com
> >> >     <mailto:issor.oruam@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@gmail.com <mailto:issor.oruam@gmail.com>
> >> >     <mailto:issor.oruam@gmail.com <mailto:issor.oruam@gmail.com>>
> >> >      >      >     <mailto:issor.oruam@gmail.com
> >> >     <mailto:issor.oruam@gmail.com> <mailto:issor.oruam@gmail.com
> >> >     <mailto:issor.oruam@gmail.com>>>
> >> >      >      >      >     <mailto:issor.oruam@gmail.com
> >> >     <mailto:issor.oruam@gmail.com>
> >> >      >     <mailto:issor.oruam@gmail.com <mailto:issor.oruam@gmail.com
> >> >>
> >> >     <mailto:issor.oruam@gmail.com <mailto:issor.oruam@gmail.com>
> >> >      >     <mailto:issor.oruam@gmail.com <mailto:issor.oruam@gmail.com
> >> >>>>>
> >> >      >      >      >      > > > ---
> >> >      >      >      >      > > > Android.common.mk
> >> >     <http://Android.common.mk> <http://Android.common.mk>
> >> >      >     <http://Android.common.mk>
> >> >      >      >     <http://Android.common.mk>
> >> >      >      >      >       | 3 +++
> >> >      >      >      >      > > >  Android.mk                          | 7
> >> >     +++++++
> >> >      >      >      >      > > >  src/mesa/Android.libmesa_dricore.mk
> >> >     <http://Android.libmesa_dricore.mk>
> >> >      >     <http://Android.libmesa_dricore.mk>
> >> >      >      >     <http://Android.libmesa_dricore.mk>
> >> >      >      >      >     <http://Android.libmesa_dricore.mk> | 2 ++
> >> >      >      >      >      > > >  src/mesa/Android.libmesa_st_mesa.mk
> >> >     <http://Android.libmesa_st_mesa.mk>
> >> >      >     <http://Android.libmesa_st_mesa.mk>
> >> >      >      >     <http://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>
> >> >      >     <http://Android.common.mk>
> >> >      >      >     <http://Android.common.mk> <http://Android.common.mk>
> >> >      >      >      >     b/Android.common.mk <http://Android.common.mk>
> >> >     <http://Android.common.mk>
> >> >      >     <http://Android.common.mk>
> >> >      >      >     <http://Android.common.mk>
> >> >      >      >      >      > > > index 8a1c734353..209654bb75 100644
> >> >      >      >      >      > > > --- a/Android.common.mk
> >> >     <http://Android.common.mk>
> >> >      >     <http://Android.common.mk> <http://Android.common.mk>
> >> >      >      >     <http://Android.common.mk>
> >> >      >      >      >      > > > +++ b/Android.common.mk
> >> >     <http://Android.common.mk>
> >> >      >     <http://Android.common.mk> <http://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>
> >> >      >     <http://Android.libmesa_dricore.mk>
> >> >      >      >     <http://Android.libmesa_dricore.mk>
> >> >      >      >      >     <http://Android.libmesa_dricore.mk>
> >> >      >      >      >     b/src/mesa/Android.libmesa_dricore.mk
> >> >     <http://Android.libmesa_dricore.mk>
> >> >      >     <http://Android.libmesa_dricore.mk>
> >> >      >      >     <http://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>
> >> >      >     <http://Android.libmesa_dricore.mk>
> >> >      >      >     <http://Android.libmesa_dricore.mk>
> >> >      >      >      >     <http://Android.libmesa_dricore.mk>
> >> >      >      >      >      > > > +++
> >> >     b/src/mesa/Android.libmesa_dricore.mk
> >> >     <http://Android.libmesa_dricore.mk>
> >> >      >     <http://Android.libmesa_dricore.mk>
> >> >      >      >     <http://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>
> >> >      >     <http://Android.libmesa_st_mesa.mk>
> >> >      >      >     <http://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>
> >> >      >     <http://Android.libmesa_st_mesa.mk>
> >> >      >      >     <http://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>
> >> >      >     <http://Android.libmesa_st_mesa.mk>
> >> >      >      >     <http://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>
> >> >      >     <http://Android.libmesa_st_mesa.mk>
> >> >      >      >     <http://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@linux.org.tw <mailto:cwhuang@linux.org.tw>
> >> >      >     <mailto:cwhuang@linux.org.tw <mailto:cwhuang@linux.org.tw>>
> >> >      >      >     <mailto:cwhuang@linux.org.tw
> >> >     <mailto:cwhuang@linux.org.tw> <mailto:cwhuang@linux.org.tw
> >> >     <mailto:cwhuang@linux.org.tw>>>
> >> >      >      >      >     <mailto:cwhuang@linux.org.tw
> >> >     <mailto:cwhuang@linux.org.tw>
> >> >      >     <mailto:cwhuang@linux.org.tw <mailto:cwhuang@linux.org.tw>>
> >> >     <mailto:cwhuang@linux.org.tw <mailto:cwhuang@linux.org.tw>
> >> >      >     <mailto:cwhuang@linux.org.tw <mailto:cwhuang@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?
> >> >      >
> >> >      >     I'm not getting any linker error. Today I've compiled and
> >> >     tested both
> >> >      >     i965 and iris with some patches rebased on top of commit
> >> >     b594796f1b8.
> >> >      >
> >> >      >     Does this happen with a particular version of Android?
> >> >      >
> >> >      >     // Tapani
> >> >      >
> >> >      >
> >> >      > It happens with oreo-x86 (Android 8.1) and pie-x86 (Android 9),
> >> >      > but we histocally know since Lollipop that building mesa
> >> >      > with asm optimization induces text relocations in libglapi shared
> >> >     library
> >> >      > and the specific problem affects 32bit builds
> >> >      >
> >> >      > Here is the build log where '--warn-shared-textrel' is visible
> >> for
> >> >      > target libglapi.so,
> >> >      > please Tapani could you provide the corresponding section of your
> >> >     build log?
> >> >      > (There may be clues about the reason you are not getting the
> >> error)
> >> >
> >> >     I've made a celadon P build today and put the build log here:
> >> >
> >> >     http://tpalli.kapsi.fi/build_log.tgz
> >> >
> >> >     This is not complete image but builds the mesa parts, you can see
> >> that
> >> >     libglapi is being built both for 32bit and 64bit in the log.
> >> >
> >> >
> >> > In our scenario the text relocations happen when building android-x86
> >> > 32bit user space on 32bit kernel,
> >> > in your build log you are building x86_64 target, where we also don't
> >> > get any issue.
> >>
> >> Ah right now I got it, this is the difference we had.
> >>
> >> > Could you please try, when you have time (and no hurry) to build
> >> Celadon
> >> > P 32bit user space on 32bit kernel?
> >>
> >> I don't think we have such a target, but also I think these changes here
> >> should not affect celadon so this is fine change for me. If I read
> >> correctly, it sets MESA_ENABLE_ASM if TARGET_ARCH equals HOST_ARCH, right?
> >>
> >
> > Yes, this is the pre-existing logic in Android makefiles
> >
> > I have also tried to replicate meson.build logic with Android Build System
> > variables,
> > but it does not work
> >
> > Please provide Acked-by and I will push the partial revert for Android to
> > master
> >
> > Mauro
> >
> >
> >>
> >>
> >> > I'd really like to use asm optimizations if now possible
> >> >
> >> > As additional info here is the android-x86-development thread were all
> >> > attempst to use -fPIC, -DPIC were failed,
> >> > in our experience the 32bit user space will just refuse to use the
> >> > libglapi.so with Text Relocations:
> >> >
> >> https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!msg/android-x86-devel/qO9gtkyE_PU/9fUan0VjCAAJ
> >> >
> >> >
> >> > Then if Celadon P can build libglapi.so without Text Relocations for
> >> > 32bit user space on 32bit kernel,
> >> > how is it done? We have this problem since Android nougat-x86
> >> >
> >> > Thanks (and sorry in case I'm doing something wrong)
> >> > Mauro
> >> >
> >> >
> >> >
> >> >      > [  1% 5/326] 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
> >> >
> >> >      >
> >> >      > /bin/bash -c
> >> >     "prebuilts/clang/host/linux-x86/clang-4691093/bin/clang++
> >> >      > -nostdlib -Wl,-soname,libglapi.so -Wl,--gc-sections -shared
> >> >      > out/target/product/x86/obj/lib/crtbegin_so.o
> >> >      >
> >> >
> >>  out/target/product/x86/obj/SHARED_LIBRARIES/libglapi_intermediates/entry.o
> >> >
> >> >      >
> >> >
> >>  out/target/product/x86/obj/SHARED_LIBRARIES/libglapi_intermediates/mapi_glapi.o
> >> >
> >> >      >
> >> >
> >>  out/target/product/x86/obj/SHARED_LIBRARIES/libglapi_intermediates/stub.o
> >> >
> >>  out/target/product/x86/obj/SHARED_LIBRARIES/libglapi_intermediates/table.o
> >> >
> >> >      >
> >> >
> >>  out/target/product/x86/obj/SHARED_LIBRARIES/libglapi_intermediates/u_current.o
> >> >
> >> >      >
> >> >
> >>  out/target/product/x86/obj/SHARED_LIBRARIES/libglapi_intermediates/u_execmem.o
> >> >
> >> >      > -Wl,--whole-archive  -Wl,--no-whole-archive
> >> >      >
> >> >
> >>  out/target/product/x86/obj/STATIC_LIBRARIES/libclang_rt.ubsan_minimal-i686-android_intermediates/libclang_rt.ubsan_minimal-i686-android.a
> >> >
> >> >      >
> >> >
> >>  out/target/product/x86/obj/STATIC_LIBRARIES/libcompiler_rt-extras_intermediates/libcompiler_rt-extras.a
> >>
> >> out/target/product/x86/obj/STATIC_LIBRARIES/libatomic_intermediates/libatomic.a
> >> out/target/product/x86/obj/STATIC_LIBRARIES/libgcc_intermediates/libgcc.a
> >> -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -Wl,--build-id=md5
> >> -Wl,*--warn-shared-textrel *-Wl,--fatal-warnings -Wl,--no-undefined-version
> >> -Wl,--hash-style=gnu -m32  -target i686-linux-android
> >> -Bprebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9/x86_64-linux-android/bin
> >> -Wl,--exclude-libs,libclang_rt.ubsan_minimal-i686-android.a
> >> -Wl,--no-undefined out/target/product/x86/obj/lib/libdrm.so
> >> out/target/product/x86/obj/lib/libc++.so
> >> out/target/product/x86/obj/lib/libc.so
> >> out/target/product/x86/obj/lib/libm.so
> >> out/target/product/x86/obj/lib/libdl.so -o
> >> out/target/product/x86/obj/SHARED_LIBRARIES/libglapi_intermediates/LINKED/libglapi.so
> >> out/target/product/x86/obj/lib/crtend_so.o"
> >> >      >
> >> >
> >>  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)
> >> >
> >>
> >