92 lines · plain
1Verify that llvm-ar uses COFF archive format by ensuring that archive map is sorted.2 3RUN: rm -rf %t.dir && split-file %s %t.dir && cd %t.dir4 5RUN: yaml2obj coff-symtab.yaml -o coff-symtab.obj6RUN: llvm-ar crs out.a coff-symtab.obj7RUN: llvm-nm --print-armap out.a | FileCheck %s8 9RUN: llvm-as coff-symtab.ll -o coff-symtab.bc10RUN: llvm-ar crs out2.a coff-symtab.bc11RUN: llvm-nm --print-armap out2.a | FileCheck %s12 13RUN: yaml2obj elf.yaml -o coff-symtab.o14RUN: llvm-ar crs --format coff out3.a coff-symtab.o15RUN: llvm-nm --print-armap out3.a | FileCheck %s16 17Create an empty archive with no symbol map, add a COFF file to it and check that the output archive is a COFF archive.18 19RUN: llvm-ar --format coff rcS out4.a20RUN: llvm-ar rs out4.a coff-symtab.obj21RUN: llvm-nm --print-armap out4.a | FileCheck %s22 23CHECK: Archive map24CHECK-NEXT: a in coff-symtab25CHECK-NEXT: b in coff-symtab26CHECK-NEXT: c in coff-symtab27CHECK-EMPTY:28 29#--- coff-symtab.yaml30--- !COFF31header:32 Machine: IMAGE_FILE_MACHINE_UNKNOWN33 Characteristics: [ ]34sections:35 - Name: .text36 Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]37 Alignment: 438 SectionData: ''39symbols:40 - Name: b41 Value: 042 SectionNumber: 143 SimpleType: IMAGE_SYM_TYPE_NULL44 ComplexType: IMAGE_SYM_DTYPE_FUNCTION45 StorageClass: IMAGE_SYM_CLASS_EXTERNAL46 - Name: c47 Value: 048 SectionNumber: 149 SimpleType: IMAGE_SYM_TYPE_NULL50 ComplexType: IMAGE_SYM_DTYPE_FUNCTION51 StorageClass: IMAGE_SYM_CLASS_EXTERNAL52 - Name: a53 Value: 054 SectionNumber: 155 SimpleType: IMAGE_SYM_TYPE_NULL56 ComplexType: IMAGE_SYM_DTYPE_FUNCTION57 StorageClass: IMAGE_SYM_CLASS_EXTERNAL58...59 60 61#--- coff-symtab.ll62target triple = "x86_64-unknown-windows-msvc"63 64define void @b() { ret void }65define void @c() { ret void }66define void @a() { ret void }67 68#--- elf.yaml69--- !ELF70FileHeader:71 Class: ELFCLASS6472 Data : ELFDATA2LSB73 Type: ET_REL74 Machine: EM_X86_6475Sections:76 - Name: .text77 Type: SHT_PROGBITS78 Flags: [ SHF_ALLOC, SHF_EXECINSTR ]79 AddressAlign: 0x000000000000000480 Content: ''81Symbols:82 - Name: b83 Binding: STB_GLOBAL84 Section: .text85 - Name: c86 Binding: STB_GLOBAL87 Section: .text88 - Name: a89 Binding: STB_GLOBAL90 Section: .text91...92