35 lines
931 B
YAML
35 lines
931 B
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 -D MACHINE=0x1234 %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: [[MACHINE]]
|
|
|
|
## Test we can't use a number that doesn't fit into 2 bytes.
|
|
|
|
# RUN: not yaml2obj -D MACHINE=0x12345 %s 2>&1 | FileCheck %s --check-prefix=ERR
|
|
|
|
# ERR: error: out of range hex16 number
|
|
|
|
## Test we can use a known named constant.
|
|
|
|
# RUN: yaml2obj -D MACHINE=EM_NONE %s -o %t3
|
|
# RUN: llvm-readelf %t3 --file-headers | FileCheck %s --check-prefix=NONE
|
|
|
|
# NONE: Machine: None
|
|
|
|
## Test we can't use an unknown string constant.
|
|
|
|
# RUN: not yaml2obj -D MACHINE=EM_UNKNOWN_FOO %s 2>&1 | FileCheck %s --check-prefix=ERR2
|
|
|
|
# ERR2: error: invalid hex16 number
|