libglib2: force arm mode when building with thumb1
authorPeter Korsgaard <peter@korsgaard.com>
Mon, 30 Nov 2015 07:19:59 +0000 (08:19 +0100)
committerPeter Korsgaard <peter@korsgaard.com>
Mon, 30 Nov 2015 07:19:59 +0000 (08:19 +0100)
Fixes #8491

glib/valgrind.h contains inline asm not compatible with thumb1, so build it
in arm mode:

  CC       libglib_2_0_la-gstringchunk.lo
/tmp/ccSVEXME.s: Assembler messages:
/tmp/ccSVEXME.s:587: Error: shifts in CMP/MOV instructions are only supported
in unified syntax -- `mov r12,r12,ror#3'
/tmp/ccSVEXME.s:587: Error: shifts in CMP/MOV instructions are only supported
in unified syntax -- `mov r12,r12,ror#13'
/tmp/ccSVEXME.s:588: Error: shifts in CMP/MOV instructions are only supported
in unified syntax -- `mov r12,r12,ror#29'
/tmp/ccSVEXME.s:588: Error: shifts in CMP/MOV instructions are only supported
in unified syntax -- `mov r12,r12,ror#19'
/tmp/ccSVEXME.s:589: Error: lo register required -- `orr r10,r10,r10'
Makefile:2087: recipe for target 'libglib_2_0_la-gslice.lo' failed

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
package/libglib2/libglib2.mk

index 8f6ca8361c95e89a936cd42975283cfaf4e61baf..8cf055d586731ec50f9394057657af2c26d95b0e 100644 (file)
@@ -85,6 +85,11 @@ else
 LIBGLIB2_CONF_ENV += glib_cv_have_qsort_r=yes
 endif
 
+# glib/valgrind.h contains inline asm not compatible with thumb1
+ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),y)
+LIBGLIB2_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -marm"
+endif
+
 HOST_LIBGLIB2_CONF_OPTS = \
        --disable-coverage \
        --disable-dtrace \