binutils-gdb/ld/testsuite/ld-elf/pr18718.c
H.J. Lu 60b57502ec Use noclone attribute only for GCC 4.5 or newer
noclone attribute was added to GCC 4.5.  We should check GCC version
before using it.

	* ld-elf/pr18718.c (bar): Use noclone attribute only for GCC
	4.5 or newer.
2015-07-29 11:20:04 -07:00

33 lines
487 B
C

#include <stdio.h>
#include <bfd_stdint.h>
extern void foo (void);
extern void check_ptr_eq (void *, void *);
void
new_foo (void)
{
}
__asm__(".symver new_foo, foo@@VERS_2.0");
#if defined(__GNUC__) && (__GNUC__ * 1000 + __GNUC_MINOR__) >= 4005
__attribute__ ((noinline, noclone))
#else
__attribute__ ((noinline))
#endif
int
bar (void)
{
return (intptr_t) &foo == 0x12345678 ? 1 : 0;
}
int
main(void)
{
bar ();
check_ptr_eq (&foo, &new_foo);
printf("PASS\n");
return 0;
}