* config/tc-dvp.c (unpackloc_sym): Delete. All uses deleted.
This commit is contained in:
parent
cd53a9d95a
commit
40f3c6f84f
@ -1,3 +1,9 @@
|
|||||||
|
start-sanitize-sky
|
||||||
|
Thu Apr 16 11:48:18 1998 Doug Evans <devans@canuck.cygnus.com>
|
||||||
|
|
||||||
|
* config/tc-dvp.c (unpackloc_sym): Delete. All uses deleted.
|
||||||
|
|
||||||
|
end-sanitize-sky
|
||||||
Wed Apr 15 15:17:27 1998 Richard Henderson <rth@cygnus.com>
|
Wed Apr 15 15:17:27 1998 Richard Henderson <rth@cygnus.com>
|
||||||
|
|
||||||
* symbols.c (resolve_symbol_value) [O_symbol]: Also store the symbol
|
* symbols.c (resolve_symbol_value) [O_symbol]: Also store the symbol
|
||||||
|
@ -154,8 +154,6 @@ static symbolS *vif_data_end;
|
|||||||
|
|
||||||
/* Special symbol $.mpgloc. The value is in bytes. */
|
/* Special symbol $.mpgloc. The value is in bytes. */
|
||||||
static symbolS *mpgloc_sym;
|
static symbolS *mpgloc_sym;
|
||||||
/* Special symbol $.unpackloc. */
|
|
||||||
static symbolS *unpackloc_sym;
|
|
||||||
|
|
||||||
/* GIF insn support. */
|
/* GIF insn support. */
|
||||||
/* Type of insn. */
|
/* Type of insn. */
|
||||||
@ -291,7 +289,6 @@ md_begin ()
|
|||||||
|
|
||||||
/* Create special symbols. */
|
/* Create special symbols. */
|
||||||
mpgloc_sym = expr_build_uconstant (0);
|
mpgloc_sym = expr_build_uconstant (0);
|
||||||
unpackloc_sym = expr_build_uconstant (0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* We need to keep a list of fixups. We can't simply generate them as
|
/* We need to keep a list of fixups. We can't simply generate them as
|
||||||
@ -696,20 +693,10 @@ assemble_vif (str)
|
|||||||
insn_frag = frag_now;
|
insn_frag = frag_now;
|
||||||
/* Put a symbol at the start of data. $.unpackloc calculations
|
/* Put a symbol at the start of data. $.unpackloc calculations
|
||||||
use it. */
|
use it. */
|
||||||
|
/* ??? $.unpackloc is gone. Is this also used for data length
|
||||||
|
verification? */
|
||||||
vif_data_start = create_colon_label (STO_DVP_VIF, LOCAL_LABEL_PREFIX,
|
vif_data_start = create_colon_label (STO_DVP_VIF, LOCAL_LABEL_PREFIX,
|
||||||
unique_name ("unpack"));
|
unique_name ("unpack"));
|
||||||
|
|
||||||
/* Get the value of unpackloc. If it wasn't '*' update
|
|
||||||
$.unpackloc. */
|
|
||||||
{
|
|
||||||
int unpackloc = vif_get_unpackloc ();
|
|
||||||
if (unpackloc != -1)
|
|
||||||
{
|
|
||||||
unpackloc_sym->sy_value.X_op = O_constant;
|
|
||||||
unpackloc_sym->sy_value.X_add_number = unpackloc;
|
|
||||||
unpackloc_sym->sy_value.X_unsigned = 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -1435,19 +1422,6 @@ md_operand (expressionP)
|
|||||||
expressionP->X_add_symbol = mpgloc_sym;
|
expressionP->X_add_symbol = mpgloc_sym;
|
||||||
expressionP->X_add_number = 0;
|
expressionP->X_add_number = 0;
|
||||||
|
|
||||||
/* Advance over the '*'. */
|
|
||||||
++input_line_pointer;
|
|
||||||
}
|
|
||||||
/* Check if this is a '*' for unpackloc. */
|
|
||||||
else if (cur_opcode
|
|
||||||
&& (cur_opcode->flags & VIF_OPCODE_UNPACK) != 0
|
|
||||||
&& (cur_operand->flags & DVP_OPERAND_UNPACK_ADDRESS) != 0
|
|
||||||
&& *input_line_pointer == '*')
|
|
||||||
{
|
|
||||||
expressionP->X_op = O_symbol;
|
|
||||||
expressionP->X_add_symbol = unpackloc_sym;
|
|
||||||
expressionP->X_add_number = 0;
|
|
||||||
|
|
||||||
/* Advance over the '*'. */
|
/* Advance over the '*'. */
|
||||||
++input_line_pointer;
|
++input_line_pointer;
|
||||||
}
|
}
|
||||||
@ -2831,23 +2805,13 @@ s_endunpack (internal_p)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Record in the end data symbol the current location. */
|
/* Record in the end data symbol the current location. */
|
||||||
|
/* ??? $.unpackloc is gone. Is this also used for data length
|
||||||
|
verification? */
|
||||||
if (now_seg != S_GET_SEGMENT (vif_data_end))
|
if (now_seg != S_GET_SEGMENT (vif_data_end))
|
||||||
as_bad (".endunpack in different section");
|
as_bad (".endunpack in different section");
|
||||||
vif_data_end->sy_frag = frag_now;
|
vif_data_end->sy_frag = frag_now;
|
||||||
S_SET_VALUE (vif_data_end, (valueT) frag_now_fix ());
|
S_SET_VALUE (vif_data_end, (valueT) frag_now_fix ());
|
||||||
|
|
||||||
/* Update $.UnpackLoc. */
|
|
||||||
{
|
|
||||||
symbolS *s;
|
|
||||||
s = expr_build_binary (O_subtract, vif_data_end, vif_data_start);
|
|
||||||
/* Round up to next quadword boundary. */
|
|
||||||
/* FIXME: This isn't correct, the size of the input data is not the
|
|
||||||
size of the output data. Someone else can fix this. */
|
|
||||||
s = expr_build_binary (O_add, s, expr_build_uconstant (15));
|
|
||||||
s = expr_build_binary (O_divide, s, expr_build_uconstant (16));
|
|
||||||
unpackloc_sym = expr_build_binary (O_add, unpackloc_sym, s);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Round up to next word boundary. */
|
/* Round up to next word boundary. */
|
||||||
frag_align (2, 0, 0);
|
frag_align (2, 0, 0);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user