diff options
author | fche <fche@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-07-21 18:50:14 +0000 |
---|---|---|
committer | fche <fche@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-07-21 18:50:14 +0000 |
commit | ce43fe1e86a6bd04e113d78f3988c79517142046 (patch) | |
tree | 341d1ca74728c7eb4882fe3637e08ccf81c3279a /libmudflap | |
parent | d86eb5b2499a174d88ca3798a1088efd14b7b423 (diff) | |
download | gcc-ce43fe1e86a6bd04e113d78f3988c79517142046.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85014 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libmudflap')
-rw-r--r-- | libmudflap/ChangeLog | 8 | ||||
-rw-r--r-- | libmudflap/mf-hooks3.c | 10 | ||||
-rw-r--r-- | libmudflap/mf-runtime.c | 11 |
3 files changed, 24 insertions, 5 deletions
diff --git a/libmudflap/ChangeLog b/libmudflap/ChangeLog index 5a6f2d2ba9d..e10099a8002 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 00fb3728e36..b844ee5c2b5 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 486880cf3ce..f984842d0c0 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; |