| # Compile with: |
| # ARGS="-shared -nostdlib -Wl,--version-script=elfver.script" |
| # clang $ARGS -m32 elfver.S -lc -o elf-versioning-test.i386 |
| # clang $ARGS -m64 elfver.S -lc -o elf-versioning-test.x86_64 |
| |
| # Also, strip off non-dynamic symbols: |
| # strip elf-versioning-test.i386 |
| # strip elf-versioning-test.x86_64 |
| |
| #ifdef __i386__ |
| .symver _puts, puts@GLIBC_2.0 |
| #else |
| .symver _puts, puts@GLIBC_2.2.5 |
| #endif |
| call _puts@PLT |
| |
| .symver foo1, foo@VER1 |
| .globl foo1 |
| .type foo1, @function |
| foo1: |
| ret |
| |
| .symver foo2, foo@@VER2 |
| .globl foo2 |
| .type foo2, @function |
| foo2: |
| ret |
| |
| .globl unversioned_define |
| .type unversioned_define, @function |
| unversioned_define: |