forked from OSchip/llvm-project
56 lines
1.2 KiB
YAML
56 lines
1.2 KiB
YAML
## Test how the Machine YAML field can be used to set the e_machine ELF header field.
|
|
|
|
## Test we can use an arbitrary value.
|
|
|
|
# RUN: yaml2obj --docnum=1 %s -o %t1
|
|
# RUN: llvm-readelf %t1 --file-headers | FileCheck %s --check-prefix=UNKNOWN
|
|
|
|
# UNKNOWN: Machine: 1234
|
|
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2MSB
|
|
Type: ET_REL
|
|
Machine: 0x1234
|
|
|
|
## Test we can't use a number that doesn't fit into 2 bytes.
|
|
|
|
# RUN: not yaml2obj --docnum=2 %s 2>&1 | FileCheck %s --check-prefix=ERR
|
|
|
|
# ERR: error: out of range hex16 number
|
|
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2MSB
|
|
Type: ET_REL
|
|
Machine: 0x12345
|
|
|
|
## Test we can use a known named constant.
|
|
|
|
# RUN: yaml2obj --docnum=3 %s -o %t3
|
|
# RUN: llvm-readelf %t3 --file-headers | FileCheck %s --check-prefix=NONE
|
|
|
|
# NONE: Machine: None
|
|
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2MSB
|
|
Type: ET_REL
|
|
Machine: EM_NONE
|
|
|
|
## Test we can't use an unknown string constant.
|
|
|
|
# RUN: not yaml2obj --docnum=4 %s 2>&1 | FileCheck %s --check-prefix=ERR2
|
|
|
|
# ERR2: error: invalid hex16 number
|
|
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2MSB
|
|
Type: ET_REL
|
|
Machine: EM_UNKNOWN_FOO
|