diff -r -c cmucl-src.orig/compiler/hppa/parms.lisp cmucl-src/compiler/hppa/parms.lisp
*** cmucl-src.orig/compiler/hppa/parms.lisp	Sun Oct 30 20:42:45 1994
--- cmucl-src/compiler/hppa/parms.lisp	Fri Aug 28 14:33:57 1998
***************
*** 130,136 ****
  (defparameter target-dynamic-space-start   #x30000000)
  
  ;; The space-register holding the lisp heap.
! (defconstant lisp-heap-space 4)
  
  ;; The space-register holding the C text segment.
  (defconstant c-text-space 4)
--- 130,136 ----
  (defparameter target-dynamic-space-start   #x30000000)
  
  ;; The space-register holding the lisp heap.
! (defconstant lisp-heap-space 5)
  
  ;; The space-register holding the C text segment.
  (defconstant c-text-space 4)
diff -r -c cmucl-src.orig/lisp/Config.hp700_ux90 cmucl-src/lisp/Config.hp700_ux90
*** cmucl-src.orig/lisp/Config.hp700_ux90	Sat Jun  7 08:25:30 1997
--- cmucl-src/lisp/Config.hp700_ux90	Wed Sep  2 09:58:11 1998
***************
*** 1,16 ****
! CPPFLAGS = -Dparisc -I. -I/usr/local/lib/gcc-lib/hppa1.1-hp-hpux/2.6.0/include \
  	-I/usr/include -I/usr/include/X11R5
  LINK.o = gcc $(LDFLAGS) $(TARGET_ARCH)
  CC = gcc
  NM = hpux-nm
! CFLAGS = -O
! ASFLAGS = -O -DNEW_FORMAT
  UNDEFSYMPATTERN=-u &
  ASSEM_SRC = hppa-assem.S
  ARCH_SRC = hppa-arch.c
  OS_SRC = hpux-os.c undefineds.c
! OS_LINK_FLAGS= -Wl,-a,archive
  OS_LIBS= -lBSD /lib/pa1.1/libm.a
  
  %.o: %.S
  	$(PREPROCESS.S) $< | as -o $@
--- 1,19 ----
! CPPFLAGS = -Dparisc -I. -I/usr/cygnus/lib/gcc-lib/hppa1.1-hp-hpux9.05/2.6-95q3/include \
  	-I/usr/include -I/usr/include/X11R5
  LINK.o = gcc $(LDFLAGS) $(TARGET_ARCH)
  CC = gcc
  NM = hpux-nm
! CFLAGS = -g
! ASFLAGS = -g -DNEW_FORMAT
  UNDEFSYMPATTERN=-u &
  ASSEM_SRC = hppa-assem.S
  ARCH_SRC = hppa-arch.c
  OS_SRC = hpux-os.c undefineds.c
! OS_LINK_FLAGS= -Wl,-a,archive -N
  OS_LIBS= -lBSD /lib/pa1.1/libm.a
  
  %.o: %.S
  	$(PREPROCESS.S) $< | as -o $@
+ 
+ %.S: %.s
+ 	cp $^ $@
diff -r -c cmucl-src.orig/lisp/hppa-assem.s cmucl-src/lisp/hppa-assem.s
*** cmucl-src.orig/lisp/hppa-assem.s	Thu Feb 16 16:51:13 1995
--- cmucl-src/lisp/hppa-assem.s	Wed Sep  2 08:46:29 1998
***************
*** 23,31 ****
  call_into_lisp
  	.proc
  	.callinfo entry_gr=18,save_rp
! 	.enter
  	/* arg0=function, arg1=cfp, arg2=nargs */
  
  	/* Clear the descriptor regs, moving in args as approporate. */
  	copy	r0,reg_CODE
  	copy	r0,reg_FDEFN
--- 23,49 ----
  call_into_lisp
  	.proc
  	.callinfo entry_gr=18,save_rp
! 	.entry
  	/* arg0=function, arg1=cfp, arg2=nargs */
  
+ 	stw	rp,-0x14(sr0,sp)
+ 	stwm r3,0x40(sr0,sp)
+ 	stw r4,-0x3c(sr0,sp)
+ 	stw r5,-0x38(sr0,sp)
+ 	stw r6,-0x34(sr0,sp)
+ 	stw r7,-0x30(sr0,sp)
+ 	stw r8,-0x2c(sr0,sp)
+ 	stw r9,-0x28(sr0,sp)
+ 	stw r10,-0x24(sr0,sp)
+ 	stw r11,-0x20(sr0,sp)
+ 	stw r12,-0x1c(sr0,sp)
+ 	stw r13,-0x18(sr0,sp)
+ 	stw r14,-0x14(sr0,sp)
+ 	stw r15,-0x10(sr0,sp)
+ 	stw r16,-0xc(sr0,sp)
+ 	stw r17,-0x8(sr0,sp)
+ 	stw r18,-0x4(sr0,sp)
+ 
  	/* Clear the descriptor regs, moving in args as approporate. */
  	copy	r0,reg_CODE
  	copy	r0,reg_FDEFN
***************
*** 88,94 ****
  	/* And into lisp we go. */
  	.export break_here
  break_here
! 	be,n	0(sr4,reg_LIP)
  
  	.align	8
  lra
--- 106,114 ----
  	/* And into lisp we go. */
  	.export break_here
  break_here
! 	be,n	0(sr5,reg_LIP)
! 
! 	break	0,0
  
  	.align	8
  lra
***************
*** 124,131 ****
  	/* Turn off pseudo-atomic and check for traps. */
  	addit,od	-4,reg_ALLOC,reg_ALLOC
  
  	/* And thats all. */
! 	.leave
  	.procend
  
  
--- 144,172 ----
  	/* Turn off pseudo-atomic and check for traps. */
  	addit,od	-4,reg_ALLOC,reg_ALLOC
  
+ 
+ 	ldw -0x54(sr0,sp),rp
+ 	ldw -0x4(sr0,sp),r18
+ 	ldw -0x8(sr0,sp),r17
+ 	ldw -0xc(sr0,sp),r16
+ 	ldw -0x10(sr0,sp),r15
+ 	ldw -0x14(sr0,sp),r14
+ 	ldw -0x18(sr0,sp),r13
+ 	ldw -0x1c(sr0,sp),r12
+ 	ldw -0x20(sr0,sp),r11
+ 	ldw -0x24(sr0,sp),r10
+ 	ldw -0x28(sr0,sp),r9
+ 	ldw -0x2c(sr0,sp),r8
+ 	ldw -0x30(sr0,sp),r7
+ 	ldw -0x34(sr0,sp),r6
+ 	ldw -0x38(sr0,sp),r5
+ 	ldw -0x3c(sr0,sp),r4
+ 	bv r0(rp)
+ 	ldwm -0x40(sr0,sp),r3
+ 
+ 
  	/* And thats all. */
! 	.exit
  	.procend
  
  
***************
*** 226,245 ****
  sanctify_for_execution
  	.proc
  	.callinfo
! 	.enter
  	/* arg0=start addr, arg1=length in bytes */
  	add	arg0,arg1,arg1
  	ldo	-1(arg1),arg1
  	depi	0,31,5,arg0
  	depi	0,31,5,arg1
! 	ldsid	(arg0),r19
! 	mtsp	r19,sr1
! 	ldi	32,r19			; bytes per cache line
  sanctify_loop
  	fdc	0(sr1,arg0)
  	comb,<	arg0,arg1,sanctify_loop
! 	fic,m	r19(sr1,arg0)
! 	.leave
  	.procend
  
  
--- 267,290 ----
  sanctify_for_execution
  	.proc
  	.callinfo
! 	.entry
  	/* arg0=start addr, arg1=length in bytes */
  	add	arg0,arg1,arg1
  	ldo	-1(arg1),arg1
  	depi	0,31,5,arg0
  	depi	0,31,5,arg1
! 	ldsid	(arg0),t1
! 	mtsp	t1,sr1
! 	ldi	32,t1			; bytes per cache line
  sanctify_loop
  	fdc	0(sr1,arg0)
  	comb,<	arg0,arg1,sanctify_loop
! 	fic,m	t1(sr1,arg0)
! 
! 	bv r0(rp)
! 	nop
! 
! 	.exit
  	.procend
  
  
***************
*** 291,297 ****
  save_state
  	.proc
  	.callinfo entry_gr=18,entry_fr=21,save_rp,calls
! 	.enter
  
  	/* Remember the function we want to invoke */
  	copy	arg0,r19
--- 336,371 ----
  save_state
  	.proc
  	.callinfo entry_gr=18,entry_fr=21,save_rp,calls
! 	.entry
! 
! 	stw rp,-0x14(sr0,sp)
! 	fstds,ma fr12,8(sr0,sp)
! 	fstds,ma fr13,8(sr0,sp)
! 	fstds,ma fr14,8(sr0,sp)
! 	fstds,ma fr15,8(sr0,sp)
! 	fstds,ma fr16,8(sr0,sp)
! 	fstds,ma fr17,8(sr0,sp)
! 	fstds,ma fr18,8(sr0,sp)
! 	fstds,ma fr19,8(sr0,sp)
! 	fstds,ma fr20,8(sr0,sp)
! 	fstds,ma fr21,8(sr0,sp)
! 	stwm r3,0x70(sr0,sp)
! 	stw r4,-0x6c(sr0,sp)
! 	stw r5,-0x68(sr0,sp)
! 	stw r6,-0x64(sr0,sp)
! 	stw r7,-0x60(sr0,sp)
! 	stw r8,-0x5c(sr0,sp)
! 	stw r9,-0x58(sr0,sp)
! 	stw r10,-0x54(sr0,sp)
! 	stw r11,-0x50(sr0,sp)
! 	stw r12,-0x4c(sr0,sp)
! 	stw r13,-0x48(sr0,sp)
! 	stw r14,-0x44(sr0,sp)
! 	stw r15,-0x40(sr0,sp)
! 	stw r16,-0x3c(sr0,sp)
! 	stw r17,-0x38(sr0,sp)
! 	stw r18,-0x34(sr0,sp)
! 
  
  	/* Remember the function we want to invoke */
  	copy	arg0,r19
***************
*** 305,312 ****
  	ble	0(4,r19)
  	copy	r31, r2
  
  _restore_state
! 	.leave
  	.procend
  
  	.export	restore_state
--- 379,418 ----
  	ble	0(4,r19)
  	copy	r31, r2
  
+ 	.export _restore_state
  _restore_state
! 
! 	ldw -0xd4(sr0,sp),rp
! 	ldw -0x34(sr0,sp),r18
! 	ldw -0x38(sr0,sp),r17
! 	ldw -0x3c(sr0,sp),r16
! 	ldw -0x40(sr0,sp),r15
! 	ldw -0x44(sr0,sp),r14
! 	ldw -0x48(sr0,sp),r13
! 	ldw -0x4c(sr0,sp),r12
! 	ldw -0x50(sr0,sp),r11
! 	ldw -0x54(sr0,sp),r10
! 	ldw -0x58(sr0,sp),r9
! 	ldw -0x5c(sr0,sp),r8
! 	ldw -0x60(sr0,sp),r7
! 	ldw -0x64(sr0,sp),r6
! 	ldw -0x68(sr0,sp),r5
! 	ldw -0x6c(sr0,sp),r4
! 	ldwm -0x70(sr0,sp),r3
! 	fldds,mb -8(sr0,sp),fr21
! 	fldds,mb -8(sr0,sp),fr20
! 	fldds,mb -8(sr0,sp),fr19
! 	fldds,mb -8(sr0,sp),fr18
! 	fldds,mb -8(sr0,sp),fr17
! 	fldds,mb -8(sr0,sp),fr16
! 	fldds,mb -8(sr0,sp),fr15
! 	fldds,mb -8(sr0,sp),fr14
! 	fldds,mb -8(sr0,sp),fr13
! 	bv r0(rp)
! 	fldds,mb -8(sr0,sp),fr12
! 
! 
! 	.exit
  	.procend
  
  	.export	restore_state
***************
*** 324,331 ****
  SingleStepTraps
  	break	trap_SingleStepBreakpoint,0
  	break	trap_SingleStepBreakpoint,0
! 
! 
  
  	.align	8
  	.export function_end_breakpoint_guts
--- 430,438 ----
  SingleStepTraps
  	break	trap_SingleStepBreakpoint,0
  	break	trap_SingleStepBreakpoint,0
! /* Missing !! NOT
! 	there's a break 0,0 in the new version here!!!
! */
  
  	.align	8
  	.export function_end_breakpoint_guts
diff -r -c cmucl-src.orig/lisp/hppa-lispregs.h cmucl-src/lisp/hppa-lispregs.h
*** cmucl-src.orig/lisp/hppa-lispregs.h	Tue Jul 27 08:04:16 1993
--- cmucl-src/lisp/hppa-lispregs.h	Wed Aug 19 17:34:45 1998
***************
*** 41,46 ****
--- 41,91 ----
  #define reg_NSP REG(30)
  #define reg_LIP REG(31)
  
+ #if defined(hpux) && defined(LANGUAGE_ASSEMBLY)
+ #define r0 %r0
+ #define r1 %r1
+ #define r2 %r2
+ #define r3 %r3
+ #define r4 %r4
+ #define r5 %r5
+ #define r6 %r6
+ #define r7 %r7
+ #define r8 %r8
+ #define r9 %r9
+ #define r10 %r10
+ #define r11 %r11
+ #define r12 %r12
+ #define r13 %r13
+ #define r14 %r14
+ #define r15 %r15
+ #define r16 %r16
+ #define r17 %r17
+ #define r18 %r18
+ #define r19 %r19
+ #define r31 %r31
+ #define sp %sp
+ #define sr0 %sr0
+ #define sr1 %sr1
+ #define sr4 %sr4
+ #define sr5 %sr5
+ #define t1 %r22
+ #define arg0 %arg0
+ #define arg1 %arg1
+ #define arg2 %arg2
+ #define ret0 %ret0
+ #define dp %dp
+ #define rp %rp
+ #define fr12 %fr12
+ #define fr13 %fr13
+ #define fr14 %fr14
+ #define fr15 %fr15
+ #define fr16 %fr16
+ #define fr17 %fr17
+ #define fr18 %fr18
+ #define fr19 %fr19
+ #define fr20 %fr20
+ #define fr21 %fr21
+ #endif
  
  #define REGNAMES \
      "ZERO", "NFP", "CFUNC", "CSP", "CFP", "BSP", "NULL", "ALLOC", \
diff -r -c cmucl-src.orig/lisp/hppa-validate.h cmucl-src/lisp/hppa-validate.h
*** cmucl-src.orig/lisp/hppa-validate.h	Thu Oct 27 10:13:54 1994
--- cmucl-src/lisp/hppa-validate.h	Fri Aug 28 15:00:31 1998
***************
*** 15,25 ****
  #define STATIC_SPACE_SIZE	(0x08000000)
  
  #define DYNAMIC_0_SPACE_START	(0x30000000)
! #define DYNAMIC_1_SPACE_START	(0x38000000)
! #define DYNAMIC_SPACE_SIZE	(0x08000000)
  
! #define CONTROL_STACK_START	(0x50000000)
  #define CONTROL_STACK_SIZE	(0x00100000)
  
! #define BINDING_STACK_START	(0x70000000)
  #define BINDING_STACK_SIZE	(0x00100000)
--- 15,25 ----
  #define STATIC_SPACE_SIZE	(0x08000000)
  
  #define DYNAMIC_0_SPACE_START	(0x30000000)
! #define DYNAMIC_1_SPACE_START	(0x50000000)
! #define DYNAMIC_SPACE_SIZE	(0x20000000)
  
! #define CONTROL_STACK_START	(0x70000000)
  #define CONTROL_STACK_SIZE	(0x00100000)
  
! #define BINDING_STACK_START	(0x71000000)
  #define BINDING_STACK_SIZE	(0x00100000)
diff -r -c cmucl-src.orig/lisp/undefineds.h cmucl-src/lisp/undefineds.h
*** cmucl-src.orig/lisp/undefineds.h	Sat Jun  7 08:25:41 1997
--- cmucl-src/lisp/undefineds.h	Thu Feb 19 18:58:19 1998
***************
*** 108,114 ****
  #if !defined(SVR4) ||  defined(SOLARIS25)
  setpriority,
  #endif
! #if !defined(mach) && !defined(SOLARIS) && !defined(__FreeBSD__) && !defined(SUNOS) && !defined(osf1) && !defined(irix)
  setquota,
  #endif
  #if !defined(hpux) && !defined(SVR4) ||  defined(SOLARIS25)
--- 108,114 ----
  #if !defined(SVR4) ||  defined(SOLARIS25)
  setpriority,
  #endif
! #if !defined(mach) && !defined(SOLARIS) && !defined(__FreeBSD__) && !defined(SUNOS) && !defined(osf1) && !defined(irix) && !defined(hpux)
  setquota,
  #endif
  #if !defined(hpux) && !defined(SVR4) ||  defined(SOLARIS25)
