浏览代码

libglib2: force arm mode when building with thumb1

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>
Peter Korsgaard 9 年之前
父节点
当前提交
26013972ce
共有 1 个文件被更改,包括 5 次插入0 次删除
  1. 5 0
      package/libglib2/libglib2.mk

+ 5 - 0
package/libglib2/libglib2.mk

@@ -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 \