<?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>77280</bug_id>
          
          <creation_ts>2012-01-28 10:30:25 -0800</creation_ts>
          <short_desc>Add JSCore symbol exports needed by wx port</short_desc>
          <delta_ts>2012-02-29 09:46:14 -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>WebKit wx</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Wx</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>77279</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kevin Ollivier">kevino</reporter>
          <assigned_to name="Kevin Ollivier">kevino</assigned_to>
          <cc>darin</cc>
    
    <cc>morrita</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>544662</commentid>
    <comment_count>0</comment_count>
    <who name="Kevin Ollivier">kevino</who>
    <bug_when>2012-01-28 10:30:25 -0800</bug_when>
    <thetext>Adds a few JSCore symbol exports that the wx port needs access.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>544663</commentid>
    <comment_count>1</comment_count>
      <attachid>124441</attachid>
    <who name="Kevin Ollivier">kevino</who>
    <bug_when>2012-01-28 10:34:06 -0800</bug_when>
    <thetext>Created attachment 124441
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>544664</commentid>
    <comment_count>2</comment_count>
    <who name="Kevin Ollivier">kevino</who>
    <bug_when>2012-01-28 10:43:43 -0800</bug_when>
    <thetext>Also, wanted to note that wxWebKit needs to have RTTI enabled since wx itself does. I wasn&apos;t sure if we wanted to actually introduce some WTF_RTTI_EXPORT macro since it&apos;s only this one case so far and I&apos;m not sure which, if any, other ports are turning on RTTI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>544852</commentid>
    <comment_count>3</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-01-29 20:20:46 -0800</bug_when>
    <thetext>Besides RTTI, I&apos;m curious why wx port requires extra, C++ level API to be exported.
Can these be part of C API ideally? Or is there any reason preventing it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545322</commentid>
    <comment_count>4</comment_count>
    <who name="Kevin Ollivier">kevino</who>
    <bug_when>2012-01-30 12:50:53 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Besides RTTI, I&apos;m curious why wx port requires extra, C++ level API to be exported.
&gt; Can these be part of C API ideally? Or is there any reason preventing it?

While the unresolved symbols do trigger for the wx port, they are not found anywhere in the wx layer. All the references to these symbols appear to be in the jsc test harness and the WebCore JS bindings. I am posting the exact linker output for the jsc and libwxwebkit.dylib targets below to show what source files are referencing those symbols. 

It&apos;s certainly possible this could be related to configuration differences, like with the RTTI problem, but I would actually think allocateSlowCase and toStringSlowCase would be pretty obvious targets for exporting, so I&apos;m more curious as to how it is that the other ports do not need to export these symbols. (All other to&lt;Whatever&gt;SlowCase methods in JSString are exported, for example.) I also, as a sanity check, checked that the Apple Mac port&apos;s JSArrayBufferView.cpp and the wx Mac port&apos;s JSArrayBufferView.cpp were identical, so I don&apos;t think it&apos;s that the wx port&apos;s DerivedSources are somehow different. 

Anyway, here&apos;s the linker output for wx without the added symbol exports:

linker errors for jsc:
Undefined symbols for architecture i386:
  &quot;JSC::MarkedSpace::allocateSlowCase(JSC::MarkedSpace::SizeClass&amp;)&quot;, referenced from:
      JSC::MarkedSpace::allocate(JSC::MarkedSpace::SizeClass&amp;)in jsc_2.o
  &quot;JSC::JSValue::toStringSlowCase(JSC::ExecState*) const&quot;, referenced from:
      JSC::JSValue::toString(JSC::ExecState*) constin jsc_2.o
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status

