01de74e76d
Depending on how ld.config.txt is configured, there can be multiple
built-in namespaces created by the linker from the beginning of a
process. android_get_exported_namespace is a platform only API for
getting a handle (android_namespace_t*) to one of the built-in namespaces
with given name. The returned namespace can then be given to
android_dlopen_ext in order to explicitly specify the target namespace
where the library is searched and loaded from.
Note that this function only returns 'exported' namespaces created via
ld.config.txt file. In order to export a namespace, the visible property
should be set to true:
namespace.<name>.visible = true
Namespaces are hidden by default. Hidden namespaces and namespaces
that are created programmatically, notably 'classloader-namespace',
aren't returned by this function.
Bug: 36851137
Test: confirmed that namespaces created with ld.config.txt is retrieved.
Test: linker-unit-tests passes
Merged-in: I714b510fa24f77e42c3dfc4c827b3befa8bb2951
Change-Id: I0d05fa7e0e116009edf8ea362ab46774bc617cbf
(cherry picked from commit d7c4832e6a
)
51 lines
1.3 KiB
Text
51 lines
1.3 KiB
Text
# Generated by genversion-scripts.py. Do not edit.
|
|
#
|
|
# Copyright (C) 2015 The Android Open Source Project
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
#
|
|
|
|
LIBC {
|
|
global:
|
|
android_dlopen_ext; # introduced=21
|
|
dl_iterate_phdr; # introduced-arm=21
|
|
dl_unwind_find_exidx; # arm
|
|
dladdr;
|
|
dlclose;
|
|
dlerror;
|
|
dlopen;
|
|
dlsym;
|
|
local:
|
|
*;
|
|
};
|
|
|
|
LIBC_N {
|
|
global:
|
|
dlvsym; # introduced=24
|
|
} LIBC;
|
|
|
|
LIBC_PLATFORM {
|
|
global:
|
|
__cfi_init;
|
|
__cfi_slowpath;
|
|
__cfi_slowpath_diag;
|
|
android_dlwarning;
|
|
android_get_application_target_sdk_version;
|
|
android_set_application_target_sdk_version;
|
|
android_get_LD_LIBRARY_PATH;
|
|
android_update_LD_LIBRARY_PATH;
|
|
android_init_anonymous_namespace;
|
|
android_create_namespace;
|
|
android_link_namespaces;
|
|
android_get_exported_namespace;
|
|
} LIBC_N;
|