diff options
author | Jiyong Park <jiyong@google.com> | 2017-08-10 20:30:56 +0900 |
---|---|---|
committer | Jae Shin <jaeshin@google.com> | 2017-09-20 02:50:38 +0000 |
commit | 8d455e9f7cae3c73947a2054ce5c945ed1062783 (patch) | |
tree | c4b24bab24ff0c9b37aebac4a3236b6eb71be445 /services | |
parent | f71878b87b50de7d80de05ef30bf85a892f999db (diff) | |
download | native-8d455e9f7cae3c73947a2054ce5c945ed1062783.tar.gz |
Mark libEGL, GLESv1_CM, GLESv2, and GLESv3 as LLNDK
They are used by libRSDriver and libRS_internal which are VNDK-SP
libraries. Therefore, the EGL/GLES libs must be LLNDK or VNDK-SP. We
choose to make them as LLNDK since they already have stable ABIs (as
they are NDK).
In addition, two more functions of libEGL are exposed to vendors
eglQueryStringImplementationANDROID and eglDupNativeFenceFDANDROID are
non-NDK symbols but are being used by libgui, which is a library marked
with vendor_available:true. In order to provide the symbols to the
library, they are added to the map.txt file and tagged as "# vndk" so
that they are exposed only when built for vendor libs (and hidden when
built for NDK).
Furthermore, eglQueryStringImplementationANDROID is changed to C-symbol
in order to be mentioned in the map.txt file, where C++ mangled symbol
name can't be used.
Bug: 64425518
Test: BOARD_VNDK_VERSION=current m -j libRSDriver.vendor
Test: BOARD_VNDK_VERSION=current m -j libRS_internal.vendor
Merged-In: I4d5bcd5f72fb05a7908887f5192de70fd1d8c8f1
Change-Id: I4d5bcd5f72fb05a7908887f5192de70fd1d8c8f1
(cherry picked from commit 00b15b8f223976d016e16536e4720771ef634695)
Diffstat (limited to 'services')
-rw-r--r-- | services/surfaceflinger/RenderEngine/RenderEngine.cpp | 2 | ||||
-rw-r--r-- | services/surfaceflinger/SurfaceFlinger.cpp | 2 | ||||
-rw-r--r-- | services/surfaceflinger/SurfaceFlinger_hwc1.cpp | 2 |
3 files changed, 3 insertions, 3 deletions
diff --git a/services/surfaceflinger/RenderEngine/RenderEngine.cpp b/services/surfaceflinger/RenderEngine/RenderEngine.cpp index 75642699c3..ed220f8463 100644 --- a/services/surfaceflinger/RenderEngine/RenderEngine.cpp +++ b/services/surfaceflinger/RenderEngine/RenderEngine.cpp @@ -26,7 +26,7 @@ #include <vector> #include <SurfaceFlinger.h> -EGLAPI const char* eglQueryStringImplementationANDROID(EGLDisplay dpy, EGLint name); +extern "C" EGLAPI const char* eglQueryStringImplementationANDROID(EGLDisplay dpy, EGLint name); // --------------------------------------------------------------------------- namespace android { diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp index bcd7afe109..310435b918 100644 --- a/services/surfaceflinger/SurfaceFlinger.cpp +++ b/services/surfaceflinger/SurfaceFlinger.cpp @@ -94,7 +94,7 @@ */ #define DEBUG_SCREENSHOTS false -EGLAPI const char* eglQueryStringImplementationANDROID(EGLDisplay dpy, EGLint name); +extern "C" EGLAPI const char* eglQueryStringImplementationANDROID(EGLDisplay dpy, EGLint name); namespace android { diff --git a/services/surfaceflinger/SurfaceFlinger_hwc1.cpp b/services/surfaceflinger/SurfaceFlinger_hwc1.cpp index 0904fab4aa..28178b96aa 100644 --- a/services/surfaceflinger/SurfaceFlinger_hwc1.cpp +++ b/services/surfaceflinger/SurfaceFlinger_hwc1.cpp @@ -94,7 +94,7 @@ */ #define DEBUG_SCREENSHOTS false -EGLAPI const char* eglQueryStringImplementationANDROID(EGLDisplay dpy, EGLint name); +extern "C" EGLAPI const char* eglQueryStringImplementationANDROID(EGLDisplay dpy, EGLint name); namespace android { // --------------------------------------------------------------------------- |