linker: add dlvsym(3)
This changes implements dlvsym - dlsym for versioned symbols.
Bug: http://b/22865643
Change-Id: Ic90a60d512104261a1416c43f9100f0d88e3b46f
diff --git a/libc/include/dlfcn.h b/libc/include/dlfcn.h
index afa7687..c2e8980 100644
--- a/libc/include/dlfcn.h
+++ b/libc/include/dlfcn.h
@@ -43,11 +43,12 @@
in dli_sname */
} Dl_info;
-extern void* dlopen(const char* filename, int flag);
-extern int dlclose(void* handle);
-extern const char* dlerror(void);
-extern void* dlsym(void* handle, const char* symbol);
-extern int dladdr(const void* addr, Dl_info *info);
+extern void* dlopen(const char* filename, int flag);
+extern int dlclose(void* handle);
+extern const char* dlerror(void);
+extern void* dlsym(void* handle, const char* symbol) __nonnull((2));
+extern void* dlvsym(void* handle, const char* symbol, const char* version) __nonnull((2, 3));
+extern int dladdr(const void* addr, Dl_info *info);
enum {
#if defined(__LP64__)