<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugzilla.yoctoproject.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugzilla.yoctoproject.org/"
          
          maintainer="it-coreprojects-helpdesk@linuxfoundation.org"
>

    <bug>
          <bug_id>9606</bug_id>
          
          <creation_ts>2016-05-08 12:46:43 +0000</creation_ts>
          <short_desc>libjpeg-turbo fail to build with mips64-nf (soft float)</short_desc>
          <delta_ts>2016-08-12 04:50:40 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>7</classification_id>
          <classification>Build System, Metadata &amp; Runtime</classification>
          <product>OE-Core</product>
          <component>graphics</component>
          <version>2.2</version>
          <rep_platform>EdgeRouter</rep_platform>
          <op_sys>mips64</op_sys>
          <bug_status>VERIFIED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>Medium+</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>2.2 M1</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kevin Hao">kexin.hao</reporter>
          <assigned_to name="Maxin B. John">maxin.john</assigned_to>
          <cc>jose.perez.carranza</cc>
    
    <cc>meta.mr.watcher</cc>
    
    <cc>meta.watcher</cc>
    
    <cc>peter.kjellerstedt</cc>
    
    <cc>yi.zhao</cc>
          
          <qa_contact name="Yi Zhao">yi.zhao</qa_contact>
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>No (bug/feature does not impact docs)</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>62031</commentid>
    <comment_count>0</comment_count>
    <who name="Kevin Hao">kexin.hao</who>
    <bug_when>2016-05-08 12:46:43 +0000</bug_when>
    <thetext>1. Configure a edgerouter BSP.
2. echo &quot;DEFAULTTUNE = \&quot;mips64-nf\&quot;&quot; &gt;&gt;conf/local.conf
3. bitbake core-image-sato</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>62040</commentid>
    <comment_count>1</comment_count>
    <who name="Peter Kjellerstedt">peter.kjellerstedt</who>
    <bug_when>2016-05-09 11:37:00 +0000</bug_when>
    <thetext>We have the following in a bbappend for libjpeg-turbo in our layer to work around this problem:

SIMD = &quot;&quot;
SIMD_mipsel = &quot; --without-simd&quot;

EXTRA_OECONF_append_class-target = &quot;${SIMD}&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>62754</commentid>
    <comment_count>2</comment_count>
    <who name="Maxin B. John">maxin.john</who>
    <bug_when>2016-06-08 08:51:00 +0000</bug_when>
    <thetext>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)
&gt; We have the following in a bbappend for libjpeg-turbo in our layer to work
&gt; around this problem:
&gt; 
&gt; SIMD = &quot;&quot;
&gt; SIMD_mipsel = &quot; --without-simd&quot;
&gt; 
&gt; EXTRA_OECONF_append_class-target = &quot;${SIMD}&quot;

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= &quot;edgerouter&quot;
DEFAULTTUNE= &quot;mips32el&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>62763</commentid>
    <comment_count>3</comment_count>
    <who name="Maxin B. John">maxin.john</who>
    <bug_when>2016-06-08 12:15:10 +0000</bug_when>
    <thetext>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&apos;
