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

Vassil Vassilev via llvm-commits llvm-commits at lists.llvm.org
Sun Mar 13 11:35:42 PDT 2016


No worries. Thanks!
--Vassil
On 13/03/16 11:38, Jacques Pienaar wrote:
> Hi,
>
> My apologies I didn't see this till now as I was traveling. I see Eric 
> fixed this in r263319.
>
> Jacques
>
> On Thu, Mar 10, 2016 at 8:19 AM, Vassil Vassilev 
> <v.g.vassilev at gmail.com <mailto:v.g.vassilev at gmail.com>> wrote:
>
>     Hi,
>
>     This broke the llvm selfhost module build (even more?). Could you
>     add this fix please:
>     diff --git a/include/llvm/module.modulemap
>     b/include/llvm/module.modulemap
>     index 708d33c..aa7d469 100644
>     --- a/include/llvm/module.modulemap
>     +++ b/include/llvm/module.modulemap
>     @@ -208,6 +208,7 @@ module LLVM_Utils {
>          textual header "Support/ELFRelocs/SystemZ.def"
>          textual header "Support/ELFRelocs/x86_64.def"
>          textual header "Support/ELFRelocs/WebAssembly.def"
>     +    textual header "Support/ELFRelocs/Lanai.def"
>        }
>
>        // This part of the module is usable from both C and C++ code.
>
>     --Vassil
>
>     On 01/03/16 22:21, Jacques Pienaar via llvm-commits wrote:
>
>         Author: jpienaar
>         Date: Tue Mar  1 15:21:42 2016
>         New Revision: 262394
>
>         URL: http://llvm.org/viewvc/llvm-project?rev=262394&view=rev
>         <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
>         <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
>         <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
>         <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
>         <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
>         <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
>         <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
>         <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
>         <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
>         <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
>         <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 <http://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
>         <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
>         <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
>         <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
>         <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
>         <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
>         <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
>         <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
>         <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
>         <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[] = {
>
>
>         _______________________________________________
>         llvm-commits mailing list
>         llvm-commits at lists.llvm.org <mailto:llvm-commits at lists.llvm.org>
>         http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>         <http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits>
>
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160313/6a88c5ae/attachment.html>


More information about the llvm-commits mailing list