[comp.emacs] Emacs 18.35 on ISI Optimum V16

pedz@bobkat.UUCP (Pedz Thing) (01/12/87)

I have brought up gnu emacs version 18.35 up on an intergrated
solutions Optimum V16 System running 4.2 BSD UNIX Release 3.05.
I had to change the m-isi-ov.h file slightly to get the alloca routine
from the system to be used.  I then discovered that this routine was
buggy so I wrote my own.  The difference is that the returned value
pointed 4 bytes too low.  Below is the diff and the new alloca.  I
suggest that you just replace the alloca in the libc.a so that other
programs may use it as well.


*** m-isi-ov.h	Fri Jan  9 16:16:01 1987
--- m-isi-ov.h.old	Fri Jan  9 16:03:08 1987
***************
*** 62,82
  /* Mask for address bits within a memory segment */
  
  #define SEGMENT_MASK 0x3ffff
- 
- /* use the -20 switch to get the 68020 code */
- /* use the 68881 so also add the -f switch */
- #define C_SWITCH_MACHINE -20 -f
- 
- /* No point to have debugging since it does not work. */
- #define C_DEBUG_SWITCH
- #define LIBS_DEBUG
- 
- /* Define C_ALLOCA if this machine does not support a true alloca
-    and the one written in C should be used instead.
-    Define HAVE_ALLOCA to say that the system provides a properly
-    working alloca function and it should be used.
-    Define neither one if an assembler-language alloca
-    in the file alloca.s should be used.  */
- 
- #undef C_ALLOCA
- #define HAVE_ALLOCA

--- 62,64 -----
  /* Mask for address bits within a memory segment */
  
  #define SEGMENT_MASK 0x3ffff
------------------------- alloca.s ----------------------------------------
/*
 * alloca for the intergrated solutions which works.
 * Written by Perry Smith (pedz@bobkat)
 */
.globl	_alloca
_alloca:
	movl	sp@+,a0
	movl	a7,d0
	subl	sp@,d0
	andl	#~3,d0
	movl	d0,sp
	tstb	sp@(0)		
	addql	#4,d0
	jmp	a0@
-- 
Perry Smith
{convex!ctvax,{ti-csl,infotel}!pollux}!bobkat!pedz