aboutsummaryrefslogtreecommitdiff
path: root/libmudflap
diff options
context:
space:
mode:
authorFrank Ch. Eigler <fche@redhat.com>2004-07-21 18:50:14 +0000
committerFrank Ch. Eigler <fche@gcc.gnu.org>2004-07-21 18:50:14 +0000
commit54419590e8a285da06c35c76c0ee2dc0066c6433 (patch)
tree341d1ca74728c7eb4882fe3637e08ccf81c3279a /libmudflap
parent0e6ed89966f8864f22f0e2bfdddf1a725b897eb8 (diff)
downloadgcc-54419590e8a285da06c35c76c0ee2dc0066c6433.zip
gcc-54419590e8a285da06c35c76c0ee2dc0066c6433.tar.gz
gcc-54419590e8a285da06c35c76c0ee2dc0066c6433.tar.bz2
mf-runtime.c (__mfu_check): Remove mistaken mode-nop handling.
2004-07-21 Frank Ch. Eigler <fche@redhat.com> * mf-runtime.c (__mfu_check): Remove mistaken mode-nop handling. (__mfu_usage): Include (C) 2004. * mf-hooks3.c (__mf_find_threadinfo): Don't call tracing functions here. Include a comment explaining why. From-SVN: r85014
Diffstat (limited to 'libmudflap')
-rw-r--r--libmudflap/ChangeLog8
-rw-r--r--libmudflap/mf-hooks3.c10
-rw-r--r--libmudflap/mf-runtime.c11
3 files changed, 24 insertions, 5 deletions
diff --git a/libmudflap/ChangeLog b/libmudflap/ChangeLog
index 5a6f2d2..e10099a 100644
--- a/libmudflap/ChangeLog
+++ b/libmudflap/ChangeLog
@@ -1,3 +1,11 @@
+2004-07-21 Frank Ch. Eigler <fche@redhat.com>
+
+ * mf-runtime.c (__mfu_check): Remove mistaken mode-nop
+ handling.
+ (__mfu_usage): Include (C) 2004.
+ * mf-hooks3.c (__mf_find_threadinfo): Don't call tracing functions
+ here. Include a comment explaining why.
+
2004-07-20 Frank Ch. Eigler <fche@redhat.com>
* mf-impl.h (__mf_options): Add ignore_reads and timestamps fields.
diff --git a/libmudflap/mf-hooks3.c b/libmudflap/mf-hooks3.c
index 00fb372..b844ee5 100644
--- a/libmudflap/mf-hooks3.c
+++ b/libmudflap/mf-hooks3.c
@@ -172,6 +172,10 @@ __mf_allocate_blank_threadinfo (unsigned* idx)
making an early call into libmudflap. In these cases, create a new
entry. If not it's not the main thread, put it into reentrant
initial state.
+
+ NB: VERBOSE_TRACE type functions are not generally safe to call
+ from this context, since a new thread might just be "booting up",
+ making printf unsafe to call.
*/
static struct pthread_info*
__mf_find_threadinfo ()
@@ -225,7 +229,7 @@ __mf_find_threadinfo ()
/* NB: leave stack-related fields unset, to avoid
deallocation. */
main_thread_seen_p = 1;
- VERBOSE_TRACE ("identified self as main thread\n");
+ /* VERBOSE_TRACE ("identified self as main thread\n"); */
}
else
{
@@ -236,15 +240,17 @@ __mf_find_threadinfo ()
/* NB: leave stack-related fields unset, leaving pthread_create
to fill them in for user threads, leaving them empty for
other threads. */
- VERBOSE_TRACE ("identified self as new aux or user thread\n");
+ /* VERBOSE_TRACE ("identified self as new aux or user thread\n"); */
}
}
if (last != it)
{
+ /*
VERBOSE_TRACE ("found threadinfo for %u, slot %u\n",
(unsigned) it,
(unsigned) *hash);
+ */
last = it;
}
diff --git a/libmudflap/mf-runtime.c b/libmudflap/mf-runtime.c
index 486880c..f984842 100644
--- a/libmudflap/mf-runtime.c
+++ b/libmudflap/mf-runtime.c
@@ -376,7 +376,7 @@ __mf_usage ()
fprintf (stderr,
"This is a %s%sGCC \"mudflap\" memory-checked binary.\n"
- "Mudflap is Copyright (C) 2002-2003 Free Software Foundation, Inc.\n"
+ "Mudflap is Copyright (C) 2002-2004 Free Software Foundation, Inc.\n"
"\n"
"The mudflap code can be controlled by an environment variable:\n"
"\n"
@@ -759,8 +759,13 @@ void __mfu_check (void *ptr, size_t sz, int type, const char *location)
switch (__mf_opts.mudflap_mode)
{
case mode_nop:
- entry->low = MINPTR;
- entry->high = MAXPTR;
+ /* It is tempting to poison the cache here similarly to
+ mode_populate. However that eliminates a valuable
+ distinction between these two modes. mode_nop is useful to
+ let a user count & trace every single check / registration
+ call. mode_populate is useful to let a program run fast
+ while unchecked.
+ */
judgement = 1;
break;