1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00
llvm-mirror/test/tools/llvm-cvtres/machine.test
Fangrui Song b2d3b0af04 [llvm-readobj] Change -long-option to --long-option in tests. NFC
We use both -long-option and --long-option in tests. Switch to --long-option for consistency.

In the "llvm-readelf" mode, -long-option is discouraged as it conflicts with grouped short options and it is not accepted by GNU readelf.

While updating the tests, change llvm-readobj -s to llvm-readobj -S to reduce confusion ("s" is --section-headers in llvm-readobj but --symbols in llvm-readelf).

llvm-svn: 359649
2019-05-01 05:27:20 +00:00

75 lines
3.4 KiB
Plaintext

// Check that cvtres properly generates COFF for different machine types. The
// only things that changes with machine type are the machine constant listed
// in the COFF header, and the relocation types in the relocation tables.
// The input was generated with the following command, using the original Windows
// rc.exe:
// > rc /fo test_resource.res /nologo test_resource.rc
// The object files we are comparing against were generated with these commands
// using the original Windows cvtres.exe.
// > cvtres /machine:X86 /readonly /nologo /out:test_resource.obj.coff \
// test_resource.res
// > cvtres /machine:X64 /readonly /nologo /out:test_resource.obj.coff.x64 \
// test_resource.res
// > cvtres /machine:ARM /readonly /nologo /out:test_resource.obj.coff.x64 \
// test_resource.res
RUN: llvm-cvtres /machine:X86 /out:%t %p/Inputs/test_resource.res
RUN: llvm-readobj -h -r %t | FileCheck %s -check-prefix=X86
RUN: llvm-cvtres /machine:X64 /out:%t %p/Inputs/test_resource.res
RUN: llvm-readobj -h -r %t | FileCheck %s -check-prefix=X64
RUN: llvm-cvtres /machine:ARM /out:%t %p/Inputs/test_resource.res
RUN: llvm-readobj -h -r %t | FileCheck %s -check-prefix=ARM
RUN: llvm-cvtres /machine:ARM64 /out:%t %p/Inputs/test_resource.res
RUN: llvm-readobj -h -r %t | FileCheck %s -check-prefix=ARM64
X86: Machine: IMAGE_FILE_MACHINE_I386 (0x14C)
X86-DAG: Relocations [
X86-DAG: .rsrc$01 {
X86-NEXT: 0x1E8 IMAGE_REL_I386_DIR32NB $R000000
X86-NEXT: 0x198 IMAGE_REL_I386_DIR32NB $R000001
X86-NEXT: 0x1A8 IMAGE_REL_I386_DIR32NB $R000002
X86-NEXT: 0x1C8 IMAGE_REL_I386_DIR32NB $R000003
X86-NEXT: 0x1D8 IMAGE_REL_I386_DIR32NB $R000004
X86-NEXT: 0x1F8 IMAGE_REL_I386_DIR32NB $R000005
X86-NEXT: 0x1B8 IMAGE_REL_I386_DIR32NB $R000006
X86-NEXT: 0x188 IMAGE_REL_I386_DIR32NB $R000007
X64: Machine: IMAGE_FILE_MACHINE_AMD64 (0x8664)
X64-DAG: Relocations [
X64-DAG: .rsrc$01 {
X64-NEXT: 0x1E8 IMAGE_REL_AMD64_ADDR32NB $R000000
X64-NEXT: 0x198 IMAGE_REL_AMD64_ADDR32NB $R000001
X64-NEXT: 0x1A8 IMAGE_REL_AMD64_ADDR32NB $R000002
X64-NEXT: 0x1C8 IMAGE_REL_AMD64_ADDR32NB $R000003
X64-NEXT: 0x1D8 IMAGE_REL_AMD64_ADDR32NB $R000004
X64-NEXT: 0x1F8 IMAGE_REL_AMD64_ADDR32NB $R000005
X64-NEXT: 0x1B8 IMAGE_REL_AMD64_ADDR32NB $R000006
X64-NEXT: 0x188 IMAGE_REL_AMD64_ADDR32NB $R000007
ARM: Machine: IMAGE_FILE_MACHINE_ARMNT (0x1C4)
ARM-DAG: Relocations [
ARM-DAG: .rsrc$01 {
ARM-NEXT: 0x1E8 IMAGE_REL_ARM_ADDR32NB $R000000
ARM-NEXT: 0x198 IMAGE_REL_ARM_ADDR32NB $R000001
ARM-NEXT: 0x1A8 IMAGE_REL_ARM_ADDR32NB $R000002
ARM-NEXT: 0x1C8 IMAGE_REL_ARM_ADDR32NB $R000003
ARM-NEXT: 0x1D8 IMAGE_REL_ARM_ADDR32NB $R000004
ARM-NEXT: 0x1F8 IMAGE_REL_ARM_ADDR32NB $R000005
ARM-NEXT: 0x1B8 IMAGE_REL_ARM_ADDR32NB $R000006
ARM-NEXT: 0x188 IMAGE_REL_ARM_ADDR32NB $R000007
ARM64: Machine: IMAGE_FILE_MACHINE_ARM64 (0xAA64)
ARM64-DAG: Relocations [
ARM64-DAG: .rsrc$01 {
ARM64-NEXT: 0x1E8 IMAGE_REL_ARM64_ADDR32NB $R000000
ARM64-NEXT: 0x198 IMAGE_REL_ARM64_ADDR32NB $R000001
ARM64-NEXT: 0x1A8 IMAGE_REL_ARM64_ADDR32NB $R000002
ARM64-NEXT: 0x1C8 IMAGE_REL_ARM64_ADDR32NB $R000003
ARM64-NEXT: 0x1D8 IMAGE_REL_ARM64_ADDR32NB $R000004
ARM64-NEXT: 0x1F8 IMAGE_REL_ARM64_ADDR32NB $R000005
ARM64-NEXT: 0x1B8 IMAGE_REL_ARM64_ADDR32NB $R000006
ARM64-NEXT: 0x188 IMAGE_REL_ARM64_ADDR32NB $R000007