xref: /llvm-project/lld/test/ELF/linkerscript/common-assign.s (revision 1f69355802ad446d95b4f71c421dd4100eb8aa77)
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