<?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>46713</bug_id>
          
          <creation_ts>2010-09-28 03:56:10 -0700</creation_ts>
          <short_desc>JSC compile fails on 32bit platform when Regexp Tracing is enabled</short_desc>
          <delta_ts>2010-09-29 05:46:09 -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>All</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Peter Varga">pvarga</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>barraclough</cc>
    
    <cc>commit-queue</cc>
    
    <cc>msaboff</cc>
    
    <cc>ossy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>286163</commentid>
    <comment_count>0</comment_count>
    <who name="Peter Varga">pvarga</who>
    <bug_when>2010-09-28 03:56:10 -0700</bug_when>
    <thetext>In case of REGEXP_TRACING define is enabled I got the following error during the compile on 32bit platform since -Werror flag is added:

cc1plus: warnings being treated as errors
../../../JavaScriptCore/runtime/RegExp.cpp: In member function &apos;void JSC::RegExp::printTraceData()&apos;:
../../../JavaScriptCore/runtime/RegExp.cpp:257: error: format &apos;%014lx&apos; expects type &apos;long unsigned int&apos;, but argument 3 has type &apos;uintptr_t&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>286164</commentid>
    <comment_count>1</comment_count>
      <attachid>69036</attachid>
    <who name="Peter Varga">pvarga</who>
    <bug_when>2010-09-28 03:58:36 -0700</bug_when>
    <thetext>Created attachment 69036
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>286375</commentid>
    <comment_count>2</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2010-09-28 10:55:39 -0700</bug_when>
    <thetext>Thanks for looking into this.

I have some concerns with %p is that it doesn&apos;t include leading zeros and pretty much ignores precision.  Did you consider changing the cast to (unsigned long)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>286803</commentid>
    <comment_count>3</comment_count>
      <attachid>69036</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2010-09-29 05:07:10 -0700</bug_when>
    <thetext>Comment on attachment 69036
proposed patch

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

%lx expects &quot;unsigned long int&quot;, but uintptr_t is
&quot;unsigned long int&quot; on 64 bit and &quot;unsigned int&quot; on 32 bit

