eac3041b1cceffc624bc53e6b54f11b22b868634
[oota-llvm.git] / test / tools / llvm-readobj / cxx-cli-aux.test
1 Ensure that we can read the COFF auxiliary symbols 'section definition' and
2 'CLR token definition' as used in C++/CLI object files. Auxiliary section
3 definitions usually only follow a symbol with static storage class, but
4 non-const appdomain globals (external ABS) also get one.
5
6 RUN: llvm-readobj -t %p/Inputs/cxx-cli-aux.obj.coff-i386 | FileCheck %s
7
8 CHECK:      Symbols [
9 CHECK:        Symbol {
10 CHECK:          Name: ?PerAppDomain@@$$Q3HA
11 CHECK-NEXT:     Value: 4
12 CHECK-NEXT:     Section:  (65535)
13 CHECK-NEXT:     BaseType: Null (0x0)
14 CHECK-NEXT:     ComplexType: Null (0x0)
15 CHECK-NEXT:     StorageClass: External (0x2)
16 CHECK-NEXT:     AuxSymbolCount: 1
17 CHECK-NEXT:     AuxSectionDef {
18 CHECK-NEXT:       Length: 0
19 CHECK-NEXT:       RelocationCount: 0
20 CHECK-NEXT:       LineNumberCount: 0
21 CHECK-NEXT:       Checksum: 0x0
22 CHECK-NEXT:       Number: 0
23 CHECK-NEXT:       Selection: NoDuplicates (0x1)
24 CHECK-NEXT:       Unused: (00 00 00)
25 CHECK-NEXT:     }
26 CHECK-NEXT:   }
27
28 CHECK:        Symbol {
29 CHECK:          Name: 04000001
30 CHECK-NEXT:     Value: 4
31 CHECK-NEXT:     Section:  (65535)
32 CHECK-NEXT:     BaseType: Null (0x0)
33 CHECK-NEXT:     ComplexType: Null (0x0)
34 CHECK-NEXT:     StorageClass: CLRToken (0x6B)
35 CHECK-NEXT:     AuxSymbolCount: 1
36 CHECK-NEXT:     AuxCLRToken {
37 CHECK-NEXT:       AuxType: 1
38 CHECK-NEXT:       Reserved: 0
39 CHECK-NEXT:       SymbolTableIndex: 19
40 CHECK-NEXT:       Unused: (00 00 00 00 00 00 00 00 00 00 00 00)
41 CHECK-NEXT:     }
42 CHECK-NEXT:   }