projects
/
unix-history
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
tags
|
clone url
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
handle enums w/o tags as structure/union members
[unix-history]
/
usr
/
src
/
old
/
as.vax
/
asjxxx.c
diff --git
a/usr/src/old/as.vax/asjxxx.c
b/usr/src/old/as.vax/asjxxx.c
index
b7156f9
..
ec62d37
100644
(file)
--- a/
usr/src/old/as.vax/asjxxx.c
+++ b/
usr/src/old/as.vax/asjxxx.c
@@
-2,7
+2,7
@@
* Copyright (c) 1982 Regents of the University of California
*/
#ifndef lint
* Copyright (c) 1982 Regents of the University of California
*/
#ifndef lint
-static char sccsid[] = "@(#)asjxxx.c 4.
6
%G%";
+static char sccsid[] = "@(#)asjxxx.c 4.
8
%G%";
#endif not lint
#include <stdio.h>
#endif not lint
#include <stdio.h>
@@
-76,9
+76,13
@@
ijxout(opcode, ap, nact)
jumpfrom->s_dest = lastnam;
jumpfrom->s_type = dotp->e_xtype; /*only TEXT or DATA*/
jumpfrom->s_index = dotp-usedot;
jumpfrom->s_dest = lastnam;
jumpfrom->s_type = dotp->e_xtype; /*only TEXT or DATA*/
jumpfrom->s_index = dotp-usedot;
+#ifdef DEBUG
+ jumpfrom->s_name = ITABFETCH(opcode)->i_name;
+ jumpfrom->s_jxline = lineno;
+#endif
/*
* value ALWAYS (ALWAYS!!!) indexes the next instruction
/*
* value ALWAYS (ALWAYS!!!) indexes the next instruction
- * after the jump, even i
n
the jump must be exploded
+ * after the jump, even i
f
the jump must be exploded
* (bumped)
*/
jumpfrom->s_value = dotp->e_xvalue;
* (bumped)
*/
jumpfrom->s_value = dotp->e_xvalue;
@@
-131,6
+135,9
@@
jalign(xp, sp)
register struct symtab *sp;
{
register int mask;
register struct symtab *sp;
{
register int mask;
+#ifdef DEBUG
+ static struct strdesc noname;
+#endif
/*
* Problem with .align
*
/*
* Problem with .align
*
@@
-171,6
+178,10
@@
jalign(xp, sp)
sp->s_jxfear = (1 << xp->e_xvalue) - 1;
sp->s_type = dotp->e_xtype;
sp->s_index = dotp-usedot;
sp->s_jxfear = (1 << xp->e_xvalue) - 1;
sp->s_type = dotp->e_xtype;
sp->s_index = dotp-usedot;
+#ifdef DEBUG
+ sp->s_name = (char *)&noname;
+ sp->s_jxline = lineno;
+#endif
/*
* We guess that the align will take up at least one
* byte in the code output. We will correct for this
/*
* We guess that the align will take up at least one
* byte in the code output. We will correct for this
@@
-301,7
+312,8
@@
jxxxfix()
#ifdef DEBUG
if(debug)
printf("Tunnel from %s from line %d\n",
#ifdef DEBUG
if(debug)
printf("Tunnel from %s from line %d\n",
- jumpfrom->s_name, lineno);
+ FETCHNAME(jumpfrom),
+ jumpfrom->s_jxline);
#endif
continue;
} else { /*tunneling not possible*/
#endif
continue;
} else { /*tunneling not possible*/
@@
-323,7
+335,7
@@
jxxxfix()
if (displ >= 0) {
SEGITERATE(segno, cojumpfrom + 1,0,cointdest,
intdest, ubintdest, ++){
if (displ >= 0) {
SEGITERATE(segno, cojumpfrom + 1,0,cointdest,
intdest, ubintdest, ++){
- if (intdest->s_value > dest->s_value)
+ if (intdest->s_value >
=
dest->s_value)
break; /* beyond destination */
if (intdest->s_tag <= JXQUESTIONABLE)
continue; /*frozen solid*/
break; /* beyond destination */
if (intdest->s_tag <= JXQUESTIONABLE)
continue; /*frozen solid*/
@@
-476,9
+488,10
@@
jxxxbump(segno, starthint)
if (debug){
if (sp->s_dest != 0)
printf("Explode jump to %s on line %d\n",
if (debug){
if (sp->s_dest != 0)
printf("Explode jump to %s on line %d\n",
-
sp->s_dest->s_name, lineno
);
+
FETCHNAME(sp->s_dest), sp->s_jxline
);
else
else
- printf("Explode an align!\n");
+ printf("Explode an align! on line %d\n",
+ sp->s_jxline);
}
#endif
sp->s_tag = JXINACTIVE;
}
#endif
sp->s_tag = JXINACTIVE;