diff options
author | Simon Atanasyan <simon@atanasyan.com> | 2014-05-20 09:27:49 +0000 |
---|---|---|
committer | Simon Atanasyan <simon@atanasyan.com> | 2014-05-20 09:27:49 +0000 |
commit | 6943f62a418bc48c762385013c9d5acb4ce3fa15 (patch) | |
tree | 4bc8b50b2835448b6149e83b048a779087545c6d /lib/Object | |
parent | 6099306cec808d4a561cf5d337ec83c501a64c92 (diff) | |
download | llvm-6943f62a418bc48c762385013c9d5acb4ce3fa15.tar.gz llvm-6943f62a418bc48c762385013c9d5acb4ce3fa15.tar.bz2 llvm-6943f62a418bc48c762385013c9d5acb4ce3fa15.tar.xz |
[Mips] Add more relocation types and MIPS specific e_flags constants.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@209201 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Object')
-rw-r--r-- | lib/Object/ELF.cpp | 10 | ||||
-rw-r--r-- | lib/Object/ELFYAML.cpp | 11 |
2 files changed, 21 insertions, 0 deletions
diff --git a/lib/Object/ELF.cpp b/lib/Object/ELF.cpp index e9a88bfd03..df4dd5ea7c 100644 --- a/lib/Object/ELF.cpp +++ b/lib/Object/ELF.cpp @@ -159,6 +159,15 @@ StringRef getELFRelocationTypeName(uint32_t Machine, uint32_t Type) { LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_TPREL_HI16); LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_TLS_TPREL_LO16); LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_GLOB_DAT); + LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_PC21_S2); + LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_PC26_S2); + LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_PC18_S3); + LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_PC19_S2); + LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_PCHI16); + LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_PCLO16); + LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS16_GOT16); + LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS16_HI16); + LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS16_LO16); LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_COPY); LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_JUMP_SLOT); LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_26_S1); @@ -177,6 +186,7 @@ StringRef getELFRelocationTypeName(uint32_t Machine, uint32_t Type) { LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_TLS_TPREL_HI16); LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MICROMIPS_TLS_TPREL_LO16); LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_NUM); + LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_MIPS_PC32); default: break; } diff --git a/lib/Object/ELFYAML.cpp b/lib/Object/ELFYAML.cpp index 547720ddc3..8329853340 100644 --- a/lib/Object/ELFYAML.cpp +++ b/lib/Object/ELFYAML.cpp @@ -275,6 +275,8 @@ void ScalarBitSetTraits<ELFYAML::ELF_EF>::bitset(IO &IO, BCase(EF_MIPS_ARCH_64) BCase(EF_MIPS_ARCH_32R2) BCase(EF_MIPS_ARCH_64R2) + BCase(EF_MIPS_ARCH_32R6) + BCase(EF_MIPS_ARCH_64R6) break; case ELF::EM_HEXAGON: BCase(EF_HEXAGON_MACH_V2) @@ -462,6 +464,15 @@ void ScalarEnumerationTraits<ELFYAML::ELF_REL>::enumeration( ECase(R_MIPS_TLS_TPREL_HI16) ECase(R_MIPS_TLS_TPREL_LO16) ECase(R_MIPS_GLOB_DAT) + ECase(R_MIPS_PC21_S2) + ECase(R_MIPS_PC26_S2) + ECase(R_MIPS_PC18_S3) + ECase(R_MIPS_PC19_S2) + ECase(R_MIPS_PCHI16) + ECase(R_MIPS_PCLO16) + ECase(R_MIPS16_GOT16) + ECase(R_MIPS16_HI16) + ECase(R_MIPS16_LO16) ECase(R_MIPS_COPY) ECase(R_MIPS_JUMP_SLOT) ECase(R_MICROMIPS_26_S1) |