[oe-commits] Koen Kooi : binutils 2.18: don't emit symbols for neon registers
git version control
git at git.openembedded.org
Wed Jul 22 16:43:45 UTC 2009
Module: openembedded.git
Branch: org.openembedded.dev
Commit: 998d60e2d579563af9236f34b72dd2370a46cf89
URL: http://gitweb.openembedded.net/?p=openembedded.git&a=commit;h=998d60e2d579563af9236f34b72dd2370a46cf89
Author: Koen Kooi <koen at openembedded.org>
Date: Wed Jul 22 18:36:17 2009 +0200
binutils 2.18: don't emit symbols for neon registers
* this fixes building in NEON code into binaries that do runtime detection but are compiled for non-NEON platforms (e.g. pixman)
---
.../binutils/binutils-2.18/parse-neon-vmov.diff | 41 ++++++++++++++++++++
recipes/binutils/binutils_2.18.bb | 3 +-
2 files changed, 43 insertions(+), 1 deletions(-)
diff --git a/recipes/binutils/binutils-2.18/parse-neon-vmov.diff b/recipes/binutils/binutils-2.18/parse-neon-vmov.diff
new file mode 100644
index 0000000..e14b2a7
--- /dev/null
+++ b/recipes/binutils/binutils-2.18/parse-neon-vmov.diff
@@ -0,0 +1,41 @@
+===================================================================
+RCS file: /cvs/src/src/gas/config/tc-arm.c,v
+retrieving revision 1.353
+retrieving revision 1.354
+diff -u -r1.353 -r1.354
+--- src/gas/config/tc-arm.c 2008/03/27 14:12:15 1.353
++++ src/gas/config/tc-arm.c 2008/03/28 18:13:52 1.354
+@@ -5209,16 +5209,6 @@
+ inst.operands[i].present = 1;
+ }
+ }
+- else if (parse_qfloat_immediate (&ptr, &inst.operands[i].imm) == SUCCESS)
+- /* Case 2: VMOV<c><q>.<dt> <Qd>, #<float-imm>
+- Case 3: VMOV<c><q>.<dt> <Dd>, #<float-imm>
+- Case 10: VMOV.F32 <Sd>, #<imm>
+- Case 11: VMOV.F64 <Dd>, #<imm> */
+- inst.operands[i].immisfloat = 1;
+- else if (parse_big_immediate (&ptr, i) == SUCCESS)
+- /* Case 2: VMOV<c><q>.<dt> <Qd>, #<imm>
+- Case 3: VMOV<c><q>.<dt> <Dd>, #<imm> */
+- ;
+ else if ((val = arm_typed_reg_parse (&ptr, REG_TYPE_NSDQ, &rtype,
+ &optype)) != FAIL)
+ {
+@@ -5258,6 +5248,16 @@
+ inst.operands[i++].present = 1;
+ }
+ }
++ else if (parse_qfloat_immediate (&ptr, &inst.operands[i].imm) == SUCCESS)
++ /* Case 2: VMOV<c><q>.<dt> <Qd>, #<float-imm>
++ Case 3: VMOV<c><q>.<dt> <Dd>, #<float-imm>
++ Case 10: VMOV.F32 <Sd>, #<imm>
++ Case 11: VMOV.F64 <Dd>, #<imm> */
++ inst.operands[i].immisfloat = 1;
++ else if (parse_big_immediate (&ptr, i) == SUCCESS)
++ /* Case 2: VMOV<c><q>.<dt> <Qd>, #<imm>
++ Case 3: VMOV<c><q>.<dt> <Dd>, #<imm> */
++ ;
+ else
+ {
+ first_error (_("expected <Rm> or <Dm> or <Qm> operand"));
diff --git a/recipes/binutils/binutils_2.18.bb b/recipes/binutils/binutils_2.18.bb
index 159d97f..b1ae402 100644
--- a/recipes/binutils/binutils_2.18.bb
+++ b/recipes/binutils/binutils_2.18.bb
@@ -1,4 +1,4 @@
-INC_PR = "r7"
+INC_PR = "r8"
PR = "${INC_PR}.1"
require binutils.inc
@@ -16,6 +16,7 @@ SRC_URI = "\
file://binutils-uclibc-gas-needs-libm.patch;patch=1 \
file://binutils-x86_64_i386_biarch.patch;patch=1 \
file://binutils-section-in-segment.patch;patch=1;pnum=0 \
+ file://parse-neon-vmov.diff;patch=1 \
"
# powerpc patches
More information about the Openembedded-commits
mailing list