# REQUIRES: x86 # RUN: yaml2obj < %p/Inputs/hello32.yaml > %t.obj # RUN: lld-link %t.obj %p/Inputs/std32.lib /subsystem:console \ # RUN: /entry:main@0 /alternatename:___delayLoadHelper2@8=_main@0 \ # RUN: /debug /delayload:std32.dll /out:%t.exe # RUN: llvm-readobj -coff-imports %t.exe | FileCheck -check-prefix=IMPORT %s # RUN: llvm-readobj -coff-basereloc %t.exe | FileCheck -check-prefix=BASEREL %s # RUN: llvm-objdump -d %t.exe | FileCheck -check-prefix=DISASM %s IMPORT: Format: COFF-i386 IMPORT-NEXT: Arch: i386 IMPORT-NEXT: AddressSize: 32bit IMPORT-NEXT: DelayImport { IMPORT-NEXT: Name: std32.dll IMPORT-NEXT: Attributes: 0x1 IMPORT-NEXT: ModuleHandle: 0x1018 IMPORT-NEXT: ImportAddressTable: 0x1020 IMPORT-NEXT: ImportNameTable: 0x4040 IMPORT-NEXT: BoundDelayImportTable: 0x0 IMPORT-NEXT: UnloadDelayImportTable: 0x0 IMPORT-NEXT: Import { IMPORT-NEXT: Symbol: ExitProcess (0) IMPORT-NEXT: Address: 0x402029 IMPORT-NEXT: } IMPORT-NEXT: Import { IMPORT-NEXT: Symbol: MessageBoxA (0) IMPORT-NEXT: Address: 0x40203E IMPORT-NEXT: } IMPORT-NEXT: } BASEREL: BaseReloc [ BASEREL-NEXT: Entry { BASEREL-NEXT: Type: HIGHLOW BASEREL-NEXT: Address: 0x1020 BASEREL-NEXT: } BASEREL-NEXT: Entry { BASEREL-NEXT: Type: HIGHLOW BASEREL-NEXT: Address: 0x1024 BASEREL-NEXT: } BASEREL-NEXT: Entry { BASEREL-NEXT: Type: HIGHLOW BASEREL-NEXT: Address: 0x2005 BASEREL-NEXT: } BASEREL-NEXT: Entry { BASEREL-NEXT: Type: HIGHLOW BASEREL-NEXT: Address: 0x200C BASEREL-NEXT: } BASEREL-NEXT: Entry { BASEREL-NEXT: Type: HIGHLOW BASEREL-NEXT: Address: 0x201F BASEREL-NEXT: } BASEREL-NEXT: Entry { BASEREL-NEXT: Type: HIGHLOW BASEREL-NEXT: Address: 0x2025 BASEREL-NEXT: } BASEREL-NEXT: Entry { BASEREL-NEXT: Type: HIGHLOW BASEREL-NEXT: Address: 0x202C BASEREL-NEXT: } BASEREL-NEXT: Entry { BASEREL-NEXT: Type: HIGHLOW BASEREL-NEXT: Address: 0x2031 BASEREL-NEXT: } BASEREL-NEXT: Entry { BASEREL-NEXT: Type: HIGHLOW BASEREL-NEXT: Address: 0x2041 BASEREL-NEXT: } BASEREL-NEXT: Entry { BASEREL-NEXT: Type: HIGHLOW BASEREL-NEXT: Address: 0x2046 BASEREL-NEXT: } BASEREL-NEXT: ] DISASM: 202b: 68 20 10 40 00 pushl $4198432 DISASM-NEXT: 2030: 68 00 40 40 00 pushl $4210688 DISASM-NEXT: 2035: e8 c6 ff ff ff calll -58 <.text> DISASM-NEXT: 203a: 5a popl %edx DISASM-NEXT: 203b: 59 popl %ecx DISASM-NEXT: 203c: ff e0 jmpl *%eax DISASM-NEXT: 203e: 51 pushl %ecx DISASM-NEXT: 203f: 52 pushl %edx DISASM-NEXT: 2040: 68 24 10 40 00 pushl $4198436 DISASM-NEXT: 2045: 68 00 40 40 00 pushl $4210688 DISASM-NEXT: 204a: e8 b1 ff ff ff calll -79 <.text> DISASM-NEXT: 204f: 5a popl %edx DISASM-NEXT: 2050: 59 popl %ecx DISASM-NEXT: 2051: ff e0 jmpl *%eax