xref: /llvm-project/llvm/test/MC/COFF/section-comdat.s (revision 04c27852e47093f7efa18609dbf57b3ce58a3ffa)
1// RUN: llvm-mc -triple i386-pc-win32 -filetype=obj %s | llvm-objdump -h -t - | FileCheck %s
2// RUN: llvm-mc -triple x86_64-pc-win32 -filetype=obj %s | llvm-objdump -h -t - | FileCheck %s
3
4.section assocSec, "dr", discard, "assocSym"
5.global assocSym
6assocSym:
7.long assocSec
8
9.section secName, "dr", discard, "Symbol1"
10.globl Symbol1
11Symbol1:
12.long assocSym
13
14.section secName, "dr", one_only, "Symbol2"
15.globl Symbol2
16Symbol2:
17.long 1
18
19.section SecName, "dr", same_size, "Symbol3"
20.globl Symbol3
21Symbol3:
22.long 1
23
24.section SecName, "dr", same_contents, "Symbol4"
25.globl Symbol4
26Symbol4:
27.long 1
28
29.section SecName, "dr", associative, "assocSym"
30.globl Symbol5
31Symbol5:
32.long 1
33
34.section SecName, "dr", largest, "Symbol6"
35.globl Symbol6
36Symbol6:
37.long 1
38
39.section SecName, "dr", newest, "Symbol7"
40.globl Symbol7
41Symbol7:
42.long 1
43
44.section assocSec, "dr", associative, "assocSym"
45.globl Symbol8
46Symbol8:
47.long 1
48
49# CHECK:      Sections:
50# CHECK-NEXT: Idx Name          Size
51# CHECK-NEXT:   0 .text         00000000
52# CHECK-NEXT:   1 .data         00000000
53# CHECK-NEXT:   2 .bss          00000000
54# CHECK-NEXT:   3 assocSec      00000004
55# CHECK-NEXT:   4 secName       00000004
56# CHECK-NEXT:   5 secName       00000004
57# CHECK-NEXT:   6 SecName       00000004
58# CHECK-NEXT:   7 SecName       00000004
59# CHECK-NEXT:   8 SecName       00000004
60# CHECK-NEXT:   9 SecName       00000004
61# CHECK-NEXT:  10 SecName       00000004
62# CHECK-NEXT:  11 assocSec      00000004
63# CHECK:      SYMBOL TABLE:
64# CHECK-NEXT: [ 0](sec  1)(fl 0x00)(ty   0)(scl   3) (nx 1) 0x00000000 .text
65# CHECK-NEXT: AUX scnlen 0x0 nreloc 0 nlnno 0 checksum 0x0 assoc 1 comdat 0
66# CHECK-NEXT: [ 2](sec  2)(fl 0x00)(ty   0)(scl   3) (nx 1) 0x00000000 .data
67# CHECK-NEXT: AUX scnlen 0x0 nreloc 0 nlnno 0 checksum 0x0 assoc 2 comdat 0
68# CHECK-NEXT: [ 4](sec  3)(fl 0x00)(ty   0)(scl   3) (nx 1) 0x00000000 .bss
69# CHECK-NEXT: AUX scnlen 0x0 nreloc 0 nlnno 0 checksum 0x0 assoc 3 comdat 0
70# CHECK-NEXT: [ 6](sec  4)(fl 0x00)(ty   0)(scl   3) (nx 1) 0x00000000 assocSec
71# CHECK-NEXT: AUX scnlen 0x4 nreloc 1 nlnno 0 checksum 0x0 assoc 4 comdat 2
72# CHECK-NEXT: [ 8](sec  4)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000 assocSym
73# CHECK-NEXT: [ 9](sec  5)(fl 0x00)(ty   0)(scl   3) (nx 1) 0x00000000 secName
74# CHECK-NEXT: AUX scnlen 0x4 nreloc 1 nlnno 0 checksum 0x0 assoc 5 comdat 2
75# CHECK-NEXT: [11](sec  5)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000 Symbol1
76# CHECK-NEXT: [12](sec  6)(fl 0x00)(ty   0)(scl   3) (nx 1) 0x00000000 secName
77# CHECK-NEXT: AUX scnlen 0x4 nreloc 0 nlnno 0 checksum 0xb8bc6765 assoc 6 comdat 1
78# CHECK-NEXT: [14](sec  6)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000 Symbol2
79# CHECK-NEXT: [15](sec  7)(fl 0x00)(ty   0)(scl   3) (nx 1) 0x00000000 SecName
80# CHECK-NEXT: AUX scnlen 0x4 nreloc 0 nlnno 0 checksum 0xb8bc6765 assoc 7 comdat 3
81# CHECK-NEXT: [17](sec  7)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000 Symbol3
82# CHECK-NEXT: [18](sec  8)(fl 0x00)(ty   0)(scl   3) (nx 1) 0x00000000 SecName
83# CHECK-NEXT: AUX scnlen 0x4 nreloc 0 nlnno 0 checksum 0xb8bc6765 assoc 8 comdat 4
84# CHECK-NEXT: [20](sec  8)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000 Symbol4
85# CHECK-NEXT: [21](sec 11)(fl 0x00)(ty   0)(scl   3) (nx 1) 0x00000000 SecName
86# CHECK-NEXT: AUX scnlen 0x4 nreloc 0 nlnno 0 checksum 0xb8bc6765 assoc 4 comdat 5
87# CHECK-NEXT: [23](sec  9)(fl 0x00)(ty   0)(scl   3) (nx 1) 0x00000000 SecName
88# CHECK-NEXT: AUX scnlen 0x4 nreloc 0 nlnno 0 checksum 0xb8bc6765 assoc 9 comdat 6
89# CHECK-NEXT: [25](sec  9)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000 Symbol6
90# CHECK-NEXT: [26](sec 10)(fl 0x00)(ty   0)(scl   3) (nx 1) 0x00000000 SecName
91# CHECK-NEXT: AUX scnlen 0x4 nreloc 0 nlnno 0 checksum 0xb8bc6765 assoc 10 comdat 7
92# CHECK-NEXT: [28](sec 10)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000 Symbol7
93# CHECK-NEXT: [29](sec 12)(fl 0x00)(ty   0)(scl   3) (nx 1) 0x00000000 assocSec
94# CHECK-NEXT: AUX scnlen 0x4 nreloc 0 nlnno 0 checksum 0xb8bc6765 assoc 4 comdat 5
95# CHECK-NEXT: [31](sec 11)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000 Symbol5
96# CHECK-NEXT: [32](sec 12)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000 Symbol8
97