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

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>182610</bug_id>
          
          <creation_ts>2018-02-08 11:48:55 -0800</creation_ts>
          <short_desc>[MIPS] JSC needs to be built with -latomic</short_desc>
          <delta_ts>2018-02-11 23:33:28 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=182622</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Guillaume Emont">guijemont</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aperez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1397622</commentid>
    <comment_count>0</comment_count>
    <who name="Guillaume Emont">guijemont</who>
    <bug_when>2018-02-08 11:48:55 -0800</bug_when>
    <thetext>Since r228149, on MIPS we need to link with -latomic, since __atomic_fetch_add_8 is not available as a compiler intrinsic.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1397668</commentid>
    <comment_count>1</comment_count>
      <attachid>333412</attachid>
    <who name="Guillaume Emont">guijemont</who>
    <bug_when>2018-02-08 12:52:02 -0800</bug_when>
    <thetext>Created attachment 333412
Patch

Patch fixing this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1397671</commentid>
    <comment_count>2</comment_count>
      <attachid>333412</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2018-02-08 12:56:49 -0800</bug_when>
    <thetext>Comment on attachment 333412
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=333412&amp;action=review

&gt; Source/JavaScriptCore/CMakeLists.txt:125
&gt; +if (WTF_CPU_MIPS)
&gt; +    list(APPEND JavaScriptCore_LIBRARIES
&gt; +        -latomic
&gt; +    )
&gt; +endif ()

Similar comment to what&apos;s in the ChangeLog would be nice here as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1397677</commentid>
    <comment_count>3</comment_count>
      <attachid>333412</attachid>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2018-02-08 13:02:07 -0800</bug_when>
    <thetext>Comment on attachment 333412
Patch

In Source/WebKit/CMakeLists.txt, after line 780, there&apos;s a check
that tries to compile a snippet which uses “std::atomic&lt;int64_t&gt;”
and determines whether using libatomic is needed or not. Instead
of unconditionally adding the library as your patch does, could
you please change the CMake code there so it adds it conditionally?