linker errors for libwxwebkit.dylib:
Undefined symbols for architecture i386:
  &quot;JSC::MarkedSpace::allocateSlowCase(JSC::MarkedSpace::SizeClass&amp;)&quot;, referenced from:
      JSC::MarkedSpace::allocate(JSC::MarkedSpace::SizeClass&amp;)in JSArrayBuffer_1.o
      JSC::MarkedSpace::allocate(JSC::MarkedSpace::SizeClass&amp;)in JSArrayBufferView_1.o
      JSC::MarkedSpace::allocate(JSC::MarkedSpace::SizeClass&amp;)in JSAttr_1.o
      JSC::MarkedSpace::allocate(JSC::MarkedSpace::SizeClass&amp;)in JSBarInfo_1.o
      JSC::MarkedSpace::allocate(JSC::MarkedSpace::SizeClass&amp;)in JSBeforeLoadEvent_1.o
      JSC::MarkedSpace::allocate(JSC::MarkedSpace::SizeClass&amp;)in JSBlob_1.o
      JSC::MarkedSpace::allocate(JSC::MarkedSpace::SizeClass&amp;)in JSCDATASection_1.o
      ...
  &quot;JSC::JSValue::toStringSlowCase(JSC::ExecState*) const&quot;, referenced from:
      JSC::JSValue::toString(JSC::ExecState*) constin JSBeforeLoadEvent_1.o
      JSC::JSValue::toString(JSC::ExecState*) constin JSCSSMediaRule_1.o
      JSC::JSValue::toString(JSC::ExecState*) constin JSCSSPrimitiveValue_1.o
      JSC::JSValue::toString(JSC::ExecState*) constin JSCSSStyleDeclaration_1.o
      JSC::JSValue::toString(JSC::ExecState*) constin JSCSSStyleSheet_1.o
      JSC::JSValue::toString(JSC::ExecState*) constin JSCanvasGradient_1.o
      JSC::JSValue::toString(JSC::ExecState*) constin JSCanvasRenderingContext2D_1.o
      ...
  &quot;typeinfo for WTF::ArrayBufferView&quot;, referenced from:
      typeinfo for WTF::TypedArrayBase&lt;float&gt;in JSFloat32Array_1.o
      typeinfo for WTF::TypedArrayBase&lt;double&gt;in JSFloat64Array_1.o
      typeinfo for WTF::TypedArrayBase&lt;short&gt;in JSInt16Array_1.o
      typeinfo for WTF::TypedArrayBase&lt;int&gt;in JSInt32Array_1.o
      typeinfo for WTF::TypedArrayBase&lt;signed char&gt;in JSInt8Array_1.o
      typeinfo for WTF::TypedArrayBase&lt;unsigned short&gt;in JSUint16Array_1.o
      typeinfo for WTF::TypedArrayBase&lt;unsigned int&gt;in JSUint32Array_1.o
      ...
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>546809</commentid>
    <comment_count>5</comment_count>
      <attachid>124441</attachid>
    <who name="Kevin Ollivier">kevino</who>
    <bug_when>2012-01-31 22:19:20 -0800</bug_when>
    <thetext>Comment on attachment 124441
Patch

I&apos;ll post an updated patch after the changes in Bug 77507 have landed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>547369</commentid>
    <comment_count>6</comment_count>
      <attachid>125014</attachid>
    <who name="Kevin Ollivier">kevino</who>
    <bug_when>2012-02-01 14:23:09 -0800</bug_when>
    <thetext>Created attachment 125014
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>550377</commentid>
    <comment_count>7</comment_count>
      <attachid>125014</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-02-06 15:57:30 -0800</bug_when>
    <thetext>Comment on attachment 125014
Patch

Looks good. I&apos;m sorry for my slow response...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>567689</commentid>
    <comment_count>8</comment_count>
    <who name="Kevin Ollivier">kevino</who>
    <bug_when>2012-02-29 09:46:14 -0800</bug_when>
    <thetext>It was a lot faster than mine! :) Sorry, I have been swamped recently. However, I did finally manage to land it in r109224, thanks!

Next patch should be &quot;flipping the switch&quot; to use the macros for wx port!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124441</attachid>
            <date>2012-01-28 10:34:06 -0800</date>
            <delta_ts>2012-02-01 14:23:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77280-20120128103404.patch</filename>
            <type>text/plain</type>
            <size>2655</size>
            <attacher name="Kevin Ollivier">kevino</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTA2MTg5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBA
