aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMathias Agopian <mathias@google.com>2011-09-27 22:30:19 -0700
committerMathias Agopian <mathias@google.com>2011-09-28 12:17:34 -0700
commitbda5da074eab4bdf374e1f4a19d480c62c72f5ff (patch)
tree87a4c2fd35e6b071476d4a5fd02aca7c61c6e3f9
parent00964912745f0bb7e081f84ddcc74940f973149f (diff)
downloadbionic-bda5da074eab4bdf374e1f4a19d480c62c72f5ff.tar.gz
fix prototype of dladdr
this breaks C++ source code in particular. Change-Id: Ie06b5d31d23b5455e6950c470adc64dd5e7784df
-rw-r--r--libc/include/dlfcn.h2
-rw-r--r--libdl/libdl.c2
-rw-r--r--linker/dlfcn.c2
-rw-r--r--linker/linker.c4
-rw-r--r--linker/linker.h4
5 files changed, 7 insertions, 7 deletions
diff --git a/libc/include/dlfcn.h b/libc/include/dlfcn.h
index f84d1d183..7daa8f7b4 100644
--- a/libc/include/dlfcn.h
+++ b/libc/include/dlfcn.h
@@ -47,7 +47,7 @@ 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(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 b36af1686..872c0c914 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 a36b42ccf..716145516 100644
--- a/linker/dlfcn.c
+++ b/linker/dlfcn.c
@@ -124,7 +124,7 @@ err:
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 675b8b2e8..e0a8a1827 100644
--- a/linker/linker.c
+++ b/linker/linker.c
@@ -546,7 +546,7 @@ Elf32_Sym *lookup(const char *name, soinfo **found, soinfo *start)
return NULL;
}
-soinfo *find_containing_library(void *addr)
+soinfo *find_containing_library(const void *addr)
{
soinfo *si;
@@ -560,7 +560,7 @@ soinfo *find_containing_library(void *addr)
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 8a5bc4515..7b1ba51eb 100644
--- a/linker/linker.h
+++ b/linker/linker.h
@@ -213,8 +213,8 @@ soinfo *find_library(const char *name);
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