summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/binutils/binutils-2.23.1/backport/0010-bfd-ChangeLog.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/binutils/binutils-2.23.1/backport/0010-bfd-ChangeLog.patch')
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.23.1/backport/0010-bfd-ChangeLog.patch95
1 files changed, 0 insertions, 95 deletions
diff --git a/meta/recipes-devtools/binutils/binutils-2.23.1/backport/0010-bfd-ChangeLog.patch b/meta/recipes-devtools/binutils/binutils-2.23.1/backport/0010-bfd-ChangeLog.patch
deleted file mode 100644
index 8ade69d3fc..0000000000
--- a/meta/recipes-devtools/binutils/binutils-2.23.1/backport/0010-bfd-ChangeLog.patch
+++ /dev/null
@@ -1,95 +0,0 @@
1From c49a2d2d8ff625b17699c44a703f217de5b4fa2f Mon Sep 17 00:00:00 2001
2From: Yufeng Zhang <yufeng.zhang@arm.com>
3Date: Mon, 19 Nov 2012 18:46:01 +0000
4Subject: [PATCH 10/27] bfd/ChangeLog
5
62012-11-19 Joey Ye <joey.ye@arm.com>
7
8 * elf32-arm.c (elf32_arm_final_link_relocate,
9 case R_ARM_THM_ALU_PREL_11_0, case R_ARM_THM_PC12): Align address of
10 the place being relocated.
11 (elf32_arm_final_link_relocate, case R_ARM_THM_PC8): Align address
12 of the place being relocated and truncate addend.
13 (Pa): New macro.
14---
15 bfd/ChangeLog | 9 +++++++++
16 bfd/elf32-arm.c | 23 +++++++++++++----------
17 2 files changed, 22 insertions(+), 10 deletions(-)
18
19diff --git a/bfd/ChangeLog b/bfd/ChangeLog
20index 981e05a..59c36a7 100644
21--- a/bfd/ChangeLog
22+++ b/bfd/ChangeLog
23@@ -1,3 +1,12 @@
24+2012-11-19 Joey Ye <joey.ye@arm.com>
25+
26+ * elf32-arm.c (elf32_arm_final_link_relocate,
27+ case R_ARM_THM_ALU_PREL_11_0, case R_ARM_THM_PC12): Align address of
28+ the place being relocated.
29+ (elf32_arm_final_link_relocate, case R_ARM_THM_PC8): Align address
30+ of the place being relocated and truncate addend.
31+ (Pa): New macro.
32+
33 2012-11-14 Roland McGrath <mcgrathr@google.com>
34
35 * elf32-arm.c (elf32_arm_nacl_plt0_entry): Use bic rather than bfc
36diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
37index 3c541ca..01ca11b 100644
38--- a/bfd/elf32-arm.c
39+++ b/bfd/elf32-arm.c
40@@ -63,6 +63,9 @@
41 #define ARM_ELF_ABI_VERSION 0
42 #define ARM_ELF_OS_ABI_VERSION ELFOSABI_ARM
43
44+/* The Adjusted Place, as defined by AAELF. */
45+#define Pa(X) ((X) & 0xfffffffc)
46+
47 static bfd_boolean elf32_arm_write_section (bfd *output_bfd,
48 struct bfd_link_info *link_info,
49 asection *sec,
50@@ -8619,9 +8622,9 @@ elf32_arm_final_link_relocate (reloc_howto_type * howto,
51 }
52
53 relocation = value + signed_addend;
54- relocation -= (input_section->output_section->vma
55- + input_section->output_offset
56- + rel->r_offset);
57+ relocation -= Pa (input_section->output_section->vma
58+ + input_section->output_offset
59+ + rel->r_offset);
60
61 value = abs (relocation);
62
63@@ -8651,12 +8654,12 @@ elf32_arm_final_link_relocate (reloc_howto_type * howto,
64 insn = bfd_get_16 (input_bfd, hit_data);
65
66 if (globals->use_rel)
67- addend = (insn & 0x00ff) << 2;
68+ addend = ((((insn & 0x00ff) << 2) + 4) & 0x3ff) -4;
69
70 relocation = value + addend;
71- relocation -= (input_section->output_section->vma
72- + input_section->output_offset
73- + rel->r_offset);
74+ relocation -= Pa (input_section->output_section->vma
75+ + input_section->output_offset
76+ + rel->r_offset);
77
78 value = abs (relocation);
79
80@@ -8691,9 +8694,9 @@ elf32_arm_final_link_relocate (reloc_howto_type * howto,
81 }
82
83 relocation = value + signed_addend;
84- relocation -= (input_section->output_section->vma
85- + input_section->output_offset
86- + rel->r_offset);
87+ relocation -= Pa (input_section->output_section->vma
88+ + input_section->output_offset
89+ + rel->r_offset);
90
91 value = abs (relocation);
92
93--
941.7.9.5
95