1// REQUIRES: x86 2// RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t 3// RUN: ld.lld %t -o %t.so -shared -discard-none 4// RUN: llvm-readobj --symbols %t.so | FileCheck %s 5 6// Test that we don't include the section symbols from the .o in the .so 7 8// CHECK: Symbols [ 9// CHECK-NEXT: Symbol { 10// CHECK-NEXT: Name: (0) 11// CHECK-NEXT: Value: 0x0 12// CHECK-NEXT: Size: 0 13// CHECK-NEXT: Binding: Local 14// CHECK-NEXT: Type: None 15// CHECK-NEXT: Other: 0 16// CHECK-NEXT: Section: Undefined 17// CHECK-NEXT: } 18// CHECK-NEXT: Symbol { 19// CHECK-NEXT: Name: foo 20// CHECK-NEXT: Value: 21// CHECK-NEXT: Size: 0 22// CHECK-NEXT: Binding: Local 23// CHECK-NEXT: Type: None 24// CHECK-NEXT: Other: 0 25// CHECK-NEXT: Section: .text 26// CHECK-NEXT: } 27// CHECK-NEXT: Symbol { 28// CHECK-NEXT: Name: _DYNAMIC 29// CHECK-NEXT: Value: 30// CHECK-NEXT: Size: 0 31// CHECK-NEXT: Binding: Local 32// CHECK-NEXT: Type: None 33// CHECK-NEXT: Other [ (0x2) 34// CHECK-NEXT: STV_HIDDEN 35// CHECK-NEXT: ] 36// CHECK-NEXT: Section: .dynamic 37// CHECK-NEXT: } 38// CHECK-NEXT: ] 39 40foo: 41 .quad foo - . 42