32 lines
649 B
ArmAsm
32 lines
649 B
ArmAsm
# 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:
|