aboutsummaryrefslogtreecommitdiff
path: root/ld/testsuite/ld-elf/pr18720a.c
blob: 752623be06cf79b9306931f2d55a485adc145a5f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <bfd_stdint.h>

extern void bar (void);
extern void foo (void);
extern void foo_alias (void);
extern void check_ptr_eq (void *, void *);

#if defined(__GNUC__) && (__GNUC__ * 1000 + __GNUC_MINOR__) >= 4005
__attribute__ ((noinline, noclone))
#else
__attribute__ ((noinline))
#endif
int
foo_p (void)
{
  return (intptr_t) &foo == 0x12345678 ? 1 : 0;
}

int
main (void)
{
  foo ();
  foo_p ();
  bar ();
  check_ptr_eq (&foo, &foo_alias);
  return 0;
}