[PATCH] D45199: AArch64: Allow offsets to be folded into addresses with ELF.

Peter Collingbourne via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 10 15:23:40 PDT 2018


So the problem here appears to be that this tsan test is adding a huge
constant to the address of a global as part of testing whether it is in
shadow memory. Once the constant gets folded into the global address it
goes out of range of the PREL relocation and the linker is unable to
relocate it.

Probably the right fix here is to prevent an offset from being folded into
a global's address which would take it out of bounds of the memory used by
the global. I'll start looking at that.

Peter

On Tue, Apr 10, 2018 at 9:35 AM, Yvan Roux <yvan.roux at linaro.org> wrote:

> Ok, Thanks Peter.
>
> On 10 April 2018 at 18:22, Peter Collingbourne <peter at pcc.me.uk> wrote:
> > Yes, I've reverted in r329718 and will investigate later.
> >
> > Peter
> >
> > On Tue, Apr 10, 2018 at 7:08 AM, Yvan Roux <yvan.roux at linaro.org> wrote:
> >>
> >> Hi Peter,
> >>
> >> On 9 April 2018 at 22:03, Peter Collingbourne via Phabricator via
> >> llvm-commits <llvm-commits at lists.llvm.org> wrote:
> >> > This revision was automatically updated to reflect the committed
> >> > changes.
> >> > Closed by commit rL329611: AArch64: Allow offsets to be folded into
> >> > addresses with ELF. (authored by pcc, committed by ).
> >> >
> >> > Changed prior to commit:
> >> >   https://reviews.llvm.org/D45199?vs=140738&id=141722#toc
> >> >
> >> > Repository:
> >> >   rL LLVM
> >> >
> >> > https://reviews.llvm.org/D45199
> >> >
> >> > Files:
> >> >   llvm/trunk/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
> >> >   llvm/trunk/lib/Target/AArch64/AArch64ISelLowering.cpp
> >> >   llvm/trunk/test/CodeGen/AArch64/arm64-2012-05-07-MemcpyAlignBug.ll
> >> >   llvm/trunk/test/CodeGen/AArch64/arm64-addrmode.ll
> >> >   llvm/trunk/test/CodeGen/AArch64/arm64-atomic-128.ll
> >> >   llvm/trunk/test/CodeGen/AArch64/arm64-memcpy-inline.ll
> >> >   llvm/trunk/test/CodeGen/AArch64/arm64-misched-multimmo.ll
> >> >   llvm/trunk/test/CodeGen/AArch64/arm64-variadic-aapcs.ll
> >> >   llvm/trunk/test/CodeGen/AArch64/arm64-vector-ldst.ll
> >> >   llvm/trunk/test/CodeGen/AArch64/cmpxchg-O0.ll
> >> >   llvm/trunk/test/CodeGen/AArch64/func-argpassing.ll
> >> >   llvm/trunk/test/CodeGen/AArch64/func-calls.ll
> >> >   llvm/trunk/test/CodeGen/AArch64/misched-fusion-addr.ll
> >>
> >> AArch64 full bots are broken since yesterday, and among the commits
> which
> >> are involved into the first issue, it seems to me that this one is
> likely
> >> to be responsible of the offset increase and out of range relocation.
> >>
> >> Does it makes sense for you ?
> >>
> >> Bot failure:
> >> http://lab.llvm.org:8011/builders/clang-cmake-aarch64-full/builds/4829
> >> logs:
> >>
> >> http://lab.llvm.org:8011/builders/clang-cmake-aarch64-
> full/builds/4829/steps/ninja%20check%202/logs/stdio
> >>
> >>
> >> Cheers,
> >> Yvan
> >>
> >> > _______________________________________________
> >> > llvm-commits mailing list
> >> > llvm-commits at lists.llvm.org
> >> > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
> >> >
> >
> >
> >
> >
> > --
> > --
> > Peter
>



-- 
-- 
Peter
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180410/7675f8c5/attachment.html>


More information about the llvm-commits mailing list