leonardchan added a comment.

Just to followup on this: We believe the root cause of the error we're running 
into is that some sancov guards in one comdat are being referenced by symbols 
in another comdat, so due to linking order, the other comdat in question is 
referencing a sancov guard that was in a discarded comdat group. I posted full 
details of this on llvm-dev 
<http://lists.llvm.org/pipermail/llvm-dev/2020-May/141583.html>. We believe 
we're running into this error now because with this patch, inlining occurs 
after the sanitizers are run.

Based on some discussion in 
http://lists.llvm.org/pipermail/llvm-dev/2020-May/141558.html, it seems 
appropriate that the solution for this is to just run sanitizers after 
inlining, so we would avoid this error that's brought about by inlining after 
sanitizer runs. Since this has been breaking us for a few days, and unless 
other folks don't mind, I'm thinking it might be appropriate to temporarily 
revert this until there's a fix for either

(1) running sanitizers after inlining or
(2) changing which comdat groups the sancov guards get placed in (such that 
guards in one group aren't referenced by functions defined in another group)

I'm not sure how long it would take to implement either solution, so I think 
temporarily reverting might be ok here.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D79698



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to