2.9
[glibc/nacl-glibc.git] / elf / tst-addr1.c
blob637906e2060e976a4011f5d45edb756904cd93da
1 #include <dlfcn.h>
2 #include <stdio.h>
3 #include <string.h>
5 static int
6 do_test (void)
8 Dl_info i;
9 if (dladdr (&printf, &i) == 0)
11 puts ("not found");
12 return 1;
14 printf ("found symbol %s in %s\n", i.dli_sname, i.dli_fname);
15 return i.dli_sname == NULL
16 || (strcmp (i.dli_sname, "printf") != 0
17 /* On architectures which create PIC code by default
18 &printf may resolve to an address in libc.so
19 rather than in the binary. printf and _IO_printf
20 are aliased and which one comes first in the
21 hash table is up to the linker. */
22 && strcmp (i.dli_sname, "_IO_printf") != 0);
25 #define TEST_FUNCTION do_test ()
26 #include "../test-skeleton.c"