12345678910111213141516171819202122232425 |
- #include <dlfcn.h>
- #include <stdlib.h>
- #include <stdio.h>
- #include <string.h>
- int main(int argc, char **argv)
- {
- Dl_info info;
- int res = 0;
- memset(&info, '\0', sizeof(Dl_info));
- res = dladdr((void *)1, &info);
- if (res != 0) {
- fprintf(stderr, "dladdr() should fail\n");
- fprintf(stderr, "dli_fname = %s\n", info.dli_fname);
- fprintf(stderr, "dli_fbase = 0x%08x\n", (unsigned int)info.dli_fbase);
- fprintf(stderr, "dli_sname = %s\n", info.dli_sname);
- fprintf(stderr, "dli_saddr = 0x%08x\n", (unsigned int)info.dli_saddr);
- exit(1);
- }
- fprintf(stderr, "dladdr() failed as expected\n");
- return EXIT_SUCCESS;
- }
|