The resulting snippet patch should be something like:

        if (ATOMIC_INT64_REQUIRES_LIBATOMIC)
            list(APPEND WebKit_LIBRARIES atomic)
   +        list(APPEND JavaScriptCore_LIBRARIES atomic)
        endif ()

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1397679</commentid>
    <comment_count>4</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2018-02-08 13:04:45 -0800</bug_when>
    <thetext>(In reply to Adrian Perez from comment #3)
&gt; Comment on attachment 333412 [details]
&gt; Patch
&gt; 
&gt; In Source/WebKit/CMakeLists.txt, after line 780, there&apos;s a check
&gt; that tries to compile a snippet which uses “std::atomic&lt;int64_t&gt;”
&gt; and determines whether using libatomic is needed or not. Instead
&gt; of unconditionally adding the library as your patch does, could
&gt; you please change the CMake code there so it adds it conditionally?
&gt; 
&gt; The resulting snippet patch should be something like:
&gt; 
&gt;         if (ATOMIC_INT64_REQUIRES_LIBATOMIC)
&gt;             list(APPEND WebKit_LIBRARIES atomic)
&gt;    +        list(APPEND JavaScriptCore_LIBRARIES atomic)
&gt;         endif ()
&gt; 
&gt; Thanks!

Correction: This is in the CMakeLists.txt for *WebKit*, so it would
be better to move the check to one of the top-level CMakeLists.txt
and then in Source/JavaScriptCore/CMakeLists.txt append the library
conditionally to the list.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1397969</commentid>
    <comment_count>5</comment_count>
      <attachid>333495</attachid>
    <who name="Guillaume Emont">guijemont</who>
    <bug_when>2018-02-09 09:28:55 -0800</bug_when>
    <thetext>Created attachment 333495
Patch

New patch addressing Zan&apos;s comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1397970</commentid>
    <comment_count>6</comment_count>
    <who name="Guillaume Emont">guijemont</who>
    <bug_when>2018-02-09 09:30:32 -0800</bug_when>
    <thetext>Note that this is to fix the build quickly. A more correct solution will be developed in bug#182622.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1398320</commentid>
    <comment_count>7</comment_count>
      <attachid>333495</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-02-11 23:32:20 -0800</bug_when>
    <thetext>Comment on attachment 333495
Patch

Clearing flags on attachment: 333495

Committed r228370: &lt;https://trac.webkit.org/changeset/228370&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1398321</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-02-11 23:32:22 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1398322</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-02-11 23:33:28 -0800</bug_when>
    <thetext>&lt;rdar://problem/37451082&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>333412</attachid>
            <date>2018-02-08 12:52:02 -0800</date>
            <delta_ts>2018-02-09 09:28:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182610-20180208145202.patch</filename>
            <type>text/plain</type>
            <size>1446</size>
            <attacher name="Guillaume Emont">guijemont</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI4MjI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
NjdlMmU0ODFjODNmN2UxNDkyYTMwNWZmZjQ2ZGI3MDgxY2FkOTQyLi5kMmNmOThjZDlhOTA2ZDBj
MmJiNDlhYjNiMDE0NTQzOGQwNDQwYzhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAxOC0wMi0wOCAgR3VpbGxhdW1lIEVtb250ICA8Z3VpamVtb250QGlnYWxp
YS5jb20+CisKKyAgICAgICAgW01JUFNdIEpTQyBuZWVkcyB0byBiZSBidWlsdCB3aXRoIC1sYXRv
bWljCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODI2
MTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTaW5j
ZSByMjI4MTQ5LCBvbiBNSVBTIHdlIG5lZWQgdG8gbGluayB3aXRoIC1sYXRvbWljLCBiZWNhdXNl
CisgICAgICAgIF9fYXRvbWljX2ZldGNoX2FkZF84IGlzIG5vdCBhdmFpbGFibGUgYXMgYSBjb21w
aWxlciBpbnRyaW5zaWMuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKwogMjAxOC0wMi0w
NiAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9y
OiBwcm90b2NvbCBnZW5lcmF0b3Igc2hvdWxkIGF1dG9tYXRpY2FsbHkgZGVkdWNlIHRoZSBjb3Jy
ZWN0IGluY2x1ZGUgc3R5bGUgdG8gdXNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQK
aW5kZXggMGY3ZTFlNGE1NzU3Y2NjYWUwNTRkZTZkODNjYTQ4ZDRmNzkwZjE1Yy4uMjVkNGUxOGRj
ZDE3YzYyYjNkODk2NzRkYWEwM2RkOTM3YzQ3OTc2NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFr
ZUxpc3RzLnR4dApAQCAtMTE4LDYgKzExOCwxMiBAQCBzZXQoSmF2YVNjcmlwdENvcmVfTElCUkFS
SUVTCiAgICAgJHtMTFZNX0xJQlJBUklFU30KICkKIAoraWYgKFdURl9DUFVfTUlQUykKKyAgICBs
aXN0KEFQUEVORCBKYXZhU2NyaXB0Q29yZV9MSUJSQVJJRVMKKyAgICAgICAgLWxhdG9taWMKKyAg
ICApCitlbmRpZiAoKQorCiBzZXQoSmF2YVNjcmlwdENvcmVfU0NSSVBUU19TT1VSQ0VTX0RJUiAi
JHtKQVZBU0NSSVBUQ09SRV9ESVJ9L1NjcmlwdHMiKQogCiAjIEdsb2JiaW5nIHJlbGllcyBvbiB0
aGUgZmFjdCB0aGF0IGdlbmVyYXRvci1zcGVjaWZpYyBmaWxlIG5hbWVzIGFyZSBwcmVmaXhlZCB3
aXRoIHRoZWlyIGRpcmVjdG9yeS4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>333495</attachid>
            <date>2018-02-09 09:28:55 -0800</date>
            <delta_ts>2018-02-11 23:32:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182610-20180209112854.patch</filename>
            <type>text/plain</type>
            <size>1692</size>
            <attacher name="Guillaume Emont">guijemont</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI4MjI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
NjdlMmU0ODFjODNmN2UxNDkyYTMwNWZmZjQ2ZGI3MDgxY2FkOTQyLi5kMmNmOThjZDlhOTA2ZDBj
MmJiNDlhYjNiMDE0NTQzOGQwNDQwYzhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAxOC0wMi0wOCAgR3VpbGxhdW1lIEVtb250ICA8Z3VpamVtb250QGlnYWxp
YS5jb20+CisKKyAgICAgICAgW01JUFNdIEpTQyBuZWVkcyB0byBiZSBidWlsdCB3aXRoIC1sYXRv
bWljCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODI2
MTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTaW5j
ZSByMjI4MTQ5LCBvbiBNSVBTIHdlIG5lZWQgdG8gbGluayB3aXRoIC1sYXRvbWljLCBiZWNhdXNl
CisgICAgICAgIF9fYXRvbWljX2ZldGNoX2FkZF84IGlzIG5vdCBhdmFpbGFibGUgYXMgYSBjb21w
aWxlciBpbnRyaW5zaWMuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKwogMjAxOC0wMi0w
NiAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9y
OiBwcm90b2NvbCBnZW5lcmF0b3Igc2hvdWxkIGF1dG9tYXRpY2FsbHkgZGVkdWNlIHRoZSBjb3Jy
ZWN0IGluY2x1ZGUgc3R5bGUgdG8gdXNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQK
aW5kZXggMGY3ZTFlNGE1NzU3Y2NjYWUwNTRkZTZkODNjYTQ4ZDRmNzkwZjE1Yy4uMjU4ZGRiOWZk
ODJiNTlhZjQ1Nzk1NWE2YzMxYzFmM2JjNDkwY2FkMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFr
ZUxpc3RzLnR4dApAQCAtMTE4LDYgKzExOCwxNiBAQCBzZXQoSmF2YVNjcmlwdENvcmVfTElCUkFS
SUVTCiAgICAgJHtMTFZNX0xJQlJBUklFU30KICkKIAorIyBTaW5jZSByMjI4MTQ5LCBvbiBNSVBT
IHdlIG5lZWQgdG8gbGluayB3aXRoIC1sYXRvbWljLCBiZWNhdXNlCisjIF9fYXRvbWljX2ZldGNo
X2FkZF84IGlzIG5vdCBhdmFpbGFibGUgYXMgYSBjb21waWxlciBpbnRyaW5zaWMuIEl0IGlzCisj
IGF2YWlsYWJsZSBvbiBvdGhlciBwbGF0Zm9ybXMgKGluY2x1ZGluZyAzMi1iaXQgQXJtKSwgc28g
dGhlIGxpbmsgd2l0aAorIyBsaWJhdG9taWMgaXMgb25seSBuZWVkZSBvbiBNSVBTLgoraWYgKFdU
Rl9DUFVfTUlQUykKKyAgICBsaXN0KEFQUEVORCBKYXZhU2NyaXB0Q29yZV9MSUJSQVJJRVMKKyAg
ICAgICAgLWxhdG9taWMKKyAgICApCitlbmRpZiAoKQorCiBzZXQoSmF2YVNjcmlwdENvcmVfU0NS
SVBUU19TT1VSQ0VTX0RJUiAiJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L1NjcmlwdHMiKQogCiAjIEds
b2JiaW5nIHJlbGllcyBvbiB0aGUgZmFjdCB0aGF0IGdlbmVyYXRvci1zcGVjaWZpYyBmaWxlIG5h
bWVzIGFyZSBwcmVmaXhlZCB3aXRoIHRoZWlyIGRpcmVjdG9yeS4K
</data>

          </attachment>
      

    </bug>

</bugzilla>