<?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>72862</bug_id>
          
          <creation_ts>2011-11-20 23:41:32 -0800</creation_ts>
          <short_desc>[Mac] check-for-weak-vtables-and-externals should ignore symbols from system headers.</short_desc>
          <delta_ts>2011-11-21 03:20:22 -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>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>67852</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Hajime Morrita">morrita</reporter>
          <assigned_to name="Hajime Morrita">morrita</assigned_to>
          <cc>mitz</cc>
    
    <cc>mrowe</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>506736</commentid>
    <comment_count>0</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-11-20 23:41:32 -0800</bug_when>
    <thetext>heck-for-weak-vtables-and-externals should ignore symbols from system headers
because the system header forces them to export and we cannot control it 
when we use WTF_EXPORT-based symbol visibility control.

For example, /usr/include/c++/4.2.1/new contains following line:
#pragma GCC visibility push(default)

Fortunately JSC depends on very few such C++ symbols so I think this relaxation doesn&apos;t harm.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>506743</commentid>
    <comment_count>1</comment_count>
      <attachid>116038</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-11-20 23:55:16 -0800</bug_when>
    <thetext>Created attachment 116038
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>506818</commentid>
    <comment_count>2</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2011-11-21 02:38:09 -0800</bug_when>
    <thetext>I don’t think silently allowing these symbols to be exported this is the right solution. Our frameworks should only be exporting symbols that they provide, not random symbols from system headers. Take a look at the definition of OTHER_LDFLAGS in WebKit2/Configurations/Base.xcconfig for the approach that we use to address this in the one framework we currently have that does not use an explicit symbol export list.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>506819</commentid>
    <comment_count>3</comment_count>
      <attachid>116038</attachid>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2011-11-21 02:38:46 -0800</bug_when>
    <thetext>Comment on attachment 116038
Patch

Marking as r- per above comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>506836</commentid>
    <comment_count>4</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-11-21 03:20:22 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; I don’t think silently allowing these symbols to be exported this is the right solution. Our frameworks should only be exporting symbols that they provide, not random symbols from system headers. Take a look at the definition of OTHER_LDFLAGS in WebKit2/Configurations/Base.xcconfig for the approach that we use to address this in the one framework we currently have that does not use an explicit symbol export list.

Wow, this is exactly what I want. Thanks much for your advice!
Closing the bug since we don&apos;t need this change.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>116038</attachid>
            <date>2011-11-20 23:55:16 -0800</date>
            <delta_ts>2011-11-21 03:20:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-72862-20111121165514.patch</filename>
            <type>text/plain</type>
            <size>1684</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAwODg2CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMGNmNjkyZjY3OTZkMWViNzEyODYwMDE4ZWU2OGYzYTg0
YWJkYjk3MC4uNmY3NDZiZTVkMTc5ODg5NmY3ODQ4Y2VjOGQ2ODQzZDQ4NTdlM2UwZiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1
IEBACisyMDExLTExLTIwICBIYWppbWUgTW9ycml0YSAgPG1vcnJpdGFAY2hyb21pdW0ub3JnPgor
CisgICAgICAgIFtNYWNdIGhlY2stZm9yLXdlYWstdnRhYmxlcy1hbmQtZXh0ZXJuYWxzIHNob3Vs
ZCBpZ25vcmUgc3ltYm9scyBmcm9tIHN5c3RlbSBoZWFkZXJzLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4NjIKKworICAgICAgICBBZGQgc29tZSBy
ZWd4cCBwYXR0ZXJucyB0byBhbGxvdyBzeW1ib2xzIGZyb20gJ3N0ZCcgbmFtZXNwYWNlCisgICAg
ICAgIGFuZCBnbG9iYWwgZGVmYXVsdCBvcGVyYXRvciBuZXcuCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTY3JpcHRzL2NoZWNrLWZvci13ZWFrLXZ0
YWJsZXMtYW5kLWV4dGVybmFsczoKKwogMjAxMS0xMS0yMCAgT2phbiBWYWZhaSAgPG9qYW5AY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIENoYW5nZSB0aGUgZmluYWwgcGxhY2Ugd2hlcmUgd2UgdXNl
IHZlcnNpb24gMyBvZiB0aGUgcmVzdWx0cyBqc29uIG91dHB1dApkaWZmIC0tZ2l0IGEvVG9vbHMv
U2NyaXB0cy9jaGVjay1mb3Itd2Vhay12dGFibGVzLWFuZC1leHRlcm5hbHMgYi9Ub29scy9TY3Jp
cHRzL2NoZWNrLWZvci13ZWFrLXZ0YWJsZXMtYW5kLWV4dGVybmFscwppbmRleCBkZmJmODlmZWZm
NDU1NDhiYTBmY2VlYTRiZGFmOGJmMTllNDYxNGRjLi4zM2FmOWJiOTY5NmEzMmE0YmQwOWM5OWYy
NjJlZTgxMDgyYzdjOGNjIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL2NoZWNrLWZvci13ZWFr
LXZ0YWJsZXMtYW5kLWV4dGVybmFscworKysgYi9Ub29scy9TY3JpcHRzL2NoZWNrLWZvci13ZWFr
LXZ0YWJsZXMtYW5kLWV4dGVybmFscwpAQCAtNjYsOCArNjYsOCBAQCBpZiAoIWRlZmluZWQgJGV4
ZWN1dGFibGVQYXRoQWdlIHx8ICFkZWZpbmVkICRidWlsZFRpbWVzdGFtcEFnZSB8fCAkZXhlY3V0
YWJsZVBhdAogICAgIG15IEB3ZWFrRXh0ZXJuYWxTeW1ib2xzID0gKCk7CiAgICAgd2hpbGUgKDxO
TT4pIHsKICAgICAgICAgaWYgKC9eU1RET1VUOi8pIHsKLSAgICAgICAgICAgICMgSWdub3JlIHVu
ZGVmaW5lZCwgUlRUSSBhbmQgdHlwZWluZm8gc3ltYm9scy4KLSAgICAgICAgICAgIG5leHQgaWYg
L1xidW5kZWZpbmVkXGIvIG9yIC9cYl9fWlRbSVNdLzsKKyAgICAgICAgICAgICMgSWdub3JlIHVu
ZGVmaW5lZCwgUlRUSSBhbmQgdHlwZWluZm8gc3ltYm9scy4gU1RMIG9yaWdpbiBzeW1ib2xzIGFy
ZSBhbHNvIGlnbm9yZWQuCisgICAgICAgICAgICBuZXh0IGlmIC9cYnVuZGVmaW5lZFxiLyBvciAv
XGJfX1pUW0lTXS8gb3IgL1xic3RkOjovIG9yIC9vcGVyYXRvciBuZXcvOwogCiAgICAgICAgICAg
ICBpZiAoL3dlYWsgZXh0ZXJuYWwgdnRhYmxlIGZvciAoLiopJC8pIHsKICAgICAgICAgICAgICAg
ICBwdXNoIEB3ZWFrVlRhYmxlQ2xhc3NlcywgJDE7Cg==
</data>
<flag name="review"
          id="115098"
          type_id="1"
          status="-"
          setter="mrowe"
    />
          </attachment>
      

    </bug>

</bugzilla>