powerpc64le: Enforce -mabi=ibmlongdouble when -mfloat128 used
[glibc.git] / elf / tst-addr1.c
blob27dc0f00f4dad77cc25310ede9894205f097f695
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 if (i.dli_sname == NULL)
16 return 1;
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;
24 #else
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);
33 #endif
36 #include <support/test-driver.c>