* config/tc-rx.c (md_convert_frag): If we can't compute the target
address, zero out the values stored in the object file to make objdump's output consistent.
This commit is contained in:
parent
9f41c73181
commit
eb6fae196b
@ -1,3 +1,9 @@
|
||||
2011-01-27 DJ Delorie <dj@redhat.com>
|
||||
|
||||
* config/tc-rx.c (md_convert_frag): If we can't compute the target
|
||||
address, zero out the values stored in the object file to make
|
||||
objdump's output consistent.
|
||||
|
||||
2011-01-26 Kai Tietz <kai.tietz@onevision.com>
|
||||
|
||||
* config/tc-i386.c (md_begin): Set for x64 windows COFF target
|
||||
|
@ -1603,20 +1603,29 @@ md_convert_frag (bfd * abfd ATTRIBUTE_UNUSED,
|
||||
&& fragP->tc_frag_data->relax[0].type == RX_RELAX_DISP)
|
||||
ri = 1;
|
||||
|
||||
/* We used a new frag for this opcode, so the opcode address should
|
||||
be the frag address. */
|
||||
mypc = fragP->fr_address + (fragP->fr_opcode - fragP->fr_literal);
|
||||
|
||||
/* Try to get the target address. If we fail here, we just use the
|
||||
largest format. */
|
||||
if (rx_frag_fix_value (fragP, segment, 0, & addr0,
|
||||
fragP->tc_frag_data->relax[ri].type != RX_RELAX_BRANCH, 0))
|
||||
keep_reloc = 1;
|
||||
{
|
||||
/* We don't know the target address. */
|
||||
keep_reloc = 1;
|
||||
addr0 = 0;
|
||||
disp = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* We know the target address, and it's in addr0. */
|
||||
disp = (int) addr0 - (int) mypc;
|
||||
}
|
||||
|
||||
if (linkrelax)
|
||||
keep_reloc = 1;
|
||||
|
||||
/* We used a new frag for this opcode, so the opcode address should
|
||||
be the frag address. */
|
||||
mypc = fragP->fr_address + (fragP->fr_opcode - fragP->fr_literal);
|
||||
disp = (int) addr0 - (int) mypc;
|
||||
|
||||
reloc_type = BFD_RELOC_NONE;
|
||||
reloc_adjust = 0;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user