Fix a silly mistake resulting in a bunch of global variables being
defined in all the object files in Memcheck.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8445 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/memcheck/mc_include.h b/memcheck/mc_include.h
index c31f715..f9108a8 100644
--- a/memcheck/mc_include.h
+++ b/memcheck/mc_include.h
@@ -98,10 +98,10 @@
 MC_Chunk* MC_(get_freed_list_head)( void );
 
 /* For tracking malloc'd blocks */
-VgHashTable MC_(malloc_list);
+extern VgHashTable MC_(malloc_list);
 
 /* For tracking memory pools. */
-VgHashTable MC_(mempool_list);
+extern VgHashTable MC_(mempool_list);
 
 /* Shadow memory functions */
 Bool MC_(check_mem_is_noaccess)( Addr a, SizeT len, Addr* bad_addr );
@@ -242,11 +242,11 @@
   Reachedness;
 
 /* For VALGRIND_COUNT_LEAKS client request */
-SizeT MC_(bytes_leaked);
-SizeT MC_(bytes_indirect);
-SizeT MC_(bytes_dubious);
-SizeT MC_(bytes_reachable);
-SizeT MC_(bytes_suppressed);
+extern SizeT MC_(bytes_leaked);
+extern SizeT MC_(bytes_indirect);
+extern SizeT MC_(bytes_dubious);
+extern SizeT MC_(bytes_reachable);
+extern SizeT MC_(bytes_suppressed);
 
 typedef
    enum {
@@ -289,7 +289,7 @@
    value origin could have been collected (but wasn't) ?  If yes,
    then, at the end of the run, print a 1 line message advising that a
    rerun with --track-origins=yes might help. */
-Bool MC_(any_value_errors);
+extern Bool MC_(any_value_errors);
 
 /* Standard functions for error and suppressions as required by the
    core/tool iface */
@@ -363,23 +363,23 @@
 /*------------------------------------------------------------*/
 
 /* Allow loads from partially-valid addresses?  default: YES */
-Bool MC_(clo_partial_loads_ok);
+extern Bool MC_(clo_partial_loads_ok);
 
 /* Max volume of the freed blocks queue. */
-Long MC_(clo_freelist_vol);
+extern Long MC_(clo_freelist_vol);
 
 /* Do leak check at exit?  default: NO */
-LeakCheckMode MC_(clo_leak_check);
+extern LeakCheckMode MC_(clo_leak_check);
 
 /* How closely should we compare ExeContexts in leak records? default: 2 */
-VgRes MC_(clo_leak_resolution);
+extern VgRes MC_(clo_leak_resolution);
 
 /* In leak check, show reachable-but-not-freed blocks?  default: NO */
-Bool MC_(clo_show_reachable);
+extern Bool MC_(clo_show_reachable);
 
 /* Assume accesses immediately below %esp are due to gcc-2.96 bugs.
  * default: NO */
-Bool MC_(clo_workaround_gcc296_bugs);
+extern Bool MC_(clo_workaround_gcc296_bugs);
 
 /* Fill malloc-d/free-d client blocks with a specific value?  -1 if
    not, else 0x00 .. 0xFF indicating the fill value to use.  Can be
@@ -387,8 +387,8 @@
    more repeatable ways.  Note that malloc-filled and free-filled
    areas are still undefined and noaccess respectively.  This merely
    causes them to contain the specified values. */
-Int MC_(clo_malloc_fill);
-Int MC_(clo_free_fill);
+extern Int MC_(clo_malloc_fill);
+extern Int MC_(clo_free_fill);
 
 /* Indicates the level of instrumentation/checking done by Memcheck.
 
@@ -413,7 +413,7 @@
 
    The default is 2.
 */
-Int MC_(clo_mc_level);
+extern Int MC_(clo_mc_level);
 
 
 /*------------------------------------------------------------*/