Index: Makefile.in
===================================================================
RCS file: /cvs/src/src/winsup/cygwin/Makefile.in,v
retrieving revision 1.54
diff -u -p -2 -r1.54 Makefile.in
--- Makefile.in	2001/04/16 03:27:16	1.54
+++ Makefile.in	2001/04/18 20:05:53
@@ -112,4 +112,6 @@ EXTRA_DLL_OFILES:=${addsuffix .o,${basen
 EXTRA_OFILES=$(bupdir1)/libiberty/random.o $(bupdir1)/libiberty/strsignal.o
 
+MALLOC_OFILES=@MALLOC_OFILES@
+
 DLL_IMPORTS:=$(w32api_lib)/libkernel32.a
 
@@ -127,5 +129,5 @@ DLL_OFILES:=assert.o autoload.o cygheap.
 	syslog.o termios.o thread.o times.o tty.o uinfo.o uname.o wait.o \
 	window.o \
-	$(EXTRA_DLL_OFILES) $(EXTRA_OFILES) $(MT_SAFE_OBJECTS)
+	$(EXTRA_DLL_OFILES) $(EXTRA_OFILES) $(MALLOC_OFILES) $(MT_SAFE_OBJECTS) 
 
 GMON_OFILES:= gmon.o mcount.o profil.o
Index: config.h.in
===================================================================
RCS file: /cvs/src/src/winsup/cygwin/config.h.in,v
retrieving revision 1.5
diff -u -p -2 -r1.5 config.h.in
--- config.h.in	2001/04/17 06:07:07	1.5
+++ config.h.in	2001/04/18 20:05:53
@@ -26,4 +26,7 @@
 #undef DEBUGGING
 
+/* Define if MALLOC_DEBUGGING support is requested.  */
+#undef MALLOC_DEBUG
+
 /* Define if building "extra" thread-safe Cygwin DLL.  */
 #undef _CYG_THREAD_FAILSAFE
Index: configure.in
===================================================================
RCS file: /cvs/src/src/winsup/cygwin/configure.in,v
retrieving revision 1.8
diff -u -p -2 -r1.8 configure.in
--- configure.in	2001/04/12 04:04:53	1.8
+++ configure.in	2001/04/18 20:05:54
@@ -167,4 +167,15 @@ esac
 ])
 
+MALLOC_OFILES=
+AC_ARG_ENABLE(malloc-debugging,
+[ --enable-malloc-debugging		Build a cygwin DLL with heap sanety checking (this is very slow, use only if you have heap corruption problems)],
+[case "${enableval}" in
+yes)	 AC_DEFINE(MALLOC_DEBUG)
+	 MALLOC_OFILES=dlmalloc.o
+	 ;;
+no)	 ;;
+esac
+])
+
 AC_ARG_ENABLE(vfork,
 [ --enable-vfork		Build a cygwin DLL which uses experimental vfork code],
@@ -235,4 +246,5 @@ case "$target_cpu" in
 esac
 
+AC_SUBST(MALLOC_OFILES)
 AC_SUBST(DLL_ENTRY)
 AC_SUBST(DEF_DLL_ENTRY)
Index: debug.h
===================================================================
RCS file: /cvs/src/src/winsup/cygwin/debug.h,v
retrieving revision 1.6
diff -u -p -2 -r1.6 debug.h
--- debug.h	2001/03/05 06:28:23	1.6
+++ debug.h	2001/04/18 20:05:54
@@ -10,4 +10,6 @@ details. */
 #define MALLOC_CHECK do {} while (0)
 #else
+#include <stdlib.h>
+#include "dlmalloc.h"
 #define MALLOC_CHECK ({\
   debug_printf ("checking malloc pool");\
Index: tty.cc
===================================================================
RCS file: /cvs/src/src/winsup/cygwin/tty.cc,v
retrieving revision 1.18
diff -u -p -2 -r1.18 tty.cc
--- tty.cc	2001/03/19 18:27:36	1.18
+++ tty.cc	2001/04/18 20:05:54
@@ -29,5 +29,5 @@ extern fhandler_tty_master *tty_master;
 extern "C"
 int
-grantpt (void)
+grantpt (int fd)
 {
   return 0;
@@ -36,5 +36,5 @@ grantpt (void)
 extern "C"
 int
-unlockpt (void)
+unlockpt (int fd)
 {
   return 0;
Index: winsup.h
===================================================================
RCS file: /cvs/src/src/winsup/cygwin/winsup.h,v
retrieving revision 1.50
diff -u -p -2 -r1.50 winsup.h
--- winsup.h	2001/04/03 02:53:24	1.50
+++ winsup.h	2001/04/18 20:05:55
@@ -59,5 +59,7 @@ extern char case_folded_upper[];
 #define cyg_toupper(c) (case_folded_upper[(unsigned char)(c)])
 
+#ifndef MALLOC_DEBUG
 #define cfree newlib_cfree_dont_use
+#endif
 
 #define WIN32_LEAN_AND_MEAN 1
Index: include/sys/socket.h
===================================================================
RCS file: /cvs/src/src/winsup/cygwin/include/sys/socket.h,v
retrieving revision 1.5
diff -u -p -2 -r1.5 socket.h
--- socket.h	2001/03/05 21:29:23	1.5
+++ socket.h	2001/04/18 20:05:55
@@ -12,5 +12,5 @@ details. */
 #define _SYS_SOCKET_H
 
-#include <features.h>
+#include <sys/features.h>
 #include <cygwin/socket.h>
 #include <sys/time.h>
