[OE-core] [PATCH 4/4] glib: disable valgrind support when compiling in mips16e mode

André Draszik git at andred.net
Fri Jun 24 10:58:30 UTC 2016


From: André Draszik <adraszik at tycoint.com>

| mipsel-poky-linux-uclibc-gcc -mel -mabi=32 -msoft-float \
|   -march=mips32r2 -mips16 -minterlink-compressed -mtune=24kec \
|   -mdsp --sysroot=<sysroot> -DHAVE_CONFIG_H -I. \
|   -I<glib>/glib -I.. -I.. -I../glib -I<glib>/glib -I<glib> \
|   -DG_LOG_DOMAIN=\"GLib\" -DG_DISABLE_CAST_CHECKS -DGLIB_COMPILATION \
|   -DPCRE_STATIC -pthread -Wall -Wstrict-prototypes \
|   -Werror=declaration-after-statement -Werror=missing-prototypes \
|   -Werror=implicit-function-declaration -Werror=pointer-arith \
|   -Werror=init-self -Werror=format=2 -Werror=missing-include-dirs \
|   -fvisibility=hidden -O2 -pipe -g -feliminate-unused-debug-types \
|   -c <glib>/glib/gslice.c  -fPIC -DPIC -o .libs/libglib_2_0_la-gslice.o
| {standard input}: Assembler messages:
| {standard input}:2485: Error: invalid operands `move $11,$8'
| {standard input}:2487: Error: invalid operands `srl $0,$0,13'
| {standard input}:2488: Error: invalid operands `srl $0,$0,29'
| {standard input}:2489: Error: invalid operands `srl $0,$0,3'
| {standard input}:2490: Error: invalid operands `srl $0,$0,19'
| {standard input}:2491: Error: invalid operands `or $13,$13,$13'
| Makefile:2076: recipe for target 'libglib_2_0_la-gslice.lo' failed

The alternative would probably be to force compilation in normal mips
mode for all of glib (as is done for armv4 and armv5). While that
would retain the valgrind support, valgrind support itself shouldn't
be needed on the target device, and we rather keep the mips16e mode.

Signed-off-by: André Draszik <adraszik at tycoint.com>
---
 meta/recipes-core/glib-2.0/glib.inc | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/meta/recipes-core/glib-2.0/glib.inc b/meta/recipes-core/glib-2.0/glib.inc
index c6b8e57..767492d 100644
--- a/meta/recipes-core/glib-2.0/glib.inc
+++ b/meta/recipes-core/glib-2.0/glib.inc
@@ -68,6 +68,9 @@ FILES_${PN}-utils = "${bindir}/*"
 
 ARM_INSTRUCTION_SET_armv4 = "arm"
 ARM_INSTRUCTION_SET_armv5 = "arm"
+# Valgrind runtime detection works using hand-written assembly, which
+# doesn't support mips16e
+CPPFLAGS_append_class-target_mips16e = " -DNVALGRIND=1"
 
 USE_NLS = "yes"
 
-- 
2.8.1




More information about the Openembedded-core mailing list