llvm/test/Object/Inputs/elfver.S
David Meyer 2d70e263c2 Support reading GNU symbol versions in ELFObjectFile
* Add enums and structures for GNU version information.
* Implement extraction of that information on a per-symbol basis (ELFObjectFile::getSymbolVersion).
* Implement a generic interface, GetELFSymbolVersion(), for getting the symbol version from the ObjectFile (hides the templating).
* Have llvm-readobj print out the version, when available.
* Add a test for the new feature: readobj-elf-versioning.test



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152436 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-09 20:59:52 +00:00

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: