Evgeniy Stepanov
2014-Jan-15 07:38 UTC
[LLVMdev] [PATCH] Removing -fsanitize-address-zero-base-shadow
Hi, we plan to remove -fsanitize-address-zero-base-shadow command line flag from clang, and disable zero-base shadow support on all platforms where it is not the default behavior. - It is completely unused, as far as we know. And completely undocumented, too. - It is ABI-incompatible with non-zero-base shadow, which means all objects in a process must be built with the same setting. Failing to do so results in a segmentation fault at runtime. - It introduces a backward dependency of compiler-rt on user code, which is uncommon and complicates testing. For the reference, attaching patches to cfe, llvm and compiler-rt that remove the flag and all support for it in the ASan instrumentation pass and runtime library. -------------- next part -------------- A non-text attachment was scrubbed... Name: cfe.patch Type: text/x-patch Size: 7916 bytes Desc: not available URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140115/c7a674fd/attachment.bin> -------------- next part -------------- A non-text attachment was scrubbed... Name: compiler-rt.patch Type: text/x-patch Size: 9887 bytes Desc: not available URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140115/c7a674fd/attachment-0001.bin> -------------- next part -------------- A non-text attachment was scrubbed... Name: llvm.patch Type: text/x-patch Size: 6306 bytes Desc: not available URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140115/c7a674fd/attachment-0002.bin>
Kostya Serebryany
2014-Jan-15 07:46 UTC
[LLVMdev] [PATCH] Removing -fsanitize-address-zero-base-shadow
On Wed, Jan 15, 2014 at 11:38 AM, Evgeniy Stepanov < eugeni.stepanov at gmail.com> wrote:> Hi, > > we plan to remove -fsanitize-address-zero-base-shadow command line > flag from clang, and disable zero-base shadow support on all platforms > where it is not the default behavior. > > - It is completely unused, as far as we know. And completely undocumented, > too. >Not completely undocumented: https://code.google.com/p/address-sanitizer/wiki/ZeroBasedShadow Still, I think we can nuke this code now. (== LGTM)> - It is ABI-incompatible with non-zero-base shadow, which means all > objects in a process must be built with the same setting. Failing to > do so results in a segmentation fault at runtime. > - It introduces a backward dependency of compiler-rt on user code, > which is uncommon and complicates testing. > > For the reference, attaching patches to cfe, llvm and compiler-rt that > remove the flag and all support for it in the ASan instrumentation > pass and runtime library. >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140115/ffeb260e/attachment.html>
Greg Fitzgerald
2014-Jan-15 19:30 UTC
[LLVMdev] [PATCH] Removing -fsanitize-address-zero-base-shadow
Sounds good. Thanks for the heads up. -Greg On Tue, Jan 14, 2014 at 11:46 PM, Kostya Serebryany <kcc at google.com> wrote:> > > > On Wed, Jan 15, 2014 at 11:38 AM, Evgeniy Stepanov > <eugeni.stepanov at gmail.com> wrote: >> >> Hi, >> >> we plan to remove -fsanitize-address-zero-base-shadow command line >> flag from clang, and disable zero-base shadow support on all platforms >> where it is not the default behavior. >> >> - It is completely unused, as far as we know. And completely undocumented, >> too. > > Not completely undocumented: > https://code.google.com/p/address-sanitizer/wiki/ZeroBasedShadow > Still, I think we can nuke this code now. (== LGTM) > > >> >> - It is ABI-incompatible with non-zero-base shadow, which means all >> objects in a process must be built with the same setting. Failing to >> do so results in a segmentation fault at runtime. >> - It introduces a backward dependency of compiler-rt on user code, >> which is uncommon and complicates testing. >> >> For the reference, attaching patches to cfe, llvm and compiler-rt that >> remove the flag and all support for it in the ASan instrumentation >> pass and runtime library. > > > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >
Alexander Potapenko
2014-Jan-16 08:19 UTC
[LLVMdev] [cfe-dev] [PATCH] Removing -fsanitize-address-zero-base-shadow
Can we have the __asan_init version bumped with the compiler-rt change? On Wed, Jan 15, 2014 at 11:38 AM, Evgeniy Stepanov <eugeni.stepanov at gmail.com> wrote:> Hi, > > we plan to remove -fsanitize-address-zero-base-shadow command line > flag from clang, and disable zero-base shadow support on all platforms > where it is not the default behavior. > > - It is completely unused, as far as we know. And completely undocumented, too. > - It is ABI-incompatible with non-zero-base shadow, which means all > objects in a process must be built with the same setting. Failing to > do so results in a segmentation fault at runtime. > - It introduces a backward dependency of compiler-rt on user code, > which is uncommon and complicates testing. > > For the reference, attaching patches to cfe, llvm and compiler-rt that > remove the flag and all support for it in the ASan instrumentation > pass and runtime library. > > _______________________________________________ > cfe-dev mailing list > cfe-dev at cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev >-- Alexander Potapenko Software Engineer Google Moscow
Kostya Serebryany
2014-Jan-16 08:42 UTC
[LLVMdev] [cfe-dev] [PATCH] Removing -fsanitize-address-zero-base-shadow
Why do you want to change the API version? On Thu, Jan 16, 2014 at 12:19 PM, Alexander Potapenko <glider at google.com>wrote:> Can we have the __asan_init version bumped with the compiler-rt change? > > On Wed, Jan 15, 2014 at 11:38 AM, Evgeniy Stepanov > <eugeni.stepanov at gmail.com> wrote: > > Hi, > > > > we plan to remove -fsanitize-address-zero-base-shadow command line > > flag from clang, and disable zero-base shadow support on all platforms > > where it is not the default behavior. > > > > - It is completely unused, as far as we know. And completely > undocumented, too. > > - It is ABI-incompatible with non-zero-base shadow, which means all > > objects in a process must be built with the same setting. Failing to > > do so results in a segmentation fault at runtime. > > - It introduces a backward dependency of compiler-rt on user code, > > which is uncommon and complicates testing. > > > > For the reference, attaching patches to cfe, llvm and compiler-rt that > > remove the flag and all support for it in the ASan instrumentation > > pass and runtime library. > > > > _______________________________________________ > > cfe-dev mailing list > > cfe-dev at cs.uiuc.edu > > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev > > > > > > -- > Alexander Potapenko > Software Engineer > Google Moscow > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140116/b545a511/attachment.html>