<?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>11431</bug_id>
          
          <creation_ts>2006-10-27 06:19:16 -0700</creation_ts>
          <short_desc>ARM platform has some byte alignment issues</short_desc>
          <delta_ts>2007-01-07 21:24:41 -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>420+</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>PlatformOnly</keywords>
          <priority>P2</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Carson">dacarson</reporter>
          <assigned_to name="David Carson">dacarson</assigned_to>
          <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>49258</commentid>
    <comment_count>0</comment_count>
    <who name="David Carson">dacarson</who>
    <bug_when>2006-10-27 06:19:16 -0700</bug_when>
    <thetext>Build WebKit for ARM exposes some byte alignment issues with AtomicString and NaN in Javascript.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>49259</commentid>
    <comment_count>1</comment_count>
      <attachid>11239</attachid>
    <who name="David Carson">dacarson</who>
    <bug_when>2006-10-27 06:42:06 -0700</bug_when>
    <thetext>Created attachment 11239
Patch for ARM architecture

Because of word boundary issues, AtomicString&apos;s equal function and the definition of NaN need to be modified.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>49269</commentid>
    <comment_count>2</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2006-10-27 08:09:37 -0700</bug_when>
    <thetext>A formating issues I see:

No need for braces around single liners and we generally put spaces around infix operators, 

+        if (memcmp(str-&gt;characters(), buf.s, strLength*2) != 0) {
+            return false;
+        }

should be 

+        if (memcmp(str-&gt;characters(), buf.s, strLength * 2) != 0)
+            return false;
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>49271</commentid>
    <comment_count>3</comment_count>
      <attachid>11243</attachid>
    <who name="David Carson">dacarson</who>
    <bug_when>2006-10-27 08:15:21 -0700</bug_when>
    <thetext>Created attachment 11243
Patch for ARM architecture

Fixed formatting issue raised by Sam</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>48558</commentid>
    <comment_count>4</comment_count>
    <who name="David Carson">dacarson</who>
    <bug_when>2006-10-30 07:29:19 -0800</bug_when>
    <thetext>Comments from Nokia via email
______________________________________________ 
From:   Zhang Yongjun
Sent:   Monday, October 30, 2006 9:49 AM 
To:     Bujtas Zalan
Subject:        RE: Could you take a look at it?

I think it is fine.  We used similiar byte arrays for Arm platform in 2.8 Javascript code. In 3.0+, we changed to Symbian Math functions.


_____________________________________________ 
From:   Bujtas Zalan 
Sent:   Friday, October 27, 2006 4:27 PM 
To:     Zhang Yongjun
Subject:        Could you take a look at it?

http://bugs.webkit.org/show_bug.cgi?id=11431

And see if it makes sense? 
Thanks, 
Zalan.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>48437</commentid>
    <comment_count>5</comment_count>
      <attachid>11243</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2006-10-31 03:53:23 -0800</bug_when>
    <thetext>Comment on attachment 11243
Patch for ARM architecture

Looks ok to me. However, is memcmp really the fastest way to do the comparison on ARM? Hand-coding a loop comparing a UChar at a time might still be faster. Furthermore, the uint32_t optimization could still be useful if ARM at least guarantees 16-bit  alignment (past that it&apos;s probably not worth it to code all the edge cases).

Finally, it seems like them issue here isn&apos;t CPU architecture so much as aligment guarantees of the malloc implementation.

Ayway, those are my comments, I&apos;m not an ARM expert. Patch seems ok as-is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>48406</commentid>
    <comment_count>6</comment_count>
      <attachid>11243</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2006-10-31 04:15:07 -0800</bug_when>
    <thetext>Comment on attachment 11243
Patch for ARM architecture

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>48300</commentid>
    <comment_count>7</comment_count>
    <who name="David Carson">dacarson</who>
    <bug_when>2006-10-31 10:13:07 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 11243 [edit])
&gt; Looks ok to me. However, is memcmp really the fastest way to do the comparison
&gt; on ARM? Hand-coding a loop comparing a UChar at a time might still be faster.
Excellent point! Will fix the patch

&gt; Furthermore, the uint32_t optimization could still be useful if ARM at least
&gt; guarantees 16-bit  alignment (past that it&apos;s probably not worth it to code all
&gt; the edge cases).

The bug title was a bit misleading. The actual problem is that the GCC optimization level is set above 2, and thus strict aliasing is applied.

&gt; 
&gt; Finally, it seems like them issue here isn&apos;t CPU architecture so much as
&gt; aligment guarantees of the malloc implementation.

The NaN issue is an alignment issue, but the memcmp is actually strict aliasing issue.

&gt; Ayway, those are my comments, I&apos;m not an ARM expert. Patch seems ok as-is.
&gt; 

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>48217</commentid>
    <comment_count>8</comment_count>
      <attachid>11243</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-10-31 10:23:52 -0800</bug_when>
    <thetext>Comment on attachment 11243
Patch for ARM architecture

Since Dave says he will fix the patch, clearing the review flag until the new one shows up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>48240</commentid>
    <comment_count>9</comment_count>
      <attachid>11307</attachid>
    <who name="David Carson">dacarson</who>
    <bug_when>2006-10-31 11:27:03 -0800</bug_when>
    <thetext>Created attachment 11307
Corrected patch

