diff options
author | Jing Yu <jingyu@google.com> | 2011-12-20 10:27:58 -0800 |
---|---|---|
committer | Jing Yu <jingyu@google.com> | 2011-12-20 10:27:58 -0800 |
commit | cf3cdbf8b3cda61a619299e7966a83df66244036 (patch) | |
tree | 201e2bcfc955f16802d3257112d29736cb3a3ce8 /binutils-2.21/ld/testsuite/ld-ifunc/prog.c | |
parent | e4df3e0a5bb640ccfa2f30ee67fe9b3146b152d6 (diff) | |
download | toolchain_binutils-cf3cdbf8b3cda61a619299e7966a83df66244036.zip toolchain_binutils-cf3cdbf8b3cda61a619299e7966a83df66244036.tar.gz toolchain_binutils-cf3cdbf8b3cda61a619299e7966a83df66244036.tar.bz2 |
Add binutils-2.21.
Use --enable-gold=default for dual linker support.
Change-Id: Id1a744c7db58a0b5e7a3be174cdfa875f2f86e49
Diffstat (limited to 'binutils-2.21/ld/testsuite/ld-ifunc/prog.c')
-rw-r--r-- | binutils-2.21/ld/testsuite/ld-ifunc/prog.c | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/binutils-2.21/ld/testsuite/ld-ifunc/prog.c b/binutils-2.21/ld/testsuite/ld-ifunc/prog.c new file mode 100644 index 0000000..da786a5 --- /dev/null +++ b/binutils-2.21/ld/testsuite/ld-ifunc/prog.c @@ -0,0 +1,46 @@ +extern int printf (const char *, ...); + +extern int library_func1 (void); +extern int library_func2 (void); +extern int global; + +int +main (void) +{ + int res = -1; + + res += library_func1 (); + res += library_func2 (); + + switch (res) + { + case 0: + if (global) + printf ("ifunc working correctly\n"); + else + { + printf ("wrong value returned by library_func2\n"); + res = -1; + } + break; + + case 1: + if (global) + printf ("wrong value returned by library_func2\n"); + else + { + printf ("ifunc working correctly\n"); + res = 0; + } + break; + + case 4: + printf ("non-ifunc testcase\n"); + break; + + default: + printf ("ifunc function not evaluated at run-time, res = %x\n", res); + break; + } + return res; +} |