llvm-6502/test/MC/ARM/coff-file.s
David Majnemer b3a86a097b Object: Add support for bigobj
This adds support for reading the "bigobj" variant of COFF produced by
cl's /bigobj and mingw's -mbig-obj.

The most significant difference that bigobj brings is more than 2**16
sections to COFF.

bigobj brings a few interesting differences with it:
- It doesn't have a Characteristics field in the file header.
- It doesn't have a SizeOfOptionalHeader field in the file header (it's
  only used in executable files).
- Auxiliary symbol records have the same width as a symbol table entry.
  Since symbol table entries are bigger, so are auxiliary symbol
  records.

Write support will come soon.

Differential Revision: http://reviews.llvm.org/D5259

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@217496 91177308-0d34-0410-b5e6-96231b3b80d8
2014-09-10 12:51:52 +00:00

48 lines
1.3 KiB
ArmAsm

// RUN: llvm-mc -triple thumbv7-windows -filetype obj %s -o - | llvm-objdump -t - \
// RUN: | FileCheck %s
// RUN: llvm-mc -triple thumbv7-windows -filetype obj %s -o - \
// RUN: | llvm-readobj -symbols | FileCheck %s -check-prefix CHECK-SCN
.file "null-padded.asm"
// CHECK: (nx 1) {{0x[0-9]+}} .file
// CHECK-NEXT: AUX null-padded.asm{{$}}
.file "eighteen-chars.asm"
// CHECK: (nx 1) {{0x[0-9]+}} .file
// CHECK-NEXT: AUX eighteen-chars.asm{{$}}
.file "multiple-auxiliary-entries.asm"
// CHECK: (nx 2) {{0x[0-9]+}} .file
// CHECK-NEXT: AUX multiple-auxiliary-entries.asm{{$}}
// CHECK-SCN: Symbols [
// CHECK-SCN: Symbol {
// CHECK-SCN: Name: .file
// CHECK-SCN: Section: (-2)
// CHECK-SCN: StorageClass: File
// CHECK-SCN: AuxFileRecord {
// CHECK-SCN: FileName: null-padded.asm
// CHECK-SCN: }
// CHECK-SCN: }
// CHECK-SCN: Symbol {
// CHECK-SCN: Name: .file
// CHECK-SCN: Section: (-2)
// CHECK-SCN: StorageClass: File
// CHECK-SCN: AuxFileRecord {
// CHECK-SCN: FileName: eighteen-chars.asm
// CHECK-SCN: }
// CHECK-SCN: }
// CHECK-SCN: Symbol {
// CHECK-SCN: Name: .file
// CHECK-SCN: Section: (-2)
// CHECK-SCN: StorageClass: File
// CHECK-SCN: AuxFileRecord {
// CHECK-SCN: FileName: multiple-auxiliary-entries.asm
// CHECK-SCN: }
// CHECK-SCN: }
// CHECK-SCN: ]