const-qualify the address argument to dladdr
authorRich Felker <dalias@aerifal.cx>
Tue, 7 Jan 2014 03:03:38 +0000 (22:03 -0500)
committerRich Felker <dalias@aerifal.cx>
Tue, 7 Jan 2014 03:03:38 +0000 (22:03 -0500)
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.

include/dlfcn.h
src/ldso/dladdr.c
src/ldso/dynlink.c

index db26194b22845389e4b2ea2add95ccfec097e089..78fb0733b2eb82be221e2e26fb5df369be7bb715 100644 (file)
@@ -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
 
index 265bb681d0d4b19b54706bc0e5b72053b43e876a..7ca718f4fbf4ccc7d2257a56b6ed4a25dbcec4d8 100644 (file)
@@ -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);
 }
index 27d92f2b0a647b87c40574b3c7293954d0e59f93..89e1260bc5a6510ec618ea9abe0b58d4577f5e70 100644 (file)
@@ -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;
 }