cogl: ensure we can build on armv4

Without this patch cogl will not build for armv4 as it uses an
unsupported instruction. This changeset adds a patch from Wolfgang
Denk to add an extra guard around armv5 or above code.

(From OE-Core rev: e19586765af518892ed55d9bfd45d0857566ae98)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Joshua Lock 2012-01-03 17:31:20 -08:00 committed by Richard Purdie
parent 87babb7894
commit 00f0d4ad64
3 changed files with 30 additions and 3 deletions

View File

@ -0,0 +1,23 @@
GCC will define __ARM_ARCH_4T__ when building with "-march=armv4t" so we can
check this to turn off the use of 'clz' instructions, which otherwise would
cause compile errors like "selected processor does not support ARM mode
`clz r3,r0'".
Upstream-Status: Submitted
Signed-off-by: Wolfgang Denk <wd@denx.de>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Index: cogl-1.8.2/cogl/cogl-fixed.c
===================================================================
--- cogl-1.8.2.orig/cogl/cogl-fixed.c
+++ cogl-1.8.2/cogl/cogl-fixed.c
@@ -626,7 +626,7 @@ cogl_fixed_sqrt (CoglFixed x)
/*
* Find the highest bit set
*/
-#if defined (__arm__)
+#if defined (__arm__) && !defined(__ARM_ARCH_4T__)
/* This actually requires at least arm v5, but gcc does not seem
* to set the architecture defines correctly, and it is I think
* very unlikely that anyone will want to use clutter on anything

View File

@ -1,9 +1,12 @@
require cogl.inc
PR = "r1"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
SRC_URI = "http://source.clutter-project.org/sources/cogl/1.8/${BPN}-${PV}.tar.bz2 \
file://macro-versions.patch"
file://macro-versions.patch \
file://build_for_armv4t.patch"
SRC_URI[md5sum] = "3145cbf7ff162c33065ea4421c047e2f"
SRC_URI[sha256sum] = "8b647b51a4fa93034fcd74ffe86b3d4c919b0e54789108f6d065414e6162ab73"

View File

@ -5,11 +5,12 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
# the 1.8.2 tag
SRCREV = "e398e374e2ff0e88bc1d63577a192f8ca04a1cb5"
PV = "1.8.2+git${SRCPV}"
PR = "r0"
PR = "r1"
DEFAULT_PREFERENCE = "-1"
SRC_URI = "git://git.gnome.org/cogl;protocol=git;branch=master"
SRC_URI = "git://git.gnome.org/cogl;protocol=git;branch=master \
file://build_for_armv4t.patch"
S = "${WORKDIR}/git"
AUTOTOOLS_AUXDIR = "${S}/build"