9 if (dladdr (&printf
, &i
) == 0)
14 printf ("found symbol %s in %s\n", i
.dli_sname
, i
.dli_fname
);
15 if (i
.dli_sname
== NULL
)
18 #if __LONG_DOUBLE_USES_FLOAT128 == 1
19 /* On architectures which redirect long double to
20 _Float128 (e.g powerpc64le), printf will resolve
21 to __printfieee128 due to header redirects. There
22 is no _IO_printfieee128 alias. */
23 return strcmp (i
.dli_sname
, "__printfieee128") != 0;
25 return i
.dli_sname
== NULL
26 || (strcmp (i
.dli_sname
, "printf") != 0
27 /* On architectures which create PIC code by default
28 &printf may resolve to an address in libc.so
29 rather than in the binary. printf and _IO_printf
30 are aliased and which one comes first in the
31 hash table is up to the linker. */
32 && strcmp (i
.dli_sname
, "_IO_printf") != 0);
36 #include <support/test-driver.c>