[llvm] r262394 - [lanai] Add ELF enum value and relocations.

Jacques Pienaar via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 1 13:21:42 PST 2016


Author: jpienaar
Date: Tue Mar  1 15:21:42 2016
New Revision: 262394

URL: http://llvm.org/viewvc/llvm-project?rev=262394&view=rev
Log:
[lanai] Add ELF enum value and relocations.

Add ELF enum value and relocations for Lanai backed.

General Lanai backend discussion on llvm-dev thread "[RFC] Lanai backend" (http://lists.llvm.org/pipermail/llvm-dev/2016-February/095118.html).

Differential Revision: http://reviews.llvm.org/D17008


Added:
    llvm/trunk/include/llvm/Support/ELFRelocs/Lanai.def
    llvm/trunk/test/DebugInfo/Inputs/lanai-processes-relocations.elf   (with props)
    llvm/trunk/test/DebugInfo/Lanai/
    llvm/trunk/test/DebugInfo/Lanai/lit.local.cfg
    llvm/trunk/test/DebugInfo/Lanai/processes-relocations.ll
    llvm/trunk/test/Object/Lanai/
    llvm/trunk/test/Object/Lanai/lit.local.cfg
    llvm/trunk/test/Object/Lanai/yaml2obj-elf-lanai-rel.yaml
    llvm/trunk/test/tools/llvm-readobj/Inputs/relocs.obj.elf-lanai   (with props)
    llvm/trunk/test/tools/llvm-readobj/Inputs/trivial.obj.elf-lanai   (with props)
Modified:
    llvm/trunk/include/llvm/Object/ELFObjectFile.h
    llvm/trunk/include/llvm/Object/RelocVisitor.h
    llvm/trunk/include/llvm/Support/ELF.h
    llvm/trunk/lib/MC/MCObjectFileInfo.cpp
    llvm/trunk/lib/Object/ELF.cpp
    llvm/trunk/test/tools/llvm-readobj/Inputs/relocs.py
    llvm/trunk/test/tools/llvm-readobj/file-headers.test
    llvm/trunk/test/tools/llvm-readobj/reloc-types.test
    llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp
    llvm/trunk/tools/llvm-readobj/ELFDumper.cpp

Modified: llvm/trunk/include/llvm/Object/ELFObjectFile.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Object/ELFObjectFile.h?rev=262394&r1=262393&r2=262394&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Object/ELFObjectFile.h (original)
+++ llvm/trunk/include/llvm/Object/ELFObjectFile.h Tue Mar  1 15:21:42 2016
@@ -835,6 +835,8 @@ StringRef ELFObjectFile<ELFT>::getFileFo
       return "ELF32-avr";
     case ELF::EM_HEXAGON:
       return "ELF32-hexagon";
+    case ELF::EM_LANAI:
+      return "ELF32-lanai";
     case ELF::EM_MIPS:
       return "ELF32-mips";
     case ELF::EM_PPC:
@@ -891,6 +893,8 @@ unsigned ELFObjectFile<ELFT>::getArch()
     return Triple::avr;
   case ELF::EM_HEXAGON:
     return Triple::hexagon;
+  case ELF::EM_LANAI:
+    return Triple::lanai;
   case ELF::EM_MIPS:
     switch (EF.getHeader()->e_ident[ELF::EI_CLASS]) {
     case ELF::ELFCLASS32:

Modified: llvm/trunk/include/llvm/Object/RelocVisitor.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Object/RelocVisitor.h?rev=262394&r1=262393&r2=262394&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Object/RelocVisitor.h (original)
+++ llvm/trunk/include/llvm/Object/RelocVisitor.h Tue Mar  1 15:21:42 2016
@@ -175,6 +175,14 @@ private:
         case llvm::ELF::R_ARM_ABS32:
           return visitELF_ARM_ABS32(R, Value);
         }
+      case Triple::lanai:
+        switch (RelocType) {
+        case llvm::ELF::R_LANAI_32:
+          return visitELF_Lanai_32(R, Value);
+        default:
+          HasError = true;
+          return RelocToApply();
+        }
       case Triple::mipsel:
       case Triple::mips:
         switch (RelocType) {
@@ -309,6 +317,13 @@ private:
     int64_t Addend = getELFAddend(R);
     uint32_t Res = (Value + Addend) & 0xFFFFFFFF;
     return RelocToApply(Res, 4);
+  }
+
+  /// Lanai ELF
+  RelocToApply visitELF_Lanai_32(RelocationRef R, uint64_t Value) {
+    int64_t Addend = getELFAddend(R);
+    uint32_t Res = (Value + Addend) & 0xFFFFFFFF;
+    return RelocToApply(Res, 4);
   }
 
   /// MIPS ELF

Modified: llvm/trunk/include/llvm/Support/ELF.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Support/ELF.h?rev=262394&r1=262393&r2=262394&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Support/ELF.h (original)
+++ llvm/trunk/include/llvm/Support/ELF.h Tue Mar  1 15:21:42 2016
@@ -315,6 +315,11 @@ enum {
   // such numbers for an official value for WebAssembly. As soon as one is
   // allocated, this enum will be updated to use it.
   EM_WEBASSEMBLY   = 0x4157, // WebAssembly architecture
+
+  // A request has been made to the maintainer of the official registry for
+  // an official value for Lanai. As soon as one is allocated, this enum will be
+  // updated to use it.
+  EM_LANAI         = 0x8123, // Lanai 32-bit processor
 };
 
 // Object file classes.
@@ -589,6 +594,11 @@ enum {
 #include "ELFRelocs/Hexagon.def"
 };
 
+// ELF Relocation type for Lanai.
+enum {
+#include "ELFRelocs/Lanai.def"
+};
+
 // ELF Relocation types for S390/zSeries
 enum {
 #include "ELFRelocs/SystemZ.def"

Added: llvm/trunk/include/llvm/Support/ELFRelocs/Lanai.def
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Support/ELFRelocs/Lanai.def?rev=262394&view=auto
==============================================================================
--- llvm/trunk/include/llvm/Support/ELFRelocs/Lanai.def (added)
+++ llvm/trunk/include/llvm/Support/ELFRelocs/Lanai.def Tue Mar  1 15:21:42 2016
@@ -0,0 +1,19 @@
+
+#ifndef ELF_RELOC
+#error "ELF_RELOC must be defined"
+#endif
+
+// No relocation
+ELF_RELOC(R_LANAI_NONE,        0)
+// 21-bit symbol relocation
+ELF_RELOC(R_LANAI_21,          1)
+// 21-bit symbol relocation with last two bits masked to 0
+ELF_RELOC(R_LANAI_21_F,        2)
+// 25-bit branch targets
+ELF_RELOC(R_LANAI_25,          3)
+// General 32-bit relocation
+ELF_RELOC(R_LANAI_32,          4)
+// Upper 16-bits of a symbolic relocation
+ELF_RELOC(R_LANAI_HI16,        5)
+// Lower 16-bits of a symbolic relocation
+ELF_RELOC(R_LANAI_LO16,        6)

Modified: llvm/trunk/lib/MC/MCObjectFileInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCObjectFileInfo.cpp?rev=262394&r1=262393&r2=262394&view=diff
==============================================================================
--- llvm/trunk/lib/MC/MCObjectFileInfo.cpp (original)
+++ llvm/trunk/lib/MC/MCObjectFileInfo.cpp Tue Mar  1 15:21:42 2016
@@ -356,6 +356,11 @@ void MCObjectFileInfo::initELFMCObjectFi
       TTypeEncoding = dwarf::DW_EH_PE_absptr;
     }
     break;
+  case Triple::lanai:
+    LSDAEncoding = dwarf::DW_EH_PE_absptr;
+    PersonalityEncoding = dwarf::DW_EH_PE_absptr;
+    TTypeEncoding = dwarf::DW_EH_PE_absptr;
+    break;
   case Triple::mips:
   case Triple::mipsel:
   case Triple::mips64:

Modified: llvm/trunk/lib/Object/ELF.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Object/ELF.cpp?rev=262394&r1=262393&r2=262394&view=diff
==============================================================================
--- llvm/trunk/lib/Object/ELF.cpp (original)
+++ llvm/trunk/lib/Object/ELF.cpp Tue Mar  1 15:21:42 2016
@@ -61,6 +61,13 @@ StringRef getELFRelocationTypeName(uint3
       break;
     }
     break;
+  case ELF::EM_LANAI:
+    switch (Type) {
+#include "llvm/Support/ELFRelocs/Lanai.def"
+    default:
+      break;
+    }
+    break;
   case ELF::EM_PPC:
     switch (Type) {
 #include "llvm/Support/ELFRelocs/PowerPC.def"

Added: llvm/trunk/test/DebugInfo/Inputs/lanai-processes-relocations.elf
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/Inputs/lanai-processes-relocations.elf?rev=262394&view=auto
==============================================================================
Binary file - no diff available.

Propchange: llvm/trunk/test/DebugInfo/Inputs/lanai-processes-relocations.elf
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: llvm/trunk/test/DebugInfo/Lanai/lit.local.cfg
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/Lanai/lit.local.cfg?rev=262394&view=auto
==============================================================================
--- llvm/trunk/test/DebugInfo/Lanai/lit.local.cfg (added)
+++ llvm/trunk/test/DebugInfo/Lanai/lit.local.cfg Tue Mar  1 15:21:42 2016
@@ -0,0 +1,2 @@
+if not 'Lanai' in config.root.targets:
+    config.unsupported = True

Added: llvm/trunk/test/DebugInfo/Lanai/processes-relocations.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/Lanai/processes-relocations.ll?rev=262394&view=auto
==============================================================================
--- llvm/trunk/test/DebugInfo/Lanai/processes-relocations.ll (added)
+++ llvm/trunk/test/DebugInfo/Lanai/processes-relocations.ll Tue Mar  1 15:21:42 2016
@@ -0,0 +1,19 @@
+; RUN: llvm-dwarfdump %p/Inputs/lanai-processes-relocations.elf 2>&1 | FileCheck %s
+
+; FIXME: Use llc with this file as input instead of binary file.
+; NOTE: this test is currently not using llc, but using a binary input as the
+; rest of the backend is not yet in tree. Once the Lanai backend is in tree,
+; the binary file will be removed and this test will use llc.
+
+; CHECK-NOT: failed to compute relocation
+
+!llvm.dbg.cu = !{!0}
+!llvm.module.flags = !{!3, !4}
+!llvm.ident = !{!5}
+
+!0 = !{i32 786449, !1, i32 12, !"clang version 3.6.0 ", i1 false, !"", i32 0, !2, !2, !2, !2, !2, !"", i32 1} ; [ DW_TAG_compile_unit ] [/a/empty.c] [DW_LANG_C99]
+!1 = !{!"empty.c", !"/a"}
+!2 = !{}
+!3 = !{i32 2, !"Dwarf Version", i32 4}
+!4 = !{i32 2, !"Debug Info Version", i32 3}
+!5 = !{!"clang version 3.6.0 "}

Added: llvm/trunk/test/Object/Lanai/lit.local.cfg
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Object/Lanai/lit.local.cfg?rev=262394&view=auto
==============================================================================
--- llvm/trunk/test/Object/Lanai/lit.local.cfg (added)
+++ llvm/trunk/test/Object/Lanai/lit.local.cfg Tue Mar  1 15:21:42 2016
@@ -0,0 +1,2 @@
+if not 'Lanai' in config.root.targets:
+    config.unsupported = True

Added: llvm/trunk/test/Object/Lanai/yaml2obj-elf-lanai-rel.yaml
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Object/Lanai/yaml2obj-elf-lanai-rel.yaml?rev=262394&view=auto
==============================================================================
--- llvm/trunk/test/Object/Lanai/yaml2obj-elf-lanai-rel.yaml (added)
+++ llvm/trunk/test/Object/Lanai/yaml2obj-elf-lanai-rel.yaml Tue Mar  1 15:21:42 2016
@@ -0,0 +1,66 @@
+# RUN: yaml2obj -format=elf %s > %t
+# RUN: llvm-readobj -r %t | FileCheck %s
+
+# CHECK     : Relocations [
+# CHECK-NEXT:   Section (2) .rel.text {
+# CHECK-NEXT:     0x0 R_LANAI_32 main 0x0
+# CHECK-NEXT:     0x4 R_LANAI_NONE - 0x0
+# CHECK-NEXT:     0x8 R_LANAI_21 - 0x0
+# CHECK-NEXT:     0xC R_LANAI_21_F - 0x0
+# CHECK-NEXT:     0x10 R_LANAI_25 - 0x0
+# CHECK-NEXT:     0x14 R_LANAI_HI16 - 0x0
+# CHECK-NEXT:     0x18 R_LANAI_LO16 - 0x0
+# CHECK-NEXT:   }
+# CHECK-NEXT: ]
+
+FileHeader:
+  Class:           ELFCLASS32
+  Data:            ELFDATA2LSB
+  Type:            ET_REL
+  Machine:         EM_LANAI
+Sections:
+  - Type:            SHT_PROGBITS
+    Name:            .text
+    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
+    AddressAlign:    0x04
+    Content:         0000000000000000
+  - Type:            SHT_REL
+    Name:            .rel.text
+    Link:            .symtab
+    Info:            .text
+    AddressAlign:    0x04
+    Relocations:
+      - Offset:          0x0
+        Symbol:          main
+        Type:            R_LANAI_32
+      - Offset:          0x4
+        Symbol:          a
+        Type:            R_LANAI_NONE
+      - Offset:          0x8
+        Symbol:          b
+        Type:            R_LANAI_21
+      - Offset:          0xC
+        Symbol:          c
+        Type:            R_LANAI_21_F
+      - Offset:          0x10
+        Symbol:          d
+        Type:            R_LANAI_25
+      - Offset:          0x14
+        Symbol:          e
+        Type:            R_LANAI_HI16
+      - Offset:          0x18
+        Symbol:          f
+        Type:            R_LANAI_LO16
+
+
+Symbols:
+  Local:
+    - Name:            .text
+      Type:            STT_SECTION
+      Section:         .text
+
+  Global:
+    - Name:            main
+      Type:            STT_FUNC
+      Section:         .text
+      Size:            0x08

Added: llvm/trunk/test/tools/llvm-readobj/Inputs/relocs.obj.elf-lanai
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-readobj/Inputs/relocs.obj.elf-lanai?rev=262394&view=auto
==============================================================================
Binary file - no diff available.

Propchange: llvm/trunk/test/tools/llvm-readobj/Inputs/relocs.obj.elf-lanai
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Modified: llvm/trunk/test/tools/llvm-readobj/Inputs/relocs.py
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-readobj/Inputs/relocs.py?rev=262394&r1=262393&r2=262394&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-readobj/Inputs/relocs.py (original)
+++ llvm/trunk/test/tools/llvm-readobj/Inputs/relocs.py Tue Mar  1 15:21:42 2016
@@ -991,6 +991,14 @@ class Relocs_Elf_Hexagon(Enum):
   R_HEX_TPREL_16_X        =  84
   R_HEX_TPREL_11_X        =  85
 
+class Relocs_Elf_Lanai(Enum):
+  R_LANAI_NONE = 0
+  R_LANAI_21   = 1
+  R_LANAI_21_F = 2
+  R_LANAI_25   = 3
+  R_LANAI_32   = 4
+  R_LANAI_HI16 = 5
+  R_LANAI_LO16 = 6
 
 class Relocs_Coff_i386(Enum):
   IMAGE_REL_I386_ABSOLUTE = 0x0000
@@ -1103,6 +1111,7 @@ craftElf("relocs.obj.elf-arm",      "arm
 craftElf("relocs.obj.elf-mips",     "mips-unknown-linux",          Relocs_Elf_Mips.entries(), "lui $2, %hi(sym)")
 craftElf("relocs.obj.elf-mips64el", "mips64el-unknown-linux",        Relocs_Elf_Mips.entries(), "lui $2, %hi(sym)")
 #craftElf("relocs.obj.elf-hexagon",  "hexagon-unknown-unknown",     Relocs_Elf_Hexagon.entries(), ...)
+#craftElf("relocs.obj.elf-lanai",   "lanai-unknown-unknown",   Relocs_Elf_Lanai.entries(), "mov hi(x), %r4")
 
 craftCoff("relocs.obj.coff-i386",   "i386-pc-win32",   Relocs_Coff_i386.entries(),   "mov foo at imgrel(%ebx, %ecx, 4), %eax")
 craftCoff("relocs.obj.coff-x86_64", "x86_64-pc-win32", Relocs_Coff_X86_64.entries(), "mov foo at imgrel(%ebx, %ecx, 4), %eax")

Added: llvm/trunk/test/tools/llvm-readobj/Inputs/trivial.obj.elf-lanai
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-readobj/Inputs/trivial.obj.elf-lanai?rev=262394&view=auto
==============================================================================
Binary file - no diff available.

Propchange: llvm/trunk/test/tools/llvm-readobj/Inputs/trivial.obj.elf-lanai
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Modified: llvm/trunk/test/tools/llvm-readobj/file-headers.test
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-readobj/file-headers.test?rev=262394&r1=262393&r2=262394&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-readobj/file-headers.test (original)
+++ llvm/trunk/test/tools/llvm-readobj/file-headers.test Tue Mar  1 15:21:42 2016
@@ -24,6 +24,8 @@ RUN: llvm-readobj -h %p/Inputs/magic.cof
 RUN:   | FileCheck %s -check-prefix COFF-UNKNOWN
 RUN: llvm-readobj -h %p/Inputs/magic.coff-importlib \
 RUN:   | FileCheck %s -check-prefix COFF-IMPORTLIB
+RUN: llvm-readobj -h %p/Inputs/trivial.obj.elf-lanai \
+RUN:   | FileCheck %s -check-prefix ELF-LANAI
 
 COFF-ARM:      File: {{(.*[/\\])?}}trivial.obj.coff-arm
 COFF-ARM-NEXT: Format: COFF-ARM
@@ -335,3 +337,33 @@ COFF-IMPORTLIB-NEXT: Type: code
 COFF-IMPORTLIB-NEXT: Name type: noprefix
 COFF-IMPORTLIB-NEXT: Symbol: __imp__func
 COFF-IMPORTLIB-NEXT: Symbol: _func
+
+ELF-LANAI:      Format: ELF32-lanai
+ELF-LANAI-NEXT: Arch: lanai
+ELF-LANAI-NEXT: AddressSize: 32bit
+ELF-LANAI-NEXT: LoadName:
+ELF-LANAI-NEXT: ElfHeader {
+ELF-LANAI-NEXT:   Ident {
+ELF-LANAI-NEXT:     Magic: (7F 45 4C 46)
+ELF-LANAI-NEXT:     Class: 32-bit (0x1)
+ELF-LANAI-NEXT:     DataEncoding: BigEndian (0x2)
+ELF-LANAI-NEXT:     FileVersion: 1
+ELF-LANAI-NEXT:     OS/ABI: SystemV (0x0)
+ELF-LANAI-NEXT:     ABIVersion: 0
+ELF-LANAI-NEXT:     Unused: (00 00 00 00 00 00 00)
+ELF-LANAI-NEXT:   }
+ELF-LANAI-NEXT:   Type: Relocatable (0x1)
+ELF-LANAI-NEXT:   Machine: EM_LANAI (0x8123)
+ELF-LANAI-NEXT:   Version: 1
+ELF-LANAI-NEXT:   Entry: 0x0
+ELF-LANAI-NEXT:   ProgramHeaderOffset: 0x0
+ELF-LANAI-NEXT:   SectionHeaderOffset: 0x1A0
+ELF-LANAI-NEXT:   Flags [ (0x0)
+ELF-LANAI-NEXT:   ]
+ELF-LANAI-NEXT:   HeaderSize: 52
+ELF-LANAI-NEXT:   ProgramHeaderEntrySize: 0
+ELF-LANAI-NEXT:   ProgramHeaderCount: 0
+ELF-LANAI-NEXT:   SectionHeaderEntrySize: 40
+ELF-LANAI-NEXT:   SectionHeaderCount: 8
+ELF-LANAI-NEXT:   StringTableSectionIndex: 1
+ELF-LANAI-NEXT: }

Modified: llvm/trunk/test/tools/llvm-readobj/reloc-types.test
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-readobj/reloc-types.test?rev=262394&r1=262393&r2=262394&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-readobj/reloc-types.test (original)
+++ llvm/trunk/test/tools/llvm-readobj/reloc-types.test Tue Mar  1 15:21:42 2016
@@ -7,6 +7,7 @@ RUN: llvm-readobj -r -expand-relocs %p/I
 RUN: llvm-readobj -r -expand-relocs %p/Inputs/relocs.obj.elf-x86_64   | FileCheck %s -check-prefix ELF-64
 RUN: llvm-readobj -r -expand-relocs %p/Inputs/relocs.obj.elf-aarch64  | FileCheck %s -check-prefix ELF-AARCH64
 RUN: llvm-readobj -r -expand-relocs %p/Inputs/relocs.obj.elf-arm      | FileCheck %s -check-prefix ELF-ARM
+RUN: llvm-readobj -r -expand-relocs %p/Inputs/relocs.obj.elf-lanai    | FileCheck %s -check-prefix ELF-LANAI
 RUN: llvm-readobj -r -expand-relocs %p/Inputs/relocs.obj.elf-mips     | FileCheck %s -check-prefix ELF-MIPS
 RUN: llvm-readobj -r -expand-relocs %p/Inputs/relocs.obj.elf-mips64el | FileCheck %s -check-prefix ELF-MIPS64EL
 RUN: llvm-readobj -r -expand-relocs %p/Inputs/relocs.obj.elf-ppc64    | FileCheck %s -check-prefix ELF-PPC64
@@ -405,6 +406,14 @@ ELF-ARM: Type: R_ARM_THM_TLS_DESCSEQ16 (
 ELF-ARM: Type: R_ARM_THM_TLS_DESCSEQ32 (130)
 ELF-ARM: Type: R_ARM_IRELATIVE (160)
 
+ELF-LANAI: Type: R_LANAI_NONE (0)
+ELF-LANAI: Type: R_LANAI_21 (1)
+ELF-LANAI: Type: R_LANAI_21_F (2)
+ELF-LANAI: Type: R_LANAI_25 (3)
+ELF-LANAI: Type: R_LANAI_32 (4)
+ELF-LANAI: Type: R_LANAI_HI16 (5)
+ELF-LANAI: Type: R_LANAI_LO16 (6)
+
 ELF-MIPS: Type: R_MIPS_NONE (0)
 ELF-MIPS: Type: R_MIPS_16 (1)
 ELF-MIPS: Type: R_MIPS_32 (2)

Modified: llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp?rev=262394&r1=262393&r2=262394&view=diff
==============================================================================
--- llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp (original)
+++ llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp Tue Mar  1 15:21:42 2016
@@ -476,6 +476,7 @@ static std::error_code getRelocationValu
       res = "Unknown";
     }
     break;
+  case ELF::EM_LANAI:
   case ELF::EM_AARCH64: {
     std::string fmtbuf;
     raw_string_ostream fmt(fmtbuf);

Modified: llvm/trunk/tools/llvm-readobj/ELFDumper.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-readobj/ELFDumper.cpp?rev=262394&r1=262393&r2=262394&view=diff
==============================================================================
--- llvm/trunk/tools/llvm-readobj/ELFDumper.cpp (original)
+++ llvm/trunk/tools/llvm-readobj/ELFDumper.cpp Tue Mar  1 15:21:42 2016
@@ -769,7 +769,8 @@ static const EnumEntry<unsigned> ElfMach
   ENUM_ENT(EM_78KOR,         "EM_78KOR"),
   ENUM_ENT(EM_56800EX,       "EM_56800EX"),
   ENUM_ENT(EM_AMDGPU,        "EM_AMDGPU"),
-  ENUM_ENT(EM_WEBASSEMBLY,   "EM_WEBASSEMBLY")
+  ENUM_ENT(EM_WEBASSEMBLY,   "EM_WEBASSEMBLY"),
+  ENUM_ENT(EM_LANAI,         "EM_LANAI"),
 };
 
 static const EnumEntry<unsigned> ElfSymbolBindings[] = {




More information about the llvm-commits mailing list