Commit f8e42237 authored by Rob Herring's avatar Rob Herring

Android: gallium_dri: pass dri.sym to linker

Pass the dri.sym version script to the linker. This ensures only
explicitly exported symbols are exported and shrinks the library by up
to 60KB.

HAVE_DLADDR also needs to be set so that __driDriverExtensions is defined.

We need to pass "--undefined-version" because the Android build system
sets --no-undefined-version by default and we get an error on
driver specific symbols if those drivers are disabled without the option.
Suggested-by: Emil Velikov's avatarEmil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Emil Velikov's avatarEmil Velikov <emil.l.velikov@gmail.com>
Signed-off-by: Rob Herring's avatarRob Herring <robh@kernel.org>
parent 2b025a11
......@@ -64,6 +64,7 @@ LOCAL_CFLAGS += \
-DHAVE___BUILTIN_CLZLL \
-DHAVE___BUILTIN_UNREACHABLE \
-DHAVE_PTHREAD=1 \
-DHAVE_DLADDR \
-DHAVE_DLOPEN \
-DHAVE_DL_ITERATE_PHDR \
-DMAJOR_IN_SYSMACROS \
......
......@@ -32,6 +32,13 @@ LOCAL_SRC_FILES := target.c
LOCAL_CFLAGS :=
# We need --undefined-version as some functions in dri.sym may be missing
# depending on which drivers are enabled or not. Otherwise, we get the error:
# "version script assignment of to symbol FOO failed: symbol not defined"
LOCAL_LDFLAGS := \
-Wl,--version-script=$(LOCAL_PATH)/dri.sym \
-Wl,--undefined-version
LOCAL_SHARED_LIBRARIES := \
libdl \
libglapi \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment