[Mesa-dev] [PATCH] Android: move drivers' symlinks to /vendor
Having moved gallium_dri.so library to /vendor/lib/dri also symlinks need to be coherently created using TARGET_OUT_VENDOR insted of TARGET_OUT or all non Intel drivers will not be loaded with Android N and earlier, thus causing SurfaceFlinger SIGABRT Fixes: c3f75d483c ("Android: move libraries to /vendor") Cc: 17.3 --- src/gallium/targets/dri/Android.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gallium/targets/dri/Android.mk b/src/gallium/targets/dri/Android.mk index 61b65769ff..3fa86a2d56 100644 --- a/src/gallium/targets/dri/Android.mk +++ b/src/gallium/targets/dri/Android.mk @@ -70,8 +70,8 @@ LOCAL_SHARED_LIBRARIES += $(sort $(GALLIUM_SHARED_LIBS)) ifneq ($(filter 5 6 7, $(MESA_ANDROID_MAJOR_VERSION)),) LOCAL_POST_INSTALL_CMD := \ $(foreach l, lib $(if $(filter true,$(TARGET_IS_64_BIT)),lib64), \ - mkdir -p $(TARGET_OUT)/$(l)/$(MESA_DRI_MODULE_REL_PATH); \ - $(foreach d, $(GALLIUM_TARGET_DRIVERS), ln -sf gallium_dri.so $(TARGET_OUT)/$(l)/$(MESA_DRI_MODULE_REL_PATH)/$(d)_dri.so;) \ + mkdir -p $(TARGET_OUT_VENDOR)/$(l)/$(MESA_DRI_MODULE_REL_PATH); \ + $(foreach d, $(GALLIUM_TARGET_DRIVERS), ln -sf gallium_dri.so $(TARGET_OUT_VENDOR)/$(l)/$(MESA_DRI_MODULE_REL_PATH)/$(d)_dri.so;) \ ) else LOCAL_MODULE_SYMLINKS := $(foreach d, $(GALLIUM_TARGET_DRIVERS), $(d)_dri.so) -- 2.11.0 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH] Android: move drivers' symlinks to /vendor
Reviewed-by: Tapani Pälli On 10/27/2017 01:48 AM, Mauro Rossi wrote: Having moved gallium_dri.so library to /vendor/lib/dri also symlinks need to be coherently created using TARGET_OUT_VENDOR insted of TARGET_OUT or all non Intel drivers will not be loaded with Android N and earlier, thus causing SurfaceFlinger SIGABRT Fixes: c3f75d483c ("Android: move libraries to /vendor") Cc: 17.3 --- src/gallium/targets/dri/Android.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gallium/targets/dri/Android.mk b/src/gallium/targets/dri/Android.mk index 61b65769ff..3fa86a2d56 100644 --- a/src/gallium/targets/dri/Android.mk +++ b/src/gallium/targets/dri/Android.mk @@ -70,8 +70,8 @@ LOCAL_SHARED_LIBRARIES += $(sort $(GALLIUM_SHARED_LIBS)) ifneq ($(filter 5 6 7, $(MESA_ANDROID_MAJOR_VERSION)),) LOCAL_POST_INSTALL_CMD := \ $(foreach l, lib $(if $(filter true,$(TARGET_IS_64_BIT)),lib64), \ - mkdir -p $(TARGET_OUT)/$(l)/$(MESA_DRI_MODULE_REL_PATH); \ - $(foreach d, $(GALLIUM_TARGET_DRIVERS), ln -sf gallium_dri.so $(TARGET_OUT)/$(l)/$(MESA_DRI_MODULE_REL_PATH)/$(d)_dri.so;) \ + mkdir -p $(TARGET_OUT_VENDOR)/$(l)/$(MESA_DRI_MODULE_REL_PATH); \ + $(foreach d, $(GALLIUM_TARGET_DRIVERS), ln -sf gallium_dri.so $(TARGET_OUT_VENDOR)/$(l)/$(MESA_DRI_MODULE_REL_PATH)/$(d)_dri.so;) \ ) else LOCAL_MODULE_SYMLINKS := $(foreach d, $(GALLIUM_TARGET_DRIVERS), $(d)_dri.so) ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH] Android: move drivers' symlinks to /vendor
On 26 October 2017 at 23:48, Mauro Rossi wrote: > Having moved gallium_dri.so library to /vendor/lib/dri > also symlinks need to be coherently created using TARGET_OUT_VENDOR insted of > TARGET_OUT > or all non Intel drivers will not be loaded with Android N and earlier, > thus causing SurfaceFlinger SIGABRT > > Fixes: c3f75d483c ("Android: move libraries to /vendor") > > Cc: 17.3 > --- > src/gallium/targets/dri/Android.mk | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/src/gallium/targets/dri/Android.mk > b/src/gallium/targets/dri/Android.mk > index 61b65769ff..3fa86a2d56 100644 > --- a/src/gallium/targets/dri/Android.mk > +++ b/src/gallium/targets/dri/Android.mk > @@ -70,8 +70,8 @@ LOCAL_SHARED_LIBRARIES += $(sort $(GALLIUM_SHARED_LIBS)) > ifneq ($(filter 5 6 7, $(MESA_ANDROID_MAJOR_VERSION)),) > LOCAL_POST_INSTALL_CMD := \ > $(foreach l, lib $(if $(filter true,$(TARGET_IS_64_BIT)),lib64), \ > - mkdir -p $(TARGET_OUT)/$(l)/$(MESA_DRI_MODULE_REL_PATH); \ > - $(foreach d, $(GALLIUM_TARGET_DRIVERS), ln -sf gallium_dri.so > $(TARGET_OUT)/$(l)/$(MESA_DRI_MODULE_REL_PATH)/$(d)_dri.so;) \ > + mkdir -p $(TARGET_OUT_VENDOR)/$(l)/$(MESA_DRI_MODULE_REL_PATH); \ > + $(foreach d, $(GALLIUM_TARGET_DRIVERS), ln -sf gallium_dri.so > $(TARGET_OUT_VENDOR)/$(l)/$(MESA_DRI_MODULE_REL_PATH)/$(d)_dri.so;) \ Can we fold the long path into a variable and then reuse it? This code will be around for a bit, so it might be worth it. foo=$(TARGET_OUT_VENDOR)/$(l)/$(MESA_DRI_MODULE_REL_PATH) mkdir -p $(foo) $(foreach d, $(GALLIUM_TARGET_DRIVERS), ln -sf gallium_dri.so $(foo)/$(d)_dri.so;) -Emil *Please use better variable name than foo ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH] Android: move drivers' symlinks to /vendor
On Fri, Oct 27, 2017 at 6:41 AM, Emil Velikov wrote: > On 26 October 2017 at 23:48, Mauro Rossi wrote: >> Having moved gallium_dri.so library to /vendor/lib/dri >> also symlinks need to be coherently created using TARGET_OUT_VENDOR insted >> of TARGET_OUT >> or all non Intel drivers will not be loaded with Android N and earlier, >> thus causing SurfaceFlinger SIGABRT >> >> Fixes: c3f75d483c ("Android: move libraries to /vendor") >> >> Cc: 17.3 >> --- >> src/gallium/targets/dri/Android.mk | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) Reviewed-by: Rob Herring >> >> diff --git a/src/gallium/targets/dri/Android.mk >> b/src/gallium/targets/dri/Android.mk >> index 61b65769ff..3fa86a2d56 100644 >> --- a/src/gallium/targets/dri/Android.mk >> +++ b/src/gallium/targets/dri/Android.mk >> @@ -70,8 +70,8 @@ LOCAL_SHARED_LIBRARIES += $(sort $(GALLIUM_SHARED_LIBS)) >> ifneq ($(filter 5 6 7, $(MESA_ANDROID_MAJOR_VERSION)),) >> LOCAL_POST_INSTALL_CMD := \ >> $(foreach l, lib $(if $(filter true,$(TARGET_IS_64_BIT)),lib64), \ >> - mkdir -p $(TARGET_OUT)/$(l)/$(MESA_DRI_MODULE_REL_PATH); \ >> - $(foreach d, $(GALLIUM_TARGET_DRIVERS), ln -sf gallium_dri.so >> $(TARGET_OUT)/$(l)/$(MESA_DRI_MODULE_REL_PATH)/$(d)_dri.so;) \ >> + mkdir -p $(TARGET_OUT_VENDOR)/$(l)/$(MESA_DRI_MODULE_REL_PATH); \ >> + $(foreach d, $(GALLIUM_TARGET_DRIVERS), ln -sf gallium_dri.so >> $(TARGET_OUT_VENDOR)/$(l)/$(MESA_DRI_MODULE_REL_PATH)/$(d)_dri.so;) \ > Can we fold the long path into a variable and then reuse it? > This code will be around for a bit, so it might be worth it. > > foo=$(TARGET_OUT_VENDOR)/$(l)/$(MESA_DRI_MODULE_REL_PATH) > mkdir -p $(foo) > $(foreach d, $(GALLIUM_TARGET_DRIVERS), ln -sf gallium_dri.so > $(foo)/$(d)_dri.so;) > > -Emil > *Please use better variable name than foo bar? ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH] Android: move drivers' symlinks to /vendor
2017-10-27 14:28 GMT+02:00 Rob Herring : > On Fri, Oct 27, 2017 at 6:41 AM, Emil Velikov > wrote: > > On 26 October 2017 at 23:48, Mauro Rossi wrote: > >> Having moved gallium_dri.so library to /vendor/lib/dri > >> also symlinks need to be coherently created using TARGET_OUT_VENDOR > insted of TARGET_OUT > >> or all non Intel drivers will not be loaded with Android N and earlier, > >> thus causing SurfaceFlinger SIGABRT > >> > >> Fixes: c3f75d483c ("Android: move libraries to /vendor") > >> > >> Cc: 17.3 > >> --- > >> src/gallium/targets/dri/Android.mk | 4 ++-- > >> 1 file changed, 2 insertions(+), 2 deletions(-) > > Reviewed-by: Rob Herring > > >> > >> diff --git a/src/gallium/targets/dri/Android.mk > b/src/gallium/targets/dri/Android.mk > >> index 61b65769ff..3fa86a2d56 100644 > >> --- a/src/gallium/targets/dri/Android.mk > >> +++ b/src/gallium/targets/dri/Android.mk > >> @@ -70,8 +70,8 @@ LOCAL_SHARED_LIBRARIES += $(sort > $(GALLIUM_SHARED_LIBS)) > >> ifneq ($(filter 5 6 7, $(MESA_ANDROID_MAJOR_VERSION)),) > >> LOCAL_POST_INSTALL_CMD := \ > >> $(foreach l, lib $(if $(filter true,$(TARGET_IS_64_BIT)),lib64), > \ > >> - mkdir -p $(TARGET_OUT)/$(l)/$(MESA_DRI_MODULE_REL_PATH); \ > >> - $(foreach d, $(GALLIUM_TARGET_DRIVERS), ln -sf gallium_dri.so > $(TARGET_OUT)/$(l)/$(MESA_DRI_MODULE_REL_PATH)/$(d)_dri.so;) \ > >> + mkdir -p $(TARGET_OUT_VENDOR)/$(l)/$(MESA_DRI_MODULE_REL_PATH); > \ > >> + $(foreach d, $(GALLIUM_TARGET_DRIVERS), ln -sf gallium_dri.so > $(TARGET_OUT_VENDOR)/$(l)/$(MESA_DRI_MODULE_REL_PATH)/$(d)_dri.so;) \ > > Can we fold the long path into a variable and then reuse it? > > This code will be around for a bit, so it might be worth it. > > > > foo=$(TARGET_OUT_VENDOR)/$(l)/$(MESA_DRI_MODULE_REL_PATH) > > mkdir -p $(foo) > > $(foreach d, $(GALLIUM_TARGET_DRIVERS), ln -sf gallium_dri.so > > $(foo)/$(d)_dri.so;) > > > > -Emil > > *Please use better variable name than foo > > bar? > ...and the winner is ... MESA_DRI_MODULE_PATH $(eval MESA_DRI_MODULE_PATH := $(TARGET_OUT_VENDOR)/$(l)/$(MESA_DRI_MODULE_REL_PATH)) Sending tested v2 patch soon Mauro ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH] Android: move drivers' symlinks to /vendor (v2)
Having moved gallium_dri.so library to /vendor/lib/dri also symlinks need to be coherently created using TARGET_OUT_VENDOR instead of TARGET_OUT or all non Intel drivers will not be loaded with Android N and earlier, thus causing SurfaceFlinger SIGABRT (v2) simplification of post install command Fixes: c3f75d483c ("Android: move libraries to /vendor") Cc: 17.3 --- src/gallium/targets/dri/Android.mk | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/gallium/targets/dri/Android.mk b/src/gallium/targets/dri/Android.mk index 61b65769ff..bd3613388f 100644 --- a/src/gallium/targets/dri/Android.mk +++ b/src/gallium/targets/dri/Android.mk @@ -70,8 +70,9 @@ LOCAL_SHARED_LIBRARIES += $(sort $(GALLIUM_SHARED_LIBS)) ifneq ($(filter 5 6 7, $(MESA_ANDROID_MAJOR_VERSION)),) LOCAL_POST_INSTALL_CMD := \ $(foreach l, lib $(if $(filter true,$(TARGET_IS_64_BIT)),lib64), \ - mkdir -p $(TARGET_OUT)/$(l)/$(MESA_DRI_MODULE_REL_PATH); \ - $(foreach d, $(GALLIUM_TARGET_DRIVERS), ln -sf gallium_dri.so $(TARGET_OUT)/$(l)/$(MESA_DRI_MODULE_REL_PATH)/$(d)_dri.so;) \ + $(eval MESA_DRI_MODULE_PATH := $(TARGET_OUT_VENDOR)/$(l)/$(MESA_DRI_MODULE_REL_PATH)) \ + mkdir -p $(MESA_DRI_MODULE_PATH); \ + $(foreach d, $(GALLIUM_TARGET_DRIVERS), ln -sf gallium_dri.so $(MESA_DRI_MODULE_PATH)/$(d)_dri.so;) \ ) else LOCAL_MODULE_SYMLINKS := $(foreach d, $(GALLIUM_TARGET_DRIVERS), $(d)_dri.so) -- 2.14.1 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH] Android: move drivers' symlinks to /vendor (v2)
On 27 October 2017 at 20:54, Mauro Rossi wrote: > Having moved gallium_dri.so library to /vendor/lib/dri > also symlinks need to be coherently created using TARGET_OUT_VENDOR instead > of TARGET_OUT > or all non Intel drivers will not be loaded with Android N and earlier, > thus causing SurfaceFlinger SIGABRT > > (v2) simplification of post install command > > Fixes: c3f75d483c ("Android: move libraries to /vendor") > > Cc: 17.3 Added Tapani and Rob's tags and pushed to master. Thanks for the respin Mauro. Emil ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev