<?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>29695</bug_id>
          
          <creation_ts>2009-09-23 14:18:59 -0700</creation_ts>
          <short_desc>Unaligned data access in YARR_JIT on ARMv5 and below</short_desc>
          <delta_ts>2009-09-25 19:27:13 -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>Linux</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>0</everconfirmed>
          <reporter name="Gabor Loki">loki</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>kenneth</cc>
    
    <cc>ricardo.salveti</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>149503</commentid>
    <comment_count>0</comment_count>
    <who name="Gabor Loki">loki</who>
    <bug_when>2009-09-23 14:18:59 -0700</bug_when>
    <thetext>On ARMv5 and below all data access should be naturally aligned.

In the YARR_JIT there is a case when character pairs are loaded from the input string, but this data access is not naturally aligned.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>149505</commentid>
    <comment_count>1</comment_count>
      <attachid>40018</attachid>
    <who name="Gabor Loki">loki</who>
    <bug_when>2009-09-23 14:20:33 -0700</bug_when>
    <thetext>Created attachment 40018
Fix unaligned data access in YARR_JIT on ARMv5 and below.

This fix introduces load32WithUnalignedHalfWords and branch32WithUnalignedHalfWords functions which contain naturally aligned memory loads - half word loads - instead of simple load32 on ARMv5 and below.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>149507</commentid>
    <comment_count>2</comment_count>
    <who name="Gabor Loki">loki</who>
    <bug_when>2009-09-23 14:22:50 -0700</bug_when>
    <thetext>Opps, I forgot to paste the bug number into the ChangeLog entry.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>149545</commentid>
    <comment_count>3</comment_count>
      <attachid>40018</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2009-09-23 16:37:41 -0700</bug_when>
    <thetext>Comment on attachment 40018
Fix unaligned data access in YARR_JIT on ARMv5 and below.

So, the code here all looks fine, but I don&apos;t think that the ARMAssembler is really the right layer for this.  The idea of the Assembler classes is that they provide the same interface as the machine instruction set, and that the MacroAssembler provides a higher level set of primitives above this.  In similar cases where an operation must be constructed using multiple machine instructions we try to do so in the MacroAssembler.  There are a couple of cases where this is not so, particularly where a load or branch planted over multiple instructions must be repatched, but we&apos;ve started refactoring the relinking so we can hopefully we can also move these up to the MacroAssembler.

So I&apos;d prefer to see the logic in baseIndexTransfer32WithUnalignedHalfWords shift up to the MacroAssembler.  Does this sound reasonable?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>149600</commentid>
    <comment_count>4</comment_count>
    <who name="Ricardo Salveti de Araujo">ricardo.salveti</who>
    <bug_when>2009-09-23 18:02:54 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; Created an attachment (id=40018) [details]
&gt; Fix unaligned data access in YARR_JIT on ARMv5 and below.
&gt; 
&gt; This fix introduces load32WithUnalignedHalfWords and
&gt; branch32WithUnalignedHalfWords functions which contain naturally aligned memory
&gt; loads - half word loads - instead of simple load32 on ARMv5 and below.

I confirm that this patch fix the alignment trap I was having with ARMv5.

Now I can successfully open google maps and other complex websites (but still with a low performance, but better than before).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>149652</commentid>
    <comment_count>5</comment_count>
    <who name="Gabor Loki">loki</who>
    <bug_when>2009-09-23 21:41:00 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; So I&apos;d prefer to see the logic in baseIndexTransfer32WithUnalignedHalfWords
&gt; shift up to the MacroAssembler.  Does this sound reasonable?

Ok, I will refactor the patch.

What do you think about the name of those function? Is it fine for you? Or do you have other suggestion(s)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>149986</commentid>
    <comment_count>6</comment_count>
      <attachid>40106</attachid>
    <who name="Gabor Loki">loki</who>
    <bug_when>2009-09-25 05:52:27 -0700</bug_when>
    <thetext>Created attachment 40106
Fix unaligned data access in YARR_JIT on ARMv5 and below (v2)

Updated considering Gavin&apos;s suggestions from comment #3.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150144</commentid>
    <comment_count>7</comment_count>
      <attachid>40106</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-25 14:12:49 -0700</bug_when>
    <thetext>Comment on attachment 40106
Fix unaligned data access in YARR_JIT on ARMv5 and below (v2)

As far as I can tell from http://trac.webkit.org/browser/trunk/WebKitTools/Scripts/modules/committers.py Gabor is not a committer.  So I&apos;m going to assume he wants this committed by someone else.  Setting cq+ to let the commit bot do so.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150229</commentid>
    <comment_count>8</comment_count>
      <attachid>40106</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-09-25 19:27:09 -0700</bug_when>
    <thetext>Comment on attachment 40106
Fix unaligned data access in YARR_JIT on ARMv5 and below (v2)

Clearing flags on attachment: 40106

Committed r48782: &lt;http://trac.webkit.org/changeset/48782&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150231</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-09-25 19:27:13 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40018</attachid>
            <date>2009-09-23 14:20:33 -0700</date>
            <delta_ts>2009-09-25 05:52:27 -0700</delta_ts>
            <desc>Fix unaligned data access in YARR_JIT on ARMv5 and below.</desc>
            <filename>0002-Fix-unaligned-data-access-in-YARR_JIT-on-ARMv5-and-b.patch</filename>
            <type>text/plain</type>
            <size>10367</size>
            <attacher name="Gabor Loki">loki</attacher>
            
              <data encoding="base64">RnJvbSBlOWY4YTA5YzJmNTY4MmU1MjU5NGFhNGVjZmIwY2M0MTRjMmE3MmJhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBHYWJvciBMb2tpIDxsb2tpQGluZi51LXN6ZWdlZC5odT4KRGF0
ZTogV2VkLCAyMyBTZXAgMjAwOSAyMzowOTo0MiArMDIwMApTdWJqZWN0OiBbUEFUQ0hdIEZpeCB1
bmFsaWduZWQgZGF0YSBhY2Nlc3MgaW4gWUFSUl9KSVQgb24gQVJNdjUgYW5kIGJlbG93LgoKU2ln
bmVkLW9mZi1ieTogR2Fib3IgTG9raSA8bG9raUBpbmYudS1zemVnZWQuaHU+Ci0tLQogSmF2YVNj
cmlwdENvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDMyICsrKysr
KysrKysrKysrKysrKysrCiBKYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQVJNQXNzZW1ibGVyLmNw
cCAgICAgICAgICB8ICAgMjUgKysrKysrKysrKysrKysrCiBKYXZhU2NyaXB0Q29yZS9hc3NlbWJs
ZXIvQVJNQXNzZW1ibGVyLmggICAgICAgICAgICB8ICAgIDEgKwogSmF2YVNjcmlwdENvcmUvYXNz
ZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNLmggICAgICAgfCAgIDE1ICsrKysrKysrKwogSmF2YVNj
cmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNdjcuaCAgICAgfCAgIDEyICsrKysr
KysKIEphdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5oIHwg
ICAxMCArKysrKysKIEphdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oICAgICAgICAgICAgICAg
ICAgICAgIHwgICAgNCArKwogSmF2YVNjcmlwdENvcmUveWFyci9SZWdleEpJVC5jcHAgICAgICAg
ICAgICAgICAgICAgfCAgICA0ICstCiA4IGZpbGVzIGNoYW5nZWQsIDEwMSBpbnNlcnRpb25zKCsp
LCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBi
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBiMmExMjEzLi45YzVjM2RlIDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMDktMDktMjMgIEdhYm9yIExva2kgIDxsb2tpQGluZi51
LXN6ZWdlZC5odT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBGaXggdW5hbGlnbmVkIGRhdGEgYWNjZXNzIGluIFlBUlJfSklUIG9uIEFSTXY1IGFuZCBi
ZWxvdy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPQor
CisgICAgICAgIE9uIEFSTXY1IGFuZCBiZWxvdyBhbGwgZGF0YSBhY2Nlc3Mgc2hvdWxkIGJlIG5h
dHVyYWxseSBhbGlnbmVkLgorICAgICAgICBJbiB0aGUgWUFSUl9KSVQgdGhlcmUgaXMgYSBjYXNl
IHdoZW4gY2hhcmFjdGVyIHBhaXJzIGFyZQorICAgICAgICBsb2FkZWQgZnJvbSB0aGUgaW5wdXQg
c3RyaW5nLCBidXQgdGhpcyBkYXRhIGFjY2VzcyBpcyBub3QKKyAgICAgICAgbmF0dXJhbGx5IGFs
aWduZWQuIFRoaXMgZml4IGludHJvZHVjZXMgbG9hZDMyV2l0aFVuYWxpZ25lZEhhbGZXb3Jkcwor
ICAgICAgICBhbmQgYnJhbmNoMzJXaXRoVW5hbGlnbmVkSGFsZldvcmRzIGZ1bmN0aW9ucyB3aGlj
aCBjb250YWluCisgICAgICAgIG5hdHVyYWxseSBhbGlnbmVkIG1lbW9yeSBsb2FkcyAtIGhhbGYg
d29yZCBsb2FkcyAtIG9uIEFSTXY1IGFuZCBiZWxvdy4KKworICAgICAgICAqIGFzc2VtYmxlci9B
Uk1Bc3NlbWJsZXIuY3BwOgorICAgICAgICAoSlNDOjpBUk1Bc3NlbWJsZXI6OmJhc2VJbmRleFRy
YW5zZmVyMzJXaXRoVW5hbGlnbmVkSGFsZldvcmRzKToKKyAgICAgICAgKEpTQzo6QVJNQXNzZW1i
bGVyOjpleGVjdXRhYmxlQ29weSk6CisgICAgICAgICogYXNzZW1ibGVyL0FSTUFzc2VtYmxlci5o
OgorICAgICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTS5oOgorICAgICAgICAoSlND
OjpNYWNyb0Fzc2VtYmxlckFSTTo6bG9hZDMyV2l0aFVuYWxpZ25lZEhhbGZXb3Jkcyk6CisgICAg
ICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyQVJNOjpicmFuY2gzMldpdGhVbmFsaWduZWRIYWxmV29y
ZHMpOgorICAgICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTXY3Lmg6CisgICAgICAg
IChKU0M6Ok1hY3JvQXNzZW1ibGVyQVJNdjc6OmxvYWQzMldpdGhVbmFsaWduZWRIYWxmV29yZHMp
OgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlckFSTXY3OjpicmFuY2gzMik6CisgICAgICAg
IChKU0M6Ok1hY3JvQXNzZW1ibGVyQVJNdjc6OmJyYW5jaDMyV2l0aFVuYWxpZ25lZEhhbGZXb3Jk
cyk6CisgICAgICAgICogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmg6CisgICAg
ICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpsb2FkMzJXaXRoVW5hbGlnbmVkSGFs
ZldvcmRzKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OmJyYW5jaDMy
V2l0aFVuYWxpZ25lZEhhbGZXb3Jkcyk6CisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6CisgICAg
ICAgICogeWFyci9SZWdleEpJVC5jcHA6CisgICAgICAgIChKU0M6OllhcnI6OlJlZ2V4R2VuZXJh
dG9yOjpnZW5lcmF0ZVBhdHRlcm5DaGFyYWN0ZXJQYWlyKToKKwogMjAwOS0wOS0yMiAgR2Fib3Ig
TG9raSAgPGxva2lAaW5mLnUtc3plZ2VkLmh1PgogCiAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0FSTUFzc2Vt
Ymxlci5jcHAgYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQVJNQXNzZW1ibGVyLmNwcAppbmRl
eCAxMzI0NTg2Li5lNTliOTA0IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIv
QVJNQXNzZW1ibGVyLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQVJNQXNzZW1i
bGVyLmNwcApAQCAtMzM0LDYgKzMzNCwzMSBAQCB2b2lkIEFSTUFzc2VtYmxlcjo6YmFzZUluZGV4
VHJhbnNmZXIzMihib29sIGlzTG9hZCwgUmVnaXN0ZXJJRCBzcmNEc3QsIFJlZ2lzdGVySQogICAg
IGR0cl91cihpc0xvYWQsIHNyY0RzdCwgYmFzZSwgQVJNUmVnaXN0ZXJzOjpTMCk7CiB9CiAKK3Zv
aWQgQVJNQXNzZW1ibGVyOjpiYXNlSW5kZXhUcmFuc2ZlcjMyV2l0aFVuYWxpZ25lZEhhbGZXb3Jk
cyhib29sIGlzTG9hZCwgUmVnaXN0ZXJJRCBzcmNEc3QsIFJlZ2lzdGVySUQgYmFzZSwgUmVnaXN0
ZXJJRCBpbmRleCwgaW50IHNjYWxlLCBpbnQzMl90IG9mZnNldCkKK3sKKyAgICBBUk1Xb3JkIG9w
MjsKKworICAgIEFTU0VSVChzY2FsZSA+PSAwICYmIHNjYWxlIDw9IDMpOworICAgIG9wMiA9IGxz
bChpbmRleCwgc2NhbGUpOworCisgICAgaWYgKG9mZnNldCA+PSAwICYmIG9mZnNldCArIDB4MiA8
PSAweGZmKSB7CisgICAgICAgIGFkZF9yKEFSTVJlZ2lzdGVyczo6UzAsIGJhc2UsIG9wMik7Cisg
ICAgICAgIGxkcmhfdShzcmNEc3QsIEFSTVJlZ2lzdGVyczo6UzAsIEFSTUFzc2VtYmxlcjo6Z2V0
T3AyQnl0ZShvZmZzZXQpKTsKKyAgICAgICAgbGRyaF91KEFSTVJlZ2lzdGVyczo6UzAsIEFSTVJl
Z2lzdGVyczo6UzAsIEFSTUFzc2VtYmxlcjo6Z2V0T3AyQnl0ZShvZmZzZXQgKyAweDIpKTsKKyAg
ICB9IGVsc2UgaWYgKG9mZnNldCA8IDAgJiYgb2Zmc2V0ID49IC0weGZmKSB7CisgICAgICAgIGFk
ZF9yKEFSTVJlZ2lzdGVyczo6UzAsIGJhc2UsIG9wMik7CisgICAgICAgIGxkcmhfZChzcmNEc3Qs
IEFSTVJlZ2lzdGVyczo6UzAsIEFSTUFzc2VtYmxlcjo6Z2V0T3AyQnl0ZSgtb2Zmc2V0KSk7Cisg
ICAgICAgIGxkcmhfZChBUk1SZWdpc3RlcnM6OlMwLCBBUk1SZWdpc3RlcnM6OlMwLCBBUk1Bc3Nl
bWJsZXI6OmdldE9wMkJ5dGUoLW9mZnNldCAtIDB4MikpOworICAgIH0gZWxzZSB7CisgICAgICAg
IGxkcl91bl9pbW0oQVJNUmVnaXN0ZXJzOjpTMCwgb2Zmc2V0KTsKKyAgICAgICAgYWRkX3IoQVJN
UmVnaXN0ZXJzOjpTMCwgQVJNUmVnaXN0ZXJzOjpTMCwgb3AyKTsKKyAgICAgICAgbGRyaF9yKHNy
Y0RzdCwgYmFzZSwgQVJNUmVnaXN0ZXJzOjpTMCk7CisgICAgICAgIGFkZF9yKEFSTVJlZ2lzdGVy
czo6UzAsIEFSTVJlZ2lzdGVyczo6UzAsIE9QMl9JTU0gfCAweDIpOworICAgICAgICBsZHJoX3Io
QVJNUmVnaXN0ZXJzOjpTMCwgYmFzZSwgQVJNUmVnaXN0ZXJzOjpTMCk7CisgICAgfQorICAgIG9y
cl9yKHNyY0RzdCwgc3JjRHN0LCBsc2woQVJNUmVnaXN0ZXJzOjpTMCwgMTYpKTsKK30KKwogdm9p
ZCBBUk1Bc3NlbWJsZXI6OmRvdWJsZVRyYW5zZmVyKGJvb2wgaXNMb2FkLCBGUFJlZ2lzdGVySUQg
c3JjRHN0LCBSZWdpc3RlcklEIGJhc2UsIGludDMyX3Qgb2Zmc2V0KQogewogICAgIGlmIChvZmZz
ZXQgJiAweDMpIHsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk1Bc3Nl
bWJsZXIuaCBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk1Bc3NlbWJsZXIuaAppbmRleCA5
ZjlhNDUwLi5iODk5MTA0IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQVJN
QXNzZW1ibGVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0FSTUFzc2VtYmxlci5o
CkBAIC03MTUsNiArNzE1LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgdm9pZCBkYXRh
VHJhbnNmZXIzMihib29sIGlzTG9hZCwgUmVnaXN0ZXJJRCBzcmNEc3QsIFJlZ2lzdGVySUQgYmFz
ZSwgaW50MzJfdCBvZmZzZXQpOwogICAgICAgICB2b2lkIGJhc2VJbmRleFRyYW5zZmVyMzIoYm9v
bCBpc0xvYWQsIFJlZ2lzdGVySUQgc3JjRHN0LCBSZWdpc3RlcklEIGJhc2UsIFJlZ2lzdGVySUQg
aW5kZXgsIGludCBzY2FsZSwgaW50MzJfdCBvZmZzZXQpOworICAgICAgICB2b2lkIGJhc2VJbmRl
eFRyYW5zZmVyMzJXaXRoVW5hbGlnbmVkSGFsZldvcmRzKGJvb2wgaXNMb2FkLCBSZWdpc3RlcklE
IHNyY0RzdCwgUmVnaXN0ZXJJRCBiYXNlLCBSZWdpc3RlcklEIGluZGV4LCBpbnQgc2NhbGUsIGlu
dDMyX3Qgb2Zmc2V0KTsKICAgICAgICAgdm9pZCBkb3VibGVUcmFuc2Zlcihib29sIGlzTG9hZCwg
RlBSZWdpc3RlcklEIHNyY0RzdCwgUmVnaXN0ZXJJRCBiYXNlLCBpbnQzMl90IG9mZnNldCk7CiAK
ICAgICAgICAgLy8gQ29uc3RhbnQgcG9vbCBobmFkbGVycwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNLmggYi9KYXZhU2NyaXB0Q29yZS9hc3Nl
bWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk0uaAppbmRleCAwYzY5NmM5Li4wNWM3MjI4IDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk0uaAorKysgYi9K
YXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk0uaApAQCAtMTk4LDYgKzE5
OCwxNSBAQCBwdWJsaWM6CiAgICAgICAgIG1fYXNzZW1ibGVyLmJhc2VJbmRleFRyYW5zZmVyMzIo
dHJ1ZSwgZGVzdCwgYWRkcmVzcy5iYXNlLCBhZGRyZXNzLmluZGV4LCBzdGF0aWNfY2FzdDxpbnQ+
KGFkZHJlc3Muc2NhbGUpLCBhZGRyZXNzLm9mZnNldCk7CiAgICAgfQogCisgICAgdm9pZCBsb2Fk
MzJXaXRoVW5hbGlnbmVkSGFsZldvcmRzKEJhc2VJbmRleCBhZGRyZXNzLCBSZWdpc3RlcklEIGRl
c3QpCisgICAgeworI2lmIGRlZmluZWQoQVJNX1JFUVVJUkVfTkFUVVJBTF9BTElHTk1FTlQpICYm
IEFSTV9SRVFVSVJFX05BVFVSQUxfQUxJR05NRU5UCisgICAgICAgIG1fYXNzZW1ibGVyLmJhc2VJ
bmRleFRyYW5zZmVyMzJXaXRoVW5hbGlnbmVkSGFsZldvcmRzKHRydWUsIGRlc3QsIGFkZHJlc3Mu
YmFzZSwgYWRkcmVzcy5pbmRleCwgc3RhdGljX2Nhc3Q8aW50PihhZGRyZXNzLnNjYWxlKSwgYWRk
cmVzcy5vZmZzZXQpOworI2Vsc2UKKyAgICAgICAgbG9hZDMyKGFkZHJlc3MsIGRlc3QpOworI2Vu
ZGlmCisgICAgfQorCiAgICAgRGF0YUxhYmVsMzIgbG9hZDMyV2l0aEFkZHJlc3NPZmZzZXRQYXRj
aChBZGRyZXNzIGFkZHJlc3MsIFJlZ2lzdGVySUQgZGVzdCkKICAgICB7CiAgICAgICAgIERhdGFM
YWJlbDMyIGRhdGFMYWJlbCh0aGlzKTsKQEAgLTM2NCw2ICszNzMsMTIgQEAgcHVibGljOgogICAg
ICAgICByZXR1cm4gYnJhbmNoMzIoY29uZCwgQVJNUmVnaXN0ZXJzOjpTMSwgcmlnaHQpOwogICAg
IH0KIAorICAgIEp1bXAgYnJhbmNoMzJXaXRoVW5hbGlnbmVkSGFsZldvcmRzKENvbmRpdGlvbiBj
b25kLCBCYXNlSW5kZXggbGVmdCwgSW1tMzIgcmlnaHQpCisgICAgeworICAgICAgICBsb2FkMzJX
aXRoVW5hbGlnbmVkSGFsZldvcmRzKGxlZnQsIEFSTVJlZ2lzdGVyczo6UzEpOworICAgICAgICBy
ZXR1cm4gYnJhbmNoMzIoY29uZCwgQVJNUmVnaXN0ZXJzOjpTMSwgcmlnaHQpOworICAgIH0KKwog
ICAgIEp1bXAgYnJhbmNoMTYoQ29uZGl0aW9uIGNvbmQsIEJhc2VJbmRleCBsZWZ0LCBSZWdpc3Rl
cklEIHJpZ2h0KQogICAgIHsKICAgICAgICAgVU5VU0VEX1BBUkFNKGNvbmQpOwpkaWZmIC0tZ2l0
IGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNdjcuaCBiL0phdmFT
Y3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTXY3LmgKaW5kZXggOTk5MDU2Yi4u
YTU0OTYwNCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1i
bGVyQVJNdjcuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJB
Uk12Ny5oCkBAIC0zNzUsNiArMzc1LDExIEBAIHB1YmxpYzoKICAgICAgICAgbG9hZDMyKHNldHVw
QXJtQWRkcmVzcyhhZGRyZXNzKSwgZGVzdCk7CiAgICAgfQogCisgICAgdm9pZCBsb2FkMzJXaXRo
VW5hbGlnbmVkSGFsZldvcmRzKEJhc2VJbmRleCBhZGRyZXNzLCBSZWdpc3RlcklEIGRlc3QpCisg
ICAgeworICAgICAgICBsb2FkMzIoc2V0dXBBcm1BZGRyZXNzKGFkZHJlc3MpLCBkZXN0KTsKKyAg
ICB9CisKICAgICB2b2lkIGxvYWQzMih2b2lkKiBhZGRyZXNzLCBSZWdpc3RlcklEIGRlc3QpCiAg
ICAgewogICAgICAgICBtb3ZlKEltbVB0cihhZGRyZXNzKSwgYWRkcmVzc1RlbXBSZWdpc3Rlcik7
CkBAIC03MTcsNiArNzIyLDEzIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGJyYW5jaDMyKGNv
bmQsIGFkZHJlc3NUZW1wUmVnaXN0ZXIsIHJpZ2h0KTsKICAgICB9CiAKKyAgICBKdW1wIGJyYW5j
aDMyV2l0aFVuYWxpZ25lZEhhbGZXb3JkcyhDb25kaXRpb24gY29uZCwgQmFzZUluZGV4IGxlZnQs
IEltbTMyIHJpZ2h0KQorICAgIHsKKyAgICAgICAgLy8gdXNlIGFkZHJlc3NUZW1wUmVnaXN0ZXIg
aW5jYXNlIHRoZSBicmFuY2gzMiB3ZSBjYWxsIHVzZXMgZGF0YVRlbXBSZWdpc3Rlci4gOi0vCisg
ICAgICAgIGxvYWQzMldpdGhVbmFsaWduZWRIYWxmV29yZHMobGVmdCwgYWRkcmVzc1RlbXBSZWdp
c3Rlcik7CisgICAgICAgIHJldHVybiBicmFuY2gzMihjb25kLCBhZGRyZXNzVGVtcFJlZ2lzdGVy
LCByaWdodCk7CisgICAgfQorCiAgICAgSnVtcCBicmFuY2gzMihDb25kaXRpb24gY29uZCwgQWJz
b2x1dGVBZGRyZXNzIGxlZnQsIFJlZ2lzdGVySUQgcmlnaHQpCiAgICAgewogICAgICAgICBsb2Fk
MzIobGVmdC5tX3B0ciwgZGF0YVRlbXBSZWdpc3Rlcik7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uaCBiL0phdmFTY3JpcHRDb3Jl
L2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5oCmluZGV4IDYxZTBlMTcuLjVlYmVm
YTcgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4
NkNvbW1vbi5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4
NkNvbW1vbi5oCkBAIC0zMDYsNiArMzA2LDExIEBAIHB1YmxpYzoKICAgICAgICAgbV9hc3NlbWJs
ZXIubW92bF9tcihhZGRyZXNzLm9mZnNldCwgYWRkcmVzcy5iYXNlLCBhZGRyZXNzLmluZGV4LCBh
ZGRyZXNzLnNjYWxlLCBkZXN0KTsKICAgICB9CiAKKyAgICB2b2lkIGxvYWQzMldpdGhVbmFsaWdu
ZWRIYWxmV29yZHMoQmFzZUluZGV4IGFkZHJlc3MsIFJlZ2lzdGVySUQgZGVzdCkKKyAgICB7Cisg
ICAgICAgIGxvYWQzMihhZGRyZXNzLCBkZXN0KTsKKyAgICB9CisKICAgICBEYXRhTGFiZWwzMiBs
b2FkMzJXaXRoQWRkcmVzc09mZnNldFBhdGNoKEFkZHJlc3MgYWRkcmVzcywgUmVnaXN0ZXJJRCBk
ZXN0KQogICAgIHsKICAgICAgICAgbV9hc3NlbWJsZXIubW92bF9tcl9kaXNwMzIoYWRkcmVzcy5v
ZmZzZXQsIGFkZHJlc3MuYmFzZSwgZGVzdCk7CkBAIC02MDQsNiArNjA5LDExIEBAIHB1YmxpYzoK
ICAgICAgICAgcmV0dXJuIEp1bXAobV9hc3NlbWJsZXIuakNDKHg4NkNvbmRpdGlvbihjb25kKSkp
OwogICAgIH0KIAorICAgIEp1bXAgYnJhbmNoMzJXaXRoVW5hbGlnbmVkSGFsZldvcmRzKENvbmRp
dGlvbiBjb25kLCBCYXNlSW5kZXggbGVmdCwgSW1tMzIgcmlnaHQpCisgICAgeworICAgICAgICBy
ZXR1cm4gYnJhbmNoMzIoY29uZCwgbGVmdCwgcmlnaHQpOworICAgIH0KKwogICAgIEp1bXAgYnJh
bmNoMTYoQ29uZGl0aW9uIGNvbmQsIEJhc2VJbmRleCBsZWZ0LCBSZWdpc3RlcklEIHJpZ2h0KQog
ICAgIHsKICAgICAgICAgbV9hc3NlbWJsZXIuY21wd19ybShyaWdodCwgbGVmdC5vZmZzZXQsIGxl
ZnQuYmFzZSwgbGVmdC5pbmRleCwgbGVmdC5zY2FsZSk7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS93dGYvUGxhdGZvcm0uaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCmluZGV4
IDdkZGZjOTUuLmI4NmEzMGMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9y
bS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCkBAIC0yNTcsNiArMjU3LDEw
IEBACiAjdW5kZWYgQVJNX0FSQ0hfVkVSU0lPTgogI2RlZmluZSBBUk1fQVJDSF9WRVJTSU9OIDcK
ICNlbmRpZgorLyogT24gQVJNdjUgYW5kIGJlbG93IHRoZSBuYXR1cmFsIGFsaWdubWVudCBpcyBy
ZXF1aXJlZC4gKi8KKyNpZiAhZGVmaW5lZChBUk1fUkVRVUlSRV9OQVRVUkFMX0FMSUdOTUVOVCkg
JiYgQVJNX0FSQ0hfVkVSU0lPTiA8PSA1CisjZGVmaW5lIEFSTV9SRVFVSVJFX05BVFVSQUxfQUxJ
R05NRU5UIDEKKyNlbmRpZgogLyogRGVmaW5lcyB0d28gcHNldWRvLXBsYXRmb3JtcyBmb3IgQVJN
IGFuZCBUaHVtYi0yIGluc3RydWN0aW9uIHNldC4gKi8KICNpZiAhZGVmaW5lZChXVEZfUExBVEZP
Uk1fQVJNX1RSQURJVElPTkFMKSAmJiAhZGVmaW5lZChXVEZfUExBVEZPUk1fQVJNX1RIVU1CMikK
ICMgIGlmIGRlZmluZWQodGh1bWIyKSB8fCBkZWZpbmVkKF9fdGh1bWIyX18pCmRpZmYgLS1naXQg
YS9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SklULmNwcCBiL0phdmFTY3JpcHRDb3JlL3lhcnIv
UmVnZXhKSVQuY3BwCmluZGV4IDQzOTBiNWIuLmQ3Nzc0MjQgMTAwNjQ0Ci0tLSBhL0phdmFTY3Jp
cHRDb3JlL3lhcnIvUmVnZXhKSVQuY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhK
SVQuY3BwCkBAIC01NDksMTEgKzU0OSwxMSBAQCBjbGFzcyBSZWdleEdlbmVyYXRvciA6IHByaXZh
dGUgTWFjcm9Bc3NlbWJsZXIgewogICAgICAgICB9CiAKICAgICAgICAgaWYgKG1hc2spIHsKLSAg
ICAgICAgICAgIGxvYWQzMihCYXNlSW5kZXgoaW5wdXQsIGluZGV4LCBUaW1lc1R3bywgc3RhdGUu
aW5wdXRPZmZzZXQoKSAqIHNpemVvZihVQ2hhcikpLCBjaGFyYWN0ZXIpOworICAgICAgICAgICAg
bG9hZDMyV2l0aFVuYWxpZ25lZEhhbGZXb3JkcyhCYXNlSW5kZXgoaW5wdXQsIGluZGV4LCBUaW1l
c1R3bywgc3RhdGUuaW5wdXRPZmZzZXQoKSAqIHNpemVvZihVQ2hhcikpLCBjaGFyYWN0ZXIpOwog
ICAgICAgICAgICAgb3IzMihJbW0zMihtYXNrKSwgY2hhcmFjdGVyKTsKICAgICAgICAgICAgIHN0
YXRlLmp1bXBUb0JhY2t0cmFjayhicmFuY2gzMihOb3RFcXVhbCwgY2hhcmFjdGVyLCBJbW0zMihj
aFBhaXIgfCBtYXNrKSksIHRoaXMpOwogICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIHN0YXRl
Lmp1bXBUb0JhY2t0cmFjayhicmFuY2gzMihOb3RFcXVhbCwgQmFzZUluZGV4KGlucHV0LCBpbmRl
eCwgVGltZXNUd28sIHN0YXRlLmlucHV0T2Zmc2V0KCkgKiBzaXplb2YoVUNoYXIpKSwgSW1tMzIo
Y2hQYWlyKSksIHRoaXMpOworICAgICAgICAgICAgc3RhdGUuanVtcFRvQmFja3RyYWNrKGJyYW5j
aDMyV2l0aFVuYWxpZ25lZEhhbGZXb3JkcyhOb3RFcXVhbCwgQmFzZUluZGV4KGlucHV0LCBpbmRl
eCwgVGltZXNUd28sIHN0YXRlLmlucHV0T2Zmc2V0KCkgKiBzaXplb2YoVUNoYXIpKSwgSW1tMzIo
Y2hQYWlyKSksIHRoaXMpOwogICAgIH0KIAogICAgIHZvaWQgZ2VuZXJhdGVQYXR0ZXJuQ2hhcmFj
dGVyRml4ZWQoVGVybUdlbmVyYXRpb25TdGF0ZSYgc3RhdGUpCi0tIAoxLjYuMC40Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40106</attachid>
            <date>2009-09-25 05:52:27 -0700</date>
            <delta_ts>2009-09-25 19:27:09 -0700</delta_ts>
            <desc>Fix unaligned data access in YARR_JIT on ARMv5 and below (v2)</desc>
            <filename>0001-Fix-unaligned-data-access-in-YARR_JIT-on-ARMv5-and-b.patch</filename>
            <type>text/plain</type>
            <size>9640</size>
            <attacher name="Gabor Loki">loki</attacher>
            
              <data encoding="base64">RnJvbSBkMTBjOTE2NzEzMmYwNWJjNTY0Y2MyNjIwMDA0OWUxODJmNzI1NjQ0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBHYWJvciBMb2tpIDxsb2tpQGluZi51LXN6ZWdlZC5odT4KRGF0
ZTogRnJpLCAyNSBTZXAgMjAwOSAxNDo0OToyMSArMDIwMApTdWJqZWN0OiBbUEFUQ0hdIEZpeCB1
bmFsaWduZWQgZGF0YSBhY2Nlc3MgaW4gWUFSUl9KSVQgb24gQVJNdjUgYW5kIGJlbG93LgoKU2ln
bmVkLW9mZi1ieTogR2Fib3IgTG9raSA8bG9raUBpbmYudS1zemVnZWQuaHU+Ci0tLQogSmF2YVNj
cmlwdENvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDMwICsrKysr
KysrKysrKysrKysrKysrCiBKYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJB
Uk0uY3BwICAgICB8ICAgMjcgKysrKysrKysrKysrKysrKysrCiBKYXZhU2NyaXB0Q29yZS9hc3Nl
bWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk0uaCAgICAgICB8ICAgMTUgKysrKysrKysrKwogSmF2YVNj
cmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNdjcuaCAgICAgfCAgIDEyICsrKysr
KysrCiBKYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uaCB8
ICAgMTAgKysrKysrCiBKYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaCAgICAgICAgICAgICAg
ICAgICAgICB8ICAgIDQgKysKIEphdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhKSVQuY3BwICAgICAg
ICAgICAgICAgICAgIHwgICAgNCArLQogNyBmaWxlcyBjaGFuZ2VkLCAxMDAgaW5zZXJ0aW9ucygr
KSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cg
Yi9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggMjc0NTUyNS4uMGE2MWY4OCAxMDA2NDQK
LS0tIGEvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL0phdmFTY3JpcHRDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDA5LTA5LTI1ICBHYWJvciBMb2tpICA8bG9raUBpbmYu
dS1zemVnZWQuaHU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgRml4IHVuYWxpZ25lZCBkYXRhIGFjY2VzcyBpbiBZQVJSX0pJVCBvbiBBUk12NSBhbmQg
YmVsb3cuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
OTY5NQorCisgICAgICAgIE9uIEFSTXY1IGFuZCBiZWxvdyBhbGwgZGF0YSBhY2Nlc3Mgc2hvdWxk
IGJlIG5hdHVyYWxseSBhbGlnbmVkLgorICAgICAgICBJbiB0aGUgWUFSUl9KSVQgdGhlcmUgaXMg
YSBjYXNlIHdoZW4gY2hhcmFjdGVyIHBhaXJzIGFyZQorICAgICAgICBsb2FkZWQgZnJvbSB0aGUg
aW5wdXQgc3RyaW5nLCBidXQgdGhpcyBkYXRhIGFjY2VzcyBpcyBub3QKKyAgICAgICAgbmF0dXJh
bGx5IGFsaWduZWQuIFRoaXMgZml4IGludHJvZHVjZXMgbG9hZDMyV2l0aFVuYWxpZ25lZEhhbGZX
b3JkcworICAgICAgICBhbmQgYnJhbmNoMzJXaXRoVW5hbGlnbmVkSGFsZldvcmRzIGZ1bmN0aW9u
cyB3aGljaCBjb250YWluCisgICAgICAgIG5hdHVyYWxseSBhbGlnbmVkIG1lbW9yeSBsb2FkcyAt
IGhhbGYgd29yZCBsb2FkcyAtIG9uIEFSTXY1IGFuZCBiZWxvdy4KKworICAgICAgICAqIGFzc2Vt
Ymxlci9NYWNyb0Fzc2VtYmxlckFSTS5jcHA6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVy
QVJNOjpsb2FkMzJXaXRoVW5hbGlnbmVkSGFsZldvcmRzKToKKyAgICAgICAgKiBhc3NlbWJsZXIv
TWFjcm9Bc3NlbWJsZXJBUk0uaDoKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk06Omxv
YWQzMldpdGhVbmFsaWduZWRIYWxmV29yZHMpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxl
ckFSTTo6YnJhbmNoMzJXaXRoVW5hbGlnbmVkSGFsZldvcmRzKToKKyAgICAgICAgKiBhc3NlbWJs
ZXIvTWFjcm9Bc3NlbWJsZXJBUk12Ny5oOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlckFS
TXY3Ojpsb2FkMzJXaXRoVW5hbGlnbmVkSGFsZldvcmRzKToKKyAgICAgICAgKEpTQzo6TWFjcm9B
c3NlbWJsZXJBUk12Nzo6YnJhbmNoMzIpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlckFS
TXY3OjpicmFuY2gzMldpdGhVbmFsaWduZWRIYWxmV29yZHMpOgorICAgICAgICAqIGFzc2VtYmxl
ci9NYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5oOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxl
clg4NkNvbW1vbjo6bG9hZDMyV2l0aFVuYWxpZ25lZEhhbGZXb3Jkcyk6CisgICAgICAgIChKU0M6
Ok1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpicmFuY2gzMldpdGhVbmFsaWduZWRIYWxmV29yZHMp
OgorICAgICAgICAqIHd0Zi9QbGF0Zm9ybS5oOgorICAgICAgICAqIHlhcnIvUmVnZXhKSVQuY3Bw
OgorICAgICAgICAoSlNDOjpZYXJyOjpSZWdleEdlbmVyYXRvcjo6Z2VuZXJhdGVQYXR0ZXJuQ2hh
cmFjdGVyUGFpcik6CisKIDIwMDktMDktMjQgIFhhbiBMb3BleiAgPHhsb3BlekBpZ2FsaWEuY29t
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IE1hcmsgIkRvIEl0ISIgUm93ZS4KZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTS5jcHAgYi9KYXZhU2Ny
aXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk0uY3BwCmluZGV4IDQzNjQ4YzQuLmQ3
MjZlY2QgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxl
ckFSTS5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJN
LmNwcApAQCAtNjIsNiArNjIsMzMgQEAgc3RhdGljIGJvb2wgaXNWRlBQcmVzZW50KCkKIAogY29u
c3QgYm9vbCBNYWNyb0Fzc2VtYmxlckFSTTo6c19pc1ZGUFByZXNlbnQgPSBpc1ZGUFByZXNlbnQo
KTsKIAorI2lmIGRlZmluZWQoQVJNX1JFUVVJUkVfTkFUVVJBTF9BTElHTk1FTlQpICYmIEFSTV9S
RVFVSVJFX05BVFVSQUxfQUxJR05NRU5UCit2b2lkIE1hY3JvQXNzZW1ibGVyQVJNOjpsb2FkMzJX
aXRoVW5hbGlnbmVkSGFsZldvcmRzKEJhc2VJbmRleCBhZGRyZXNzLCBSZWdpc3RlcklEIGRlc3Qp
Cit7CisgICAgQVJNV29yZCBvcDI7CisKKyAgICBBU1NFUlQoYWRkcmVzcy5zY2FsZSA+PSAwICYm
IGFkZHJlc3Muc2NhbGUgPD0gMyk7CisgICAgb3AyID0gbV9hc3NlbWJsZXIubHNsKGFkZHJlc3Mu
aW5kZXgsIHN0YXRpY19jYXN0PGludD4oYWRkcmVzcy5zY2FsZSkpOworCisgICAgaWYgKGFkZHJl
c3Mub2Zmc2V0ID49IDAgJiYgYWRkcmVzcy5vZmZzZXQgKyAweDIgPD0gMHhmZikgeworICAgICAg
ICBtX2Fzc2VtYmxlci5hZGRfcihBUk1SZWdpc3RlcnM6OlMwLCBhZGRyZXNzLmJhc2UsIG9wMik7
CisgICAgICAgIG1fYXNzZW1ibGVyLmxkcmhfdShkZXN0LCBBUk1SZWdpc3RlcnM6OlMwLCBBUk1B
c3NlbWJsZXI6OmdldE9wMkJ5dGUoYWRkcmVzcy5vZmZzZXQpKTsKKyAgICAgICAgbV9hc3NlbWJs
ZXIubGRyaF91KEFSTVJlZ2lzdGVyczo6UzAsIEFSTVJlZ2lzdGVyczo6UzAsIEFSTUFzc2VtYmxl
cjo6Z2V0T3AyQnl0ZShhZGRyZXNzLm9mZnNldCArIDB4MikpOworICAgIH0gZWxzZSBpZiAoYWRk
cmVzcy5vZmZzZXQgPCAwICYmIGFkZHJlc3Mub2Zmc2V0ID49IC0weGZmKSB7CisgICAgICAgIG1f
YXNzZW1ibGVyLmFkZF9yKEFSTVJlZ2lzdGVyczo6UzAsIGFkZHJlc3MuYmFzZSwgb3AyKTsKKyAg
ICAgICAgbV9hc3NlbWJsZXIubGRyaF9kKGRlc3QsIEFSTVJlZ2lzdGVyczo6UzAsIEFSTUFzc2Vt
Ymxlcjo6Z2V0T3AyQnl0ZSgtYWRkcmVzcy5vZmZzZXQpKTsKKyAgICAgICAgbV9hc3NlbWJsZXIu
bGRyaF9kKEFSTVJlZ2lzdGVyczo6UzAsIEFSTVJlZ2lzdGVyczo6UzAsIEFSTUFzc2VtYmxlcjo6
Z2V0T3AyQnl0ZSgtYWRkcmVzcy5vZmZzZXQgLSAweDIpKTsKKyAgICB9IGVsc2UgeworICAgICAg
ICBtX2Fzc2VtYmxlci5sZHJfdW5faW1tKEFSTVJlZ2lzdGVyczo6UzAsIGFkZHJlc3Mub2Zmc2V0
KTsKKyAgICAgICAgbV9hc3NlbWJsZXIuYWRkX3IoQVJNUmVnaXN0ZXJzOjpTMCwgQVJNUmVnaXN0
ZXJzOjpTMCwgb3AyKTsKKyAgICAgICAgbV9hc3NlbWJsZXIubGRyaF9yKGRlc3QsIGFkZHJlc3Mu
YmFzZSwgQVJNUmVnaXN0ZXJzOjpTMCk7CisgICAgICAgIG1fYXNzZW1ibGVyLmFkZF9yKEFSTVJl
Z2lzdGVyczo6UzAsIEFSTVJlZ2lzdGVyczo6UzAsIEFSTUFzc2VtYmxlcjo6T1AyX0lNTSB8IDB4
Mik7CisgICAgICAgIG1fYXNzZW1ibGVyLmxkcmhfcihBUk1SZWdpc3RlcnM6OlMwLCBhZGRyZXNz
LmJhc2UsIEFSTVJlZ2lzdGVyczo6UzApOworICAgIH0KKyAgICBtX2Fzc2VtYmxlci5vcnJfcihk
ZXN0LCBkZXN0LCBtX2Fzc2VtYmxlci5sc2woQVJNUmVnaXN0ZXJzOjpTMCwgMTYpKTsKK30KKyNl
bmRpZgorCiB9CiAKICNlbmRpZiAvLyBFTkFCTEUoQVNTRU1CTEVSKSAmJiBQTEFURk9STShBUk1f
VFJBRElUSU9OQUwpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9B
c3NlbWJsZXJBUk0uaCBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFS
TS5oCmluZGV4IDBjNjk2YzkuLmFhOGNiYjAgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2Fz
c2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxl
ci9NYWNyb0Fzc2VtYmxlckFSTS5oCkBAIC0xOTgsNiArMTk4LDE1IEBAIHB1YmxpYzoKICAgICAg
ICAgbV9hc3NlbWJsZXIuYmFzZUluZGV4VHJhbnNmZXIzMih0cnVlLCBkZXN0LCBhZGRyZXNzLmJh
c2UsIGFkZHJlc3MuaW5kZXgsIHN0YXRpY19jYXN0PGludD4oYWRkcmVzcy5zY2FsZSksIGFkZHJl
c3Mub2Zmc2V0KTsKICAgICB9CiAKKyNpZiBkZWZpbmVkKEFSTV9SRVFVSVJFX05BVFVSQUxfQUxJ
R05NRU5UKSAmJiBBUk1fUkVRVUlSRV9OQVRVUkFMX0FMSUdOTUVOVAorICAgIHZvaWQgbG9hZDMy
V2l0aFVuYWxpZ25lZEhhbGZXb3JkcyhCYXNlSW5kZXggYWRkcmVzcywgUmVnaXN0ZXJJRCBkZXN0
KTsKKyNlbHNlCisgICAgdm9pZCBsb2FkMzJXaXRoVW5hbGlnbmVkSGFsZldvcmRzKEJhc2VJbmRl
eCBhZGRyZXNzLCBSZWdpc3RlcklEIGRlc3QpCisgICAgeworICAgICAgICBsb2FkMzIoYWRkcmVz
cywgZGVzdCk7CisgICAgfQorI2VuZGlmCisKICAgICBEYXRhTGFiZWwzMiBsb2FkMzJXaXRoQWRk
cmVzc09mZnNldFBhdGNoKEFkZHJlc3MgYWRkcmVzcywgUmVnaXN0ZXJJRCBkZXN0KQogICAgIHsK
ICAgICAgICAgRGF0YUxhYmVsMzIgZGF0YUxhYmVsKHRoaXMpOwpAQCAtMzY0LDYgKzM3MywxMiBA
QCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBicmFuY2gzMihjb25kLCBBUk1SZWdpc3RlcnM6OlMx
LCByaWdodCk7CiAgICAgfQogCisgICAgSnVtcCBicmFuY2gzMldpdGhVbmFsaWduZWRIYWxmV29y
ZHMoQ29uZGl0aW9uIGNvbmQsIEJhc2VJbmRleCBsZWZ0LCBJbW0zMiByaWdodCkKKyAgICB7Cisg
ICAgICAgIGxvYWQzMldpdGhVbmFsaWduZWRIYWxmV29yZHMobGVmdCwgQVJNUmVnaXN0ZXJzOjpT
MSk7CisgICAgICAgIHJldHVybiBicmFuY2gzMihjb25kLCBBUk1SZWdpc3RlcnM6OlMxLCByaWdo
dCk7CisgICAgfQorCiAgICAgSnVtcCBicmFuY2gxNihDb25kaXRpb24gY29uZCwgQmFzZUluZGV4
IGxlZnQsIFJlZ2lzdGVySUQgcmlnaHQpCiAgICAgewogICAgICAgICBVTlVTRURfUEFSQU0oY29u
ZCk7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJB
Uk12Ny5oIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNdjcuaApp
bmRleCA5OTkwNTZiLi5hNTQ5NjA0IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJs
ZXIvTWFjcm9Bc3NlbWJsZXJBUk12Ny5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9N
YWNyb0Fzc2VtYmxlckFSTXY3LmgKQEAgLTM3NSw2ICszNzUsMTEgQEAgcHVibGljOgogICAgICAg
ICBsb2FkMzIoc2V0dXBBcm1BZGRyZXNzKGFkZHJlc3MpLCBkZXN0KTsKICAgICB9CiAKKyAgICB2
b2lkIGxvYWQzMldpdGhVbmFsaWduZWRIYWxmV29yZHMoQmFzZUluZGV4IGFkZHJlc3MsIFJlZ2lz
dGVySUQgZGVzdCkKKyAgICB7CisgICAgICAgIGxvYWQzMihzZXR1cEFybUFkZHJlc3MoYWRkcmVz
cyksIGRlc3QpOworICAgIH0KKwogICAgIHZvaWQgbG9hZDMyKHZvaWQqIGFkZHJlc3MsIFJlZ2lz
dGVySUQgZGVzdCkKICAgICB7CiAgICAgICAgIG1vdmUoSW1tUHRyKGFkZHJlc3MpLCBhZGRyZXNz
VGVtcFJlZ2lzdGVyKTsKQEAgLTcxNyw2ICs3MjIsMTMgQEAgcHVibGljOgogICAgICAgICByZXR1
cm4gYnJhbmNoMzIoY29uZCwgYWRkcmVzc1RlbXBSZWdpc3RlciwgcmlnaHQpOwogICAgIH0KIAor
ICAgIEp1bXAgYnJhbmNoMzJXaXRoVW5hbGlnbmVkSGFsZldvcmRzKENvbmRpdGlvbiBjb25kLCBC
YXNlSW5kZXggbGVmdCwgSW1tMzIgcmlnaHQpCisgICAgeworICAgICAgICAvLyB1c2UgYWRkcmVz
c1RlbXBSZWdpc3RlciBpbmNhc2UgdGhlIGJyYW5jaDMyIHdlIGNhbGwgdXNlcyBkYXRhVGVtcFJl
Z2lzdGVyLiA6LS8KKyAgICAgICAgbG9hZDMyV2l0aFVuYWxpZ25lZEhhbGZXb3JkcyhsZWZ0LCBh
ZGRyZXNzVGVtcFJlZ2lzdGVyKTsKKyAgICAgICAgcmV0dXJuIGJyYW5jaDMyKGNvbmQsIGFkZHJl
c3NUZW1wUmVnaXN0ZXIsIHJpZ2h0KTsKKyAgICB9CisKICAgICBKdW1wIGJyYW5jaDMyKENvbmRp
dGlvbiBjb25kLCBBYnNvbHV0ZUFkZHJlc3MgbGVmdCwgUmVnaXN0ZXJJRCByaWdodCkKICAgICB7
CiAgICAgICAgIGxvYWQzMihsZWZ0Lm1fcHRyLCBkYXRhVGVtcFJlZ2lzdGVyKTsKZGlmZiAtLWdp
dCBhL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5oIGIv
SmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmgKaW5kZXgg
NjFlMGUxNy4uNWViZWZhNyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01h
Y3JvQXNzZW1ibGVyWDg2Q29tbW9uLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01h
Y3JvQXNzZW1ibGVyWDg2Q29tbW9uLmgKQEAgLTMwNiw2ICszMDYsMTEgQEAgcHVibGljOgogICAg
ICAgICBtX2Fzc2VtYmxlci5tb3ZsX21yKGFkZHJlc3Mub2Zmc2V0LCBhZGRyZXNzLmJhc2UsIGFk
ZHJlc3MuaW5kZXgsIGFkZHJlc3Muc2NhbGUsIGRlc3QpOwogICAgIH0KIAorICAgIHZvaWQgbG9h
ZDMyV2l0aFVuYWxpZ25lZEhhbGZXb3JkcyhCYXNlSW5kZXggYWRkcmVzcywgUmVnaXN0ZXJJRCBk
ZXN0KQorICAgIHsKKyAgICAgICAgbG9hZDMyKGFkZHJlc3MsIGRlc3QpOworICAgIH0KKwogICAg
IERhdGFMYWJlbDMyIGxvYWQzMldpdGhBZGRyZXNzT2Zmc2V0UGF0Y2goQWRkcmVzcyBhZGRyZXNz
LCBSZWdpc3RlcklEIGRlc3QpCiAgICAgewogICAgICAgICBtX2Fzc2VtYmxlci5tb3ZsX21yX2Rp
c3AzMihhZGRyZXNzLm9mZnNldCwgYWRkcmVzcy5iYXNlLCBkZXN0KTsKQEAgLTYwNCw2ICs2MDks
MTEgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gSnVtcChtX2Fzc2VtYmxlci5qQ0MoeDg2Q29u
ZGl0aW9uKGNvbmQpKSk7CiAgICAgfQogCisgICAgSnVtcCBicmFuY2gzMldpdGhVbmFsaWduZWRI
YWxmV29yZHMoQ29uZGl0aW9uIGNvbmQsIEJhc2VJbmRleCBsZWZ0LCBJbW0zMiByaWdodCkKKyAg
ICB7CisgICAgICAgIHJldHVybiBicmFuY2gzMihjb25kLCBsZWZ0LCByaWdodCk7CisgICAgfQor
CiAgICAgSnVtcCBicmFuY2gxNihDb25kaXRpb24gY29uZCwgQmFzZUluZGV4IGxlZnQsIFJlZ2lz
dGVySUQgcmlnaHQpCiAgICAgewogICAgICAgICBtX2Fzc2VtYmxlci5jbXB3X3JtKHJpZ2h0LCBs
ZWZ0Lm9mZnNldCwgbGVmdC5iYXNlLCBsZWZ0LmluZGV4LCBsZWZ0LnNjYWxlKTsKZGlmZiAtLWdp
dCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1Bs
YXRmb3JtLmgKaW5kZXggNTNiNjJkYi4uMjM0MGQzZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENv
cmUvd3RmL1BsYXRmb3JtLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKQEAg
LTI1Nyw2ICsyNTcsMTAgQEAKICN1bmRlZiBBUk1fQVJDSF9WRVJTSU9OCiAjZGVmaW5lIEFSTV9B
UkNIX1ZFUlNJT04gNwogI2VuZGlmCisvKiBPbiBBUk12NSBhbmQgYmVsb3cgdGhlIG5hdHVyYWwg
YWxpZ25tZW50IGlzIHJlcXVpcmVkLiAqLworI2lmICFkZWZpbmVkKEFSTV9SRVFVSVJFX05BVFVS
QUxfQUxJR05NRU5UKSAmJiBBUk1fQVJDSF9WRVJTSU9OIDw9IDUKKyNkZWZpbmUgQVJNX1JFUVVJ
UkVfTkFUVVJBTF9BTElHTk1FTlQgMQorI2VuZGlmCiAvKiBEZWZpbmVzIHR3byBwc2V1ZG8tcGxh
dGZvcm1zIGZvciBBUk0gYW5kIFRodW1iLTIgaW5zdHJ1Y3Rpb24gc2V0LiAqLwogI2lmICFkZWZp
bmVkKFdURl9QTEFURk9STV9BUk1fVFJBRElUSU9OQUwpICYmICFkZWZpbmVkKFdURl9QTEFURk9S
TV9BUk1fVEhVTUIyKQogIyAgaWYgZGVmaW5lZCh0aHVtYjIpIHx8IGRlZmluZWQoX190aHVtYjJf
XykKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhKSVQuY3BwIGIvSmF2YVNj
cmlwdENvcmUveWFyci9SZWdleEpJVC5jcHAKaW5kZXggNDM5MGI1Yi4uZDc3NzQyNCAxMDA2NDQK
LS0tIGEvSmF2YVNjcmlwdENvcmUveWFyci9SZWdleEpJVC5jcHAKKysrIGIvSmF2YVNjcmlwdENv
cmUveWFyci9SZWdleEpJVC5jcHAKQEAgLTU0OSwxMSArNTQ5LDExIEBAIGNsYXNzIFJlZ2V4R2Vu
ZXJhdG9yIDogcHJpdmF0ZSBNYWNyb0Fzc2VtYmxlciB7CiAgICAgICAgIH0KIAogICAgICAgICBp
ZiAobWFzaykgewotICAgICAgICAgICAgbG9hZDMyKEJhc2VJbmRleChpbnB1dCwgaW5kZXgsIFRp
bWVzVHdvLCBzdGF0ZS5pbnB1dE9mZnNldCgpICogc2l6ZW9mKFVDaGFyKSksIGNoYXJhY3Rlcik7
CisgICAgICAgICAgICBsb2FkMzJXaXRoVW5hbGlnbmVkSGFsZldvcmRzKEJhc2VJbmRleChpbnB1
dCwgaW5kZXgsIFRpbWVzVHdvLCBzdGF0ZS5pbnB1dE9mZnNldCgpICogc2l6ZW9mKFVDaGFyKSks
IGNoYXJhY3Rlcik7CiAgICAgICAgICAgICBvcjMyKEltbTMyKG1hc2spLCBjaGFyYWN0ZXIpOwog
ICAgICAgICAgICAgc3RhdGUuanVtcFRvQmFja3RyYWNrKGJyYW5jaDMyKE5vdEVxdWFsLCBjaGFy
YWN0ZXIsIEltbTMyKGNoUGFpciB8IG1hc2spKSwgdGhpcyk7CiAgICAgICAgIH0gZWxzZQotICAg
ICAgICAgICAgc3RhdGUuanVtcFRvQmFja3RyYWNrKGJyYW5jaDMyKE5vdEVxdWFsLCBCYXNlSW5k
ZXgoaW5wdXQsIGluZGV4LCBUaW1lc1R3bywgc3RhdGUuaW5wdXRPZmZzZXQoKSAqIHNpemVvZihV
Q2hhcikpLCBJbW0zMihjaFBhaXIpKSwgdGhpcyk7CisgICAgICAgICAgICBzdGF0ZS5qdW1wVG9C
YWNrdHJhY2soYnJhbmNoMzJXaXRoVW5hbGlnbmVkSGFsZldvcmRzKE5vdEVxdWFsLCBCYXNlSW5k
ZXgoaW5wdXQsIGluZGV4LCBUaW1lc1R3bywgc3RhdGUuaW5wdXRPZmZzZXQoKSAqIHNpemVvZihV
Q2hhcikpLCBJbW0zMihjaFBhaXIpKSwgdGhpcyk7CiAgICAgfQogCiAgICAgdm9pZCBnZW5lcmF0
ZVBhdHRlcm5DaGFyYWN0ZXJGaXhlZChUZXJtR2VuZXJhdGlvblN0YXRlJiBzdGF0ZSkKLS0gCjEu
Ni4wLjQKCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>