[gnu.emacs.bug] Emacs 18.53 on HP-9000/300

cph@KLEPH.AI.MIT.EDU (Chris Hanson) (05/05/89)

Here are the changes needed to get Emacs 18.53 running under HP-UX
version 6.5:


*** /zurich/gnu/fsf/dist/emacs-18.53/src/crt0.c	Wed Aug 31 02:48:46 1988
--- crt0.c	Thu May  4 03:46:13 1989
***************
*** 446,451 ****
--- 446,453 ----
  #else /* new hp assembler */
  
  	asm("	text");
+ 	asm("	global	fpa_loc");
+ 	asm("	set	fpa_loc,0xfff08000");
  	asm("	global	__start");
  	asm("	global	_exit");
  	asm("	global	_main");
***************
*** 459,466 ****
--- 461,473 ----
  	asm("	fmov.l	&0x7480,%fpcr");
  #endif /* HPUX_68010 */
  	asm("skip_float:");
+ 	asm("	mov.l	%a0,%d0");
+ 	asm("	add.l	%d0,%d0");
  	asm("	subx.w	%d1,%d1");
  	asm("	mov.w	%d1,flag_68010");
+ 	asm("	add.l	%d0,%d0");
+ 	asm("	subx.w	%d1,%d1");
+ 	asm("	mov.w	%d1,flag_fpa");
  	asm("	mov.l	4(%a7),%d0");
  	asm("	beq.b	skip_1");
  	asm("	mov.l	%d0,%a0");
***************
*** 492,497 ****
--- 499,505 ----
  	asm("	comm	float_soft, 4");
  	asm("	comm	flag_68881, 4");
  	asm("	comm	flag_68010, 4");
+ 	asm("	comm	flag_fpa, 4");
  	
  #endif /* new hp assembler */
  #endif /* hp9000s300 */


*** /zurich/gnu/fsf/dist/emacs-18.53/src/m-hp9000s300.h	Fri Jun 10 08:09:19 1988
--- m-hp9000s300.h	Fri May  5 10:47:48 1989
***************
*** 20,25 ****
--- 20,30 ----
  
  
  /* Define this symbol if you are running a version of HP-UX
+    which predates version 6.5 */
+ 
+ /* #define NOMULTIPLEJOBS */
+ 
+ /* Define this symbol if you are running a version of HP-UX
     which predates version 6.01 */
  
  /* #define HPUX_5 */
***************
*** 95,104 ****
     numerically.  */
  
  /* #define VIRT_ADDR_VARIES */
- 
- /* This series of hp machine does not have job control.  */
- 
- #define NOMULTIPLEJOBS
  
  /* The symbol in the kernel where the load average is found
     is named _avenrun on this machine.  */
--- 100,105 ----



*** /zurich/gnu/fsf/dist/emacs-18.53/src/process.c	Sat Aug 20 13:27:41 1988
--- process.c	Thu May  4 16:28:23 1989
***************
*** 1012,1017 ****
--- 1012,1028 ----
  	      abort ();
  #endif /* not UNIPLUS and not RTU */
  	  }
+ #else /* TIOCNOTTY */
+ #ifdef HPUX
+ 	/* HP-UX doesn't have TIOCNOTTY, but it must create a new
+ 	   process group and associate the PTY with it. */
+ 	if (ptyname)
+ 	  {
+ 	    close (xforkin);
+ 	    setpgrp ();
+ 	    xforkout = xforkin = open (ptyname, O_RDWR, 0);
+ 	  }
+ #endif /* HPUX */
  #endif /* TIOCNOTTY */
  #endif /* HAVE_PTYS */
  	child_setup_tty (xforkout);



*** /zurich/gnu/fsf/dist/emacs-18.53/src/sysdep.c	Thu Feb  9 06:49:17 1989
--- sysdep.c	Thu May  4 04:43:28 1989
***************
*** 505,510 ****
--- 505,513 ----
    killpg (getpgrp (0), SIGTSTP);
  
  #else
+ #if defined(HPUX) && !defined(NOMULTIPLEJOBS)
+   kill (- (getpgrp ()), SIGTSTP);
+ #else
  #ifdef USG_JOBCTRL /* If you don't know what this is don't mess with it */
    ptrace (0, 0, 0, 0);		/* set for ptrace - caught by csh */
    kill (getpid (), SIGQUIT);
***************
*** 577,582 ****
--- 580,586 ----
    signal (SIGIO, sigio);
  #endif /* SIGIO */
  #endif /* no USG_JOBCTRL */
+ #endif /* not HPUX with job control */
  #endif /* no SIGTSTP */
  #endif /* not VMS */
  }