]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/ELF/linkerscript/common.s
Vendor import of lld trunk r290819:
[FreeBSD/FreeBSD.git] / test / ELF / linkerscript / common.s
1 # REQUIRES: x86
2 # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t
3 # RUN: echo "SECTIONS { . = SIZEOF_HEADERS; .common : { *(COMMON) } }" > %t.script
4 # RUN: ld.lld -o %t1 --script %t.script %t
5 # RUN: llvm-readobj -s -t %t1 | FileCheck %s
6
7 # q2 alignment is greater than q1, so it should have smaller offset
8 # because of sorting
9 # CHECK:       Section {
10 # CHECK:         Index:
11 # CHECK:         Name: .common
12 # CHECK-NEXT:    Type: SHT_NOBITS
13 # CHECK-NEXT:    Flags [
14 # CHECK-NEXT:      SHF_ALLOC
15 # CHECK-NEXT:      SHF_WRITE
16 # CHECK-NEXT:    ]
17 # CHECK-NEXT:    Address: 0x200
18 # CHECK-NEXT:    Offset: 0x
19 # CHECK-NEXT:    Size: 256
20 # CHECK-NEXT:    Link: 0
21 # CHECK-NEXT:    Info: 0
22 # CHECK-NEXT:    AddressAlignment: 256
23 # CHECK-NEXT:    EntrySize: 0
24 # CHECK-NEXT:  }
25 # CHECK:       Symbol {
26 # CHECK:         Name: q1
27 # CHECK-NEXT:    Value: 0x280
28 # CHECK-NEXT:    Size: 128
29 # CHECK-NEXT:    Binding: Global
30 # CHECK-NEXT:    Type: Object
31 # CHECK-NEXT:    Other: 0
32 # CHECK-NEXT:    Section: .common
33 # CHECK-NEXT:  }
34 # CHECK-NEXT:  Symbol {
35 # CHECK-NEXT:    Name: q2
36 # CHECK-NEXT:    Value: 0x200
37 # CHECK-NEXT:    Size: 128
38 # CHECK-NEXT:    Binding: Global
39 # CHECK-NEXT:    Type: Object
40 # CHECK-NEXT:    Other: 0
41 # CHECK-NEXT:    Section: .common
42 # CHECK-NEXT:  }
43
44 .globl _start
45 _start:
46   jmp _start
47
48 .comm q1,128,8
49 .comm q2,128,256