<?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>29079</bug_id>
          
          <creation_ts>2009-09-09 04:47:14 -0700</creation_ts>
          <short_desc>ARM compiler does not understand GCC visibility attribute</short_desc>
          <delta_ts>2009-09-10 06:23:07 -0700</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>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>Other</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Laszlo Gombos">laszlo.gombos</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>hausmann</cc>
    
    <cc>kenneth</cc>
    
    <cc>kent.hansen</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>145704</commentid>
    <comment_count>0</comment_count>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2009-09-09 04:47:14 -0700</bug_when>
    <thetext>Thi will result in a compilation warning which pollutes the build output. In JavaScriptCore/API/JSBase.h instead of just testing for defined(__GNUC__), there should also be a check to exclude the ARM compiler.

Essentially what we want here is a test for COMPILER(GCC), but since Platform.h is not visible from JavaScriptCore/API/JSBase.h the logic for testing for COMPILER(GCC) needs to be repeated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145705</commentid>
    <comment_count>1</comment_count>
      <attachid>39263</attachid>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2009-09-09 04:51:56 -0700</bug_when>
    <thetext>Created attachment 39263
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145707</commentid>
    <comment_count>2</comment_count>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2009-09-09 05:06:04 -0700</bug_when>
    <thetext>The warning message  - that this patch is trying to address - is the following:

&quot;\webkit\JavaScriptCore\API\JSObjectRef.h&quot;, line 596: Warning:  #1207-D: attribute &quot;visibility&quot; ignored
  JS_EXPORT bool JSObjectSetPrivate(JSObjectRef object, void* data);
  ^</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145742</commentid>
    <comment_count>3</comment_count>
      <attachid>39263</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-09-09 07:35:31 -0700</bug_when>
    <thetext>Comment on attachment 39263
proposed patch

Is it really the ARM issue that makes this not support visibility? Or is it version-specific? r=me, but I suspect this is not as good a condition as it could be.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145799</commentid>
    <comment_count>4</comment_count>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2009-09-09 09:39:10 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 39263 [details])
&gt; Is it really the ARM issue that makes this not support visibility? Or is it
&gt; version-specific? r=me, but I suspect this is not as good a condition as it
&gt; could be.

Darin, thanks for the review. 

This is an issue with the compiler syntax. ARM compiler does support visibility declarations (which is different from GCC so the extra test is needed). For now we do not really need the visibility decaration for the ARM ports now so my patch leaves the JS_EXPORT empty for ARM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145814</commentid>
    <comment_count>5</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2009-09-09 10:08:25 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; (From update of attachment 39263 [details] [details])
&gt; &gt; Is it really the ARM issue that makes this not support visibility? Or is it
&gt; &gt; version-specific? r=me, but I suspect this is not as good a condition as it
&gt; &gt; could be.
&gt; 
&gt; Darin, thanks for the review. 
&gt; 
&gt; This is an issue with the compiler syntax. ARM compiler does support visibility
&gt; declarations (which is different from GCC so the extra test is needed). For now
&gt; we do not really need the visibility decaration for the ARM ports now so my
&gt; patch leaves the JS_EXPORT empty for ARM.

Who is &quot;we&quot;? Boston Team? Will this affect compiling Qt 4.6 for ARM in general?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145822</commentid>
    <comment_count>6</comment_count>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2009-09-09 10:28:32 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; (In reply to comment #3)
&gt; &gt; &gt; (From update of attachment 39263 [details] [details] [details])
&gt; &gt; &gt; Is it really the ARM issue that makes this not support visibility? Or is it
&gt; &gt; &gt; version-specific? r=me, but I suspect this is not as good a condition as it
&gt; &gt; &gt; could be.
&gt; &gt; 
&gt; &gt; Darin, thanks for the review. 
&gt; &gt; 
&gt; &gt; This is an issue with the compiler syntax. ARM compiler does support visibility
&gt; &gt; declarations (which is different from GCC so the extra test is needed). For now
&gt; &gt; we do not really need the visibility decaration for the ARM ports now so my
&gt; &gt; patch leaves the JS_EXPORT empty for ARM.
&gt; 
&gt; Who is &quot;we&quot;? Boston Team? Will this affect compiling Qt 4.6 for ARM in general?

Kenneth, sorry for the vague use of words. 

The change only has an impact for the ARMCC compiler (also known as ADS or RVCT). As far as I know only the Symbian port using the RVCT compiler, although in theory other ports/platforms might be able to use it as well.

This change has no impact on those ARM ports (including the QtWebKit ARM ports) that are using GCC.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145854</commentid>
    <comment_count>7</comment_count>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2009-09-09 11:14:06 -0700</bug_when>
    <thetext>Added Kent Hansen and Simon Hausmann to the CC list and set commit-queue- to give a change for Kent and Simon to look at this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146177</commentid>
    <comment_count>8</comment_count>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2009-09-10 06:23:07 -0700</bug_when>
    <thetext>Committed as http://trac.webkit.org/changeset/48251</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39263</attachid>
            <date>2009-09-09 04:51:56 -0700</date>
            <delta_ts>2009-09-10 05:46:12 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>patch_29079.txt</filename>
            <type>text/plain</type>
            <size>1152</size>
            <attacher name="Laszlo Gombos">laszlo.gombos</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDQ4MjA0KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMDktMDktMDkgIExhc3psbyBH
b21ib3MgIDxsYXN6bG8uMS5nb21ib3NAbm9raWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFSTSBjb21waWxlciBkb2VzIG5vdCB1bmRlcnN0
YW5kIEdDQyB2aXNpYmlsaXR5IGF0dHJpYnV0ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjkwNzkKKworICAgICAgICAqIEFQSS9KU0Jhc2UuaDogTWFr
ZSB0aGUgdGVzdCBtb3JlIHNwZWNpZmljIHRvIGhpdCBvbmx5CisgICAgICAgIHRoZSBHQ0MgY29t
cGlsZXIKKwogMjAwOS0wOS0wOCAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IE1hY2llaiBTdGFjaG93aWFrLgpJbmRleDogSmF2YVNjcmlwdENv
cmUvQVBJL0pTQmFzZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL0FQSS9KU0Jhc2Uu
aAkocmV2aXNpb24gNDgxNjUpCisrKyBKYXZhU2NyaXB0Q29yZS9BUEkvSlNCYXNlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTY3LDcgKzY3LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgT3BhcXVlSlNWYWx1ZSog
SlNPYmplY3RSZQogI3VuZGVmIEpTX0VYUE9SVAogI2lmIGRlZmluZWQoQlVJTERJTkdfV1hfXykK
ICAgICAjZGVmaW5lIEpTX0VYUE9SVAotI2VsaWYgZGVmaW5lZChfX0dOVUNfXykKKyNlbGlmIGRl
ZmluZWQoX19HTlVDX18pICYmICFkZWZpbmVkKF9fQ0NfQVJNKSAmJiAhZGVmaW5lZChfX0FSTUND
X18pCiAgICAgI2RlZmluZSBKU19FWFBPUlQgX19hdHRyaWJ1dGVfXygodmlzaWJpbGl0eSgiZGVm
YXVsdCIpKSkKICNlbGlmIGRlZmluZWQoX1dJTjMyX1dDRSkKICAgICAjaWYgZGVmaW5lZChKU19C
VUlMRElOR19KUykK
</data>

          </attachment>
      

    </bug>

</bugzilla>