[llvm] r262394 - [lanai] Add ELF enum value and relocations.
Vassil Vassilev via llvm-commits
llvm-commits at lists.llvm.org
Thu Mar 10 08:19:45 PST 2016
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/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[] = {
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list