81 lines · plain
1# REQUIRES: x862# RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t3# RUN: ld.lld -pie %t -o %t.out4# RUN: llvm-readobj --symbols --dyn-syms %t.out | FileCheck %s5 6# CHECK: Symbols [7# CHECK: Symbol {8# CHECK: Name: hidden9# CHECK-NEXT: Value: [[ADDR:.*]]10# CHECK-NEXT: Size: 011# CHECK-NEXT: Binding: Local12# CHECK-NEXT: Type: None13# CHECK-NEXT: Other [14# CHECK-NEXT: STV_HIDDEN15# CHECK-NEXT: ]16# CHECK-NEXT: Section: .text17# CHECK-NEXT: }18# CHECK: Symbol {19# CHECK: Name: internal20# CHECK-NEXT: Value: [[ADDR]]21# CHECK-NEXT: Size: 022# CHECK-NEXT: Binding: Local23# CHECK-NEXT: Type: None24# CHECK-NEXT: Other [25# CHECK-NEXT: STV_INTERNAL26# CHECK-NEXT: ]27# CHECK-NEXT: Section: .text28# CHECK-NEXT: }29# CHECK: Symbol {30# CHECK: Name: default31# CHECK-NEXT: Value: [[ADDR]]32# CHECK-NEXT: Size: 033# CHECK-NEXT: Binding: Global34# CHECK-NEXT: Type: None35# CHECK-NEXT: Other: 036# CHECK-NEXT: Section: .text37# CHECK-NEXT: }38# CHECK: Symbol {39# CHECK: Name: protected40# CHECK-NEXT: Value: [[ADDR]]41# CHECK-NEXT: Size: 042# CHECK-NEXT: Binding: Global43# CHECK-NEXT: Type: None44# CHECK-NEXT: Other [45# CHECK-NEXT: STV_PROTECTED46# CHECK-NEXT: ]47# CHECK-NEXT: Section: .text48# CHECK-NEXT: }49# CHECK-NEXT: ]50 51# CHECK: DynamicSymbols [52# CHECK-NEXT: Symbol {53# CHECK-NEXT: Name:54# CHECK-NEXT: Value: 0x055# CHECK-NEXT: Size: 056# CHECK-NEXT: Binding: Local57# CHECK-NEXT: Type: None58# CHECK-NEXT: Other: 059# CHECK-NEXT: Section: Undefined60# CHECK-NEXT: }61# CHECK-NEXT: ]62 63.text64.globl _start65_start:66 67.global default68default:69 70.global protected71.protected protected72protected:73 74.global hidden75.hidden hidden76hidden:77 78.global internal79.internal internal80internal:81