Updated the comments to clearly define what the change is about. Also, changed the memcmp to a hand coded loop as mjs suggested.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>47501</commentid>
    <comment_count>10</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2006-11-01 14:54:50 -0800</bug_when>
    <thetext>I don&apos;t think WebCore is safe to build with strict-aliasing (JavaScriptCore is, but we haven&apos;t done the right cleanup in WebCore). We&apos;d like to use strict-aliasing, but for now I think it would be best to compile with -fno-strict-aliasing. Incidentally if this is not an alignment issue, the right way to fix it would be to use a union instead of a reinterpret_cast to do the type punning. gcc allows this as a loophole to strict aliasing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>42628</commentid>
    <comment_count>11</comment_count>
      <attachid>11307</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-12-11 13:31:20 -0800</bug_when>
    <thetext>Comment on attachment 11307
Corrected patch

+        // -fstrict-aliasing is default in GCC at optimization levels at or above O2

That&apos;s not true in the Macintosh version of gcc, so I think this comment is a little too specific and wrong in some cases hence confusing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>42629</commentid>
    <comment_count>12</comment_count>
      <attachid>11307</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-12-11 13:35:52 -0800</bug_when>
    <thetext>Comment on attachment 11307
Corrected patch

Given Maciej&apos;s comment, this is review- for the WebCore. The right fix for WebCore is to compile with -fno-strict-aliasing.

