Fixed problem with relocation,
authorceriel <none@none>
Mon, 8 Feb 1993 13:01:30 +0000 (13:01 +0000)
committerceriel <none@none>
Mon, 8 Feb 1993 13:01:30 +0000 (13:01 +0000)
added curr_token, so that parser can access token

mach/proto/as/comm1.h
mach/proto/as/comm5.c
mach/proto/as/comm6.c

index 2bf01a7..632c2e2 100644 (file)
@@ -101,6 +101,8 @@ extern item_t               keytab[];
 extern struct outhead  outhead;
 #endif
 
+extern int     curr_token;
+
 /* forward function declarations */
 #ifdef ASLD
 extern char    *readident();
index 5fbd672..27cf23c 100644 (file)
@@ -64,6 +64,7 @@ yylex()
                        c = getval(c);
                }
        }
+       curr_token = c;
        return(c);
 }
 
index 9abe6bc..a792514 100644 (file)
@@ -264,10 +264,11 @@ newrelo(s, n)
         *      move    b,d0
         *      b=a
         *  a:  .data2  0
+        * but no relocation info if S_VAR is set, but type is S_ABS.
         */
        iscomm = s & S_COM;
        s &= ~S_COM;
-       if ((n & RELPC) == 0 && s == S_ABS)
+       if ((n & RELPC) == 0 && ((s & ~S_VAR) == S_ABS))
                return;
        if ((n & RELPC) != 0 && s == DOTTYP
 #ifndef ASLD