| Summary: | libjpeg-turbo fail to build with mips64-nf (soft float) | ||
|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] OE-Core | Reporter: | Kevin Hao <kexin.hao> |
| Component: | graphics | Assignee: | Maxin B. John <maxin.john> |
| Status: | VERIFIED FIXED | QA Contact: | Yi Zhao <yi.zhao> |
| Severity: | normal | ||
| Priority: | Medium+ | CC: | jose.perez.carranza, meta.mr.watcher, meta.watcher, peter.kjellerstedt, yi.zhao |
| Version: | 2.2 | ||
| Target Milestone: | 2.2 M1 | ||
| Hardware: | EdgeRouter | ||
| OS: | mips64 | ||
| Whiteboard: | |||
| OS type for building Yocto: | --- | Type of Regression: | --- |
| Verified: | Documentation change: | No (bug/feature does not impact docs) | |
|
Description
Kevin Hao
2016-05-08 12:46:43 UTC
We have the following in a bbappend for libjpeg-turbo in our layer to work around this problem:
SIMD = ""
SIMD_mipsel = " --without-simd"
EXTRA_OECONF_append_class-target = "${SIMD}"
Hi, libjpeg-turbo-1.5.0 was released yesteerday. I got the same error as Kevin Hao mentioned while trying to build 1.5.0 release. (In reply to comment #1) > We have the following in a bbappend for libjpeg-turbo in our layer to work > around this problem: > > SIMD = "" > SIMD_mipsel = " --without-simd" > > EXTRA_OECONF_append_class-target = "${SIMD}" Peter, could you share the local.conf changes that you have done to build the mipsel BSP? In my case, the mipsel build of libjpeg-turbo - 1.5.0 went fine with the following config: MACHINE= "edgerouter" DEFAULTTUNE= "mips32el" Build Failure:
| ../../libjpeg-turbo-1.5.0/simd/jsimd_mips_dspr2.S: Assembler messages:
| ../../libjpeg-turbo-1.5.0/simd/jsimd_mips_dspr2.S:2842: Error: opcode not supported on this processor: mips32r2 (mips32r2) `mtc1 $9,$f0'
| ../../libjpeg-turbo-1.5.0/simd/jsimd_mips_dspr2.S:2845: Error: opcode not supported on this processor: mips32r2 (mips32r2) `lwc1 $f2,0($6)'
| ../../libjpeg-turbo-1.5.0/simd/jsimd_mips_dspr2.S:2846: Error: opcode not supported on this processor: mips32r2 (mips32r2) `lwc1 $f10,0($5)'
| ../../libjpeg-turbo-1.5.0/simd/jsimd_mips_dspr2.S:2847: Error: opcode not supported on this processor: mips32r2 (mips32r2) `lwc1 $f4,4($6)'
| ../../libjpeg-turbo-1.5.0/simd/jsimd_mips_dspr2.S:2848: Error: opcode not supported on this processor: mips32r2 (mips32r2) `lwc1 $f12,4($5)'
| ../../libjpeg-turbo-1.5.0/simd/jsimd_mips_dspr2.S:2849: Error: opcode not supported on this processor: mips32r2 (mips32r2) `lwc1 $f6,8($6)'
| ../../libjpeg-turbo-1.5.0/simd/jsimd_mips_dspr2.S:2850: Error: opcode not supported on this processor: mips32r2 (mips32r2) `lwc1 $f14,8($5)'
| ../../libjpeg-turbo-1.5.0/simd/jsimd_mips_dspr2.S:2851: Error: opcode not supported on this processor: mips32r2 (mips32r2) `lwc1 $f8,12($6)'
| ../../libjpeg-turbo-1.5.0/simd/jsimd_mips_dspr2.S:2852: Error: opcode not supported on this processor: mips32r2 (mips32r2) `lwc1 $f16,12($5)'
| ../../libjpeg-turbo-1.5.0/simd/jsimd_mips_dspr2.S:2853: Error: opcode not supported on this processor: mips32r2 (mips32r2) `madd.s $f2,$f0,$f2,$f10'
| ../../libjpeg-turbo-1.5.0/simd/jsimd_mips_dspr2.S:2854: Error: opcode not supported on this processor: mips32r2 (mips32r2) `madd.s $f4,$f0,$f4,$f12'
| ../../libjpeg-turbo-1.5.0/simd/jsimd_mips_dspr2.S:2855: Error: opcode not supported on this processor: mips32r2 (mips32r2) `madd.s $f6,$f0,$f6,$f14'
| ../../libjpeg-turbo-1.5.0/simd/jsimd_mips_dspr2.S:2856: Error: opcode not supported on this processor: mips32r2 (mips32r2) `madd.s $f8,$f0,$f8,$f16'
| ../../libjpeg-turbo-1.5.0/simd/jsimd_mips_dspr2.S:2857: Error: opcode not supported on this processor: mips32r2 (mips32r2) `lwc1 $f10,16($5)'
| ../../libjpeg-turbo-1.5.0/simd/jsimd_mips_dspr2.S:2858: Error: opcode not supported on this processor: mips32r2 (mips32r2) `lwc1 $f12,20($5)'
| ../../libjpeg-turbo-1.5.0/simd/jsimd_mips_dspr2.S:2859: Error: opcode not supported on this processor: mips32r2 (mips32r2) `trunc.w.s $f2,$f2'
| ../../libjpeg-turbo-1.5.0/simd/jsimd_mips_dspr2.S:2860: Error: opcode not supported on this processor: mips32r2 (mips32r2) `trunc.w.s $f4,$f4'
| ../../libjpeg-turbo-1.5.0/simd/jsimd_mips_dspr2.S:2861: Error: opcode not supported on this processor: mips32r2 (mips32r2) `trunc.w.s $f6,$f6'
| ../../libjpeg-turbo-1.5.0/simd/jsimd_mips_dspr2.S:2862: Error: opcode not supported on this processor: mips32r2 (mips32r2) `trunc.w.s $f8,$f8'
| ../../libjpeg-turbo-1.5.0/simd/jsimd_mips_dspr2.S:2863: Error: opcode not supported on this processor: mips32r2 (mips32r2) `lwc1 $f14,24($5)'
| ../../libjpeg-turbo-1.5.0/simd/jsimd_mips_dspr2.S:2864: Error: opcode not supported on this processor: mips32r2 (mips32r2) `lwc1 $f16,28($5)'
| ../../libjpeg-turbo-1.5.0/simd/jsimd_mips_dspr2.S:2865: Error: opcode not supported on this processor: mips32r2 (mips32r2) `mfc1 $9,$f2'
| ../../libjpeg-turbo-1.5.0/simd/jsimd_mips_dspr2.S:2866: Error: opcode not supported on this processor: mips32r2 (mips32r2) `mfc1 $10,$f4'
| ../../libjpeg-turbo-1.5.0/simd/jsimd_mips_dspr2.S:2867: Error: opcode not supported on this processor: mips32r2 (mips32r2) `mfc1 $11,$f6'
| ../../libjpeg-turbo-1.5.0/simd/jsimd_mips_dspr2.S:2868: Error: opcode not supported on this processor: mips32r2 (mips32r2) `mfc1 $12,$f8'
| ../../libjpeg-turbo-1.5.0/simd/jsimd_mips_dspr2.S:2869: Error: opcode not supported on this processor: mips32r2 (mips32r2) `lwc1 $f2,16($6)'
<snip>
libjpeg-turbo don't have non-floating point ABI support in MIPS at the moment.
We can work-around using:
EXTRA_OECONF_append_class-target = " ${@bb.utils.contains("MIPSPKGSFX_FPU", "-nf", "--without-simd", "", d)}"
Fix/upgrade sent to oe-core: http://lists.openembedded.org/pipermail/openembedded-core/2016-June/122601.html Verified with poky master: e274a5167ea2e495355bd1382b1388d047b845d7 |