--- src/m/alpha.h.orig	Sat Aug 10 07:03:36 1996
+++ src/m/alpha.h	Sat Jan 16 22:34:10 1999
@@ -234,7 +234,11 @@
 
 #ifndef NOT_C_CODE
 /* We need these because pointers are larger than the default ints.  */
+#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__)
 #include <alloca.h>
+#else
+#include <stdlib.h>
+#endif
 
 /* Hack alert!  For reasons unknown to mankind the string.h file insists
    on defining bcopy etc. as taking char pointers as arguments.  With
@@ -299,10 +303,18 @@
    termio and struct termios are mutually incompatible.  */
 #define NO_TERMIO
 
-#ifdef LINUX
+#if defined(LINUX) || \
+	defined(__FreeBSD__) || defined (__NetBSD__) || defined (__OpenBSD__)
 # define TEXT_END ({ extern int _etext; &_etext; })
 # ifndef __ELF__
 #  define COFF
 #  define DATA_END ({ extern int _EDATA; &_EDATA; })
 # endif /* notdef __ELF__ */
 #endif
+
+#if (defined (__FreeBSD__) || defined (__NetBSD__) || defined (__OpenBSD__)) \
+	&& defined (__ELF__)
+#define HAVE_TEXT_START
+#endif
+
+
