]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - ld/testsuite/ld-elf/pr18718.c
elf: Add GNU_PROPERTY_UINT32_AND_XXX/GNU_PROPERTY_UINT32_OR_XXX
[thirdparty/binutils-gdb.git] / ld / testsuite / ld-elf / pr18718.c
1 #include <stdio.h>
2 #include <stdint.h>
3
4 extern void foo (void);
5 extern void check_ptr_eq (void (*) (void), void (*) (void));
6
7 void
8 new_foo (void)
9 {
10 }
11
12 __asm__(".symver new_foo, foo@@VERS_2.0");
13 #if defined __powerpc64__ && defined _CALL_AIXDESC && !defined _CALL_LINUX
14 __asm__(".symver .new_foo, .foo@@VERS_2.0");
15 #endif
16
17 #if defined(__GNUC__) && (__GNUC__ * 1000 + __GNUC_MINOR__) >= 4005
18 __attribute__ ((noinline, noclone))
19 #else
20 __attribute__ ((noinline))
21 #endif
22 int
23 bar (void)
24 {
25 return (intptr_t) &foo == 0x12345678 ? 1 : 0;
26 }
27
28 int
29 main(void)
30 {
31 bar ();
32 check_ptr_eq (&foo, &new_foo);
33 printf("PASS\n");
34 return 0;
35 }