diff options
author | Nick Clifton <nickc@redhat.com> | 2015-12-18 08:49:02 +0000 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2016-03-01 13:13:22 -0800 |
commit | bfe9c5df63dedd892bf5a11f6a16b1c8a3434968 (patch) | |
tree | 13fe584a3ff8046d9309a98521274885ab5dc875 | |
parent | 98faa81cf4ea104e14c1484f717794d2f8dc5693 (diff) | |
download | binutils-gdb-bfe9c5df63dedd892bf5a11f6a16b1c8a3434968.tar.gz |
Fix formatting of coff-i386.c and coff-x86_64.c
Backport from master
PR ld/19752
* coff-i386.c (coff_i386_reloc): Fix formatting.
* coff-x86_64.c (coff_amd64_reloc): Likewise.
-rw-r--r-- | bfd/ChangeLog | 12 | ||||
-rw-r--r-- | bfd/coff-i386.c | 64 | ||||
-rw-r--r-- | bfd/coff-x86_64.c | 98 |
3 files changed, 94 insertions, 80 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 4dbc32febce..ce32d43ce0d 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,15 @@ +2016-03-01 H.J. Lu <hongjiu.lu@intel.com> + + PR ld/19752 + Backport from master + 2015-12-18 H.J. Lu <hongjiu.lu@intel.com> + + * coff-x86_64.c (coff_amd64_reloc): Fix formatting. + + 2015-12-18 Nick Clifton <nickc@redhat.com> + + * coff-i386.c (coff_i386_reloc): Fix formatting. + 2016-02-26 H.J. Lu <hongjiu.lu@intel.com> Backport from master diff --git a/bfd/coff-i386.c b/bfd/coff-i386.c index a9725c4e1c7..1b1a8154cbc 100644 --- a/bfd/coff-i386.c +++ b/bfd/coff-i386.c @@ -139,41 +139,41 @@ coff_i386_reloc (bfd *abfd, #define DOIT(x) \ x = ((x & ~howto->dst_mask) | (((x & howto->src_mask) + diff) & 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) + { + case 0: + { + char x = bfd_get_8 (abfd, addr); + DOIT (x); + bfd_put_8 (abfd, x, addr); + } + break; - switch (howto->size) + case 1: { - case 0: - { - char x = bfd_get_8 (abfd, addr); - DOIT (x); - bfd_put_8 (abfd, x, addr); - } - break; - - case 1: - { - short x = bfd_get_16 (abfd, addr); - DOIT (x); - bfd_put_16 (abfd, (bfd_vma) x, addr); - } - break; - - case 2: - { - long x = bfd_get_32 (abfd, addr); - DOIT (x); - bfd_put_32 (abfd, (bfd_vma) x, addr); - } - break; - - default: - abort (); + short x = bfd_get_16 (abfd, addr); + DOIT (x); + bfd_put_16 (abfd, (bfd_vma) x, addr); } - } + break; + + case 2: + { + long x = bfd_get_32 (abfd, addr); + 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; diff --git a/bfd/coff-x86_64.c b/bfd/coff-x86_64.c index 4e6420a04eb..9d7c845e6e6 100644 --- a/bfd/coff-x86_64.c +++ b/bfd/coff-x86_64.c @@ -138,59 +138,61 @@ coff_amd64_reloc (bfd *abfd, #define DOIT(x) \ x = ((x & ~howto->dst_mask) | (((x & howto->src_mask) + diff) & howto->dst_mask)) - if (diff != 0) - { - reloc_howto_type *howto = reloc_entry->howto; - unsigned char *addr = (unsigned char *) data + reloc_entry->address; - - /* FIXME: We do not have an end address for data, so we cannot - accurately range check any addresses computed against it. - cf: PR binutils/17512: file: 1085-1761-0.004. - For now we do the best that we can. */ - if (addr < (unsigned char *) data || addr > ((unsigned char *) data) + input_section->size) + if (diff != 0) + { + reloc_howto_type *howto = reloc_entry->howto; + unsigned char *addr = (unsigned char *) data + reloc_entry->address; + + /* FIXME: We do not have an end address for data, so we cannot + accurately range check any addresses computed against it. + cf: PR binutils/17512: file: 1085-1761-0.004. + For now we do the best that we can. */ + if (addr < (unsigned char *) data + || addr > ((unsigned char *) data) + input_section->size) + { + bfd_set_error (bfd_error_bad_value); + return bfd_reloc_notsupported; + } + + switch (howto->size) + { + case 0: + { + char x = bfd_get_8 (abfd, addr); + DOIT (x); + bfd_put_8 (abfd, x, addr); + } + break; + + case 1: + { + short x = bfd_get_16 (abfd, addr); + DOIT (x); + bfd_put_16 (abfd, (bfd_vma) x, addr); + } + break; + + case 2: { - bfd_set_error (bfd_error_bad_value); - return bfd_reloc_notsupported; + long x = bfd_get_32 (abfd, addr); + DOIT (x); + bfd_put_32 (abfd, (bfd_vma) x, addr); } + break; - switch (howto->size) + case 4: { - case 0: - { - char x = bfd_get_8 (abfd, addr); - DOIT (x); - bfd_put_8 (abfd, x, addr); - } - break; - - case 1: - { - short x = bfd_get_16 (abfd, addr); - DOIT (x); - bfd_put_16 (abfd, (bfd_vma) x, addr); - } - break; - - case 2: - { - long x = bfd_get_32 (abfd, addr); - DOIT (x); - bfd_put_32 (abfd, (bfd_vma) x, addr); - } - break; - case 4: - { - long long x = bfd_get_64 (abfd, addr); - DOIT (x); - bfd_put_64 (abfd, (bfd_vma) x, addr); - } - break; - - default: - bfd_set_error (bfd_error_bad_value); - return bfd_reloc_notsupported; + long long x = bfd_get_64 (abfd, addr); + DOIT (x); + bfd_put_64 (abfd, (bfd_vma) x, addr); } - } + break; + + default: + bfd_set_error (bfd_error_bad_value); + return bfd_reloc_notsupported; + } + } /* Now let bfd_perform_relocation finish everything up. */ return bfd_reloc_continue; |