__cfi_slowpath[_diag] are available to NDK and VNDK clients

When a vendor lib (or vendor-available platform lib) is built with
sanitizer on, __cfi_slowpath_diag is required. However, when building
for those libs, the llndk stub of libdl.so is provided for them and
__cfi_slowpath_diag is not exposed to the stub. In order to make the
sanitizing build successful, expose the symbol.

These symbols are also exposed to NDK clients since we may want to CFI
for unbundled apps.

Bug: 63053790
Bug: 63342219
Test: BOARD_VNDK_VERSION=current m -j libstagefright_foundation.vendor

Change-Id: I081deddb4f66354aaecec4b395d4e17e5566c578
This commit is contained in:
Jiyong Park 2017-06-30 15:36:12 +09:00
parent 73d17e7720
commit f1cee9662f
7 changed files with 49 additions and 21 deletions

View file

@ -34,11 +34,15 @@ LIBC_N {
dlvsym; # introduced=24
} LIBC;
LIBC_OMR1 { # future
global:
__cfi_slowpath; # future
__cfi_slowpath_diag; # future
} LIBC_N;
LIBC_PLATFORM {
global:
__cfi_init;
__cfi_slowpath;
__cfi_slowpath_diag;
android_dlwarning;
android_get_application_target_sdk_version;
android_set_application_target_sdk_version;
@ -48,4 +52,4 @@ LIBC_PLATFORM {
android_create_namespace;
android_link_namespaces;
android_get_exported_namespace;
} LIBC_N;
} LIBC_OMR1;

View file

@ -33,11 +33,15 @@ LIBC_N {
dlvsym; # introduced=24
} LIBC;
LIBC_OMR1 { # future
global:
__cfi_slowpath; # future
__cfi_slowpath_diag; # future
} LIBC_N;
LIBC_PLATFORM {
global:
__cfi_init;
__cfi_slowpath;
__cfi_slowpath_diag;
android_dlwarning;
android_get_application_target_sdk_version;
android_set_application_target_sdk_version;
@ -47,4 +51,4 @@ LIBC_PLATFORM {
android_create_namespace;
android_link_namespaces;
android_get_exported_namespace;
} LIBC_N;
} LIBC_OMR1;

View file

@ -33,11 +33,15 @@ LIBC_N {
dlvsym; # introduced=24
} LIBC;
LIBC_OMR1 { # future
global:
__cfi_slowpath; # future
__cfi_slowpath_diag; # future
} LIBC_N;
LIBC_PLATFORM {
global:
__cfi_init;
__cfi_slowpath;
__cfi_slowpath_diag;
android_dlwarning;
android_get_application_target_sdk_version;
android_set_application_target_sdk_version;
@ -47,4 +51,4 @@ LIBC_PLATFORM {
android_create_namespace;
android_link_namespaces;
android_get_exported_namespace;
} LIBC_N;
} LIBC_OMR1;

View file

@ -33,11 +33,15 @@ LIBC_N {
dlvsym; # introduced=24
} LIBC;
LIBC_OMR1 { # future
global:
__cfi_slowpath; # future
__cfi_slowpath_diag; # future
} LIBC_N;
LIBC_PLATFORM {
global:
__cfi_init;
__cfi_slowpath;
__cfi_slowpath_diag;
android_dlwarning;
android_get_application_target_sdk_version;
android_set_application_target_sdk_version;
@ -47,4 +51,4 @@ LIBC_PLATFORM {
android_create_namespace;
android_link_namespaces;
android_get_exported_namespace;
} LIBC_N;
} LIBC_OMR1;

View file

@ -33,11 +33,15 @@ LIBC_N {
dlvsym; # introduced=24
} LIBC;
LIBC_OMR1 { # future
global:
__cfi_slowpath; # future
__cfi_slowpath_diag; # future
} LIBC_N;
LIBC_PLATFORM {
global:
__cfi_init;
__cfi_slowpath;
__cfi_slowpath_diag;
android_dlwarning;
android_get_application_target_sdk_version;
android_set_application_target_sdk_version;
@ -47,4 +51,4 @@ LIBC_PLATFORM {
android_create_namespace;
android_link_namespaces;
android_get_exported_namespace;
} LIBC_N;
} LIBC_OMR1;

View file

@ -33,11 +33,15 @@ LIBC_N {
dlvsym; # introduced=24
} LIBC;
LIBC_OMR1 { # future
global:
__cfi_slowpath; # future
__cfi_slowpath_diag; # future
} LIBC_N;
LIBC_PLATFORM {
global:
__cfi_init;
__cfi_slowpath;
__cfi_slowpath_diag;
android_dlwarning;
android_get_application_target_sdk_version;
android_set_application_target_sdk_version;
@ -47,4 +51,4 @@ LIBC_PLATFORM {
android_create_namespace;
android_link_namespaces;
android_get_exported_namespace;
} LIBC_N;
} LIBC_OMR1;

View file

@ -33,11 +33,15 @@ LIBC_N {
dlvsym; # introduced=24
} LIBC;
LIBC_OMR1 { # future
global:
__cfi_slowpath; # future
__cfi_slowpath_diag; # future
} LIBC_N;
LIBC_PLATFORM {
global:
__cfi_init;
__cfi_slowpath;
__cfi_slowpath_diag;
android_dlwarning;
android_get_application_target_sdk_version;
android_set_application_target_sdk_version;
@ -47,4 +51,4 @@ LIBC_PLATFORM {
android_create_namespace;
android_link_namespaces;
android_get_exported_namespace;
} LIBC_N;
} LIBC_OMR1;