aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf32-arm.c
diff options
context:
space:
mode:
Diffstat (limited to 'bfd/elf32-arm.c')
-rw-r--r--bfd/elf32-arm.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
index b8c480f..60f89ec 100644
--- a/bfd/elf32-arm.c
+++ b/bfd/elf32-arm.c
@@ -10357,11 +10357,11 @@ elf32_arm_final_link_relocate (reloc_howto_type * howto,
{
bfd_vma sign;
- switch (howto->size)
+ switch (bfd_get_reloc_size (howto))
{
- case 0: addend = bfd_get_8 (input_bfd, hit_data); break;
- case 1: addend = bfd_get_16 (input_bfd, hit_data); break;
- case 2: addend = bfd_get_32 (input_bfd, hit_data); break;
+ case 1: addend = bfd_get_8 (input_bfd, hit_data); break;
+ case 2: addend = bfd_get_16 (input_bfd, hit_data); break;
+ case 4: addend = bfd_get_32 (input_bfd, hit_data); break;
default: addend = 0; break;
}
/* Note: the addend and signed_addend calculated here are
@@ -13059,7 +13059,7 @@ arm_add_to_rel (bfd * abfd,
case R_ARM_PLT32:
case R_ARM_CALL:
case R_ARM_JUMP24:
- addend <<= howto->size;
+ addend *= bfd_get_reloc_size (howto);
addend += increment;
/* Should we check for overflow here ? */