From fe1f7017617d1e8b4b68cac15bf659adc88790b2 Mon Sep 17 00:00:00 2001 From: Tom Cherry Date: Fri, 8 Feb 2019 11:55:36 -0800 Subject: [PATCH] liblog: add stubs variant Ensure that only the symbols in liblog.map.txt can be used by the platform. Bug: 123349183 Test: build Change-Id: I99ae5d0e8ba8f5061ec20701c941d861c9eb615d --- liblog/Android.bp | 5 ++++ liblog/liblog.map.txt | 44 ++++++++++++++--------------- rootdir/etc/ld.config.legacy.txt | 2 ++ rootdir/etc/ld.config.txt | 4 +++ rootdir/etc/ld.config.vndk_lite.txt | 2 ++ 5 files changed, 35 insertions(+), 22 deletions(-) diff --git a/liblog/Android.bp b/liblog/Android.bp index ea9977b14..9b41ebe78 100644 --- a/liblog/Android.bp +++ b/liblog/Android.bp @@ -101,6 +101,11 @@ cc_library { header_libs: ["liblog_headers"], export_header_lib_headers: ["liblog_headers"], + stubs: { + symbol_file: "liblog.map.txt", + versions: ["10000"], + }, + cflags: [ "-Werror", // This is what we want to do: diff --git a/liblog/liblog.map.txt b/liblog/liblog.map.txt index 191ef1bf0..69a807ba6 100644 --- a/liblog/liblog.map.txt +++ b/liblog/liblog.map.txt @@ -19,12 +19,12 @@ LIBLOG_L { android_logger_get_log_readable_size; # vndk android_logger_get_log_version; # vndk android_logger_get_log_size; # vndk - android_logger_list_alloc; # vndk - android_logger_list_alloc_time; # vndk - android_logger_list_free; # vndk + android_logger_list_alloc; # apex vndk + android_logger_list_alloc_time; # apex vndk + android_logger_list_free; # apex vndk android_logger_list_open; # vndk - android_logger_list_read; # vndk - android_logger_open; # vndk + android_logger_list_read; # apex vndk + android_logger_open; # apex vndk android_logger_set_log_size; # vndk }; @@ -33,42 +33,42 @@ LIBLOG_M { android_logger_get_prune_list; # vndk android_logger_set_prune_list; # vndk android_logger_get_statistics; # vndk - __android_log_error_write; # vndk + __android_log_error_write; # apex vndk __android_log_is_loggable; - create_android_logger; #vndk - android_log_destroy; #vndk - android_log_write_list_begin; #vndk - android_log_write_list_end; #vndk - android_log_write_int32; #vndk - android_log_write_int64; #vndk - android_log_write_string8; #vndk - android_log_write_string8_len; #vndk - android_log_write_float32; #vndk - android_log_write_list; #vndk + create_android_logger; # apex vndk + android_log_destroy; # apex vndk + android_log_write_list_begin; # apex vndk + android_log_write_list_end; # apex vndk + android_log_write_int32; # apex vndk + android_log_write_int64; # apex vndk + android_log_write_string8; # apex vndk + android_log_write_string8_len; # apex vndk + android_log_write_float32; # apex vndk + android_log_write_list; # apex vndk }; LIBLOG_O { global: __android_log_is_loggable_len; - __android_log_is_debuggable; # vndk + __android_log_is_debuggable; # apex vndk }; LIBLOG_Q { global: + __android_log_bswrite; # apex + __android_log_btwrite; # apex + __android_log_bwrite; # apex + __android_log_close; # apex + __android_log_security; # apex android_log_reset; #vndk android_log_parser_reset; #vndk }; LIBLOG_PRIVATE { global: - __android_log_bswrite; - __android_log_btwrite; - __android_log_bwrite; - __android_log_close; __android_log_pmsg_file_read; __android_log_pmsg_file_write; - __android_log_security; __android_log_security_bswrite; __android_logger_get_buffer_size; __android_logger_property_get_bool; diff --git a/rootdir/etc/ld.config.legacy.txt b/rootdir/etc/ld.config.legacy.txt index 2d44bb634..fa0a01ac8 100644 --- a/rootdir/etc/ld.config.legacy.txt +++ b/rootdir/etc/ld.config.legacy.txt @@ -114,6 +114,7 @@ namespace.conscrypt.link.runtime.shared_libs = libjavacore.so namespace.conscrypt.link.default.shared_libs = libc.so namespace.conscrypt.link.default.shared_libs += libm.so namespace.conscrypt.link.default.shared_libs += libdl.so +namespace.conscrypt.link.default.shared_libs += liblog.so ############################################################################### # "resolv" APEX namespace @@ -130,6 +131,7 @@ namespace.resolv.link.default.shared_libs = libc.so namespace.resolv.link.default.shared_libs += libm.so namespace.resolv.link.default.shared_libs += libdl.so namespace.resolv.link.default.shared_libs += libbinder_ndk.so +namespace.resolv.link.default.shared_libs += liblog.so namespace.resolv.link.default.shared_libs += libvndksupport.so ############################################################################### diff --git a/rootdir/etc/ld.config.txt b/rootdir/etc/ld.config.txt index cdfcfe118..cf834f059 100644 --- a/rootdir/etc/ld.config.txt +++ b/rootdir/etc/ld.config.txt @@ -192,6 +192,7 @@ namespace.conscrypt.link.runtime.shared_libs = libjavacore.so namespace.conscrypt.link.default.shared_libs = libc.so namespace.conscrypt.link.default.shared_libs += libm.so namespace.conscrypt.link.default.shared_libs += libdl.so +namespace.conscrypt.link.default.shared_libs += liblog.so ############################################################################### # "resolv" APEX namespace @@ -208,6 +209,7 @@ namespace.resolv.link.default.shared_libs = libc.so namespace.resolv.link.default.shared_libs += libm.so namespace.resolv.link.default.shared_libs += libdl.so namespace.resolv.link.default.shared_libs += libbinder_ndk.so +namespace.resolv.link.default.shared_libs += liblog.so namespace.resolv.link.default.shared_libs += libvndksupport.so ############################################################################### @@ -574,6 +576,7 @@ namespace.conscrypt.link.runtime.shared_libs = libjavacore.so namespace.conscrypt.link.default.shared_libs = libc.so namespace.conscrypt.link.default.shared_libs += libm.so namespace.conscrypt.link.default.shared_libs += libdl.so +namespace.conscrypt.link.default.shared_libs += liblog.so ############################################################################### # "resolv" APEX namespace @@ -590,6 +593,7 @@ namespace.resolv.link.default.shared_libs = libc.so namespace.resolv.link.default.shared_libs += libm.so namespace.resolv.link.default.shared_libs += libdl.so namespace.resolv.link.default.shared_libs += libbinder_ndk.so +namespace.resolv.link.default.shared_libs += liblog.so ############################################################################### diff --git a/rootdir/etc/ld.config.vndk_lite.txt b/rootdir/etc/ld.config.vndk_lite.txt index 59fd568f1..0e07b1bec 100644 --- a/rootdir/etc/ld.config.vndk_lite.txt +++ b/rootdir/etc/ld.config.vndk_lite.txt @@ -133,6 +133,7 @@ namespace.conscrypt.link.runtime.shared_libs = libjavacore.so namespace.conscrypt.link.default.shared_libs = libc.so namespace.conscrypt.link.default.shared_libs += libm.so namespace.conscrypt.link.default.shared_libs += libdl.so +namespace.conscrypt.link.default.shared_libs += liblog.so ############################################################################### # "resolv" APEX namespace @@ -149,6 +150,7 @@ namespace.resolv.link.default.shared_libs = libc.so namespace.resolv.link.default.shared_libs += libm.so namespace.resolv.link.default.shared_libs += libdl.so namespace.resolv.link.default.shared_libs += libbinder_ndk.so +namespace.resolv.link.default.shared_libs += liblog.so namespace.resolv.link.default.shared_libs += libvndksupport.so ###############################################################################