fix prototype of dladdr

this breaks C++ source code in particular.

Change-Id: Ie06b5d31d23b5455e6950c470adc64dd5e7784df
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