+const union {

I think this should be &quot;static const&quot;.

Does this create a framework init function on Mac OS X? Have you tried this on OS X? I suspect this may create a framework init function, and if it does, we&apos;ll need a different solution for OS X, because we can&apos;t have any initializers that involve running code.

So review- on both halves. If we verify that the JavaScriptCore half works on OS X without creating a framework initialization function, then that half is good to go.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>40762</commentid>
    <comment_count>13</comment_count>
      <attachid>11951</attachid>
    <who name="David Carson">dacarson</who>
    <bug_when>2006-12-21 09:51:10 -0800</bug_when>
    <thetext>Created attachment 11951
Apply comments

Removed WebCore changes, and are now building with -fno-strict-aliasing
Added static infront of const union.
Tested Mac build, ran run-webkit-tests and noticed no failures in JS, apart from Date
I am not sure how to tell if it is not creating a framework initialization function, though the code change only applies to non-DARWIN builds.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>40275</commentid>
    <comment_count>14</comment_count>
      <attachid>11951</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-12-22 17:51:30 -0800</bug_when>
    <thetext>Comment on attachment 11951
Apply comments

I&apos;m quite certain that this does create initialization routines on most platforms. But since it doesn&apos;t on OS X, I think it&apos;s OK to land it for now.

It would be better to solve this problem without an initialization routine in the future.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>39090</commentid>
    <comment_count>15</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2006-12-29 00:38:19 -0800</bug_when>
    <thetext>I&apos;m not sure why this would create an init routine - are unions not allowed to be in the static data section for some reason, unlike structs, arrays or other POD types?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>36367</commentid>
    <comment_count>16</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2007-01-07 21:24:41 -0800</bug_when>
    <thetext>Committed revision 18656.

</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>11239</attachid>
            <date>2006-10-27 06:42:06 -0700</date>
            <delta_ts>2006-10-27 08:15:21 -0700</delta_ts>
            <desc>Patch for ARM architecture</desc>
            <filename>ARM.txt</filename>
            <type>text/plain</type>
            <size>3593</size>
            <attacher name="David Carson">dacarson</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3MzY2KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMDYtMTAtMjcgIGRhY2Fyc29u
ICBkYWNhcnNvbkBnbWFpbC5jb20KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBGaXggaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTE0MzEKKyAgICAgICAgRml4IGZvciBOYU4gYmVpbmcgNCBieXRlcyBhbmQgaXQgbXVzdCBzdGFy
dCBvbiBhIGJ5dGUgYm91bmRhcnkKKyAgICAgICAgZm9yIEFSTSBhcmNoaXRlY3R1cmVzLgorCisg
ICAgICAgICoga2pzL2ZwY29uc3QuY3BwOgorICAgICAgICAoS0pTOjopOgorCiAyMDA2LTEwLTI2
ICBXLiBBbmR5IENhcnJlbCAgPHdhY0Bnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IE1hY2llai4KSW5kZXg6IEphdmFTY3JpcHRDb3JlL2tqcy9mcGNvbnN0LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBKYXZhU2NyaXB0Q29yZS9ranMvZnBjb25zdC5jcHAJKHJldmlzaW9uIDE3MzY2KQorKysg
SmF2YVNjcmlwdENvcmUva2pzL2ZwY29uc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NCw2ICs0
NCwzNyBAQCBuYW1lc3BhY2UgS0pTIHsKICAgICBleHRlcm4gY29uc3QgdW5zaWduZWQgY2hhciBJ
bmZbc2l6ZW9mKGRvdWJsZSldID0geyAwLCAwLCAwLCAwLCAwLCAwLCAweGYwLCAweDdmIH07CiAj
ZW5kaWYgLy8gUExBVEZPUk0oTUlERExFX0VORElBTikKIAorI2VsaWYgUExBVEZPUk0oQVJNKQor
CisvLyBOb3RlLCB3ZSBoYXZlIHRvIHVzZSB1bmlvbiB0byBlbnN1cmUgYWxpZ25tZW50LiBPdGhl
cndpc2UsIE5hTl9CeXRlcyBjYW4gc3RhcnQgYW55d2hlcmUsCisvLyB3aGlsZSBOYU4gaGFzIHRv
IGJlIDQtYnl0ZSBhbGlnbmVkIGZvciAzMi1iaXRzLgorCitjb25zdCB1bmlvbiB7CisgICAgc3Ry
dWN0IHsKKyAgICAgICAgdW5zaWduZWQgY2hhciBOYU5fQnl0ZXNbOF07CisgICAgICAgIHVuc2ln
bmVkIGNoYXIgSW5mX0J5dGVzWzhdOworICAgIH0gYnl0ZXM7CisgICAgCisgICAgc3RydWN0IHsK
KyAgICAgICAgZG91YmxlIE5hTl9Eb3VibGU7CisgICAgICAgIGRvdWJsZSBJbmZfRG91YmxlOwor
ICAgIH0gZG91YmxlczsKK30gTmFOSW5mID0geyB7CisjaWYgUExBVEZPUk0oQklHX0VORElBTikK
KyAgICB7IDB4N2YsIDB4ZjgsIDAsIDAsIDAsIDAsIDAsIDAgfSwKKyAgICB7IDB4N2YsIDB4ZjAs
IDAsIDAsIDAsIDAsIDAsIDAgfQorI2VsaWYgUExBVEZPUk0oTUlERExFX0VORElBTikKKyAgICB7
IDAsIDAsIDB4ZjgsIDB4N2YsIDAsIDAsIDAsIDAgfSwKKyAgICB7IDAsIDAsIDB4ZjAsIDB4N2Ys
IDAsIDAsIDAsIDAgfQorI2Vsc2UKKyAgICB7IDAsIDAsIDAsIDAsIDAsIDAsIDB4ZjgsIDB4N2Yg
fSwKKyAgICB7IDAsIDAsIDAsIDAsIDAsIDAsIDB4ZjAsIDB4N2YgfQorI2VuZGlmCit9IH0gOwor
CitleHRlcm4gY29uc3QgZG91YmxlIE5hTiA9IE5hTkluZi5kb3VibGVzLk5hTl9Eb3VibGU7Citl
eHRlcm4gY29uc3QgZG91YmxlIEluZiA9IE5hTkluZi5kb3VibGVzLkluZl9Eb3VibGU7IAorCiAj
ZWxzZSAvLyAhUExBVEZPUk0oREFSV0lOKQogCiAjaWYgUExBVEZPUk0oQklHX0VORElBTikKSW5k
ZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAxNzM2NikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsMTUgQEAKKzIwMDYtMTAtMjcgIGRhY2Fyc29uICBkYWNhcnNvbkBnbWFpbC5jb20KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXggZm9yIGh0
dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNDMxCisgICAgICAgIE1vZGlm
aWVkIEF0b21pY1N0cmluZyB0byB3b3JrIHdpdGggdGhlIEFSTSBhcmNoaXRlY3R1cmUuIFRoZQor
ICAgICAgICBjaGVjayB0byBzZWUgaWYgc3RyaW5ncyBhcmUgZXF1YWwgb3B0aW1pemF0aW9uIGlz
IG5vdCBwb3J0YWJsZQorICAgICAgICB0byB0aGUgQVJNIGFyY2hpdGVjdHVyZSBkdWUgdG8gYnl0
ZSBhbGlnbm1lbnQgaXNzdWVzLgorCisgICAgICAgICogcGxhdGZvcm0vQXRvbWljU3RyaW5nLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlVDaGFyQnVmZmVyVHJhbnNsYXRvcjo6ZXF1YWwpOgorCiAy
MDA2LTEwLTI3ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBNYWNpZWouCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL0F0b21pY1N0cmluZy5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9BdG9taWNTdHJpbmcuY3BwCShyZXZpc2lv
biAxNzM2NikKKysrIFdlYkNvcmUvcGxhdGZvcm0vQXRvbWljU3RyaW5nLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTA4LDYgKzEwOCwxMyBAQCBzdHJ1Y3QgVUNoYXJCdWZmZXJUcmFuc2xhdG9yIHsK
ICAgICAgICAgaWYgKHN0ckxlbmd0aCAhPSBidWZMZW5ndGgpCiAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CiAgICAgICAgIAorI2lmIFBMQVRGT1JNKEFSTSkKKyAgICAgICAgLy8gZWFjaCBRQ2hh
ciB0YWtlcyB1cCAxNiBiaXQsIG1lbWNtcCBjb21wYXJlcyBuIGJ5dGVzLCBzbyBuPXN0ckxlbmd0
aCoyCisgICAgICAgIGlmIChtZW1jbXAoc3RyLT5jaGFyYWN0ZXJzKCksIGJ1Zi5zLCBzdHJMZW5n
dGgqMikgIT0gMCkgeworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisjZWxz
ZQorICAgICAgICAvLyB0aGlzIG9wdGltaXphdGlvbiBpc24ndCBwb3J0YWJsZSEgaXQgZG9lc24n
dCB3b3JrIG9uIEFSTS4KICAgICAgICAgY29uc3QgdWludDMyX3QqIHN0ckNoYXJzID0gcmVpbnRl
cnByZXRfY2FzdDxjb25zdCB1aW50MzJfdCo+KHN0ci0+Y2hhcmFjdGVycygpKTsKICAgICAgICAg
Y29uc3QgdWludDMyX3QqIGJ1ZkNoYXJzID0gcmVpbnRlcnByZXRfY2FzdDxjb25zdCB1aW50MzJf
dCo+KGJ1Zi5zKTsKICAgICAgICAgCkBAIC0xMjAsNiArMTI3LDcgQEAgc3RydWN0IFVDaGFyQnVm
ZmVyVHJhbnNsYXRvciB7CiAgICAgICAgIGlmIChzdHJMZW5ndGggJiAxICYmIAogICAgICAgICAg
ICAgKnJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDE2X3QgKj4oc3RyQ2hhcnMpICE9ICpyZWlu
dGVycHJldF9jYXN0PGNvbnN0IHVpbnQxNl90ICo+KGJ1ZkNoYXJzKSkKICAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKKyNlbmRpZgogICAgICAgICAKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAg
fQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>11243</attachid>
            <date>2006-10-27 08:15:21 -0700</date>
            <delta_ts>2006-10-31 11:27:03 -0800</delta_ts>
            <desc>Patch for ARM architecture</desc>
            <filename>ARM.txt</filename>
            <type>text/plain</type>
            <size>3580</size>
            <attacher name="David Carson">dacarson</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3MzY2KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMDYtMTAtMjcgIGRhY2Fyc29u
ICBkYWNhcnNvbkBnbWFpbC5jb20KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBGaXggaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTE0MzEKKyAgICAgICAgRml4IGZvciBOYU4gYmVpbmcgNCBieXRlcyBhbmQgaXQgbXVzdCBzdGFy
dCBvbiBhIGJ5dGUgYm91bmRhcnkKKyAgICAgICAgZm9yIEFSTSBhcmNoaXRlY3R1cmVzLgorCisg
ICAgICAgICoga2pzL2ZwY29uc3QuY3BwOgorICAgICAgICAoS0pTOjopOgorCiAyMDA2LTEwLTI2
ICBXLiBBbmR5IENhcnJlbCAgPHdhY0Bnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IE1hY2llai4KSW5kZXg6IEphdmFTY3JpcHRDb3JlL2tqcy9mcGNvbnN0LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBKYXZhU2NyaXB0Q29yZS9ranMvZnBjb25zdC5jcHAJKHJldmlzaW9uIDE3MzY2KQorKysg
SmF2YVNjcmlwdENvcmUva2pzL2ZwY29uc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NCw2ICs0
NCwzNyBAQCBuYW1lc3BhY2UgS0pTIHsKICAgICBleHRlcm4gY29uc3QgdW5zaWduZWQgY2hhciBJ
bmZbc2l6ZW9mKGRvdWJsZSldID0geyAwLCAwLCAwLCAwLCAwLCAwLCAweGYwLCAweDdmIH07CiAj
ZW5kaWYgLy8gUExBVEZPUk0oTUlERExFX0VORElBTikKIAorI2VsaWYgUExBVEZPUk0oQVJNKQor
CisvLyBOb3RlLCB3ZSBoYXZlIHRvIHVzZSB1bmlvbiB0byBlbnN1cmUgYWxpZ25tZW50LiBPdGhl
cndpc2UsIE5hTl9CeXRlcyBjYW4gc3RhcnQgYW55d2hlcmUsCisvLyB3aGlsZSBOYU4gaGFzIHRv
IGJlIDQtYnl0ZSBhbGlnbmVkIGZvciAzMi1iaXRzLgorCitjb25zdCB1bmlvbiB7CisgICAgc3Ry
dWN0IHsKKyAgICAgICAgdW5zaWduZWQgY2hhciBOYU5fQnl0ZXNbOF07CisgICAgICAgIHVuc2ln
bmVkIGNoYXIgSW5mX0J5dGVzWzhdOworICAgIH0gYnl0ZXM7CisgICAgCisgICAgc3RydWN0IHsK
KyAgICAgICAgZG91YmxlIE5hTl9Eb3VibGU7CisgICAgICAgIGRvdWJsZSBJbmZfRG91YmxlOwor
ICAgIH0gZG91YmxlczsKK30gTmFOSW5mID0geyB7CisjaWYgUExBVEZPUk0oQklHX0VORElBTikK
KyAgICB7IDB4N2YsIDB4ZjgsIDAsIDAsIDAsIDAsIDAsIDAgfSwKKyAgICB7IDB4N2YsIDB4ZjAs
IDAsIDAsIDAsIDAsIDAsIDAgfQorI2VsaWYgUExBVEZPUk0oTUlERExFX0VORElBTikKKyAgICB7
IDAsIDAsIDB4ZjgsIDB4N2YsIDAsIDAsIDAsIDAgfSwKKyAgICB7IDAsIDAsIDB4ZjAsIDB4N2Ys
IDAsIDAsIDAsIDAgfQorI2Vsc2UKKyAgICB7IDAsIDAsIDAsIDAsIDAsIDAsIDB4ZjgsIDB4N2Yg
fSwKKyAgICB7IDAsIDAsIDAsIDAsIDAsIDAsIDB4ZjAsIDB4N2YgfQorI2VuZGlmCit9IH0gOwor
CitleHRlcm4gY29uc3QgZG91YmxlIE5hTiA9IE5hTkluZi5kb3VibGVzLk5hTl9Eb3VibGU7Citl
eHRlcm4gY29uc3QgZG91YmxlIEluZiA9IE5hTkluZi5kb3VibGVzLkluZl9Eb3VibGU7IAorCiAj
ZWxzZSAvLyAhUExBVEZPUk0oREFSV0lOKQogCiAjaWYgUExBVEZPUk0oQklHX0VORElBTikKSW5k
ZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAxNzM2NikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsMTUgQEAKKzIwMDYtMTAtMjcgIGRhY2Fyc29uICBkYWNhcnNvbkBnbWFpbC5jb20KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXggZm9yIGh0
dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNDMxCisgICAgICAgIE1vZGlm
aWVkIEF0b21pY1N0cmluZyB0byB3b3JrIHdpdGggdGhlIEFSTSBhcmNoaXRlY3R1cmUuIFRoZQor
ICAgICAgICBjaGVjayB0byBzZWUgaWYgc3RyaW5ncyBhcmUgZXF1YWwgb3B0aW1pemF0aW9uIGlz
IG5vdCBwb3J0YWJsZQorICAgICAgICB0byB0aGUgQVJNIGFyY2hpdGVjdHVyZSBkdWUgdG8gYnl0
ZSBhbGlnbm1lbnQgaXNzdWVzLgorCisgICAgICAgICogcGxhdGZvcm0vQXRvbWljU3RyaW5nLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlVDaGFyQnVmZmVyVHJhbnNsYXRvcjo6ZXF1YWwpOgorCiAy
MDA2LTEwLTI3ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBNYWNpZWouCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL0F0b21pY1N0cmluZy5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9BdG9taWNTdHJpbmcuY3BwCShyZXZpc2lv
biAxNzM2NikKKysrIFdlYkNvcmUvcGxhdGZvcm0vQXRvbWljU3RyaW5nLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTA4LDYgKzEwOCwxMyBAQCBzdHJ1Y3QgVUNoYXJCdWZmZXJUcmFuc2xhdG9yIHsK
ICAgICAgICAgaWYgKHN0ckxlbmd0aCAhPSBidWZMZW5ndGgpCiAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CiAgICAgICAgIAorI2lmIFBMQVRGT1JNKEFSTSkKKyAgICAgICAgLy8gZWFjaCBRQ2hh
ciB0YWtlcyB1cCAxNiBiaXQsIG1lbWNtcCBjb21wYXJlcyBuIGJ5dGVzLCBzbyBuPXN0ckxlbmd0
aCoyCisgICAgICAgIGlmIChtZW1jbXAoc3RyLT5jaGFyYWN0ZXJzKCksIGJ1Zi5zLCBzdHJMZW5n
dGgqMikgIT0gMCkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyNlbHNlCisgICAgICAgIC8v
IHRoaXMgb3B0aW1pemF0aW9uIGlzbid0IHBvcnRhYmxlISBpdCBkb2Vzbid0IHdvcmsgb24gQVJN
LgogICAgICAgICBjb25zdCB1aW50MzJfdCogc3RyQ2hhcnMgPSByZWludGVycHJldF9jYXN0PGNv
bnN0IHVpbnQzMl90Kj4oc3RyLT5jaGFyYWN0ZXJzKCkpOwogICAgICAgICBjb25zdCB1aW50MzJf
dCogYnVmQ2hhcnMgPSByZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQzMl90Kj4oYnVmLnMpOwog
ICAgICAgICAKQEAgLTEyMCw2ICsxMjcsNyBAQCBzdHJ1Y3QgVUNoYXJCdWZmZXJUcmFuc2xhdG9y
IHsKICAgICAgICAgaWYgKHN0ckxlbmd0aCAmIDEgJiYgCiAgICAgICAgICAgICAqcmVpbnRlcnBy
ZXRfY2FzdDxjb25zdCB1aW50MTZfdCAqPihzdHJDaGFycykgIT0gKnJlaW50ZXJwcmV0X2Nhc3Q8
Y29uc3QgdWludDE2X3QgKj4oYnVmQ2hhcnMpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwor
I2VuZGlmCiAgICAgICAgIAogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>11307</attachid>
            <date>2006-10-31 11:27:03 -0800</date>
            <delta_ts>2006-12-21 09:51:10 -0800</delta_ts>
            <desc>Corrected patch</desc>
            <filename>ARM2.txt</filename>
            <type>text/plain</type>
            <size>4363</size>
            <attacher name="David Carson">dacarson</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3NDg1KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMDYtMTAtMzEgIGRhY2Fyc29u
ICBkYWNhcnNvbkBnbWFpbC5jb20KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBGaXggaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTE0MzEKKyAgICAgICAgRml4IGZvciBOYU4gYmVpbmcgNCBieXRlcyBhbmQgaXQgbXVzdCBzdGFy
dCBvbiBhIGJ5dGUgYm91bmRhcnkKKyAgICAgICAgZm9yIEFSTSBhcmNoaXRlY3R1cmVzLgorCisg
ICAgICAgICoga2pzL2ZwY29uc3QuY3BwOgorICAgICAgICAoS0pTOjopOgorCiAyMDA2LTEwLTMx
ICBWbGFkaW1pciBPbGV4YSAgPHZsYWRpbWlyLm9sZXhhQGdtYWlsLmNvbT4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBHZW9mZi4KSW5kZXg6IEphdmFTY3JpcHRDb3JlL2tqcy9mcGNvbnN0LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9ranMvZnBjb25zdC5jcHAJKHJldmlzaW9uIDE3
NDg1KQorKysgSmF2YVNjcmlwdENvcmUva2pzL2ZwY29uc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC00NiwxOCArNDYsMzYgQEAgbmFtZXNwYWNlIEtKUyB7CiAKICNlbHNlIC8vICFQTEFURk9STShE
QVJXSU4pCiAKKy8vIE5vdGUsIHdlIGhhdmUgdG8gdXNlIHVuaW9uIHRvIGVuc3VyZSBhbGlnbm1l
bnQuIE90aGVyd2lzZSwgTmFOX0J5dGVzIGNhbiBzdGFydCBhbnl3aGVyZSwKKy8vIHdoaWxlIE5h
Tl9kb3VibGUgaGFzIHRvIGJlIDQtYnl0ZSBhbGlnbmVkIGZvciAzMi1iaXRzLgorLy8gV2l0aCAt
ZnN0cmljdC1hbGlhc2luZyBlbmFibGVkLCB1bmlvbnMgYXJlIHRoZSBvbmx5IHNhZmUgd2F5IHRv
IGRvIHR5cGUgbWFzcXVlcmFkaW5nLgorCitjb25zdCB1bmlvbiB7CisgICAgc3RydWN0IHsKKyAg
ICAgICAgdW5zaWduZWQgY2hhciBOYU5fQnl0ZXNbOF07CisgICAgICAgIHVuc2lnbmVkIGNoYXIg
SW5mX0J5dGVzWzhdOworICAgIH0gYnl0ZXM7CisgICAgCisgICAgc3RydWN0IHsKKyAgICAgICAg
ZG91YmxlIE5hTl9Eb3VibGU7CisgICAgICAgIGRvdWJsZSBJbmZfRG91YmxlOworICAgIH0gZG91
YmxlczsKKyAgICAKK30gTmFOSW5mID0geyB7CiAjaWYgUExBVEZPUk0oQklHX0VORElBTikKLSAg
ICBjb25zdCB1bnNpZ25lZCBjaGFyIE5hTl9CeXRlc1tdID0geyAweDdmLCAweGY4LCAwLCAwLCAw
LCAwLCAwLCAwIH07Ci0gICAgY29uc3QgdW5zaWduZWQgY2hhciBJbmZfQnl0ZXNbXSA9IHsgMHg3
ZiwgMHhmMCwgMCwgMCwgMCwgMCwgMCwgMCB9OworICAgIHsgMHg3ZiwgMHhmOCwgMCwgMCwgMCwg
MCwgMCwgMCB9LAorICAgIHsgMHg3ZiwgMHhmMCwgMCwgMCwgMCwgMCwgMCwgMCB9CiAjZWxpZiBQ
TEFURk9STShNSURETEVfRU5ESUFOKQotICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgTmFOX0J5dGVz
W10gPSB7IDAsIDAsIDB4ZjgsIDB4N2YsIDAsIDAsIDAsIDAgfTsKLSAgICBjb25zdCB1bnNpZ25l
ZCBjaGFyIEluZl9CeXRlc1tdID0geyAwLCAwLCAweGYwLCAweDdmLCAwLCAwLCAwLCAwIH07Cisg
ICAgeyAwLCAwLCAweGY4LCAweDdmLCAwLCAwLCAwLCAwIH0sCisgICAgeyAwLCAwLCAweGYwLCAw
eDdmLCAwLCAwLCAwLCAwIH0KICNlbHNlCi0gICAgY29uc3QgdW5zaWduZWQgY2hhciBOYU5fQnl0
ZXNbXSA9IHsgMCwgMCwgMCwgMCwgMCwgMCwgMHhmOCwgMHg3ZiB9OwotICAgIGNvbnN0IHVuc2ln
bmVkIGNoYXIgSW5mX0J5dGVzW10gPSB7IDAsIDAsIDAsIDAsIDAsIDAsIDB4ZjAsIDB4N2YgfTsK
KyAgICB7IDAsIDAsIDAsIDAsIDAsIDAsIDB4ZjgsIDB4N2YgfSwKKyAgICB7IDAsIDAsIDAsIDAs
IDAsIDAsIDB4ZjAsIDB4N2YgfQogI2VuZGlmCi0gICAgZXh0ZXJuIGNvbnN0IGRvdWJsZSBOYU4g
PSAqKGNvbnN0IGRvdWJsZSopIE5hTl9CeXRlczsKLSAgICBleHRlcm4gY29uc3QgZG91YmxlIElu
ZiA9ICooY29uc3QgZG91YmxlKikgSW5mX0J5dGVzOworfSB9IDsKKworICAgIGV4dGVybiBjb25z
dCBkb3VibGUgTmFOID0gTmFOSW5mLmRvdWJsZXMuTmFOX0RvdWJsZTsKKyAgICBleHRlcm4gY29u
c3QgZG91YmxlIEluZiA9IE5hTkluZi5kb3VibGVzLkluZl9Eb3VibGU7CiAgCiAjZW5kaWYgLy8g
IVBMQVRGT1JNKERBUldJTikKIApJbmRleDogV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3NDg1KQorKysgV2ViQ29yZS9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAorMjAwNi0xMC0zMSAgZGFjYXJzb24g
IGRhY2Fyc29uQGdtYWlsLmNvbQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEZpeCBmb3IgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTE0MzEKKyAgICAgICAgQ2hhbmdlZCB0aGUgZXF1YWwgZnVuY3Rpb24gdG8gY29wZSB3aXRo
IC1mc3RyaWN0LWFsaWFzaW5nCisgICAgICAgIHJ1bGVzIHRoYXQgYXJlIGltcG9zZWQgYnkgdGhl
IEdDQyBjb21waWxpZXIgd2l0aCBhbiBvcHRpbWl6YXRpb24KKyAgICAgICAgbGV2ZWwgb2YgMiBv
ciBoaWdoZXIuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9BdG9taWNTdHJpbmcuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6VUNoYXJCdWZmZXJUcmFuc2xhdG9yOjplcXVhbCk6CisKIDIwMDYtMTAtMzEg
IE1vcmdhbkwgIDxtb3JnYW5sLndlYmtpdEB5YWhvby5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgTWFjaWVqLgpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9BdG9taWNTdHJpbmcuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vQXRvbWljU3RyaW5nLmNwcAkocmV2aXNpb24gMTc0
ODUpCisrKyBXZWJDb3JlL3BsYXRmb3JtL0F0b21pY1N0cmluZy5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTEwOCw2ICsxMDgsMTggQEAgc3RydWN0IFVDaGFyQnVmZmVyVHJhbnNsYXRvciB7CiAgICAg
ICAgIGlmIChzdHJMZW5ndGggIT0gYnVmTGVuZ3RoKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OwogICAgICAgICAKKyAgICAgICAgLy8gTm90ZTogV2l0aCAtZnN0cmljdC1hbGlhc2luZyBlbmFi
bGVkLCBpdCBpcyBub3Qgc2FmZSB0byBkbyB0eXBlIG1hc3F1ZXJhZGluZy4KKyAgICAgICAgLy8g
LWZzdHJpY3QtYWxpYXNpbmcgaXMgZGVmYXVsdCBpbiBHQ0MgYXQgb3B0aW1pemF0aW9uIGxldmVs
cyBhdCBvciBhYm92ZSBPMi4KKyAgICAgICAgLy8gQXMgQVJNIChyZWxlYXNlKSBidWlsZCBhbHdh
eXMgYnVpbGQgd2l0aCBPMiBvciBhYm92ZSwgd2Ugd2lsbCBza2lwIG9wdGltaXphdGlvbi4gCisj
aWYgUExBVEZPUk0oQVJNKQorICAgICAgICBjb25zdCBVQ2hhciogc3RyQ2hhciA9IHN0ci0+Y2hh
cmFjdGVycygpOworICAgICAgICBjb25zdCBVQ2hhciogYnVmQ2hhciA9IGJ1Zi5zOworICAgICAg
ICAKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSAhPSBzdHJMZW5ndGg7ICsraSkgewor
ICAgICAgICAgICAgaWYgKCpzdHJDaGFyKysgIT0gKmJ1ZkNoYXIrKykKKyAgICAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKyNlbHNlCiAgICAgICAgIGNvbnN0IHVpbnQzMl90
KiBzdHJDaGFycyA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDMyX3QqPihzdHItPmNoYXJh
Y3RlcnMoKSk7CiAgICAgICAgIGNvbnN0IHVpbnQzMl90KiBidWZDaGFycyA9IHJlaW50ZXJwcmV0
X2Nhc3Q8Y29uc3QgdWludDMyX3QqPihidWYucyk7CiAgICAgICAgIApAQCAtMTIwLDcgKzEzMiw3
IEBAIHN0cnVjdCBVQ2hhckJ1ZmZlclRyYW5zbGF0b3IgewogICAgICAgICBpZiAoc3RyTGVuZ3Ro
ICYgMSAmJiAKICAgICAgICAgICAgICpyZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQxNl90ICo+
KHN0ckNoYXJzKSAhPSAqcmVpbnRlcnByZXRfY2FzdDxjb25zdCB1aW50MTZfdCAqPihidWZDaGFy
cykpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIAorI2VuZGlmICAgICAgICAK
ICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogCg==
</data>
<flag name="review"
          id="3916"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>11951</attachid>
            <date>2006-12-21 09:51:10 -0800</date>
            <delta_ts>2006-12-22 17:51:30 -0800</delta_ts>
            <desc>Apply comments</desc>
            <filename>ARM3.txt</filename>
            <type>text/plain</type>
            <size>2366</size>
            <attacher name="David Carson">dacarson</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4Mzc1KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMDYtMTItMjEgIGRhY2Fyc29u
ICBkYWNhcnNvbkBnbWFpbC5jb20KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBGaXggaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTE0MzEKKyAgICAgICAgRml4IGZvciBOYU4gYmVpbmcgNCBieXRlcyBhbmQgaXQgbXVzdCBzdGFy
dCBvbiBhIGJ5dGUgYm91bmRhcnkKKyAgICAgICAgZm9yIEFSTSBhcmNoaXRlY3R1cmVzLgorCisg
ICAgICAgICoga2pzL2ZwY29uc3QuY3BwOgorICAgICAgICAoS0pTOjopOgorCiAyMDA2LTEyLTIw
ICBBbmRlcnMgQ2FybHNzb24gIDxhY2FybHNzb25AYXBwbGUuY29tPgogCiAgICAgICAgICoga2pz
L3N0cmluZ19vYmplY3QuY3BwOgpJbmRleDogSmF2YVNjcmlwdENvcmUva2pzL2ZwY29uc3QuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL2tqcy9mcGNvbnN0LmNwcAkocmV2aXNpb24g
MTgzNjUpCisrKyBKYXZhU2NyaXB0Q29yZS9ranMvZnBjb25zdC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTQ2LDE4ICs0NiwzNiBAQCBuYW1lc3BhY2UgS0pTIHsKIAogI2Vsc2UgLy8gIVBMQVRGT1JN
KERBUldJTikKIAorLy8gTm90ZSwgd2UgaGF2ZSB0byB1c2UgdW5pb24gdG8gZW5zdXJlIGFsaWdu
bWVudC4gT3RoZXJ3aXNlLCBOYU5fQnl0ZXMgY2FuIHN0YXJ0IGFueXdoZXJlLAorLy8gd2hpbGUg
TmFOX2RvdWJsZSBoYXMgdG8gYmUgNC1ieXRlIGFsaWduZWQgZm9yIDMyLWJpdHMuCisvLyBXaXRo
IC1mc3RyaWN0LWFsaWFzaW5nIGVuYWJsZWQsIHVuaW9ucyBhcmUgdGhlIG9ubHkgc2FmZSB3YXkg
dG8gZG8gdHlwZSBtYXNxdWVyYWRpbmcuCisKK3N0YXRpYyBjb25zdCB1bmlvbiB7CisgICAgc3Ry
dWN0IHsKKyAgICAgICAgdW5zaWduZWQgY2hhciBOYU5fQnl0ZXNbOF07CisgICAgICAgIHVuc2ln
bmVkIGNoYXIgSW5mX0J5dGVzWzhdOworICAgIH0gYnl0ZXM7CisgICAgCisgICAgc3RydWN0IHsK
KyAgICAgICAgZG91YmxlIE5hTl9Eb3VibGU7CisgICAgICAgIGRvdWJsZSBJbmZfRG91YmxlOwor
ICAgIH0gZG91YmxlczsKKyAgICAKK30gTmFOSW5mID0geyB7CiAjaWYgUExBVEZPUk0oQklHX0VO
RElBTikKLSAgICBjb25zdCB1bnNpZ25lZCBjaGFyIE5hTl9CeXRlc1tdID0geyAweDdmLCAweGY4
LCAwLCAwLCAwLCAwLCAwLCAwIH07Ci0gICAgY29uc3QgdW5zaWduZWQgY2hhciBJbmZfQnl0ZXNb
XSA9IHsgMHg3ZiwgMHhmMCwgMCwgMCwgMCwgMCwgMCwgMCB9OworICAgIHsgMHg3ZiwgMHhmOCwg
MCwgMCwgMCwgMCwgMCwgMCB9LAorICAgIHsgMHg3ZiwgMHhmMCwgMCwgMCwgMCwgMCwgMCwgMCB9
CiAjZWxpZiBQTEFURk9STShNSURETEVfRU5ESUFOKQotICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIg
TmFOX0J5dGVzW10gPSB7IDAsIDAsIDB4ZjgsIDB4N2YsIDAsIDAsIDAsIDAgfTsKLSAgICBjb25z
dCB1bnNpZ25lZCBjaGFyIEluZl9CeXRlc1tdID0geyAwLCAwLCAweGYwLCAweDdmLCAwLCAwLCAw
LCAwIH07CisgICAgeyAwLCAwLCAweGY4LCAweDdmLCAwLCAwLCAwLCAwIH0sCisgICAgeyAwLCAw
LCAweGYwLCAweDdmLCAwLCAwLCAwLCAwIH0KICNlbHNlCi0gICAgY29uc3QgdW5zaWduZWQgY2hh
ciBOYU5fQnl0ZXNbXSA9IHsgMCwgMCwgMCwgMCwgMCwgMCwgMHhmOCwgMHg3ZiB9OwotICAgIGNv
bnN0IHVuc2lnbmVkIGNoYXIgSW5mX0J5dGVzW10gPSB7IDAsIDAsIDAsIDAsIDAsIDAsIDB4ZjAs
IDB4N2YgfTsKKyAgICB7IDAsIDAsIDAsIDAsIDAsIDAsIDB4ZjgsIDB4N2YgfSwKKyAgICB7IDAs
IDAsIDAsIDAsIDAsIDAsIDB4ZjAsIDB4N2YgfQogI2VuZGlmCi0gICAgZXh0ZXJuIGNvbnN0IGRv
dWJsZSBOYU4gPSAqKGNvbnN0IGRvdWJsZSopIE5hTl9CeXRlczsKLSAgICBleHRlcm4gY29uc3Qg
ZG91YmxlIEluZiA9ICooY29uc3QgZG91YmxlKikgSW5mX0J5dGVzOworfSB9IDsKKworICAgIGV4
dGVybiBjb25zdCBkb3VibGUgTmFOID0gTmFOSW5mLmRvdWJsZXMuTmFOX0RvdWJsZTsKKyAgICBl
eHRlcm4gY29uc3QgZG91YmxlIEluZiA9IE5hTkluZi5kb3VibGVzLkluZl9Eb3VibGU7CiAgCiAj
ZW5kaWYgLy8gIVBMQVRGT1JNKERBUldJTikKIAo=
</data>
<flag name="review"
          id="4379"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>