diff --git a/boehm-gc/ChangeLog b/boehm-gc/ChangeLog
index 40db8f39f8600b1ff720f5945aaabb8bf86eb70c..5cea85f7cf12e62d34b2a0a0361213c7d721cc8a 100644
--- a/boehm-gc/ChangeLog
+++ b/boehm-gc/ChangeLog
@@ -1,3 +1,7 @@
+1999-07-19  Tom Tromey  <tromey@cygnus.com>
+
+	* config.h (MPROTECT_VDB): Don't define on Linux.
+
 1999-07-19  Alexandre Oliva  <oliva@dcc.unicamp.br>
 
 	* Makefile.am (.s.lo): Avoid `#line' directives.
diff --git a/boehm-gc/config.h b/boehm-gc/config.h
index 89110a6b82472d1b4c66468f7c45ee805f5a1033..7791b6cacb98f232a40746eab6bf55f714574ce3 100644
--- a/boehm-gc/config.h
+++ b/boehm-gc/config.h
@@ -590,7 +590,10 @@
 	/* Appears to be 0xe0000000 for at least one 2.1.91 kernel.	*/
 	/* Probably needs to be more flexible, but I don't yet 		*/
 	/* fully understand how flexible.				*/
-#	define MPROTECT_VDB
+
+	/* Linux threads don't interact well with the read() wrapper.
+	   Not defining MPROTECT_VDB fixes this.  */
+	/* #	define MPROTECT_VDB*/
 #       ifdef __ELF__
 #            define DYNAMIC_LOADING
 #	     ifdef UNDEFINED	/* includes ro data */