[PATCH] D40147: [MIPS] Handle cross-mode (regular <-> microMIPS) jumps

Simon Atanasyan via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 7 07:55:26 PST 2017


atanasyan updated this revision to Diff 125961.
atanasyan edited the summary of this revision.
atanasyan added a comment.

In this variant of the patch I do not modify the `getSymVA` function. Instead of that the less-significant bit is configured right before using in the following methods:

- InputSection::relocateNonAlloc
- InputSectionBase::relocateAlloc
- DynamicSection<ELFT>::addSym
- Writer<ELFT>::getEntryAddr

It's more correct solution but it adds more `if (MIPS)` statements in the code.


Repository:
  rL LLVM

https://reviews.llvm.org/D40147

Files:
  ELF/Arch/Mips.cpp
  ELF/InputSection.cpp
  ELF/SyntheticSections.cpp
  ELF/Writer.cpp
  test/ELF/mips-micro-bad-cross-calls.s
  test/ELF/mips-micro-cross-calls.s
  test/ELF/mips-micro-plt.s
  test/ELF/mips-micro-relocs.s

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D40147.125961.patch
Type: text/x-patch
Size: 14206 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20171207/de859cf2/attachment.bin>


More information about the llvm-commits mailing list