diff options
Diffstat (limited to 'meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0022-fixing-the-.bss-relocation-issue.patch')
-rw-r--r-- | meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0022-fixing-the-.bss-relocation-issue.patch | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0022-fixing-the-.bss-relocation-issue.patch b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0022-fixing-the-.bss-relocation-issue.patch index 48b89d64e..6c144b8ad 100644 --- a/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0022-fixing-the-.bss-relocation-issue.patch +++ b/meta-xilinx/meta-microblaze/recipes-devtools/binutils/binutils/0022-fixing-the-.bss-relocation-issue.patch @@ -1,35 +1,35 @@ -From 118e1717ef8421bc86bcf56c9186f065bd607efd Mon Sep 17 00:00:00 2001 +From e7b6ab1b28fc3ca13ed25687d5e851795ed6e1a3 Mon Sep 17 00:00:00 2001 From: Nagaraju Mekala <nmekala@xilix.com> Date: Wed, 24 Oct 2018 12:34:37 +0530 -Subject: [PATCH 22/40] fixing the .bss relocation issue +Subject: [PATCH 22/52] fixing the .bss relocation issue --- bfd/elf64-microblaze.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/bfd/elf64-microblaze.c b/bfd/elf64-microblaze.c -index b62c47e8514..cb3b40b574c 100644 +index ddcb5baf74..861420789b 100644 --- a/bfd/elf64-microblaze.c +++ b/bfd/elf64-microblaze.c -@@ -1482,7 +1482,7 @@ microblaze_elf_relocate_section (bfd *output_bfd, +@@ -1492,7 +1492,7 @@ microblaze_elf_relocate_section (bfd *output_bfd, + input_section->output_offset + offset + INST_WORD_SIZE); unsigned long insn = bfd_get_32 (input_bfd, contents + offset +endian); -- if (insn == 0xb2000000 || insn == 0xb2ffffff) +- if (insn == 0xb2000000 || insn == 0xb2ffffff) + if ((insn & 0xff000000) == 0xb2000000) { - insn &= ~0x00ffffff; + insn &= ~0x00ffffff; insn |= (relocation >> 16) & 0xffffff; -@@ -1595,7 +1595,7 @@ microblaze_elf_relocate_section (bfd *output_bfd, +@@ -1606,7 +1606,7 @@ microblaze_elf_relocate_section (bfd *output_bfd, + offset + INST_WORD_SIZE); } unsigned long insn = bfd_get_32 (input_bfd, contents + offset +endian); -- if (insn == 0xb2000000 || insn == 0xb2ffffff) +- if (insn == 0xb2000000 || insn == 0xb2ffffff) + if ((insn & 0xff000000) == 0xb2000000) { - insn &= ~0x00ffffff; + insn &= ~0x00ffffff; insn |= (relocation >> 16) & 0xffffff; -@@ -1709,7 +1709,7 @@ microblaze_bfd_write_imm_value_32 (bfd *abfd, bfd_byte *bfd_addr, bfd_vma val) +@@ -1735,7 +1735,7 @@ microblaze_bfd_write_imm_value_32 (bfd *abfd, bfd_byte *bfd_addr, bfd_vma val) { unsigned long instr = bfd_get_32 (abfd, bfd_addr); @@ -38,7 +38,7 @@ index b62c47e8514..cb3b40b574c 100644 { instr &= ~0x00ffffff; instr |= (val & 0xffffff); -@@ -1732,7 +1732,7 @@ microblaze_bfd_write_imm_value_64 (bfd *abfd, bfd_byte *bfd_addr, bfd_vma val) +@@ -1758,7 +1758,7 @@ microblaze_bfd_write_imm_value_64 (bfd *abfd, bfd_byte *bfd_addr, bfd_vma val) unsigned long instr_lo; instr_hi = bfd_get_32 (abfd, bfd_addr); @@ -47,7 +47,7 @@ index b62c47e8514..cb3b40b574c 100644 { instr_hi &= ~0x00ffffff; instr_hi |= (val >> 16) & 0xffffff; -@@ -2225,7 +2225,10 @@ microblaze_elf_relax_section (bfd *abfd, +@@ -2251,7 +2251,10 @@ microblaze_elf_relax_section (bfd *abfd, unsigned long instr_lo = bfd_get_32 (abfd, ocontents + irelscan->r_offset + INST_WORD_SIZE); @@ -59,7 +59,7 @@ index b62c47e8514..cb3b40b574c 100644 immediate |= (instr_lo & 0x0000ffff); offset = calc_fixup (irelscan->r_addend, 0, sec); immediate -= offset; -@@ -2269,7 +2272,10 @@ microblaze_elf_relax_section (bfd *abfd, +@@ -2295,7 +2298,10 @@ microblaze_elf_relax_section (bfd *abfd, unsigned long instr_lo = bfd_get_32 (abfd, ocontents + irelscan->r_offset + INST_WORD_SIZE); |