brintos

brintos / llvm-project-archived public Read only

0
0
Text · 10.7 KiB · 01f8f33 Raw
297 lines · yaml
1## Check that the default NumberOfRvaAndSize is as expected.2# RUN: yaml2obj --docnum=1 %s -o %t3# RUN: llvm-readobj --file-headers %t | FileCheck %s --check-prefix=CHECK164# RUN: obj2yaml %t | FileCheck %s --check-prefix=ROUNDTRIP165 6# CHECK16:       NumberOfRvaAndSize: 167# CHECK16-NEXT:  DataDirectory {8# CHECK16-NEXT:    ExportTableRVA: 0x09# CHECK16-NEXT:    ExportTableSize: 0x010# CHECK16-NEXT:    ImportTableRVA: 0x011# CHECK16-NEXT:    ImportTableSize: 0x012# CHECK16-NEXT:    ResourceTableRVA: 0x013# CHECK16-NEXT:    ResourceTableSize: 0x014# CHECK16-NEXT:    ExceptionTableRVA: 0x015# CHECK16-NEXT:    ExceptionTableSize: 0x016# CHECK16-NEXT:    CertificateTableRVA: 0x017# CHECK16-NEXT:    CertificateTableSize: 0x018# CHECK16-NEXT:    BaseRelocationTableRVA: 0x019# CHECK16-NEXT:    BaseRelocationTableSize: 0x020# CHECK16-NEXT:    DebugRVA: 0x021# CHECK16-NEXT:    DebugSize: 0x022# CHECK16-NEXT:    ArchitectureRVA: 0x023# CHECK16-NEXT:    ArchitectureSize: 0x024# CHECK16-NEXT:    GlobalPtrRVA: 0x025# CHECK16-NEXT:    GlobalPtrSize: 0x026# CHECK16-NEXT:    TLSTableRVA: 0x027# CHECK16-NEXT:    TLSTableSize: 0x028# CHECK16-NEXT:    LoadConfigTableRVA: 0x029# CHECK16-NEXT:    LoadConfigTableSize: 0x030# CHECK16-NEXT:    BoundImportRVA: 0x031# CHECK16-NEXT:    BoundImportSize: 0x032# CHECK16-NEXT:    IATRVA: 0x033# CHECK16-NEXT:    IATSize: 0x034# CHECK16-NEXT:    DelayImportDescriptorRVA: 0x035# CHECK16-NEXT:    DelayImportDescriptorSize: 0x036# CHECK16-NEXT:    CLRRuntimeHeaderRVA: 0x037# CHECK16-NEXT:    CLRRuntimeHeaderSize: 0x038# CHECK16-NEXT:    ReservedRVA: 0x039# CHECK16-NEXT:    ReservedSize: 0x040# CHECK16-NEXT:  }41 42# ROUNDTRIP16:        ExportTable:43# ROUNDTRIP16-NEXT:     RelativeVirtualAddress: 044# ROUNDTRIP16-NEXT:     Size:            045# ROUNDTRIP16-NEXT:   ImportTable:46# ROUNDTRIP16-NEXT:     RelativeVirtualAddress: 047# ROUNDTRIP16-NEXT:     Size:            048# ROUNDTRIP16-NEXT:   ResourceTable:49# ROUNDTRIP16-NEXT:     RelativeVirtualAddress: 050# ROUNDTRIP16-NEXT:     Size:            051# ROUNDTRIP16-NEXT:   ExceptionTable:52# ROUNDTRIP16-NEXT:     RelativeVirtualAddress: 053# ROUNDTRIP16-NEXT:     Size:            054# ROUNDTRIP16-NEXT:   CertificateTable:55# ROUNDTRIP16-NEXT:     RelativeVirtualAddress: 056# ROUNDTRIP16-NEXT:     Size:            057# ROUNDTRIP16-NEXT:   BaseRelocationTable:58# ROUNDTRIP16-NEXT:     RelativeVirtualAddress: 059# ROUNDTRIP16-NEXT:     Size:            060# ROUNDTRIP16-NEXT:   Debug:61# ROUNDTRIP16-NEXT:     RelativeVirtualAddress: 062# ROUNDTRIP16-NEXT:     Size:            063# ROUNDTRIP16-NEXT:   Architecture:64# ROUNDTRIP16-NEXT:     RelativeVirtualAddress: 065# ROUNDTRIP16-NEXT:     Size:            066# ROUNDTRIP16-NEXT:   GlobalPtr:67# ROUNDTRIP16-NEXT:     RelativeVirtualAddress: 068# ROUNDTRIP16-NEXT:     Size:            069# ROUNDTRIP16-NEXT:   TlsTable:70# ROUNDTRIP16-NEXT:     RelativeVirtualAddress: 071# ROUNDTRIP16-NEXT:     Size:            072# ROUNDTRIP16-NEXT:   LoadConfigTable:73# ROUNDTRIP16-NEXT:     RelativeVirtualAddress: 074# ROUNDTRIP16-NEXT:     Size:            075# ROUNDTRIP16-NEXT:   BoundImport:76# ROUNDTRIP16-NEXT:     RelativeVirtualAddress: 077# ROUNDTRIP16-NEXT:     Size:            078# ROUNDTRIP16-NEXT:   IAT:79# ROUNDTRIP16-NEXT:     RelativeVirtualAddress: 080# ROUNDTRIP16-NEXT:     Size:            081# ROUNDTRIP16-NEXT:   DelayImportDescriptor:82# ROUNDTRIP16-NEXT:     RelativeVirtualAddress: 083# ROUNDTRIP16-NEXT:     Size:            084# ROUNDTRIP16-NEXT:   ClrRuntimeHeader:85# ROUNDTRIP16-NEXT:     RelativeVirtualAddress: 086# ROUNDTRIP16-NEXT:     Size:            087# ROUNDTRIP16-NEXT: header:88 89--- !COFF90OptionalHeader:91  AddressOfEntryPoint: 409692  ImageBase:       093  SectionAlignment: 409694  FileAlignment:   51295  MajorOperatingSystemVersion: 096  MinorOperatingSystemVersion: 097  MajorImageVersion: 098  MinorImageVersion: 099  MajorSubsystemVersion: 0100  MinorSubsystemVersion: 0101  Subsystem:       IMAGE_SUBSYSTEM_EFI_APPLICATION102  DLLCharacteristics: [  ]103  SizeOfStackReserve: 0104  SizeOfStackCommit: 0105  SizeOfHeapReserve: 0106  SizeOfHeapCommit: 0107header:108  Machine:         IMAGE_FILE_MACHINE_AMD64109  Characteristics: [ ]110sections:111  - Name:            foo112    Characteristics: [ ]113    Alignment:       4114symbols:115...116 117## Check setting NumberOfRvaAndSize equal to the default (output should118## be the same as when unset).119# RUN: yaml2obj --docnum=2 %s -o %t -DNUMRVA=16120# RUN: llvm-readobj --file-headers %t | FileCheck %s --check-prefix=CHECK16121# RUN: obj2yaml %t | FileCheck %s --check-prefix=ROUNDTRIP16122 123## Check that NumberOfRvaAndSize can be zero.124# RUN: yaml2obj --docnum=2 %s -o %t -DNUMRVA=0125# RUN: llvm-readobj --file-headers %t | FileCheck %s --check-prefix=CHECK0126# RUN: obj2yaml %t | FileCheck %s --check-prefix=ROUNDTRIP0127 128# CHECK0:      NumberOfRvaAndSize: 0129# CHECK0-NOT:  DataDirectory130 131# ROUNDTRIP0:      NumberOfRvaAndSize: 0132# ROUNDTRIP0-NOT:  ExportTable133 134## Check setting NumberOfRvaAndSize to number below default.135# RUN: yaml2obj --docnum=2 %s -o %t -DNUMRVA=6136# RUN: llvm-readobj --file-headers %t | FileCheck %s --check-prefix=CHECK6137# RUN: obj2yaml %t | FileCheck %s --check-prefix=ROUNDTRIP6138 139# CHECK6:       NumberOfRvaAndSize: 6140# CHECK6-NEXT:  DataDirectory {141# CHECK6-NEXT:    ExportTableRVA: 0x0142# CHECK6-NEXT:    ExportTableSize: 0x0143# CHECK6-NEXT:    ImportTableRVA: 0x0144# CHECK6-NEXT:    ImportTableSize: 0x0145# CHECK6-NEXT:    ResourceTableRVA: 0x0146# CHECK6-NEXT:    ResourceTableSize: 0x0147# CHECK6-NEXT:    ExceptionTableRVA: 0x0148# CHECK6-NEXT:    ExceptionTableSize: 0x0149# CHECK6-NEXT:    CertificateTableRVA: 0x0150# CHECK6-NEXT:    CertificateTableSize: 0x0151# CHECK6-NEXT:    BaseRelocationTableRVA: 0x0152# CHECK6-NEXT:    BaseRelocationTableSize: 0x0153# CHECK6-NEXT:  }154 155# ROUNDTRIP6:        NumberOfRvaAndSize: 6156# ROUNDTRIP6-NEXT:   ExportTable:157# ROUNDTRIP6-NEXT:     RelativeVirtualAddress: 0158# ROUNDTRIP6-NEXT:     Size:            0159# ROUNDTRIP6-NEXT:   ImportTable:160# ROUNDTRIP6-NEXT:     RelativeVirtualAddress: 0161# ROUNDTRIP6-NEXT:     Size:            0162# ROUNDTRIP6-NEXT:   ResourceTable:163# ROUNDTRIP6-NEXT:     RelativeVirtualAddress: 0164# ROUNDTRIP6-NEXT:     Size:            0165# ROUNDTRIP6-NEXT:   ExceptionTable:166# ROUNDTRIP6-NEXT:     RelativeVirtualAddress: 0167# ROUNDTRIP6-NEXT:     Size:            0168# ROUNDTRIP6-NEXT:   CertificateTable:169# ROUNDTRIP6-NEXT:     RelativeVirtualAddress: 0170# ROUNDTRIP6-NEXT:     Size:            0171# ROUNDTRIP6-NEXT:   BaseRelocationTable:172# ROUNDTRIP6-NEXT:     RelativeVirtualAddress: 0173# ROUNDTRIP6-NEXT:     Size:            0174# ROUNDTRIP6-NEXT: header:175 176## Check setting NumberOfRvaAndSize to number above default.177# RUN: yaml2obj --docnum=2 %s -o %t -DNUMRVA=18178# RUN: llvm-readobj --file-headers %t | FileCheck %s --check-prefix=CHECK18179# RUN: obj2yaml %t | FileCheck %s --check-prefix=ROUNDTRIP18180 181# CHECK18:       NumberOfRvaAndSize: 18182# CHECK18-NEXT:  DataDirectory {183# CHECK18-NEXT:    ExportTableRVA: 0x0184# CHECK18-NEXT:    ExportTableSize: 0x0185# CHECK18-NEXT:    ImportTableRVA: 0x0186# CHECK18-NEXT:    ImportTableSize: 0x0187# CHECK18-NEXT:    ResourceTableRVA: 0x0188# CHECK18-NEXT:    ResourceTableSize: 0x0189# CHECK18-NEXT:    ExceptionTableRVA: 0x0190# CHECK18-NEXT:    ExceptionTableSize: 0x0191# CHECK18-NEXT:    CertificateTableRVA: 0x0192# CHECK18-NEXT:    CertificateTableSize: 0x0193# CHECK18-NEXT:    BaseRelocationTableRVA: 0x0194# CHECK18-NEXT:    BaseRelocationTableSize: 0x0195# CHECK18-NEXT:    DebugRVA: 0x0196# CHECK18-NEXT:    DebugSize: 0x0197# CHECK18-NEXT:    ArchitectureRVA: 0x0198# CHECK18-NEXT:    ArchitectureSize: 0x0199# CHECK18-NEXT:    GlobalPtrRVA: 0x0200# CHECK18-NEXT:    GlobalPtrSize: 0x0201# CHECK18-NEXT:    TLSTableRVA: 0x0202# CHECK18-NEXT:    TLSTableSize: 0x0203# CHECK18-NEXT:    LoadConfigTableRVA: 0x0204# CHECK18-NEXT:    LoadConfigTableSize: 0x0205# CHECK18-NEXT:    BoundImportRVA: 0x0206# CHECK18-NEXT:    BoundImportSize: 0x0207# CHECK18-NEXT:    IATRVA: 0x0208# CHECK18-NEXT:    IATSize: 0x0209# CHECK18-NEXT:    DelayImportDescriptorRVA: 0x0210# CHECK18-NEXT:    DelayImportDescriptorSize: 0x0211# CHECK18-NEXT:    CLRRuntimeHeaderRVA: 0x0212# CHECK18-NEXT:    CLRRuntimeHeaderSize: 0x0213# CHECK18-NEXT:    ReservedRVA: 0x0214# CHECK18-NEXT:    ReservedSize: 0x0215# CHECK18-NEXT:    UnknownRVA: 0x0216# CHECK18-NEXT:    UnknownSize: 0x0217# CHECK18-NEXT:    UnknownRVA: 0x0218# CHECK18-NEXT:    UnknownSize: 0x0219# CHECK18-NEXT:  }220 221# ROUNDTRIP18:        NumberOfRvaAndSize: 18222# ROUNDTRIP18-NEXT:   ExportTable:223# ROUNDTRIP18-NEXT:     RelativeVirtualAddress: 0224# ROUNDTRIP18-NEXT:     Size:            0225# ROUNDTRIP18-NEXT:   ImportTable:226# ROUNDTRIP18-NEXT:     RelativeVirtualAddress: 0227# ROUNDTRIP18-NEXT:     Size:            0228# ROUNDTRIP18-NEXT:   ResourceTable:229# ROUNDTRIP18-NEXT:     RelativeVirtualAddress: 0230# ROUNDTRIP18-NEXT:     Size:            0231# ROUNDTRIP18-NEXT:   ExceptionTable:232# ROUNDTRIP18-NEXT:     RelativeVirtualAddress: 0233# ROUNDTRIP18-NEXT:     Size:            0234# ROUNDTRIP18-NEXT:   CertificateTable:235# ROUNDTRIP18-NEXT:     RelativeVirtualAddress: 0236# ROUNDTRIP18-NEXT:     Size:            0237# ROUNDTRIP18-NEXT:   BaseRelocationTable:238# ROUNDTRIP18-NEXT:     RelativeVirtualAddress: 0239# ROUNDTRIP18-NEXT:     Size:            0240# ROUNDTRIP18-NEXT:   Debug:241# ROUNDTRIP18-NEXT:     RelativeVirtualAddress: 0242# ROUNDTRIP18-NEXT:     Size:            0243# ROUNDTRIP18-NEXT:   Architecture:244# ROUNDTRIP18-NEXT:     RelativeVirtualAddress: 0245# ROUNDTRIP18-NEXT:     Size:            0246# ROUNDTRIP18-NEXT:   GlobalPtr:247# ROUNDTRIP18-NEXT:     RelativeVirtualAddress: 0248# ROUNDTRIP18-NEXT:     Size:            0249# ROUNDTRIP18-NEXT:   TlsTable:250# ROUNDTRIP18-NEXT:     RelativeVirtualAddress: 0251# ROUNDTRIP18-NEXT:     Size:            0252# ROUNDTRIP18-NEXT:   LoadConfigTable:253# ROUNDTRIP18-NEXT:     RelativeVirtualAddress: 0254# ROUNDTRIP18-NEXT:     Size:            0255# ROUNDTRIP18-NEXT:   BoundImport:256# ROUNDTRIP18-NEXT:     RelativeVirtualAddress: 0257# ROUNDTRIP18-NEXT:     Size:            0258# ROUNDTRIP18-NEXT:   IAT:259# ROUNDTRIP18-NEXT:     RelativeVirtualAddress: 0260# ROUNDTRIP18-NEXT:     Size:            0261# ROUNDTRIP18-NEXT:   DelayImportDescriptor:262# ROUNDTRIP18-NEXT:     RelativeVirtualAddress: 0263# ROUNDTRIP18-NEXT:     Size:            0264# ROUNDTRIP18-NEXT:   ClrRuntimeHeader:265# ROUNDTRIP18-NEXT:     RelativeVirtualAddress: 0266# ROUNDTRIP18-NEXT:     Size:            0267# ROUNDTRIP18-NEXT: header:268 269--- !COFF270OptionalHeader:271  AddressOfEntryPoint: 4096272  ImageBase:       0273  SectionAlignment: 4096274  FileAlignment:   512275  MajorOperatingSystemVersion: 0276  MinorOperatingSystemVersion: 0277  MajorImageVersion: 0278  MinorImageVersion: 0279  MajorSubsystemVersion: 0280  MinorSubsystemVersion: 0281  Subsystem:       IMAGE_SUBSYSTEM_EFI_APPLICATION282  DLLCharacteristics: [  ]283  SizeOfStackReserve: 0284  SizeOfStackCommit: 0285  SizeOfHeapReserve: 0286  SizeOfHeapCommit: 0287  NumberOfRvaAndSize: [[NUMRVA]]288header:289  Machine:         IMAGE_FILE_MACHINE_AMD64290  Characteristics: [ ]291sections:292  - Name:            foo293    Characteristics: [ ]294    Alignment:       4295symbols:296...297