[PATCH] D45181: [RISCV WIP] Add diff relocation support for RISC-V

Alex Bradbury via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 5 04:08:04 PDT 2018


asb added a comment.

Thanks for this Simon.

Perhaps requiresDiffExpressionRelocations or similar might be better than supportsEmittingDiffExpressions? As Ana says, you might want to stick with the current behaviour when -mno-relax is set.

Just to make sure I understand the scope of this patch properly:

- As far as you currently understand, does this cover all cases where constants are emitted where relocations are needed in the presence of linker relaxation. i.e. are there other known cases where you have planned follow-ups?
- Does anyone know of other backends that could be affected by this issue? Linker relaxation seems to used somewhat sparingly as far as I can see, with targets like ARM preferring the less invasive 'range thunks'.



================
Comment at: lib/MC/MCAssembler.cpp:684
+        getBackend().supportsEmittingDiffExpressions()) {
+      // The fixup is expressable as the different of two symbols, which the
+      // backend has indiciated can be resolved at link time. Split up the fixup
----------------
different -> difference


Repository:
  rL LLVM

https://reviews.llvm.org/D45181





More information about the llvm-commits mailing list