Index: test/ELF/linkerscript/cxx11-tag-version.s =================================================================== --- /dev/null +++ test/ELF/linkerscript/cxx11-tag-version.s @@ -0,0 +1,46 @@ +# REQUIRES: x86 + +# RUN: echo "VER1 { global: extern \"C++\" { returns_string*; accepts_string*; global*}; local: *; } ;" > %t.script +# RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o +# RUN: ld.lld --version-script %t.script -shared %t.o -o %t.so +# RUN: llvm-readobj -dyn-symbols %t.so | FileCheck %s + +# CHECK: Name: _Z14accepts_stringRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@VER1 +# CHECK-NEXT: Value: 0 +# CHECK-NEXT: Size: 0 +# CHECK-NEXT: Binding: Global +# CHECK-NEXT: Type: Function +# CHECK-NEXT: Other: 0 +# CHECK-NEXT: Section: .text + +# CHECK: Name: _Z14returns_stringB5cxx11v@@VER1 +# CHECK-NEXT: Value: 0 +# CHECK-NEXT: Size: 0 +# CHECK-NEXT: Binding: Global +# CHECK-NEXT: Type: Function +# CHECK-NEXT: Other: 0 +# CHECK-NEXT: Section: .text + +# CHECK: Name: _Z6globalB5cxx11@@VER1 +# CHECK-NEXT: Value: 0 +# CHECK-NEXT: Size: 0 +# CHECK-NEXT: Binding: Global +# CHECK-NEXT: Type: Object +# CHECK-NEXT: Other: 0 +# CHECK-NEXT: Section: .bss + +.text +.globl _Z14returns_stringB5cxx11v # -- Begin function _Z14returns_stringB5cxx11v +.type _Z14returns_stringB5cxx11v,@function +_Z14returns_stringB5cxx11v: + +.text +.globl _Z14accepts_stringRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE # -- Begin function _Z14accepts_stringRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE +.type _Z14accepts_stringRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE,@function +_Z14accepts_stringRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE: # @_Z14accepts_stringRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE + +.bss +.type _Z6globalB5cxx11,@object # @_Z6globalB5cxx11 +.globl _Z6globalB5cxx11 +_Z6globalB5cxx11: +