This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Revert libsanitizer patches or fix 59009


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
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
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?

--- 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]