aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/binutils/binutils-2.23.2/backport/0001-config-tc-ppc.c-PPC_VLE_SPLIT16A-Delete-unused-macro.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/binutils/binutils-2.23.2/backport/0001-config-tc-ppc.c-PPC_VLE_SPLIT16A-Delete-unused-macro.patch')
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.23.2/backport/0001-config-tc-ppc.c-PPC_VLE_SPLIT16A-Delete-unused-macro.patch122
1 files changed, 122 insertions, 0 deletions
diff --git a/meta/recipes-devtools/binutils/binutils-2.23.2/backport/0001-config-tc-ppc.c-PPC_VLE_SPLIT16A-Delete-unused-macro.patch b/meta/recipes-devtools/binutils/binutils-2.23.2/backport/0001-config-tc-ppc.c-PPC_VLE_SPLIT16A-Delete-unused-macro.patch
new file mode 100644
index 0000000000..6057ad5717
--- /dev/null
+++ b/meta/recipes-devtools/binutils/binutils-2.23.2/backport/0001-config-tc-ppc.c-PPC_VLE_SPLIT16A-Delete-unused-macro.patch
@@ -0,0 +1,122 @@
+config/tc-ppc.c (PPC_VLE_SPLIT16A): Delete unused macro.
+ (PPC_VLE_SPLIT16D, PPC_VLE_LO16A, PPC_VLE_LO16D):
+ Likewise. (PPC_VLE_HI16A, PPC_VLE_HI16D):
+ Likewise. (PPC_VLE_HA16A, PPC_VLE_HA16D):
+ Likewise. (md_apply_fix):
+ Set fx_no_overflow for assorted relocations.
+ Shift and sign-extend fieldval for use by some VLE reloc
+ operand->insert functions.
+
+Upstream-Status: Backport
+
+Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com>
+
+commit ee75ce72fd7a4b2dc47db46acc36905da8904be4
+Author: Alan Modra <amodra@bigpond.net.au>
+Date: Mon May 6 23:36:48 2013 +0000
+
+--- binutils-2.23.2/gas/config/tc-ppc.c.orig 2013-06-02 21:44:34.000000000 -0500
++++ binutils-2.23.2/gas/config/tc-ppc.c 2013-06-02 21:51:37.000000000 -0500
+@@ -64,40 +64,14 @@
+ /* #lo(value) denotes the least significant 16 bits of the indicated. */
+ #define PPC_LO(v) ((v) & 0xffff)
+
+-/* Split the indicated value with the msbs in bits 11-15
+- and the lsbs in bits 21-31. */
+-#define PPC_VLE_SPLIT16A(v) ((v & 0xf800) << 11) | (v & 0x7ff)
+-
+-/* Split the indicated value with the msbs in bits 6-10
+- and the lsbs in bits 21-31. */
+-#define PPC_VLE_SPLIT16D(v) ((v & 0xf800) << 5) | (v & 0x7ff)
+-
+-/* #lo(value) denotes the lsb 16 bits in split16a format. */
+-#define PPC_VLE_LO16A(v) PPC_VLE_SPLIT16A(PPC_LO(v))
+-
+-/* #lo(value) denotes the lsb 16 bits in split16d format. */
+-#define PPC_VLE_LO16D(v) PPC_VLE_SPLIT16D(PPC_LO(v))
+-
+ /* #hi(value) denotes bits 16 through 31 of the indicated value. */
+ #define PPC_HI(v) (((v) >> 16) & 0xffff)
+
+-/* #lo(value) denotes the msb 16 bits in split16a format. */
+-#define PPC_VLE_HI16A(v) PPC_VLE_SPLIT16A(PPC_HI(v))
+-
+-/* #lo(value) denotes the msb 16 bits in split16d format. */
+-#define PPC_VLE_HI16D(v) PPC_VLE_SPLIT16D(PPC_HI(v))
+-
+ /* #ha(value) denotes the high adjusted value: bits 16 through 31 of
+ the indicated value, compensating for #lo() being treated as a
+ signed number. */
+ #define PPC_HA(v) PPC_HI ((v) + 0x8000)
+
+-/* #ha(value) denotes the high adjusted value in split16a format. */
+-#define PPC_VLE_HA16A(v) PPC_VLE_SPLIT16A(PPC_HA(v))
+-
+-/* #ha(value) denotes the high adjusted value in split16d format. */
+-#define PPC_VLE_HA16D(v) PPC_VLE_SPLIT16D(PPC_HA(v))
+-
+ /* #higher(value) denotes bits 32 through 47 of the indicated value. */
+ #define PPC_HIGHER(v) (((v) >> 16 >> 16) & 0xffff)
+
+@@ -6379,7 +6353,10 @@
+ fixP->fx_r_type = BFD_RELOC_LO16_PCREL;
+ /* fall through */
+ case BFD_RELOC_LO16_PCREL:
++ case BFD_RELOC_PPC_VLE_LO16A:
++ case BFD_RELOC_PPC_VLE_LO16D:
+ fieldval = SEX16 (value);
++ fixP->fx_no_overflow = 1;
+ break;
+
+ case BFD_RELOC_HI16:
+@@ -6387,7 +6364,10 @@
+ fixP->fx_r_type = BFD_RELOC_HI16_PCREL;
+ /* fall through */
+ case BFD_RELOC_HI16_PCREL:
++ case BFD_RELOC_PPC_VLE_HI16A:
++ case BFD_RELOC_PPC_VLE_HI16D:
+ fieldval = SEX16 (PPC_HI (value));
++ fixP->fx_no_overflow = 1;
+ break;
+
+ case BFD_RELOC_HI16_S:
+@@ -6395,7 +6375,10 @@
+ fixP->fx_r_type = BFD_RELOC_HI16_S_PCREL;
+ /* fall through */
+ case BFD_RELOC_HI16_S_PCREL:
++ case BFD_RELOC_PPC_VLE_HA16A:
++ case BFD_RELOC_PPC_VLE_HA16D:
+ fieldval = SEX16 (PPC_HA (value));
++ fixP->fx_no_overflow = 1;
+ break;
+
+ #ifdef OBJ_ELF
+@@ -6403,24 +6386,28 @@
+ if (fixP->fx_pcrel)
+ goto bad_pcrel;
+ fieldval = SEX16 (PPC_HIGHER (value));
++ fixP->fx_no_overflow = 1;
+ break;
+
+ case BFD_RELOC_PPC64_HIGHER_S:
+ if (fixP->fx_pcrel)
+ goto bad_pcrel;
+ fieldval = SEX16 (PPC_HIGHERA (value));
++ fixP->fx_no_overflow = 1;
+ break;
+
+ case BFD_RELOC_PPC64_HIGHEST:
+ if (fixP->fx_pcrel)
+ goto bad_pcrel;
+ fieldval = SEX16 (PPC_HIGHEST (value));
++ fixP->fx_no_overflow = 1;
+ break;
+
+ case BFD_RELOC_PPC64_HIGHEST_S:
+ if (fixP->fx_pcrel)
+ goto bad_pcrel;
+ fieldval = SEX16 (PPC_HIGHESTA (value));
++ fixP->fx_no_overflow = 1;
+ break;
+
+ /* The following relocs can't be calculated by the assembler.