diff options
Diffstat (limited to 'bfd/coff-rs6000.c')
-rw-r--r-- | bfd/coff-rs6000.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/bfd/coff-rs6000.c b/bfd/coff-rs6000.c index f39a85a..6ad77ba 100644 --- a/bfd/coff-rs6000.c +++ b/bfd/coff-rs6000.c @@ -3700,7 +3700,7 @@ xcoff_ppc_relocate_section (bfd *output_bfd, case R_POS: case R_NEG: howto.bitsize = (rel->r_size & 0x1f) + 1; - howto.size = howto.bitsize > 16 ? 2 : 1; + howto.size = HOWTO_RSIZE (howto.bitsize > 16 ? 4 : 2); howto.src_mask = howto.dst_mask = N_ONES (howto.bitsize); break; @@ -3801,7 +3801,7 @@ xcoff_ppc_relocate_section (bfd *output_bfd, abort (); /* Get the value we are going to relocate. */ - if (1 == howto.size) + if (2 == bfd_get_reloc_size (&howto)) value_to_relocate = bfd_get_16 (input_bfd, location); else value_to_relocate = bfd_get_32 (input_bfd, location); @@ -3848,7 +3848,7 @@ xcoff_ppc_relocate_section (bfd *output_bfd, + relocation) & howto.dst_mask)); /* Put the value back in the object file. */ - if (1 == howto.size) + if (2 == bfd_get_reloc_size (&howto)) bfd_put_16 (input_bfd, value_to_relocate, location); else bfd_put_32 (input_bfd, value_to_relocate, location); |