| ../../libjpeg-turbo-1.5.0/simd/jsimd_mips_dspr2.S:2845: Error: opcode not supported on this processor: mips32r2 (mips32r2) `lwc1 $f2,0($6)&apos;
| ../../libjpeg-turbo-1.5.0/simd/jsimd_mips_dspr2.S:2846: Error: opcode not supported on this processor: mips32r2 (mips32r2) `lwc1 $f10,0($5)&apos;
| ../../libjpeg-turbo-1.5.0/simd/jsimd_mips_dspr2.S:2847: Error: opcode not supported on this processor: mips32r2 (mips32r2) `lwc1 $f4,4($6)&apos;
| ../../libjpeg-turbo-1.5.0/simd/jsimd_mips_dspr2.S:2848: Error: opcode not supported on this processor: mips32r2 (mips32r2) `lwc1 $f12,4($5)&apos;
| ../../libjpeg-turbo-1.5.0/simd/jsimd_mips_dspr2.S:2849: Error: opcode not supported on this processor: mips32r2 (mips32r2) `lwc1 $f6,8($6)&apos;
| ../../libjpeg-turbo-1.5.0/simd/jsimd_mips_dspr2.S:2850: Error: opcode not supported on this processor: mips32r2 (mips32r2) `lwc1 $f14,8($5)&apos;
| ../../libjpeg-turbo-1.5.0/simd/jsimd_mips_dspr2.S:2851: Error: opcode not supported on this processor: mips32r2 (mips32r2) `lwc1 $f8,12($6)&apos;
| ../../libjpeg-turbo-1.5.0/simd/jsimd_mips_dspr2.S:2852: Error: opcode not supported on this processor: mips32r2 (mips32r2) `lwc1 $f16,12($5)&apos;
| ../../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&apos;
| ../../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&apos;
| ../../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&apos;
| ../../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&apos;
| ../../libjpeg-turbo-1.5.0/simd/jsimd_mips_dspr2.S:2857: Error: opcode not supported on this processor: mips32r2 (mips32r2) `lwc1 $f10,16($5)&apos;
| ../../libjpeg-turbo-1.5.0/simd/jsimd_mips_dspr2.S:2858: Error: opcode not supported on this processor: mips32r2 (mips32r2) `lwc1 $f12,20($5)&apos;
| ../../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&apos;
| ../../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&apos;
| ../../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&apos;
| ../../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&apos;
| ../../libjpeg-turbo-1.5.0/simd/jsimd_mips_dspr2.S:2863: Error: opcode not supported on this processor: mips32r2 (mips32r2) `lwc1 $f14,24($5)&apos;
| ../../libjpeg-turbo-1.5.0/simd/jsimd_mips_dspr2.S:2864: Error: opcode not supported on this processor: mips32r2 (mips32r2) `lwc1 $f16,28($5)&apos;
| ../../libjpeg-turbo-1.5.0/simd/jsimd_mips_dspr2.S:2865: Error: opcode not supported on this processor: mips32r2 (mips32r2) `mfc1 $9,$f2&apos;
| ../../libjpeg-turbo-1.5.0/simd/jsimd_mips_dspr2.S:2866: Error: opcode not supported on this processor: mips32r2 (mips32r2) `mfc1 $10,$f4&apos;
| ../../libjpeg-turbo-1.5.0/simd/jsimd_mips_dspr2.S:2867: Error: opcode not supported on this processor: mips32r2 (mips32r2) `mfc1 $11,$f6&apos;
| ../../libjpeg-turbo-1.5.0/simd/jsimd_mips_dspr2.S:2868: Error: opcode not supported on this processor: mips32r2 (mips32r2) `mfc1 $12,$f8&apos;
| ../../libjpeg-turbo-1.5.0/simd/jsimd_mips_dspr2.S:2869: Error: opcode not supported on this processor: mips32r2 (mips32r2) `lwc1 $f2,16($6)&apos;

&lt;snip&gt;

libjpeg-turbo don&apos;t have non-floating point ABI support in MIPS at the moment. 

We can work-around using:

EXTRA_OECONF_append_class-target = &quot; ${@bb.utils.contains(&quot;MIPSPKGSFX_FPU&quot;, &quot;-nf&quot;, &quot;--without-simd&quot;, &quot;&quot;, d)}&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>62764</commentid>
    <comment_count>4</comment_count>
    <who name="Maxin B. John">maxin.john</who>
    <bug_when>2016-06-08 12:52:25 +0000</bug_when>
    <thetext>Fix/upgrade sent to oe-core:
http://lists.openembedded.org/pipermail/openembedded-core/2016-June/122601.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>62947</commentid>
    <comment_count>5</comment_count>
    <who name="Maxin B. John">maxin.john</who>
    <bug_when>2016-06-13 22:39:25 +0000</bug_when>
    <thetext>http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=3332061f69ea03e1165f3c8b64197d3f35ffb95e</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65118</commentid>
    <comment_count>6</comment_count>
    <who name="Yi Zhao">yi.zhao</who>
    <bug_when>2016-08-12 04:50:40 +0000</bug_when>
    <thetext>Verified with poky master: e274a5167ea2e495355bd1382b1388d047b845d7</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>