protobuf: switch from mips16 to mips32 due to in-line assembler
PATCH 1/1 protobuf: switch from mips16 to mips32 due to in-line assembler
From: Lukasz Nowak <[email protected]>
| mipsel-poky-linux-musl-libtool: compile: mipsel-poky-linux-musl-g++ -mel -mabi=32 -msoft-float -march=mips32r2 -mips16 -minterlink-compressed -mtune=24kec -mdsp --sysroot=<sysroot> -DHAVE_CONFIG_H -I. -I../../git/src -I.. -Wall -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare -O2 -pipe -g -feliminate-unused-debug-types -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -fvisibility-inlines-hidden -c ../../git/src/google/protobuf/repeated_field.cc -fPIC -DPIC -o google/protobuf/.libs/repeated_field.o
| {standard input}: Assembler messages:
| {standard input}:113: Error: unrecognized opcode `sync'
| {standard input}:140: Error: unrecognized opcode `ll $2,0($16)'
| {standard input}:143: Error: unrecognized opcode `sc $4,0($16)'
| {standard input}:202: Error: unrecognized opcode `sync'
| {standard input}:275: Error: unrecognized opcode `sync'
| Makefile:2064: recipe for target 'google/protobuf/stubs/once.lo' failed
| make[3]: *** [google/protobuf/stubs/once.lo] Error 1Protobuf implements atomics for mips, using ASM "sync" instruction. It is not available in mips16e. Switching the library to mips32 is the easiest solution.
Signed-off-by Lukasz Nowak <[email protected]>
--- meta-oe/recipes-devtools/protobuf/protobuf_2.6.1.bb | 2 ++ 1 file changed, 2 insertions(+)
meta-oe/recipes-devtools/protobuf/protobuf_2.6.1.bb +2 -0
@@ -28,4 +28,6 @@ S = "${WORKDIR}/git" FILES_${PN}-compiler = "${bindir} ${libdir}/libprotoc${SOLIBS}" +MIPS_INSTRUCTION_SET = "mips" + BBCLASSEXTEND = "native nativesdk"
Signature · 1 line
2.10.2