This fixes the processing of BFD_RELOC_RL78_DIFF fixups when the size is less
than 4. This affects DWARF debug info generation in particular. * config/tc-rl78.c (md_apply_fix): Correct handling of small sized RELOC_RL78_DIFF fixups.
This commit is contained in:
parent
3c8c5dcc98
commit
3ce3a066e1
2 changed files with 15 additions and 1 deletions
|
@ -1,3 +1,8 @@
|
|||
2014-08-18 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* config/tc-rl78.c (md_apply_fix): Correct handling of small sized
|
||||
RELOC_RL78_DIFF fixups.
|
||||
|
||||
2014-08-18 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* read.c (parse_mri_cons): Warning fix.
|
||||
|
|
|
@ -1361,13 +1361,22 @@ md_apply_fix (struct fix * f ATTRIBUTE_UNUSED,
|
|||
break;
|
||||
|
||||
case BFD_RELOC_32:
|
||||
case BFD_RELOC_RL78_DIFF:
|
||||
op[0] = val;
|
||||
op[1] = val >> 8;
|
||||
op[2] = val >> 16;
|
||||
op[3] = val >> 24;
|
||||
break;
|
||||
|
||||
case BFD_RELOC_RL78_DIFF:
|
||||
op[0] = val;
|
||||
if (f->fx_size > 1)
|
||||
op[1] = val >> 8;
|
||||
if (f->fx_size > 2)
|
||||
op[2] = val >> 16;
|
||||
if (f->fx_size > 3)
|
||||
op[3] = val >> 24;
|
||||
break;
|
||||
|
||||
case BFD_RELOC_RL78_HI8:
|
||||
val = val >> 16;
|
||||
op[0] = val;
|
||||
|
|
Loading…
Reference in a new issue