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