This is another approach to using VFS for blacklists.
The previous one got reverted as it didn't work with in-memory file systems.
https://reviews.llvm.org/D67742
Adding original reviewers + people who got broken by the previous version.
Differential D69648
Add VFS support for sanitizers' blacklist' 2 jkorous on Oct 30 2019, 3:47 PM. Authored by
Details This is another approach to using VFS for blacklists. The previous one got reverted as it didn't work with in-memory file systems. Adding original reviewers + people who got broken by the previous version.
Diff Detail
Event Timeline
Comment Actions I see what you mean - I didn't realize I could use the real fs as the default arg.
Comment Actions Do the tests pass with the current revision?
Comment Actions The test seems to be fine (fails on master, passes with the patch). I most probably just forgot to run it. Comment Actions Just wanted to give early warning that this might still break our integrate and buildcops might be keen to revert it. The change itself LG, but our infrastructure might need time to pick it up and get broken for some time. Comment Actions I am in no particular rush and happy to help you as much as I can but at some point not too far in the future I just want this to land and not get reverted. Is there anything I can do to help you with this? Can't you guys just cherry-pick the patch internally, do whatever needs to be done on your side and ping me when it's safe to land? Comment Actions It seems we should be fine, now that the file accesses actually go through the VFS. Comment Actions It turned out there are more places that attempt to construct SpecialCaseList and access corresponding file via the usual filesystem APIs. Comment Actions Ahh, right. I originally wanted to support -ivfsoverlay in Driver as it seemed reasonable to check the existence of blacklist in Driver and open it in cc1 using the same fs. I got talked out of it and I didn't touch the Driver but seems like I should've replaced the calls to native fs with VFS to keep things consistent. Thanks for picking this up! |
NIT: #include "llvm/Support/VirtualFileSystem.h" should be enough