diff options
Diffstat (limited to 'test/tools/llvm-readobj/cxx-cli-aux.test')
-rw-r--r-- | test/tools/llvm-readobj/cxx-cli-aux.test | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/test/tools/llvm-readobj/cxx-cli-aux.test b/test/tools/llvm-readobj/cxx-cli-aux.test new file mode 100644 index 0000000000..eac3041b1c --- /dev/null +++ b/test/tools/llvm-readobj/cxx-cli-aux.test @@ -0,0 +1,42 @@ +Ensure that we can read the COFF auxiliary symbols 'section definition' and +'CLR token definition' as used in C++/CLI object files. Auxiliary section +definitions usually only follow a symbol with static storage class, but +non-const appdomain globals (external ABS) also get one. + +RUN: llvm-readobj -t %p/Inputs/cxx-cli-aux.obj.coff-i386 | FileCheck %s + +CHECK: Symbols [ +CHECK: Symbol { +CHECK: Name: ?PerAppDomain@@$$Q3HA +CHECK-NEXT: Value: 4 +CHECK-NEXT: Section: (65535) +CHECK-NEXT: BaseType: Null (0x0) +CHECK-NEXT: ComplexType: Null (0x0) +CHECK-NEXT: StorageClass: External (0x2) +CHECK-NEXT: AuxSymbolCount: 1 +CHECK-NEXT: AuxSectionDef { +CHECK-NEXT: Length: 0 +CHECK-NEXT: RelocationCount: 0 +CHECK-NEXT: LineNumberCount: 0 +CHECK-NEXT: Checksum: 0x0 +CHECK-NEXT: Number: 0 +CHECK-NEXT: Selection: NoDuplicates (0x1) +CHECK-NEXT: Unused: (00 00 00) +CHECK-NEXT: } +CHECK-NEXT: } + +CHECK: Symbol { +CHECK: Name: 04000001 +CHECK-NEXT: Value: 4 +CHECK-NEXT: Section: (65535) +CHECK-NEXT: BaseType: Null (0x0) +CHECK-NEXT: ComplexType: Null (0x0) +CHECK-NEXT: StorageClass: CLRToken (0x6B) +CHECK-NEXT: AuxSymbolCount: 1 +CHECK-NEXT: AuxCLRToken { +CHECK-NEXT: AuxType: 1 +CHECK-NEXT: Reserved: 0 +CHECK-NEXT: SymbolTableIndex: 19 +CHECK-NEXT: Unused: (00 00 00 00 00 00 00 00 00 00 00 00) +CHECK-NEXT: } +CHECK-NEXT: } |