linker: add dlvsym(3)

This changes implements dlvsym - dlsym for versioned symbols.

Bug: http://b/22865643
Change-Id: Ic90a60d512104261a1416c43f9100f0d88e3b46f
This commit is contained in:
Dimitry Ivanov
2015-12-11 14:22:24 -08:00
parent d3e5301a75
commit 9cf99cbad8
12 changed files with 67 additions and 27 deletions

View File

@@ -18,6 +18,7 @@ LIBC_N {
global:
android_init_namespaces;
android_create_namespace;
dlvsym;
} LIBC;
LIBC_PRIVATE {

View File

@@ -17,6 +17,7 @@ LIBC_N {
global:
android_init_namespaces;
android_create_namespace;
dlvsym;
} LIBC;
LIBC_PRIVATE {

View File

@@ -24,9 +24,17 @@
// in the dynamic linker and hijacked at runtime.
void* dlopen(const char* filename __unused, int flag __unused) { return 0; }
const char* dlerror(void) { return 0; }
void* dlsym(void* handle __unused, const char* symbol __unused) { return 0; }
void* dlvsym(void* handle __unused, const char* symbol __unused, const char* version __unused) {
return 0;
}
int dladdr(const void* addr __unused, Dl_info* info __unused) { return 0; }
int dlclose(void* handle __unused) { return 0; }
#if defined(__arm__)

View File

@@ -32,6 +32,7 @@ LIBC_N {
global:
android_init_namespaces;
android_create_namespace;
dlvsym;
} LIBC;
LIBC_PRIVATE {

View File

@@ -17,6 +17,7 @@ LIBC_N {
global:
android_init_namespaces;
android_create_namespace;
dlvsym;
} LIBC;
LIBC_PRIVATE {

View File

@@ -17,6 +17,7 @@ LIBC_N {
global:
android_init_namespaces;
android_create_namespace;
dlvsym;
} LIBC;
LIBC_PRIVATE {

View File

@@ -17,6 +17,7 @@ LIBC_N {
global:
android_init_namespaces;
android_create_namespace;
dlvsym;
} LIBC;
LIBC_PRIVATE {

View File

@@ -17,6 +17,7 @@ LIBC_N {
global:
android_init_namespaces;
android_create_namespace;
dlvsym;
} LIBC;
LIBC_PRIVATE {