Skip to content

Commit

Permalink
Annotate symbols correctly
Browse files Browse the repository at this point in the history
Currently, tagging a symbol with #apex (# systemapi or # llndk) is not
required when the symbol is in a non-NDK library. However, this is
considered dangerous because such a symbol will automatically be
promoted to NDK APIs when the library is promoted to an NDK library.
When that happens, the native API council won't be able to notice the
promotion because promoting a non-NDK library into an NDK library
doesn't require an update of the map.txt file, but Android.bp only.

To prevent that, we should mandate those tags for Mainline APIs
regardless of whether the library the API belongs to is an NDK library
or not.

Upcoming changes in build/soong will enforce this. This change is to
prepare for the enforcement.

Note that this is a build-time only change. There's no behavior change
at runtime.

Bug: 184712170
Test: m
Change-Id: I18d9722177cd440b939d090b9b653405409a8b57
  • Loading branch information
jiyongp committed Sep 28, 2022
1 parent e0a1db9 commit e6e6bee
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 8 deletions.
14 changes: 7 additions & 7 deletions libnativeloader/libnativeloader.map.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,13 @@
# that defines the exported interface. Please keep in sync with this list.
LIBNATIVELOADER_1 {
global:
OpenNativeLibrary;
CloseNativeLibrary;
OpenNativeLibraryInNamespace;
FindNamespaceByClassLoader;
FindNativeLoaderNamespaceByClassLoader;
CreateClassLoaderNamespace;
NativeLoaderFreeErrorMessage;
OpenNativeLibrary; # apex
CloseNativeLibrary; # apex
OpenNativeLibraryInNamespace; # apex
FindNamespaceByClassLoader; # apex
FindNativeLoaderNamespaceByClassLoader; # apex
CreateClassLoaderNamespace; # apex
NativeLoaderFreeErrorMessage; # apex
local:
*;
};
2 changes: 1 addition & 1 deletion sigchainlib/libsigchain.map.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ LIBSIGCHAIN_1 {
# Export no symbols - the only external entry points are libc overrides.
# Since this section cannot be empty for APEX stubs generation we provide a
# phony entry.
LibsigchainNonexistentFunction;
LibsigchainNonexistentFunction; # apex
local:
*;
};

0 comments on commit e6e6bee

Please sign in to comment.