[PATCH] D51590: [MinGW] Move code for indicating "potentially not DSO local" into shouldAssumeDSOLocal. NFCI.

Martin Storsjö via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Aug 18 14:43:45 PDT 2019


mstorsjo added a comment.

In D51590#1634364 <https://reviews.llvm.org/D51590#1634364>, @vchuravy wrote:

> This broke Julia downstream (https://github.com/JuliaLang/julia/pull/32712#issuecomment-521206577). In Julia we emit JIT'ed code on MINGW as ELF+Static relocation model (https://github.com/JuliaLang/julia/blob/be3b04b29654a463b4dc899a228b5f53e862cdde/src/codegen.cpp#L7653-L7669), due us having issues with COFF support in RuntimeDyld.
>
> The attached file F9818390: input.ll <https://reviews.llvm.org/F9818390> is taken from the LLVM testsuite and the result we are getting on LLVM 6.0.1
>
> [...]
>
> Reverting this revision locally caused the segmentation fault to go away and to produce the same relocations as LLVM 6.0.1.


Thanks for reporting, and sorry for the breakage! I had indeed not thought about use with a different format than COFF.

Initially I thought I'd fix this by making the change in X86Subtarget.cpp preserve the earlier behaviour (returning MO_COFFSTUB even on windows/elf), but it seems to me that it doesn't really work (the COFFSTUB variables aren't created properly, as it needs a bit more support in the format specific code as well). And that solution also doesn't really work for arm/aarch64-windows-elf right now.

I think the best path forward is to skip the whole COFFSTUB business on windows on non-coff. I'll send a patch for that shortly.


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D51590/new/

https://reviews.llvm.org/D51590





More information about the llvm-commits mailing list