forked from OSchip/llvm-project
144 lines
4.5 KiB
Plaintext
144 lines
4.5 KiB
Plaintext
# RUN: yaml2obj --docnum=1 %s -o %t
|
|
# RUN: llvm-ifs --input-format=ELF --output-ifs=- %t | FileCheck %s -DTARGET="{ ObjectFormat: ELF, Arch: x86_64, Endianness: little, BitWidth: 64 }"
|
|
# RUN: llvm-ifs --input-format=ELF --output-ifs=- --hint-ifs-target="x86_64-linux-gnu" %t | FileCheck %s -DTARGET="x86_64-linux-gnu"
|
|
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2LSB
|
|
Type: ET_DYN
|
|
Machine: EM_X86_64
|
|
Sections:
|
|
- Name: .dynstr
|
|
Type: SHT_STRTAB
|
|
Flags: [ SHF_ALLOC ]
|
|
Address: 0x0000
|
|
Content: "00"
|
|
- Name: .dynamic
|
|
Type: SHT_DYNAMIC
|
|
Flags: [ SHF_ALLOC ]
|
|
Address: 0x0000000000000008
|
|
Link: .dynstr
|
|
AddressAlign: 0x0000000000000008
|
|
EntSize: 0x0000000000000010
|
|
Entries:
|
|
- Tag: DT_STRSZ
|
|
Value: 0x0000000000000001
|
|
- Tag: DT_STRTAB
|
|
Value: 0x0000000000000000
|
|
- Tag: DT_SYMTAB
|
|
Value: 0x0000000000000000
|
|
- Tag: DT_NULL
|
|
Value: 0x0000000000000000
|
|
ProgramHeaders:
|
|
- Type: PT_LOAD
|
|
Flags: [ PF_R ]
|
|
VAddr: 0x0000
|
|
Align: 8
|
|
FirstSec: .dynstr
|
|
LastSec: .dynamic
|
|
- Type: PT_DYNAMIC
|
|
Flags: [ PF_X, PF_R ]
|
|
VAddr: 0x0008
|
|
FirstSec: .dynamic
|
|
LastSec: .dynamic
|
|
|
|
# CHECK: --- !ifs-v1
|
|
# CHECK-NEXT: IfsVersion: {{[1-9]\d*\.(0|([1-9]\d*))}}
|
|
# CHECK-NEXT: Target: [[TARGET]]
|
|
# CHECK-NEXT: Symbols: []
|
|
# CHECK-NEXT: ...
|
|
|
|
# HINTERR: error: Triple hint does not match the actual [[MSG]]
|
|
|
|
# RUN: yaml2obj --docnum=1 %s -o %t
|
|
# RUN: not llvm-ifs --input-format=ELF --output-ifs=%t.tbe --hint-ifs-target="aarch64-linux-gnu" %t 2>&1 | FileCheck %s -DMSG=architecture --check-prefix=HINTERR
|
|
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2MSB
|
|
Type: ET_DYN
|
|
Machine: EM_X86_64
|
|
Sections:
|
|
- Name: .dynstr
|
|
Type: SHT_STRTAB
|
|
Flags: [ SHF_ALLOC ]
|
|
Address: 0x0000
|
|
Content: "00"
|
|
- Name: .dynamic
|
|
Type: SHT_DYNAMIC
|
|
Flags: [ SHF_ALLOC ]
|
|
Address: 0x0000000000000008
|
|
Link: .dynstr
|
|
AddressAlign: 0x0000000000000008
|
|
EntSize: 0x0000000000000010
|
|
Entries:
|
|
- Tag: DT_STRSZ
|
|
Value: 0x0000000000000001
|
|
- Tag: DT_STRTAB
|
|
Value: 0x0000000000000000
|
|
- Tag: DT_SYMTAB
|
|
Value: 0x0000000000000000
|
|
- Tag: DT_NULL
|
|
Value: 0x0000000000000000
|
|
ProgramHeaders:
|
|
- Type: PT_LOAD
|
|
Flags: [ PF_R ]
|
|
VAddr: 0x0000
|
|
Align: 8
|
|
FirstSec: .dynstr
|
|
LastSec: .dynamic
|
|
- Type: PT_DYNAMIC
|
|
Flags: [ PF_X, PF_R ]
|
|
VAddr: 0x0008
|
|
FirstSec: .dynamic
|
|
LastSec: .dynamic
|
|
|
|
# RUN: yaml2obj --docnum=2 %s -o %t
|
|
# RUN: not llvm-ifs --input-format=ELF --output-ifs=%t.tbe --hint-ifs-target="x86_64-unknown-linux-gnu" %t 2>&1 | FileCheck %s -DMSG="endianness" --check-prefix=HINTERR
|
|
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS32
|
|
Data: ELFDATA2LSB
|
|
Type: ET_DYN
|
|
Machine: EM_X86_64
|
|
Sections:
|
|
- Name: .dynstr
|
|
Type: SHT_STRTAB
|
|
Flags: [ SHF_ALLOC ]
|
|
Address: 0x0000
|
|
Content: "00"
|
|
- Name: .dynamic
|
|
Type: SHT_DYNAMIC
|
|
Flags: [ SHF_ALLOC ]
|
|
Address: 0x0000000000000008
|
|
Link: .dynstr
|
|
AddressAlign: 0x0000000000000008
|
|
EntSize: 0x0000000000000010
|
|
Entries:
|
|
- Tag: DT_STRSZ
|
|
Value: 0x0000000000000001
|
|
- Tag: DT_STRTAB
|
|
Value: 0x0000000000000000
|
|
- Tag: DT_SYMTAB
|
|
Value: 0x0000000000000000
|
|
- Tag: DT_NULL
|
|
Value: 0x0000000000000000
|
|
ProgramHeaders:
|
|
- Type: PT_LOAD
|
|
Flags: [ PF_R ]
|
|
VAddr: 0x0000
|
|
Align: 8
|
|
FirstSec: .dynstr
|
|
LastSec: .dynamic
|
|
- Type: PT_DYNAMIC
|
|
Flags: [ PF_X, PF_R ]
|
|
VAddr: 0x0008
|
|
FirstSec: .dynamic
|
|
LastSec: .dynamic
|
|
|
|
# RUN: yaml2obj --docnum=3 %s -o %t
|
|
# RUN: not llvm-ifs --input-format=ELF --output-ifs=%t.tbe --hint-ifs-target="x86_64-unknown-linux-gnu" %t 2>&1 | FileCheck %s -DMSG="bit width" --check-prefix=HINTERR
|