[3090] in Athena Bugs

home help back first fref pref prev next nref lref last post

RT Kernel: ca/machdep.c

daemon@ATHENA.MIT.EDU (John Carr)
Mon Sep 4 20:19:23 1989

To: bugs@ATHENA.MIT.EDU
Date: Mon, 04 Sep 89 20:19:08 EDT
From: John Carr <jfc@ATHENA.MIT.EDU>

There is a syntax error in this file that hc doesn't catch.
Specifically, a file is included in the middle of a function
that contains typedefs.  Since a typedef is only legal where
a variable declaration is, this is bad.  A patch follows,
along with fix for a scoping problem under ANSI C:

*** /minos/sys/ca/machdep.c	Sun Jan 15 08:31:59 1989
--- machdep.c	Tue Aug 29 06:13:04 1989
***************
*** 490,495 ****
--- 490,498 ----
   * restores the registers and does a lps to return
   * to user code.
   */
+ #ifdef NFL
+ #include "../machine/fp.h"
+ #endif
  
  sendsig(p, sig, mask)
  int (*p)(), sig, mask;
***************
*** 566,572 ****
  	 */
  	regs[R2] = fp->sf_signum = sig; /* 1st parameter: sf_signum */
  #ifdef NFL
- #include "../machine/fp.h"
  	if (sig == SIGFPE) {
  	    if (float_sendsig(fp)) {	/* Call floating point code to send */
  		scp->sc_flags |= SC_FLOATSAVE;
--- 569,574 ----
***************
*** 991,997 ****
  Debugger(s)
  char *s;
  {
! 	/*      extern char etext, end; /* */
  	register int n = debug_flag;
  	extern unsigned long cons_sec;
  
--- 993,999 ----
  Debugger(s)
  char *s;
  {
! 	extern char etext, end;
  	register int n = debug_flag;
  	extern unsigned long cons_sec;
  

home help back first fref pref prev next nref lref last post