[oe-commits] Khem Raj : bluez4: Fix build on x86/amd64 with gcc 4.7

git at git.openembedded.org git at git.openembedded.org
Tue Feb 28 12:24:18 UTC 2012


Module: openembedded-core.git
Branch: master
Commit: 09dcd878a55b5aec5427288c4faf3c4d64a30a72
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=09dcd878a55b5aec5427288c4faf3c4d64a30a72

Author: Khem Raj <raj.khem at gmail.com>
Date:   Mon Feb 27 11:50:07 2012 -0800

bluez4: Fix build on x86/amd64 with gcc 4.7

gcc figures an impossible asm contraint
in inline asm which it is correct about

"i" requires the operand to be a compile-time constant
but memory location of a multi-dimensional array isn't constant
at compile time.

Signed-off-by: Khem Raj <raj.khem at gmail.com>

---

 .../bluez/bluez4-4.98/sbc_mmx.patch                |   24 ++++++++++++++++++++
 meta/recipes-connectivity/bluez/bluez4_4.98.bb     |    6 +++-
 2 files changed, 28 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-connectivity/bluez/bluez4-4.98/sbc_mmx.patch b/meta/recipes-connectivity/bluez/bluez4-4.98/sbc_mmx.patch
new file mode 100644
index 0000000..98fab45
--- /dev/null
+++ b/meta/recipes-connectivity/bluez/bluez4-4.98/sbc_mmx.patch
@@ -0,0 +1,24 @@
+on x86 and x86_64 gcc 4.7 complains
+
+sbc/sbc_primitives_mmx.c: In function 'sbc_calc_scalefactors_mmx':
+sbc/sbc_primitives_mmx.c:294:4: warning: asm operand 2 probably doesn't match constraints [enabled by default]
+sbc/sbc_primitives_mmx.c:294:4: error: impossible constraint in 'asm'
+
+This patch is taken from https://bugs.launchpad.net/ubuntu/+source/bluez/+bug/911871
+
+Signed-off-by: Khem Raj <raj.khem at gmail.com>
+
+Upstream-Status: Pending
+Index: bluez-4.98/sbc/sbc_primitives_mmx.c
+===================================================================
+--- bluez-4.98.orig/sbc/sbc_primitives_mmx.c	2011-12-21 14:53:54.000000000 -0800
++++ bluez-4.98/sbc/sbc_primitives_mmx.c	2012-02-24 10:07:03.422073800 -0800
+@@ -318,7 +318,7 @@
+ 				"movl          %k0, 4(%3)\n"
+ 			: "+r" (blk)
+ 			: "r" (&sb_sample_f[0][ch][sb]),
+-				"i" ((char *) &sb_sample_f[1][0][0] -
++				"r" ((char *) &sb_sample_f[1][0][0] -
+ 					(char *) &sb_sample_f[0][0][0]),
+ 				"r" (&scale_factor[ch][sb]),
+ 				"r" (&consts),
diff --git a/meta/recipes-connectivity/bluez/bluez4_4.98.bb b/meta/recipes-connectivity/bluez/bluez4_4.98.bb
index 62de1fe..2412b1b 100644
--- a/meta/recipes-connectivity/bluez/bluez4_4.98.bb
+++ b/meta/recipes-connectivity/bluez/bluez4_4.98.bb
@@ -1,8 +1,10 @@
 require bluez4.inc
 
-PR = "r0"
+PR = "r1"
 
-SRC_URI += "file://bluetooth.conf"
+SRC_URI += "file://bluetooth.conf \
+            file://sbc_mmx.patch \
+           "
 
 SRC_URI[md5sum] = "362864b716950baa04797de735fc237b"
 SRC_URI[sha256sum] = "9a5b655bada7c7a1921cb3bac83b8a32bbe49893e4c7a1377cdc1b0d35f7d233"





More information about the Openembedded-commits mailing list