David Meyer | 2d70e26 | 2012-03-09 20:59:52 +0000 | [diff] [blame] | 1 | # Compile with: |
| 2 | # ARGS="-shared -nostdlib -Wl,--version-script=elfver.script" |
| 3 | # clang $ARGS -m32 elfver.S -lc -o elf-versioning-test.i386 |
| 4 | # clang $ARGS -m64 elfver.S -lc -o elf-versioning-test.x86_64 |
| 5 | |
| 6 | # Also, strip off non-dynamic symbols: |
| 7 | # strip elf-versioning-test.i386 |
| 8 | # strip elf-versioning-test.x86_64 |
| 9 | |
| 10 | #ifdef __i386__ |
| 11 | .symver _puts, puts@GLIBC_2.0 |
| 12 | #else |
| 13 | .symver _puts, puts@GLIBC_2.2.5 |
| 14 | #endif |
| 15 | call _puts@PLT |
| 16 | |
| 17 | .symver foo1, foo@VER1 |
| 18 | .globl foo1 |
| 19 | .type foo1, @function |
| 20 | foo1: |
| 21 | ret |
| 22 | |
| 23 | .symver foo2, foo@@VER2 |
| 24 | .globl foo2 |
| 25 | .type foo2, @function |
| 26 | foo2: |
| 27 | ret |
| 28 | |
| 29 | .globl unversioned_define |
| 30 | .type unversioned_define, @function |
| 31 | unversioned_define: |