2009-08-19 Sterling Augustine <sterling@tensilica.com>
* config/tc-xtensa.h (xtensa_frag_data): Rename unused field fr_prev to no_transform_end. * config/tc-xtensa.c (xtensa_mark_difference_of_two_symbols): Set and use no_transform_end.
This commit is contained in:
parent
cab0c772ae
commit
983f90e37d
3 changed files with 22 additions and 6 deletions
|
@ -1,3 +1,10 @@
|
||||||
|
2009-08-19 Sterling Augustine <sterling@tensilica.com>
|
||||||
|
|
||||||
|
* config/tc-xtensa.h (xtensa_frag_data): Rename unused field fr_prev
|
||||||
|
to no_transform_end.
|
||||||
|
* config/tc-xtensa.c (xtensa_mark_difference_of_two_symbols): Set
|
||||||
|
and use no_transform_end.
|
||||||
|
|
||||||
2009-08-18 Kai Tietz <kai.tietz@onevision.com>
|
2009-08-18 Kai Tietz <kai.tietz@onevision.com>
|
||||||
|
|
||||||
* config/obj-coff-seh.c: Add copyright notice.
|
* config/obj-coff-seh.c: Add copyright notice.
|
||||||
|
|
|
@ -7460,6 +7460,7 @@ xtensa_mark_difference_of_two_symbols (void)
|
||||||
{
|
{
|
||||||
fragS *start;
|
fragS *start;
|
||||||
fragS *end;
|
fragS *end;
|
||||||
|
fragS *walk;
|
||||||
|
|
||||||
if (symbol_get_frag (left)->fr_address
|
if (symbol_get_frag (left)->fr_address
|
||||||
<= symbol_get_frag (right)->fr_address)
|
<= symbol_get_frag (right)->fr_address)
|
||||||
|
@ -7472,12 +7473,19 @@ xtensa_mark_difference_of_two_symbols (void)
|
||||||
start = symbol_get_frag (right);
|
start = symbol_get_frag (right);
|
||||||
end = symbol_get_frag (left);
|
end = symbol_get_frag (left);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (start->tc_frag_data.no_transform_end != NULL)
|
||||||
|
walk = start->tc_frag_data.no_transform_end;
|
||||||
|
else
|
||||||
|
walk = start;
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
start->tc_frag_data.is_no_transform = 1;
|
walk->tc_frag_data.is_no_transform = 1;
|
||||||
start = start->fr_next;
|
walk = walk->fr_next;
|
||||||
}
|
}
|
||||||
while (start && start->fr_address < end->fr_address);
|
while (walk && walk->fr_address < end->fr_address);
|
||||||
|
|
||||||
|
start->tc_frag_data.no_transform_end = walk;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -263,9 +263,10 @@ struct xtensa_frag_type
|
||||||
symbolS *slot_symbols[MAX_SLOTS];
|
symbolS *slot_symbols[MAX_SLOTS];
|
||||||
offsetT slot_offsets[MAX_SLOTS];
|
offsetT slot_offsets[MAX_SLOTS];
|
||||||
|
|
||||||
/* The global aligner needs to walk backward through the list of
|
/* When marking frags after this one in the chain as no transform,
|
||||||
frags. This field is only valid after xtensa_end. */
|
cache the last one in the chain, so that we can skip to the
|
||||||
fragS *fr_prev;
|
end of the chain. */
|
||||||
|
fragS *no_transform_end;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue