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

Jacques Pienaar via llvm-commits llvm-commits at lists.llvm.org
Sun Mar 13 03:38:20 PDT 2016


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>
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
>> 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/MCObje
>> ctFileInfo.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/EL
>> F.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/DebugInf
>> o/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/DebugInf
>> o/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/DebugInf
>> o/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/ll
>> vm-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-lan
>> ai
>> ------------------------------------------------------------
>> ------------------
>>      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/ll
>> vm-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/ll
>> vm-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/ll
>> vm-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/ll
>> vm-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-ob
>> jdump/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-re
>> adobj/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
>> 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/bf109499/attachment-0001.html>


More information about the llvm-commits mailing list