diff --git a/llvm/lib/ObjectYAML/ELFYAML.cpp b/llvm/lib/ObjectYAML/ELFYAML.cpp --- a/llvm/lib/ObjectYAML/ELFYAML.cpp +++ b/llvm/lib/ObjectYAML/ELFYAML.cpp @@ -434,10 +434,8 @@ BCase(EF_AMDGPU_XNACK); BCase(EF_AMDGPU_SRAM_ECC); break; - case ELF::EM_X86_64: - break; default: - llvm_unreachable("Unsupported architecture"); + break; } #undef BCase #undef BCaseMask diff --git a/llvm/test/tools/yaml2obj/ELF/eflags.yaml b/llvm/test/tools/yaml2obj/ELF/eflags.yaml new file mode 100644 --- /dev/null +++ b/llvm/test/tools/yaml2obj/ELF/eflags.yaml @@ -0,0 +1,16 @@ +## Check how the 'Flags' key can be used to encode e_flags field values. + +## Check we are able to produce no flags for EM_NONE. EM_NONE is an arbitrary +## e_machine type that has no EF_* values defined for it. +# RUN: yaml2obj %s -o %t-no-flags +# RUN: llvm-readelf --file-headers %t-no-flags | FileCheck %s --check-prefix=NOFLAGS + +# NOFLAGS: Flags: 0x0{{$}} + +--- !ELF +FileHeader: + Class: ELFCLASS32 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_NONE + Flags: [ ]