fix prototype of dladdr
this breaks C++ source code in particular.
Change-Id: Ie06b5d31d23b5455e6950c470adc64dd5e7784df
diff --git a/libc/include/dlfcn.h b/libc/include/dlfcn.h
index f84d1d1..7daa8f7 100644
--- a/libc/include/dlfcn.h
+++ b/libc/include/dlfcn.h
@@ -47,7 +47,7 @@
extern int dlclose(void* handle);
extern const char* dlerror(void);
extern void* dlsym(void* handle, const char* symbol);
-extern int dladdr(void* addr, Dl_info *info);
+extern int dladdr(const void* addr, Dl_info *info);
enum {
RTLD_NOW = 0,
diff --git a/libdl/libdl.c b/libdl/libdl.c
index b36af16..872c0c9 100644
--- a/libdl/libdl.c
+++ b/libdl/libdl.c
@@ -21,7 +21,7 @@
void *dlopen(const char *filename, int flag) { return 0; }
const char *dlerror(void) { return 0; }
void *dlsym(void *handle, const char *symbol) { return 0; }
-int dladdr(void *addr, Dl_info *info) { return 0; }
+int dladdr(const void *addr, Dl_info *info) { return 0; }
int dlclose(void *handle) { return 0; }
#ifdef __arm__
diff --git a/linker/dlfcn.c b/linker/dlfcn.c
index a36b42c..7161455 100644
--- a/linker/dlfcn.c
+++ b/linker/dlfcn.c
@@ -124,7 +124,7 @@
return 0;
}
-int dladdr(void *addr, Dl_info *info)
+int dladdr(const void *addr, Dl_info *info)
{
int ret = 0;
diff --git a/linker/linker.c b/linker/linker.c
index 675b8b2..e0a8a18 100644
--- a/linker/linker.c
+++ b/linker/linker.c
@@ -546,7 +546,7 @@
return NULL;
}
-soinfo *find_containing_library(void *addr)
+soinfo *find_containing_library(const void *addr)
{
soinfo *si;
@@ -560,7 +560,7 @@
return NULL;
}
-Elf32_Sym *find_containing_symbol(void *addr, soinfo *si)
+Elf32_Sym *find_containing_symbol(const void *addr, soinfo *si)
{
unsigned int i;
unsigned soaddr = (unsigned)addr - si->base;
diff --git a/linker/linker.h b/linker/linker.h
index 8a5bc45..7b1ba51 100644
--- a/linker/linker.h
+++ b/linker/linker.h
@@ -213,8 +213,8 @@
unsigned unload_library(soinfo *si);
Elf32_Sym *lookup_in_library(soinfo *si, const char *name);
Elf32_Sym *lookup(const char *name, soinfo **found, soinfo *start);
-soinfo *find_containing_library(void *addr);
-Elf32_Sym *find_containing_symbol(void *addr, soinfo *si);
+soinfo *find_containing_library(const void *addr);
+Elf32_Sym *find_containing_symbol(const void *addr, soinfo *si);
const char *linker_get_error(void);
#ifdef ANDROID_ARM_LINKER