summaryrefslogtreecommitdiff
path: root/source/d/binutils/patches/binutils-2.26-formatting.patch
diff options
context:
space:
mode:
Diffstat (limited to 'source/d/binutils/patches/binutils-2.26-formatting.patch')
-rw-r--r--source/d/binutils/patches/binutils-2.26-formatting.patch297
1 files changed, 297 insertions, 0 deletions
diff --git a/source/d/binutils/patches/binutils-2.26-formatting.patch b/source/d/binutils/patches/binutils-2.26-formatting.patch
new file mode 100644
index 00000000..0eadb0c3
--- /dev/null
+++ b/source/d/binutils/patches/binutils-2.26-formatting.patch
@@ -0,0 +1,297 @@
+--- ../binutils-2.26.orig/bfd/coff-i386.c 2016-02-04 10:31:44.684793142 +0000
++++ bfd/coff-i386.c 2016-02-04 10:32:02.106891045 +0000
+@@ -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;
++ short x = bfd_get_16 (abfd, addr);
++ DOIT (x);
++ bfd_put_16 (abfd, (bfd_vma) x, addr);
++ }
++ break;
+
+- default:
+- abort ();
++ 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;
+--- ../binutils-2.26.orig/bfd/coff-x86_64.c 2016-02-04 10:31:44.686793153 +0000
++++ bfd/coff-x86_64.c 2016-02-04 10:33:02.044227862 +0000
+@@ -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:
+ {
+- bfd_set_error (bfd_error_bad_value);
+- return bfd_reloc_notsupported;
++ 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;
+- 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;
++ 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;
++ }
++ }
+
+ /* Now let bfd_perform_relocation finish everything up. */
+ return bfd_reloc_continue;
+--- ../binutils-2.26.orig/bfd/elf64-s390.c 2016-02-09 15:01:11.983640775 +0000
++++ bfd/elf64-s390.c 2016-02-09 15:01:37.675779605 +0000
+@@ -337,10 +337,10 @@ elf_s390_reloc_name_lookup (bfd *abfd AT
+ && strcasecmp (elf_howto_table[i].name, r_name) == 0)
+ return &elf_howto_table[i];
+
+- if (strcasecmp (elf64_s390_vtinherit_howto.name, r_name) == 0)
+- return &elf64_s390_vtinherit_howto;
+- if (strcasecmp (elf64_s390_vtentry_howto.name, r_name) == 0)
+- return &elf64_s390_vtentry_howto;
++ if (strcasecmp (elf64_s390_vtinherit_howto.name, r_name) == 0)
++ return &elf64_s390_vtinherit_howto;
++ if (strcasecmp (elf64_s390_vtentry_howto.name, r_name) == 0)
++ return &elf64_s390_vtentry_howto;
+
+ return NULL;
+ }
+--- ../binutils-2.26.orig/bfd/pe-mips.c 2016-02-09 15:01:11.995640840 +0000
++++ bfd/pe-mips.c 2016-02-09 15:31:21.348317265 +0000
+@@ -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)
++ {
++ 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;
+
+- switch (howto->size)
++ case 2:
+ {
+- 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;
++ 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;
+--- ../binutils-2.26.orig/gas/config/tc-ia64.c 2016-02-09 15:01:12.086641332 +0000
++++ gas/config/tc-ia64.c 2016-02-09 15:30:18.562003661 +0000
+@@ -4360,7 +4360,8 @@ dot_prologue (int dummy ATTRIBUTE_UNUSED
+ as_warn (_("Pointless use of zero first operand to .prologue"));
+ else
+ mask = e.X_add_number;
+- n = popcount (mask);
++
++ n = popcount (mask);
+
+ if (sep == ',')
+ parse_operand_and_eval (&e, 0);