sizeof(uintptr_t) == sizeof(unsigned long int) always,
but unfortunately unsigned int != unsigned long int. :(

I propose to cast unsigned long int with reinterpret_cast and use %014lx.
I prefer reinterpret_cast instead of obsolete C style cast



On 64 bit machine:
-------------------
sizeof(int) = 4
sizeof(long int) = 8
sizeof(long long int) = 8
sizeof(uintptr_t) = 8

sizeof(uintptr_t) == sizeof(unsigned long int) == 8
typedef unsigned long int uintptr_t;

On 32 bit machine:
-------------------
sizeof(int) = 4
sizeof(long int) = 4
sizeof(long long int) = 8
sizeof(uintptr_t) = 4

sizeof(uintptr_t) == sizeof(unsigned long int) == 4
typedef unsigned int uintptr_t;

&gt; JavaScriptCore/runtime/RegExp.cpp:257
&gt; -            sprintf(jitAddr, &quot;0x%014lx&quot;, (uintptr_t)codeBlock.getAddr());
&gt; +            sprintf(jitAddr, &quot;%16p&quot;, codeBlock.getAddr());

sprintf(jitAddr, &quot;0x%014lx&quot;, reinterpret_cast&lt;unsigned long int&gt;(codeBlock.getAddr()));</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>286806</commentid>
    <comment_count>4</comment_count>
      <attachid>69180</attachid>
    <who name="Peter Varga">pvarga</who>
    <bug_when>2010-09-29 05:23:06 -0700</bug_when>
    <thetext>Created attachment 69180
proposed patch v2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>286811</commentid>
    <comment_count>5</comment_count>
      <attachid>69180</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-09-29 05:46:03 -0700</bug_when>
    <thetext>Comment on attachment 69180
proposed patch v2

Clearing flags on attachment: 69180

Committed r68639: &lt;http://trac.webkit.org/changeset/68639&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>286812</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-09-29 05:46:09 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69036</attachid>
            <date>2010-09-28 03:58:36 -0700</date>
            <delta_ts>2010-09-29 05:23:06 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>0001-trace-fix.patch</filename>
            <type>text/plain</type>
            <size>1563</size>
            <attacher name="Peter Varga">pvarga</attacher>
            
              <data encoding="base64">RnJvbSAyYjA4MTkyOWVkMjJmZDlmNzFlZjIxY2VjNGMzNTViMTQxZDFmOGE3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBWYXJnYSA8cHZhcmdhQGluZi51LXN6ZWdlZC5odT4K
RGF0ZTogVHVlLCAyOCBTZXAgMjAxMCAxMjo1NzozNyArMDIwMApTdWJqZWN0OiBbUEFUQ0hdIHRy
YWNlIGZpeAoKLS0tCiBKYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgICAgICAgICAgfCAgIDEyICsr
KysrKysrKysrKwogSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHAuY3BwIHwgICAgMiArLQog
MiBmaWxlcyBjaGFuZ2VkLCAxMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQoKZGlmZiAt
LWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxv
ZwppbmRleCAwNzk0YzM1Li4yZjVjNjBkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9DaGFu
Z2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIw
MTAtMDktMjggIFBldGVyIFZhcmdhICA8cHZhcmdhQGluZi51LXN6ZWdlZC5odT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBKU0MgY29tcGlsZSBmYWls
cyBvbiAzMmJpdCBwbGF0Zm9ybSB3aGVuIFJlZ2V4cCBUcmFjaW5nIGlzIGVuYWJsZWQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ2NzEzCisKKyAgICAg
ICAgQ2hhbmdlIHRoZSBzcHJpbnRmIGZvcm1hdCBpbiByZWdleHAgdHJhY2luZyBmb3IgZml4IHRo
ZSBjb21waWxlIHdhcm5pbmcuCisKKyAgICAgICAgKiBydW50aW1lL1JlZ0V4cC5jcHA6CisgICAg
ICAgIChKU0M6OlJlZ0V4cDo6bWF0Y2gpOgorCiAyMDEwLTA5LTI3ICBNaWNoYWVsIFNhYm9mZiAg
PG1zYWJvZmZAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEdlb2ZmcmV5IEdhcmVu
LgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHAuY3BwIGIvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9SZWdFeHAuY3BwCmluZGV4IDQ4NTQwMWEuLmVlYzNkMjMgMTAwNjQ0
Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwLmNwcAorKysgYi9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1JlZ0V4cC5jcHAKQEAgLTI1NCw3ICsyNTQsNyBAQCBpbnQgUmVnRXhwOjpt
YXRjaChjb25zdCBVU3RyaW5nJiBzLCBpbnQgc3RhcnRPZmZzZXQsIFZlY3RvcjxpbnQsIDMyPiog
b3ZlY3RvcikKICAgICAgICAgaWYgKGNvZGVCbG9jay5nZXRGYWxsYmFjaygpKQogICAgICAgICAg
ICAgc3ByaW50ZihqaXRBZGRyLCAiZmFsbGJhY2siKTsKICAgICAgICAgZWxzZQotICAgICAgICAg
ICAgc3ByaW50ZihqaXRBZGRyLCAiMHglMDE0bHgiLCAodWludHB0cl90KWNvZGVCbG9jay5nZXRB
ZGRyKCkpOworICAgICAgICAgICAgc3ByaW50ZihqaXRBZGRyLCAiJTE2cCIsIGNvZGVCbG9jay5n
ZXRBZGRyKCkpOwogI2Vsc2UKICAgICAgICAgY29uc3QgY2hhciogaml0QWRkciA9ICJKSVQgT2Zm
IjsKICNlbmRpZgotLSAKMS43LjIuMgoK
</data>
<flag name="review"
          id="58660"
          type_id="1"
          status="-"
          setter="ossy"
    />
    <flag name="commit-queue"
          id="58661"
          type_id="3"
          status="-"
          setter="ossy"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69180</attachid>
            <date>2010-09-29 05:23:06 -0700</date>
            <delta_ts>2010-09-29 05:46:03 -0700</delta_ts>
            <desc>proposed patch v2</desc>
            <filename>0001-trace-fix-v2.patch</filename>
            <type>text/plain</type>
            <size>1596</size>
            <attacher name="Peter Varga">pvarga</attacher>
            
              <data encoding="base64">RnJvbSBiMjhiYmMzNmQ2ZTNiNjM0N2VlMTg3Mzc5NTIzODY1NmE0NDllMzMwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBWYXJnYSA8cHZhcmdhQGluZi51LXN6ZWdlZC5odT4K
RGF0ZTogV2VkLCAyOSBTZXAgMjAxMCAwNToyMDozOCAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIHRy
YWNlIGZpeCB2MgoKLS0tCiBKYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgICAgICAgICAgfCAgIDEy
ICsrKysrKysrKysrKwogSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHAuY3BwIHwgICAgMiAr
LQogMiBmaWxlcyBjaGFuZ2VkLCAxMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQoKZGlm
ZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0NoYW5n
ZUxvZwppbmRleCBmNjRkYzEwLi41NDM3ZmViIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9D
aGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMTAtMDktMjkgIFBldGVyIFZhcmdhICA8cHZhcmdhQGluZi51LXN6ZWdlZC5odT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBKU0MgY29tcGlsZSBm
YWlscyBvbiAzMmJpdCBwbGF0Zm9ybSB3aGVuIFJlZ2V4cCBUcmFjaW5nIGlzIGVuYWJsZWQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ2NzEzCisKKyAg
ICAgICAgRml4IHRoZSBjYXN0IG9mIHBvaW50ZXIgaW4gcmVnZXhwIHRyYWNpbmcgdG8gYXZvaWQg
dGhlIHdhcm5pbmcuCisKKyAgICAgICAgKiBydW50aW1lL1JlZ0V4cC5jcHA6CisgICAgICAgIChK
U0M6OlJlZ0V4cDo6bWF0Y2gpOgorCiAyMDEwLTA5LTI4ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRl
cnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KZGlmZiAt
LWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwLmNwcCBiL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvUmVnRXhwLmNwcAppbmRleCA0ODU0MDFhLi4zZWJmZTBmIDEwMDY0NAotLS0gYS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cC5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9SZWdFeHAuY3BwCkBAIC0yNTQsNyArMjU0LDcgQEAgaW50IFJlZ0V4cDo6bWF0Y2goY29u
c3QgVVN0cmluZyYgcywgaW50IHN0YXJ0T2Zmc2V0LCBWZWN0b3I8aW50LCAzMj4qIG92ZWN0b3Ip
CiAgICAgICAgIGlmIChjb2RlQmxvY2suZ2V0RmFsbGJhY2soKSkKICAgICAgICAgICAgIHNwcmlu
dGYoaml0QWRkciwgImZhbGxiYWNrIik7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIHNwcmlu
dGYoaml0QWRkciwgIjB4JTAxNGx4IiwgKHVpbnRwdHJfdCljb2RlQmxvY2suZ2V0QWRkcigpKTsK
KyAgICAgICAgICAgIHNwcmludGYoaml0QWRkciwgIjB4JTAxNGx4IiwgcmVpbnRlcnByZXRfY2Fz
dDx1bnNpZ25lZCBsb25nIGludD4oY29kZUJsb2NrLmdldEFkZHIoKSkpOwogI2Vsc2UKICAgICAg
ICAgY29uc3QgY2hhciogaml0QWRkciA9ICJKSVQgT2ZmIjsKICNlbmRpZgotLSAKMS43LjIuMgoK
</data>

          </attachment>
      

    </bug>

</bugzilla>