CisyMDEyLTAxLTI4ICBLZXZpbiBPbGxpdmllciAgPGtldmlub0B0aGVvbGxpdmllcnMuY29tPgor
CisgICAgICAgIEFkZCBKU0NvcmUgc3ltYm9sIGV4cG9ydHMgbmVlZGVkIGJ5IHd4IHBvcnQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3MjgwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBoZWFwL01hcmtl
ZFNwYWNlLmg6CisgICAgICAgIChNYXJrZWRTcGFjZSk6CisgICAgICAgICogcnVudGltZS9KU1Zh
bHVlLmg6CisgICAgICAgIChKU1ZhbHVlKToKKyAgICAgICAgKCk6CisgICAgICAgICogd3RmL0Fy
cmF5QnVmZmVyVmlldy5oOgorICAgICAgICAoV1RGKToKKyAgICAgICAgKCk6CisKIDIwMTItMDEt
MjggIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAg
IFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMDYxODcuCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvaGVhcC9NYXJrZWRTcGFjZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9oZWFwL01hcmtlZFNwYWNlLmgJKHJldmlzaW9uIDEwNjE4OSkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9oZWFwL01hcmtlZFNwYWNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTg3LDcgKzg3
LDcgQEAgcHVibGljOgogICAgIHZvaWQgZnJlZUJsb2NrcyhNYXJrZWRCbG9jayogaGVhZCk7CiAK
IHByaXZhdGU6Ci0gICAgdm9pZCogYWxsb2NhdGVTbG93Q2FzZShTaXplQ2xhc3MmKTsKKyAgICBK
U19FWFBPUlRfUFJJVkFURSB2b2lkKiBhbGxvY2F0ZVNsb3dDYXNlKFNpemVDbGFzcyYpOwogICAg
IHZvaWQqIHRyeUFsbG9jYXRlSGVscGVyKE1hcmtlZFNwYWNlOjpTaXplQ2xhc3MmKTsKICAgICB2
b2lkKiB0cnlBbGxvY2F0ZShNYXJrZWRTcGFjZTo6U2l6ZUNsYXNzJik7CiAgICAgTWFya2VkQmxv
Y2sqIGFsbG9jYXRlQmxvY2soc2l6ZV90LCBBbGxvY2F0aW9uRWZmb3J0KTsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVmFsdWUuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1ZhbHVlLmgJKHJldmlzaW9uIDEwNjE4OSkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVmFsdWUuaAkod29ya2luZyBjb3B5KQpAQCAt
MjQ0LDcgKzI0NCw3IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIGlubGluZSBjb25zdCBK
U1ZhbHVlIGFzVmFsdWUoKSBjb25zdCB7IHJldHVybiAqdGhpczsgfQogICAgICAgICBKU19FWFBP
UlRfUFJJVkFURSBkb3VibGUgdG9OdW1iZXJTbG93Q2FzZShFeGVjU3RhdGUqKSBjb25zdDsKLSAg
ICAgICAgSlNTdHJpbmcqIHRvU3RyaW5nU2xvd0Nhc2UoRXhlY1N0YXRlKikgY29uc3Q7CisgICAg
ICAgIEpTX0VYUE9SVF9QUklWQVRFIEpTU3RyaW5nKiB0b1N0cmluZ1Nsb3dDYXNlKEV4ZWNTdGF0
ZSopIGNvbnN0OwogICAgICAgICBKU19FWFBPUlRfUFJJVkFURSBKU09iamVjdCogdG9PYmplY3RT
bG93Q2FzZShFeGVjU3RhdGUqLCBKU0dsb2JhbE9iamVjdCopIGNvbnN0OwogICAgICAgICBKU19F
WFBPUlRfUFJJVkFURSBKU09iamVjdCogdG9UaGlzT2JqZWN0U2xvd0Nhc2UoRXhlY1N0YXRlKikg
Y29uc3Q7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvQXJyYXlCdWZmZXJWaWV3
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9BcnJheUJ1ZmZlclZp
ZXcuaAkocmV2aXNpb24gMTA2MTg5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9BcnJh
eUJ1ZmZlclZpZXcuaAkod29ya2luZyBjb3B5KQpAQCAtMzYsNyArMzYsMTMgQEAKIAogbmFtZXNw
YWNlIFdURiB7CiAKLWNsYXNzIEFycmF5QnVmZmVyVmlldyA6IHB1YmxpYyBSZWZDb3VudGVkPEFy
cmF5QnVmZmVyVmlldz4geworI2lmIFBMQVRGT1JNKFdYKQorI2RlZmluZSBSVFRJX0VYUE9SVCBX
VEZfRVhQT1JUX1BSSVZBVEUKKyNlbHNlCisjZGVmaW5lIFJUVElfRVhQT1JUCisjZW5kaWYKKwor
Y2xhc3MgUlRUSV9FWFBPUlQgQXJyYXlCdWZmZXJWaWV3IDogcHVibGljIFJlZkNvdW50ZWQ8QXJy
YXlCdWZmZXJWaWV3PiB7CiAgIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNCeXRlQXJyYXko
KSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc1Vuc2lnbmVkQnl0
ZUFycmF5KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>125014</attachid>
            <date>2012-02-01 14:23:09 -0800</date>
            <delta_ts>2012-02-06 15:57:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77280-20120201142308.patch</filename>
            <type>text/plain</type>
            <size>1792</size>
            <attacher name="Kevin Ollivier">kevino</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTA2NDk2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBA
