Browse Source

const-qualify the address argument to dladdr

this agrees with implementation practice on glibc and BSD systems, and
is the const-correct way to do things; it eliminates warnings from
passing pointers to const. the prototype without const came from
seemingly erroneous man pages.
Rich Felker 10 years ago
parent
commit
839cc4e6da
3 changed files with 5 additions and 5 deletions
  1. 1 1
      include/dlfcn.h
  2. 2 2
      src/ldso/dladdr.c
  3. 2 2
      src/ldso/dynlink.c

+ 1 - 1
include/dlfcn.h

@@ -31,7 +31,7 @@ typedef struct {
 	const char *dli_sname;
 	void *dli_saddr;
 } Dl_info;
-int dladdr(void *, Dl_info *);
+int dladdr(const void *, Dl_info *);
 int dlinfo(void *, int, void *);
 #endif
 

+ 2 - 2
src/ldso/dladdr.c

@@ -1,9 +1,9 @@
 #define _GNU_SOURCE
 #include <dlfcn.h>
 
-int __dladdr(void *, Dl_info *);
+int __dladdr(const void *, Dl_info *);
 
-int dladdr(void *addr, Dl_info *info)
+int dladdr(const void *addr, Dl_info *info)
 {
 	return __dladdr(addr, info);
 }

+ 2 - 2
src/ldso/dynlink.c

@@ -1331,7 +1331,7 @@ failed:
 	return 0;
 }
 
-int __dladdr(void *addr, Dl_info *info)
+int __dladdr(const void *addr, Dl_info *info)
 {
 	struct dso *p;
 	Sym *sym;
@@ -1441,7 +1441,7 @@ void *__dlsym(void *restrict p, const char *restrict s, void *restrict ra)
 {
 	return 0;
 }
-int __dladdr (void *addr, Dl_info *info)
+int __dladdr (const void *addr, Dl_info *info)
 {
 	return 0;
 }