[Mesa-dev] [android-x86-devel] [PATCH] android: fix gallium_dri.so can't be loaded by drm_gralloc
Emil Velikov
emil.l.velikov at gmail.com
Fri Aug 18 16:03:50 UTC 2017
Hi Qiang Yu,
On 18 August 2017 at 01:30, Qiang Yu <Qiang.Yu at amd.com> wrote:
> The problem is in gallium/winsys/amdgpu/drm/Android.mk
> which will have duplacated symbols when linking
> gallium_dri.so for libLLVMCore and libLLVM.
>
Skimming through the commit message and the change inspires some confusion.
How about something like the following:
"Android: rework LLVM linking to avoid multiple symbol definitions
Currently we static against libLLVMCore alongside the shared link
against libLLVM.
This leads to duplicate symbols and run/build (please correct me) time.
Fix that by consistently dropping the libLLVMCore + llvm-headers bits
and consistently using a shared libLLVM link.
"
> Signed-off-by: Qiang Yu <Qiang.Yu at amd.com>
> Signed-off-by: Mauro Rossi <issor.oruam at gmail.com>
> Signed-off-by: Rob Herring <robherring2 at gmail.com>
I don't recall seeing patches from Mauro/RobH about this. I think you
meant - Reviewed-by/Acked-by/other?
Fixes: 26aee6f4d5a ("Android: rework LLVM build support")
Fixes: d31a2b4d492 ("Android: Add LLVM support for Android O")
> ---
> Android.mk | 7 ++++---
> src/amd/Android.common.mk | 4 +---
> src/gallium/drivers/radeon/Android.mk | 2 +-
> src/gallium/drivers/radeonsi/Android.mk | 2 +-
> 4 files changed, 7 insertions(+), 8 deletions(-)
>
> diff --git a/Android.mk b/Android.mk
> index 6571161..5154a56 100644
> --- a/Android.mk
> +++ b/Android.mk
> @@ -93,15 +93,16 @@ define mesa-build-with-llvm
> $(warning Unsupported LLVM version in Android $(MESA_ANDROID_MAJOR_VERSION)),) \
> $(if $(filter 6,$(MESA_ANDROID_MAJOR_VERSION)), \
> $(eval LOCAL_CFLAGS += -DHAVE_LLVM=0x0307 -DMESA_LLVM_VERSION_PATCH=0) \
> - $(eval LOCAL_STATIC_LIBRARIES += libLLVMCore) \
> + $(eval LOCAL_SHARED_LIBRARIES += libLLVM) \
> $(eval LOCAL_C_INCLUDES += external/llvm/include external/llvm/device/include),) \
> $(if $(filter 7,$(MESA_ANDROID_MAJOR_VERSION)), \
> $(eval LOCAL_CFLAGS += -DHAVE_LLVM=0x0308 -DMESA_LLVM_VERSION_PATCH=0) \
> - $(eval LOCAL_STATIC_LIBRARIES += libLLVMCore) \
> + $(eval LOCAL_SHARED_LIBRARIES += libLLVM) \
> $(eval LOCAL_C_INCLUDES += external/llvm/include external/llvm/device/include),) \
> $(if $(filter O,$(MESA_ANDROID_MAJOR_VERSION)), \
> $(eval LOCAL_CFLAGS += -DHAVE_LLVM=0x0309 -DMESA_LLVM_VERSION_PATCH=0) \
> - $(eval LOCAL_HEADER_LIBRARIES += llvm-headers),)
> + $(eval LOCAL_SHARED_LIBRARIES += libLLVM) \
> + $(eval LOCAL_C_INCLUDES += external/llvm/include external/llvm/device/include),)
With these two lines being identical across the board, we can have
them only once.
At a later stage one can export the includes from the LLVM module.
Thanks
Emil
More information about the mesa-dev
mailing list