CisyMDEyLTAyLTAxICBLZXZpbiBPbGxpdmllciAgPGtldmlub0B0aGVvbGxpdmllcnMuY29tPgor
CisgICAgICAgIEFkZCBKU0NvcmUgc3ltYm9sIGV4cG9ydHMgbmVlZGVkIGJ5IHd4IHBvcnQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3MjgwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvQXJyYXlC
dWZmZXJWaWV3Lmg6CisgICAgICAgICogd3RmL0V4cG9ydE1hY3Jvcy5oOgorCiAyMDEyLTAyLTAx
ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CiAKICAgICAgICAgUmVw
bGFjZSBKU0FycmF5IGRlc3RydWN0b3Igd2l0aCBmaW5hbGl6ZXIKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS93dGYvQXJyYXlCdWZmZXJWaWV3LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL3d0Zi9BcnJheUJ1ZmZlclZpZXcuaAkocmV2aXNpb24gMTA2NDY4KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9BcnJheUJ1ZmZlclZpZXcuaAkod29ya2luZyBjb3B5
KQpAQCAtMzYsNyArMzYsNyBAQAogCiBuYW1lc3BhY2UgV1RGIHsKIAotY2xhc3MgQXJyYXlCdWZm
ZXJWaWV3IDogcHVibGljIFJlZkNvdW50ZWQ8QXJyYXlCdWZmZXJWaWV3PiB7CitjbGFzcyBXVEZf
RVhQT1JUX1BSSVZBVEVfUlRUSSBBcnJheUJ1ZmZlclZpZXcgOiBwdWJsaWMgUmVmQ291bnRlZDxB
cnJheUJ1ZmZlclZpZXc+IHsKICAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBpc0J5dGVBcnJh
eSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzVW5zaWduZWRC
eXRlQXJyYXkoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9FeHBvcnRNYWNyb3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvd3RmL0V4cG9ydE1hY3Jvcy5oCShyZXZpc2lvbiAxMDY0NjgpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL0V4cG9ydE1hY3Jvcy5oCSh3b3JraW5nIGNvcHkpCkBAIC04Myw2ICs4
MywxNCBAQAogI2RlZmluZSBXVEZfRVhQT1JUX1BSSVZBVEUgV1RGX0lNUE9SVAogI2VuZGlmCiAK
Ky8vIHd4V2ViS2l0IHVzZXMgUlRUSSBiZWNhdXNlIHd4IGl0c2VsZiBkb2VzLCBzbyB1c2UgYSBz
cGVjaWFsIG1hY3JvIGZvcgorLy8gZXh0cmEgZXhwb3J0cyBpdCBuZWVkcy4KKyNpZiBQTEFURk9S
TShXWCkKKyNkZWZpbmUgV1RGX0VYUE9SVF9QUklWQVRFX1JUVEkgV1RGX0VYUE9SVF9QUklWQVRF
CisjZWxzZQorI2RlZmluZSBXVEZfRVhQT1JUX1BSSVZBVEVfUlRUSQorI2VuZGlmCisKICNkZWZp
bmUgV1RGX0VYUE9SVF9ISURERU4gV1RGX0hJRERFTgogCiAjZGVmaW5lIEhJRERFTl9JTkxJTkUg
V1RGX0VYUE9SVF9ISURERU4gaW5saW5lCg==
</data>
<flag name="review"
          id="126415"
          type_id="1"
          status="+"
          setter="morrita"
    />
          </attachment>
      

    </bug>

</bugzilla>