1# REQUIRES: x86 2# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t 3# RUN: echo "SECTIONS { . = SIZEOF_HEADERS; pfoo = foo; pbar = bar; }" > %t.script 4# RUN: ld.lld -o %t1 --script %t.script %t 5# RUN: llvm-readobj --symbols %t1 | FileCheck %s 6 7# CHECK: Symbol { 8# CHECK: Name: bar 9# CHECK-NEXT: Value: [[BAR:.*]] 10# CHECK-NEXT: Size: 4 11# CHECK-NEXT: Binding: Global 12# CHECK-NEXT: Type: Object 13# CHECK-NEXT: Other: 0 14# CHECK-NEXT: Section: .bss 15# CHECK-NEXT: } 16# CHECK-NEXT: Symbol { 17# CHECK-NEXT: Name: foo 18# CHECK-NEXT: Value: [[FOO:.*]] 19# CHECK-NEXT: Size: 4 20# CHECK-NEXT: Binding: Global 21# CHECK-NEXT: Type: Object 22# CHECK-NEXT: Other: 0 23# CHECK-NEXT: Section: .bss 24# CHECK-NEXT: } 25# CHECK-NEXT: Symbol { 26# CHECK-NEXT: Name: pfoo 27# CHECK-NEXT: Value: [[FOO]] 28# CHECK-NEXT: Size: 0 29# CHECK-NEXT: Binding: Global 30# CHECK-NEXT: Type: Object 31# CHECK-NEXT: Other: 0 32# CHECK-NEXT: Section: .bss 33# CHECK-NEXT: } 34# CHECK-NEXT: Symbol { 35# CHECK-NEXT: Name: pbar 36# CHECK-NEXT: Value: [[BAR]] 37# CHECK-NEXT: Size: 0 38# CHECK-NEXT: Binding: Global 39# CHECK-NEXT: Type: Object 40# CHECK-NEXT: Other: 0 41# CHECK-NEXT: Section: .bss 42# CHECK-NEXT: } 43# CHECK-NEXT: ] 44 45.comm bar,4,4 46.comm foo,4,4 47movl $1, foo(%rip) 48movl $2, bar(%rip) 49