Tweak llvm/test/tools/gold/X86/parallel.ll to run with pthread-unaware ld.gold on...
[oota-llvm.git] / test / MC / COFF / cross-section-relative.s
1 // Verify the .fix data section conveys the right offsets and the right relocations
2 // RUN: llvm-mc -filetype=obj -triple x86_64-pc-win32 %s -o - | llvm-readobj -relocations -expand-relocs -sections -section-data | FileCheck %s --check-prefix=READOBJ
3
4         .text
5         .section        .rdata,"dr"
6         .globl  g1                      # @g1
7         .align  4
8 g1:
9         .long   1                       # 0x1
10
11         .globl  g2                      # @g2
12         .align  4
13 g2:
14         .long   2                       # 0x2
15
16         .globl  g3                      # @g3
17         .align  4
18 g3:
19         .long   3                       # 0x3
20
21         .globl  g4                      # @g4
22         .align  4
23 g4:
24         .long   4                       # 0x4
25
26         .section        .fix,"dw"
27         .globl  t1                      # @t1
28         .align  8
29 t1:
30         .quad   (g3-t1)+4
31
32         .globl  t2                      # @t2
33         .align  8
34 t2:
35         .quad   g3-t2
36
37         .globl  t3                      # @t3
38         .align  8
39 t3:
40         .quad   (g3-t3)-4
41
42         .globl  t4                      # @t4
43         .align  4
44 t4:
45         .long   g3-t4
46
47         .globl  t5                      # @t5
48         .align  4
49 t5:
50         .long   g3@IMGREL
51
52         .globl  t6                      # @t6
53         .align  16
54 t6:
55         .ascii  "\001\002"
56         .zero   6
57         .quad   256                     # 0x100
58         .long   g3-(t6+16)
59         .zero   4
60
61
62 // READOBJ:  Section {
63 // READOBJ:    Number: 5
64 // READOBJ:    Name: .fix (2E 66 69 78 00 00 00 00)
65 // READOBJ:    VirtualSize: 0x0
66 // READOBJ:    VirtualAddress: 0x0
67 // READOBJ:    RawDataSize: 56
68 // READOBJ:    PointerToRawData: 0xEC
69 // READOBJ:    PointerToRelocations: 0x124
70 // READOBJ:    PointerToLineNumbers: 0x0
71 // READOBJ:    RelocationCount: 6
72 // READOBJ:    LineNumberCount: 0
73 // READOBJ:    Characteristics [ (0xC0500040)
74 // READOBJ:      IMAGE_SCN_ALIGN_16BYTES (0x500000)
75 // READOBJ:      IMAGE_SCN_CNT_INITIALIZED_DATA (0x40)
76 // READOBJ:      IMAGE_SCN_MEM_READ (0x40000000)
77 // READOBJ:      IMAGE_SCN_MEM_WRITE (0x80000000)
78 // READOBJ:    ]
79 // READOBJ:    SectionData (
80 // READOBJ:      0000: 10000000 00000000 0C000000 00000000  |................|
81 // READOBJ:      0010: 08000000 00000000 0C000000 00000000  |................|
82 // READOBJ:      0020: 01020000 00000000 00010000 00000000  |................|
83 // READOBJ:      0030: 0C000000 00000000                    |........|
84 // READOBJ:    )
85 // READOBJ:  }
86 // READOBJ:  ]
87 // READOBJ:  Relocations [
88 // READOBJ:  Section (5) .fix {
89 // READOBJ:    Relocation {
90 // READOBJ:      Offset: 0x0
91 // READOBJ:      Type: IMAGE_REL_AMD64_REL32 (4)
92 // READOBJ:      Symbol: .rdata
93 // READOBJ:    }
94 // READOBJ:    Relocation {
95 // READOBJ:      Offset: 0x8
96 // READOBJ:      Type: IMAGE_REL_AMD64_REL32 (4)
97 // READOBJ:      Symbol: .rdata
98 // READOBJ:    }
99 // READOBJ:    Relocation {
100 // READOBJ:      Offset: 0x10
101 // READOBJ:      Type: IMAGE_REL_AMD64_REL32 (4)
102 // READOBJ:      Symbol: .rdata
103 // READOBJ:    }
104 // READOBJ:    Relocation {
105 // READOBJ:      Offset: 0x18
106 // READOBJ:      Type: IMAGE_REL_AMD64_REL32 (4)
107 // READOBJ:      Symbol: .rdata
108 // READOBJ:    }
109 // READOBJ:    Relocation {
110 // READOBJ:      Offset: 0x1C
111 // READOBJ:      Type: IMAGE_REL_AMD64_ADDR32NB (3)
112 // READOBJ:      Symbol: g3
113 // READOBJ:    }
114 // READOBJ:    Relocation {
115 // READOBJ:      Offset: 0x30
116 // READOBJ:      Type: IMAGE_REL_AMD64_REL32 (4)
117 // READOBJ:      Symbol: .rdata
118 // READOBJ:    }