summaryrefslogtreecommitdiff
path: root/services
diff options
context:
space:
mode:
authorJiyong Park <jiyong@google.com>2017-08-10 20:30:56 +0900
committerJae Shin <jaeshin@google.com>2017-09-20 02:50:38 +0000
commit8d455e9f7cae3c73947a2054ce5c945ed1062783 (patch)
treec4b24bab24ff0c9b37aebac4a3236b6eb71be445 /services
parentf71878b87b50de7d80de05ef30bf85a892f999db (diff)
downloadnative-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.cpp2
-rw-r--r--services/surfaceflinger/SurfaceFlinger.cpp2
-rw-r--r--services/surfaceflinger/SurfaceFlinger_hwc1.cpp2
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 {
// ---------------------------------------------------------------------------