95 lines · plain
1// REQUIRES: x862// Check that local symbols are not inserted into dynamic table.3// RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t4// RUN: ld.lld %t -shared -o %t1.so5// RUN: llvm-readobj --symbols --dyn-syms %t1.so | FileCheck %s6 7// CHECK: Symbols [8// CHECK-NEXT: Symbol {9// CHECK-NEXT: Name:10// CHECK-NEXT: Value: 0x011// CHECK-NEXT: Size: 012// CHECK-NEXT: Binding: Local13// CHECK-NEXT: Type: None14// CHECK-NEXT: Other: 015// CHECK-NEXT: Section: Undefined16// CHECK-NEXT: }17// CHECK-NEXT: Symbol {18// CHECK-NEXT: Name: blah19// CHECK-NEXT: Value:20// CHECK-NEXT: Size: 021// CHECK-NEXT: Binding: Local22// CHECK-NEXT: Type: None23// CHECK-NEXT: Other: 024// CHECK-NEXT: Section: .text25// CHECK-NEXT: }26// CHECK-NEXT: Symbol {27// CHECK-NEXT: Name: foo28// CHECK-NEXT: Value:29// CHECK-NEXT: Size: 030// CHECK-NEXT: Binding: Local31// CHECK-NEXT: Type: None32// CHECK-NEXT: Other: 033// CHECK-NEXT: Section: .text34// CHECK-NEXT: }35// CHECK-NEXT: Symbol {36// CHECK-NEXT: Name: goo37// CHECK-NEXT: Value:38// CHECK-NEXT: Size: 039// CHECK-NEXT: Binding: Local40// CHECK-NEXT: Type: None41// CHECK-NEXT: Other: 042// CHECK-NEXT: Section: .text43// CHECK-NEXT: }44// CHECK-NEXT: Symbol {45// CHECK-NEXT: Name: _DYNAMIC46// CHECK-NEXT: Value:47// CHECK-NEXT: Size: 048// CHECK-NEXT: Binding: Local49// CHECK-NEXT: Type: None50// CHECK-NEXT: Other [ (0x2)51// CHECK-NEXT: STV_HIDDEN52// CHECK-NEXT: ]53// CHECK-NEXT: Section: .dynamic54// CHECK-NEXT: }55// CHECK-NEXT: Symbol {56// CHECK-NEXT: Name: _start57// CHECK-NEXT: Value:58// CHECK-NEXT: Size: 059// CHECK-NEXT: Binding: Global60// CHECK-NEXT: Type: None61// CHECK-NEXT: Other: 062// CHECK-NEXT: Section: .text63// CHECK-NEXT: }64// CHECK-NEXT: ]65 66// CHECK: DynamicSymbols [67// CHECK-NEXT: Symbol {68// CHECK-NEXT: Name:69// CHECK-NEXT: Value: 0x070// CHECK-NEXT: Size: 071// CHECK-NEXT: Binding: Local72// CHECK-NEXT: Type: None73// CHECK-NEXT: Other: 074// CHECK-NEXT: Section: Undefined75// CHECK-NEXT: }76// CHECK-NEXT: Symbol {77// CHECK-NEXT: Name: _start78// CHECK-NEXT: Value:79// CHECK-NEXT: Size: 080// CHECK-NEXT: Binding: Global81// CHECK-NEXT: Type: None82// CHECK-NEXT: Other: 083// CHECK-NEXT: Section: .text84// CHECK-NEXT: }85// CHECK-NEXT: ]86 87.global _start88_start:89 90blah:91foo:92goo:93 94 95