brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.8 KiB · 2a84d35 Raw
105 lines · plain
1// Check that cvtres properly generates COFF for different machine types. The2// only things that changes with machine type are the machine constant listed3// in the COFF header, and the relocation types in the relocation tables.4// The input was generated with the following command, using the original Windows5// rc.exe:6// > rc /fo test_resource.res /nologo test_resource.rc7// The object files we are comparing against were generated with these commands8// using the original Windows cvtres.exe.9// > cvtres /machine:X86 /readonly /nologo /out:test_resource.obj.coff \ 10// 	 test_resource.res11// > cvtres /machine:X64 /readonly /nologo /out:test_resource.obj.coff.x64 \ 12// 	 test_resource.res13// > cvtres /machine:ARM /readonly /nologo /out:test_resource.obj.coff.x64 \ 14// 	 test_resource.res15 16RUN: llvm-cvtres /machine:X86 /out:%t %p/Inputs/test_resource.res17RUN: llvm-readobj -h -r %t | FileCheck %s -check-prefix=X8618 19RUN: llvm-cvtres /machine:X64 /out:%t %p/Inputs/test_resource.res20RUN: llvm-readobj -h -r %t | FileCheck %s -check-prefix=X6421 22RUN: llvm-cvtres /machine:ARM /out:%t %p/Inputs/test_resource.res23RUN: llvm-readobj -h -r %t | FileCheck %s -check-prefix=ARM24 25RUN: llvm-cvtres /machine:ARM64 /out:%t %p/Inputs/test_resource.res26RUN: llvm-readobj -h -r %t | FileCheck %s -check-prefix=ARM6427 28RUN: llvm-cvtres /machine:ARM64EC /out:%t %p/Inputs/test_resource.res29RUN: llvm-readobj -h -r %t | FileCheck %s -check-prefix=ARM64EC30 31RUN: llvm-cvtres /machine:ARM64X /out:%t %p/Inputs/test_resource.res32RUN: llvm-readobj -h -r %t | FileCheck %s -check-prefix=ARM64X33 34X86:         Machine: IMAGE_FILE_MACHINE_I386 (0x14C)35X86-DAG:   Relocations [36X86-DAG:                 .rsrc$01 {37X86-NEXT:      0x1E8 IMAGE_REL_I386_DIR32NB $R00000038X86-NEXT:      0x198 IMAGE_REL_I386_DIR32NB $R00000139X86-NEXT:      0x1A8 IMAGE_REL_I386_DIR32NB $R00000240X86-NEXT:      0x1C8 IMAGE_REL_I386_DIR32NB $R00000341X86-NEXT:      0x1D8 IMAGE_REL_I386_DIR32NB $R00000442X86-NEXT:      0x1F8 IMAGE_REL_I386_DIR32NB $R00000543X86-NEXT:      0x1B8 IMAGE_REL_I386_DIR32NB $R00000644X86-NEXT:      0x188 IMAGE_REL_I386_DIR32NB $R00000745 46X64:         Machine: IMAGE_FILE_MACHINE_AMD64 (0x8664)47X64-DAG:   Relocations [48X64-DAG:                 .rsrc$01 {49X64-NEXT:      0x1E8 IMAGE_REL_AMD64_ADDR32NB $R00000050X64-NEXT:      0x198 IMAGE_REL_AMD64_ADDR32NB $R00000151X64-NEXT:      0x1A8 IMAGE_REL_AMD64_ADDR32NB $R00000252X64-NEXT:      0x1C8 IMAGE_REL_AMD64_ADDR32NB $R00000353X64-NEXT:      0x1D8 IMAGE_REL_AMD64_ADDR32NB $R00000454X64-NEXT:      0x1F8 IMAGE_REL_AMD64_ADDR32NB $R00000555X64-NEXT:      0x1B8 IMAGE_REL_AMD64_ADDR32NB $R00000656X64-NEXT:      0x188 IMAGE_REL_AMD64_ADDR32NB $R00000757 58ARM:         Machine: IMAGE_FILE_MACHINE_ARMNT (0x1C4)59ARM-DAG:   Relocations [60ARM-DAG:                 .rsrc$01 {61ARM-NEXT:      0x1E8 IMAGE_REL_ARM_ADDR32NB $R00000062ARM-NEXT:      0x198 IMAGE_REL_ARM_ADDR32NB $R00000163ARM-NEXT:      0x1A8 IMAGE_REL_ARM_ADDR32NB $R00000264ARM-NEXT:      0x1C8 IMAGE_REL_ARM_ADDR32NB $R00000365ARM-NEXT:      0x1D8 IMAGE_REL_ARM_ADDR32NB $R00000466ARM-NEXT:      0x1F8 IMAGE_REL_ARM_ADDR32NB $R00000567ARM-NEXT:      0x1B8 IMAGE_REL_ARM_ADDR32NB $R00000668ARM-NEXT:      0x188 IMAGE_REL_ARM_ADDR32NB $R00000769 70ARM64:       Machine: IMAGE_FILE_MACHINE_ARM64 (0xAA64)71ARM64-DAG: Relocations [72ARM64-DAG:               .rsrc$01 {73ARM64-NEXT:    0x1E8 IMAGE_REL_ARM64_ADDR32NB $R00000074ARM64-NEXT:    0x198 IMAGE_REL_ARM64_ADDR32NB $R00000175ARM64-NEXT:    0x1A8 IMAGE_REL_ARM64_ADDR32NB $R00000276ARM64-NEXT:    0x1C8 IMAGE_REL_ARM64_ADDR32NB $R00000377ARM64-NEXT:    0x1D8 IMAGE_REL_ARM64_ADDR32NB $R00000478ARM64-NEXT:    0x1F8 IMAGE_REL_ARM64_ADDR32NB $R00000579ARM64-NEXT:    0x1B8 IMAGE_REL_ARM64_ADDR32NB $R00000680ARM64-NEXT:    0x188 IMAGE_REL_ARM64_ADDR32NB $R00000781 82ARM64EC:       Machine: IMAGE_FILE_MACHINE_ARM64EC (0xA641)83ARM64EC-DAG: Relocations [84ARM64EC-DAG:               .rsrc$01 {85ARM64EC-NEXT:    0x1E8 IMAGE_REL_ARM64_ADDR32NB $R00000086ARM64EC-NEXT:    0x198 IMAGE_REL_ARM64_ADDR32NB $R00000187ARM64EC-NEXT:    0x1A8 IMAGE_REL_ARM64_ADDR32NB $R00000288ARM64EC-NEXT:    0x1C8 IMAGE_REL_ARM64_ADDR32NB $R00000389ARM64EC-NEXT:    0x1D8 IMAGE_REL_ARM64_ADDR32NB $R00000490ARM64EC-NEXT:    0x1F8 IMAGE_REL_ARM64_ADDR32NB $R00000591ARM64EC-NEXT:    0x1B8 IMAGE_REL_ARM64_ADDR32NB $R00000692ARM64EC-NEXT:    0x188 IMAGE_REL_ARM64_ADDR32NB $R00000793 94ARM64X:       Machine: IMAGE_FILE_MACHINE_ARM64X (0xA64E)95ARM64X-DAG: Relocations [96ARM64X-DAG:               .rsrc$01 {97ARM64X-NEXT:    0x1E8 IMAGE_REL_ARM64_ADDR32NB $R00000098ARM64X-NEXT:    0x198 IMAGE_REL_ARM64_ADDR32NB $R00000199ARM64X-NEXT:    0x1A8 IMAGE_REL_ARM64_ADDR32NB $R000002100ARM64X-NEXT:    0x1C8 IMAGE_REL_ARM64_ADDR32NB $R000003101ARM64X-NEXT:    0x1D8 IMAGE_REL_ARM64_ADDR32NB $R000004102ARM64X-NEXT:    0x1F8 IMAGE_REL_ARM64_ADDR32NB $R000005103ARM64X-NEXT:    0x1B8 IMAGE_REL_ARM64_ADDR32NB $R000006104ARM64X-NEXT:    0x188 IMAGE_REL_ARM64_ADDR32NB $R000007105