1 #include <bfd_stdint.h> 2 3 extern void bar (void); 4 extern void foo (void); 5 extern void foo_alias (void); 6 extern void check_ptr_eq (void *, void *); 7 8 #if defined(__GNUC__) && (__GNUC__ * 1000 + __GNUC_MINOR__) >= 4005 9 __attribute__ ((noinline, noclone)) 10 #else 11 __attribute__ ((noinline)) 12 #endif 13 int foo_p(void)14foo_p (void) 15 { 16 return (intptr_t) &foo == 0x12345678 ? 1 : 0; 17 } 18 19 int main(void)20main (void) 21 { 22 foo (); 23 foo_p (); 24 bar (); 25 check_ptr_eq (&foo, &foo_alias); 26 return 0; 27 } 28