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 */
}