X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=bfd%2Fpe-mips.c;h=53a5983abda9029e9392956354dab22098ca19f4;hb=6f57d0469ae5e73643aa5ef96a10e6bae7a79a15;hp=39e4adfd2f6d97597ac66c548a4739d193127d3b;hpb=bdbca4e6f805c73796c14c79102a8f1ea541d633;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/pe-mips.c b/bfd/pe-mips.c index 39e4adfd2f..53a5983abd 100644 --- a/bfd/pe-mips.c +++ b/bfd/pe-mips.c @@ -95,44 +95,44 @@ coff_mips_reloc (bfd *abfd, #define DOIT(x) \ x = ((x & ~howto->dst_mask) | (((x & howto->src_mask) + (diff >> howto->rightshift)) & howto->dst_mask)) - if (diff != 0) - { - reloc_howto_type *howto = reloc_entry->howto; - unsigned char *addr = (unsigned char *) data + reloc_entry->address; + if (diff != 0) + { + reloc_howto_type *howto = reloc_entry->howto; + unsigned char *addr = (unsigned char *) data + reloc_entry->address; - switch (howto->size) + switch (howto->size) + { + case 0: { - case 0: - { - char x = bfd_get_8 (abfd, addr); - - DOIT (x); - bfd_put_8 (abfd, x, addr); - } - break; + char x = bfd_get_8 (abfd, addr); - case 1: - { - short x = bfd_get_16 (abfd, addr); + DOIT (x); + bfd_put_8 (abfd, x, addr); + } + break; - DOIT (x); - bfd_put_16 (abfd, (bfd_vma) x, addr); - } - break; + case 1: + { + short x = bfd_get_16 (abfd, addr); - case 2: - { - long x = bfd_get_32 (abfd, addr); + DOIT (x); + bfd_put_16 (abfd, (bfd_vma) x, addr); + } + break; - DOIT (x); - bfd_put_32 (abfd, (bfd_vma) x, addr); - } - break; + case 2: + { + long x = bfd_get_32 (abfd, addr); - default: - abort (); + DOIT (x); + bfd_put_32 (abfd, (bfd_vma) x, addr); } - } + break; + + default: + abort (); + } + } /* Now let bfd_perform_relocation finish everything up. */ return bfd_reloc_continue;