This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Revert libsanitizer patches or fix 59009
- From: Kostya Serebryany <kcc at google dot com>
- To: Jakub Jelinek <jakub at redhat dot com>
- Cc: Michael Meissner <meissner at linux dot vnet dot ibm dot com>, Evgeniy Stepanov <eugeni dot stepanov at gmail dot com>, Peter Bergner <bergner at vnet dot ibm dot com>, Konstantin Serebryany <konstantin dot s dot serebryany at gmail dot com>, Jack Howarth <howarth at bromo dot med dot uc dot edu>, Alexander Potapenko <glider at google dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>, Dodji Seketeli <dodji at redhat dot com>, Dmitry Vyukov <dvyukov at google dot com>, Bill Schmidt <wschmidt at zalov dot cz>
- Date: Tue, 12 Nov 2013 11:34:48 -0800
- Subject: Re: Revert libsanitizer patches or fix 59009
- Authentication-results: sourceware.org; auth=none
- References: <20131106115318 dot GZ27813 at tucnak dot zalov dot cz> <CABMLtriEBy9NcsU=Xi63sjcwz5GYdU8su=j9COq9ywOf3BGt8g at mail dot gmail dot com> <20131112173725 dot GA24313 at ibm-tiger dot the-meissners dot org> <CAN=P9pgrW30Xnv0DsmkQNY72uyzwEQaWUAthaHYwuq3=Giz_Tw at mail dot gmail dot com> <CAN=P9pjSZcDNN3sP6fxJ4V553mQPQihpsuWiCpDLUrw=gszMGg at mail dot gmail dot com> <CAN=P9pjkzWkV_rQmcde-DKS8dg8xUjt+pyCUe_8yGMeCrBeRqQ at mail dot gmail dot com> <20131112180403 dot GA30956 at ibm-tiger dot the-meissners dot org> <CAN=P9pgPY-QcGMbm6k25fGS24qcTLXbZX8px+09n-oeG6O5ZzQ at mail dot gmail dot com> <20131112185704 dot GY27813 at tucnak dot zalov dot cz> <CAN=P9pibOvxQyDZzQimGafSZEfemWXXdN=afWJWk17a30Vt-ig at mail dot gmail dot com> <20131112193015 dot GZ27813 at tucnak dot zalov dot cz>
On Tue, Nov 12, 2013 at 11:30 AM, Jakub Jelinek <jakub@redhat.com> wrote:
> On Tue, Nov 12, 2013 at 10:59:12AM -0800, Kostya Serebryany wrote:
>> This is all dead code in gcc repo. This is why I am asking for any
>> quick #ifdef.
>> in clang repo this code is used by MemorySanitizer (and will be used
>> by asan/tsan later).
>
> I can't find how it is used in msan/ in the llvm repo either, though
> admittedly just using grep (was grepping for pre_impl or post_impl),
> but sanitizer_common_syscalls.inc #undefs PRE_SYSCALL/POST_SYSCALL
we only have it in tests: msan/lit_tests/Linux/syscalls.cc
> at the end, so I'm curious how do you use it. But not enough interest
> to actually build the llvm stuff.
>
> Anyway, the following #ifdefs out tons of dead code and still builds just
Thanks, that should work.
I am really sorry I couldn't do it myself before -- just got back from travel.
> fine, the only difference is that those symbols nothing really uses from
> libasan/libtsan are no longer exported, but nothing else changes.
>
> I guess the #if 0 can be replaced by some #ifdef with some nice name or
> something.
>
> BTW, the 10MB .bss in libubsan is really insane, while perhaps users are
> expecting to have huge overhead with libasan or libtsan, for libubsan it
> looks way too big. Why do you need it?
libubsan is a bit too far away from me, and especially the gcc build of it.
>
> --- libsanitizer/sanitizer_common/sanitizer_platform_limits_linux.cc.jj 2013-11-12 11:31:00.000000000 +0100
> +++ libsanitizer/sanitizer_common/sanitizer_platform_limits_linux.cc 2013-11-12 20:04:49.981519143 +0100
> @@ -14,6 +14,7 @@
> // userspace headers.
> // Most "normal" includes go in sanitizer_platform_limits_posix.cc
>
> +#if 0
> #include "sanitizer_platform.h"
> #if SANITIZER_LINUX
>
> @@ -43,3 +44,4 @@ namespace __sanitizer {
> } // namespace __sanitizer
>
> #endif // SANITIZER_LINUX
> +#endif
> --- libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc.jj 2013-11-12 11:31:00.000000000 +0100
> +++ libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc 2013-11-12 20:04:35.967587643 +0100
> @@ -10,7 +10,7 @@
> // Sizes and layouts of platform-specific POSIX data structures.
> //===----------------------------------------------------------------------===//
>
> -
> +#if 0
> #include "sanitizer_platform.h"
> #if SANITIZER_LINUX || SANITIZER_MAC
>
> @@ -881,3 +881,4 @@ CHECK_SIZE_AND_OFFSET(wordexp_t, we_offs
> #endif
>
> #endif // SANITIZER_LINUX || SANITIZER_MAC
> +#endif
> --- libsanitizer/sanitizer_common/sanitizer_common_syscalls.inc.jj 2013-11-12 11:31:00.000000000 +0100
> +++ libsanitizer/sanitizer_common/sanitizer_common_syscalls.inc 2013-11-12 20:04:11.295715500 +0100
> @@ -58,6 +58,8 @@
> # define COMMON_SYSCALL_POST_FORK(res)
> #endif
>
> +#if 0
> +
> // FIXME: do some kind of PRE_READ for all syscall arguments (int(s) and such).
>
> extern "C" {
> @@ -2722,6 +2724,8 @@ POST_SYSCALL(vfork)(long res) {
> }
> } // extern "C"
>
> +#endif
> +
> #undef PRE_SYSCALL
> #undef PRE_READ
> #undef PRE_WRITE
>
>
> Jakub