From b5ef83de3345370f3ee516d7807cff32db6a9088 Mon Sep 17 00:00:00 2001 From: "Michael J. Spencer" Date: Fri, 23 Jan 2015 21:58:09 +0000 Subject: [PATCH] [Object][ELF] Test unknown type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@226943 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Object/ELFYAML.cpp | 1 + lib/Support/Path.cpp | 2 +- test/Object/elf-unknown-type.test | 10 ++++++++++ 3 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 test/Object/elf-unknown-type.test diff --git a/lib/Object/ELFYAML.cpp b/lib/Object/ELFYAML.cpp index 7e35fb5dc61..14aa8317101 100644 --- a/lib/Object/ELFYAML.cpp +++ b/lib/Object/ELFYAML.cpp @@ -30,6 +30,7 @@ ScalarEnumerationTraits::enumeration(IO &IO, ECase(ET_DYN) ECase(ET_CORE) #undef ECase + IO.enumFallback(Value); } void diff --git a/lib/Support/Path.cpp b/lib/Support/Path.cpp index fdb27e6aa66..abec7b9dd22 100644 --- a/lib/Support/Path.cpp +++ b/lib/Support/Path.cpp @@ -960,7 +960,7 @@ file_magic identify_magic(StringRef Magic) { unsigned low = Data2MSB ? 17 : 16; if (Magic[high] == 0) switch (Magic[low]) { - default: break; + default: return file_magic::elf; case 1: return file_magic::elf_relocatable; case 2: return file_magic::elf_executable; case 3: return file_magic::elf_shared_object; diff --git a/test/Object/elf-unknown-type.test b/test/Object/elf-unknown-type.test new file mode 100644 index 00000000000..9993c096376 --- /dev/null +++ b/test/Object/elf-unknown-type.test @@ -0,0 +1,10 @@ +# RUN: yaml2obj -format=elf %s | llvm-readobj -file-headers - | FileCheck %s + +!ELF +FileHeader: !FileHeader + Class: ELFCLASS64 + Data: ELFDATA2LSB + Type: 42 + Machine: EM_X86_64 + +# CHECK: Type: 0x2A -- 2.34.1