<?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>159408</bug_id>
          
          <creation_ts>2016-07-04 08:02:17 -0700</creation_ts>
          <short_desc>Fix the ARMv7 platform with ARM instruction set after r202214</short_desc>
          <delta_ts>2017-06-20 02:15:32 -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>Other</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></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>
          <dependson>159709</dependson>
    
    <dependson>159720</dependson>
    
    <dependson>159758</dependson>
    
    <dependson>160295</dependson>
    
    <dependson>123717</dependson>
    
    <dependson>159707</dependson>
    
    <dependson>159708</dependson>
    
    <dependson>159711</dependson>
    
    <dependson>159713</dependson>
    
    <dependson>159759</dependson>
          <blocked>108645</blocked>
    
    <blocked>158719</blocked>
    
    <blocked>159083</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Csaba Osztrogonác">ossy</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>clopez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>ossy</cc>
    
    <cc>saam</cc>
    
    <cc>tpopela</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1207679</commentid>
    <comment_count>0</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2016-07-04 08:02:17 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/202214 broke the ARMv7 build with ARM instruction set 
(ARM traditional) because of missing patchableBranch32 and fillNops implementations.

bug159083 fixed the build in a wrong way - switching to Thumb2 explicitly.
I&apos;m going to revert this change and add missing functions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207680</commentid>
    <comment_count>1</comment_count>
      <attachid>282721</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2016-07-04 08:05:59 -0700</bug_when>
    <thetext>Created attachment 282721
Patch

WIP patch. It builds, but tests crashes now, still debugging.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207683</commentid>
    <comment_count>2</comment_count>
      <attachid>282721</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2016-07-04 08:09:03 -0700</bug_when>
    <thetext>Comment on attachment 282721
Patch

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

&gt; Source/JavaScriptCore/bytecode/InlineAccess.h:56
&gt; -        return 50;
&gt; +        return 64;

WIP: Return dummy but valid values, until we can calculate the proper value somehow.
I hope more nops won&apos;t cause problems.

&gt; Source/JavaScriptCore/bytecode/InlineAccess.h:75
&gt; -        return 50;
&gt; +        return 64;

ditto

&gt; Source/JavaScriptCore/bytecode/InlineAccess.h:94
&gt; -        return 50;
&gt; +        return 64;

ditto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207684</commentid>
    <comment_count>3</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2016-07-04 08:10:20 -0700</bug_when>
    <thetext>infos about the crash I notice:

sunspider-1.0/3d-cube.js.dfg-maximal-flush-validate-no-cjit:     [1470] get_by_id         loc9, loc8, NumPx(@id22) llint(struct = 0xb29a7ae0 (offset = 103))    predicting Nonboolint32
sunspider-1.0/3d-cube.js.dfg-maximal-flush-validate-no-cjit:         disassembly not available for range 0xb2f13da4...0xb2f13e0c

(gdb) disas 0xb2f13da4,0xb2f13e0c
Dump of assembler code from 0xb2f13da4 to 0xb2f13e0c:
   0xb2f13da4:  ldr     r0, [r11, #-72] ; 0x48
   0xb2f13da8:  ldr     r1, [r11, #-68] ; 0x44
   0xb2f13dac:  cmn     r1, #5
   0xb2f13db0:  bne     0xb2f18c48
   0xb2f13db4:  ldr     r12, [r0]
   0xb2f13db8:  movw    r6, #31456      ; 0x7ae0
   0xb2f13dbc:  movt    r6, #45722      ; 0xb29a
   0xb2f13dc0:  cmp     r12, r6
   0xb2f13dc4:  ldrne   r12, [pc, #16]  ; 0xb2f13ddc
   0xb2f13dc8:  bxne    r12
   0xb2f13dcc:  ldr     r0, [r0, #8]
   0xb2f13dd0:  ldr     r1, [r0, #-36]  ; 0x24
   0xb2f13dd4:  ldr     r0, [r0, #-40]  ; 0x28
=&gt; 0xb2f13dd8:  bkpt    0xffff
   0xb2f13ddc:  rscslt  r8, r1, #72, 24 ; 0x4800
   0xb2f13de0:  nop                     ; (mov r0, r0)
   0xb2f13de4:  nop                     ; (mov r0, r0)
   0xb2f13de8:  nop                     ; (mov r0, r0)
   0xb2f13dec:  nop                     ; (mov r0, r0)
   0xb2f13df0:  nop                     ; (mov r0, r0)
   0xb2f13df4:  ldr     r6, [pc, #1848] ; 0xb2f14534
   0xb2f13df8:  str     r0, [r6]
   0xb2f13dfc:  ldr     r6, [pc, #1844] ; 0xb2f14538
   0xb2f13e00:  str     r1, [r6]
   0xb2f13e04:  str     r0, [r11, #-80] ; 0x50
   0xb2f13e08:  str     r1, [r11, #-76] ; 0x4c
End of assembler dump.
(gdb) info registers
r0             0x168    360
r1             0xffffffff       4294967295
r2             0x0      0
r3             0xbed44828       3201583144
r4             0xffffffff       4294967295
r5             0x0      0
r6             0xb29a7ae0       2996468448
r7             0x0      0
r8             0xb29c71e0       2996597216
r9             0xfffffffb       4294967291
r10            0x1      1
r11            0xbed44968       3201583464
r12            0xb29a7ae0       2996468448
sp             0xbed448a0       0xbed448a0
lr             0xb2f13d1c       -1292813028
pc             0xb2f13dd8       0xb2f13dd8
cpsr           0x600f0010       1611595792</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207793</commentid>
    <comment_count>4</comment_count>
      <attachid>282767</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2016-07-05 04:09:33 -0700</bug_when>
    <thetext>Created attachment 282767
Patch

Still WIP patch, updated magic numbers, still have crashes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207848</commentid>
    <comment_count>5</comment_count>
      <attachid>282767</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-07-05 08:40:58 -0700</bug_when>
    <thetext>Comment on attachment 282767
Patch

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

&gt; Source/JavaScriptCore/assembler/MacroAssemblerARM.h:1550
&gt; +            m_assembler.cmp(ARMRegisters::S1, m_assembler.getImm(right.m_value, ARMRegisters::S0));

Are S0 and S1 always scratch? As in it will never be a register that DFG allocates?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1208132</commentid>
    <comment_count>6</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2016-07-06 02:20:22 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Comment on attachment 282767 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=282767&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/assembler/MacroAssemblerARM.h:1550
&gt; &gt; +            m_assembler.cmp(ARMRegisters::S1, m_assembler.getImm(right.m_value, ARMRegisters::S0));
&gt; 
&gt; Are S0 and S1 always scratch? As in it will never be a register that DFG
&gt; allocates?

As far as I know we can use scratch registers in MacroAssembler
without any restriction. But I might be wrong.

note: I&apos;ll update magic number based on
https://bugs.webkit.org/show_bug.cgi?id=158719#c29</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1210382</commentid>
    <comment_count>7</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2016-07-13 03:22:36 -0700</bug_when>
    <thetext>I found more bugs here, I&apos;m going to fix them one by one in separated bugs.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>282721</attachid>
            <date>2016-07-04 08:05:59 -0700</date>
            <delta_ts>2016-07-05 04:09:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-159408-20160704080530.patch</filename>
            <type>text/plain</type>
            <size>5526</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAyODA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBk
M2VmNGQ0ZDUwOWYyY2VhMmY2YzIzNzQ1NTQ3YTI2MjU5YjQzOWRhLi45MjY3NTA5MDFmMTIzYzE4
NGMyMWZiYjVkN2YyZGZjZjM2ZmQwMWJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMCBAQAorMjAxNi0wNy0wNCAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQu
b3JnPgorCisgICAgICAgIEZpeCB0aGUgQVJNdjcgcGxhdGZvcm0gd2l0aCBBUk0gaW5zdHJ1Y3Rp
b24gc2V0IGFmdGVyIHIyMDIyMTQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE1OTQwOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogYXNzZW1ibGVyL0FSTUFzc2VtYmxlci5oOgorICAgICAgICAoSlNDOjpB
Uk1Bc3NlbWJsZXI6OmZpbGxOb3BzKToKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJs
ZXJBUk0uaDoKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk06OnBhdGNoYWJsZUJyYW5j
aDMyKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk06OmludGVybmFsQ29tcGFyZTMy
KToKKyAgICAgICAgKiBieXRlY29kZS9JbmxpbmVBY2Nlc3MuaDoKKyAgICAgICAgKEpTQzo6SW5s
aW5lQWNjZXNzOjpzaXplRm9yUHJvcGVydHlBY2Nlc3MpOgorICAgICAgICAoSlNDOjpJbmxpbmVB
Y2Nlc3M6OnNpemVGb3JQcm9wZXJ0eVJlcGxhY2UpOgorICAgICAgICAoSlNDOjpJbmxpbmVBY2Nl
c3M6OnNpemVGb3JMZW5ndGhBY2Nlc3MpOgorCiAyMDE2LTA3LTAzICBQZXIgQXJuZSBWb2xsYW4g
IDxwdm9sbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2luXSBETExzIGFyZSBtaXNzaW5nIHZl
cnNpb24gaW5mb3JtYXRpb24uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGQyZjg2M2ZhNmM1MjViZWFlYWZkMzZjMTk5ZGM4NTI0
ZjY5ZmQ2ZDIuLmZiOGZkNDUzOGM4YTI5MzkyMjE4NzE0ZDA1MmM3ZjEyODI2YmZlYTMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTIgQEAKKzIwMTYtMDctMDQgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Vi
a2l0Lm9yZz4KKworICAgICAgICBGaXggdGhlIEFSTXY3IHBsYXRmb3JtIHdpdGggQVJNIGluc3Ry
dWN0aW9uIHNldCBhZnRlciByMjAyMjE0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNTk0MDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIHd0Zi9QbGF0Zm9ybS5oOgorCiAyMDE2LTA3LTAzICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2luXSBETExzIGFyZSBt
aXNzaW5nIHZlcnNpb24gaW5mb3JtYXRpb24uCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYXNzZW1ibGVyL0FSTUFzc2VtYmxlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fz
c2VtYmxlci9BUk1Bc3NlbWJsZXIuaAppbmRleCBmYTJmMzM0MGExZDYyOTQ0Nzk0NzZiZWY3YTBk
ZDMzY2FlMDY0Y2NhLi45YzI5NzRmOGViY2UxZTFlNWIzMmE5MzJkMWE1ODk4Y2UyYWQ3N2U2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0FSTUFzc2VtYmxlci5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQVJNQXNzZW1ibGVyLmgKQEAg
LTcwNiw2ICs3MDYsMTggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICBtX2J1ZmZlci5w
dXRJbnQoTk9QKTsKICAgICAgICAgfQogCisgICAgICAgIHN0YXRpYyB2b2lkIGZpbGxOb3BzKHZv
aWQqIGJhc2UsIHNpemVfdCBzaXplLCBib29sIGlzQ29weWluZ1RvRXhlY3V0YWJsZU1lbW9yeSkK
KyAgICAgICAgeworICAgICAgICAgICAgVU5VU0VEX1BBUkFNKGlzQ29weWluZ1RvRXhlY3V0YWJs
ZU1lbW9yeSk7CisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVCghKHNpemUgJSBzaXplb2YoaW50
MzJfdCkpKTsKKworICAgICAgICAgICAgaW50MzJfdCogcHRyID0gc3RhdGljX2Nhc3Q8aW50MzJf
dCo+KGJhc2UpOworICAgICAgICAgICAgY29uc3Qgc2l6ZV90IG51bTMycyA9IHNpemUgLyBzaXpl
b2YoaW50MzJfdCk7CisgICAgICAgICAgICBjb25zdCBpbnQzMl90IGluc24gPSBOT1A7CisgICAg
ICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG51bTMyczsgaSsrKQorICAgICAgICAgICAg
ICAgICpwdHIrKyA9IGluc247CisgICAgICAgIH0KKwogICAgICAgICB2b2lkIGRtYlNZKCkKICAg
ICAgICAgewogICAgICAgICAgICAgbV9idWZmZXIucHV0SW50KERNQl9TWSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNLmgKaW5kZXgg
ZmNiMjBhYzg2Njk3NmY3MTQ2YjdhMjRiNDlkMmRhMjE0Mjk4OWEzMy4uOWIwZGQzOTVmZDQzMmRl
NDljMjQzMTg5YTUzNjQ5MDY0MmQ5ZGIzMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk0uaApAQCAtOTEwLDYgKzkxMCwxNCBAQCBw
dWJsaWM6CiAgICAgICAgIHJldHVybiBQYXRjaGFibGVKdW1wKGp1bXApOwogICAgIH0KIAorICAg
IFBhdGNoYWJsZUp1bXAgcGF0Y2hhYmxlQnJhbmNoMzIoUmVsYXRpb25hbENvbmRpdGlvbiBjb25k
LCBBZGRyZXNzIGFkZHJlc3MsIFRydXN0ZWRJbW0zMiBpbW0pCisgICAgeworICAgICAgICBpbnRl
cm5hbENvbXBhcmUzMihhZGRyZXNzLCBpbW0pOworICAgICAgICBKdW1wIGp1bXAobV9hc3NlbWJs
ZXIubG9hZEJyYW5jaFRhcmdldChBUk1SZWdpc3RlcnM6OlMxLCBBUk1Db25kaXRpb24oY29uZCks
IHRydWUpKTsKKyAgICAgICAgbV9hc3NlbWJsZXIuYngoQVJNUmVnaXN0ZXJzOjpTMSwgQVJNQ29u
ZGl0aW9uKGNvbmQpKTsKKyAgICAgICAgcmV0dXJuIFBhdGNoYWJsZUp1bXAoanVtcCk7CisgICAg
fQorCiAgICAgdm9pZCBicmVha3BvaW50KCkKICAgICB7CiAgICAgICAgIG1fYXNzZW1ibGVyLmJr
cHQoMCk7CkBAIC0xNTMyLDYgKzE1NDAsMTYgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIG1fYXNz
ZW1ibGVyLmNtcChsZWZ0LCBtX2Fzc2VtYmxlci5nZXRJbW0ocmlnaHQubV92YWx1ZSwgQVJNUmVn
aXN0ZXJzOjpTMCkpOwogICAgIH0KIAorICAgIHZvaWQgaW50ZXJuYWxDb21wYXJlMzIoQWRkcmVz
cyBsZWZ0LCBUcnVzdGVkSW1tMzIgcmlnaHQpCisgICAgeworICAgICAgICBBUk1Xb3JkIHRtcCA9
IChzdGF0aWNfY2FzdDx1bnNpZ25lZD4ocmlnaHQubV92YWx1ZSkgPT0gMHg4MDAwMDAwMCkgPyBB
Uk1Bc3NlbWJsZXI6OkludmFsaWRJbW1lZGlhdGUgOiBtX2Fzc2VtYmxlci5nZXRPcDIoLXJpZ2h0
Lm1fdmFsdWUpOworICAgICAgICBsb2FkMzIobGVmdCwgQVJNUmVnaXN0ZXJzOjpTMSk7CisgICAg
ICAgIGlmICh0bXAgIT0gQVJNQXNzZW1ibGVyOjpJbnZhbGlkSW1tZWRpYXRlKQorICAgICAgICAg
ICAgbV9hc3NlbWJsZXIuY21uKEFSTVJlZ2lzdGVyczo6UzEsIHRtcCk7CisgICAgICAgIGVsc2UK
KyAgICAgICAgICAgIG1fYXNzZW1ibGVyLmNtcChBUk1SZWdpc3RlcnM6OlMxLCBtX2Fzc2VtYmxl
ci5nZXRJbW0ocmlnaHQubV92YWx1ZSwgQVJNUmVnaXN0ZXJzOjpTMCkpOworICAgIH0KKwogICAg
IHN0YXRpYyB2b2lkIGxpbmtDYWxsKHZvaWQqIGNvZGUsIENhbGwgY2FsbCwgRnVuY3Rpb25QdHIg
ZnVuY3Rpb24pCiAgICAgewogICAgICAgICBpZiAoY2FsbC5pc0ZsYWdTZXQoQ2FsbDo6VGFpbCkp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW5saW5lQWNjZXNz
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW5saW5lQWNjZXNzLmgKaW5kZXgg
YjZlNjI3MWVkOTliMDBmNDIxNDYwZTI3OTAwZWU5NTQ0YmYxZjJmMy4uMTBhYTAyMWRlNTdlYmFl
YjdmZjFlYjcyYjFhZTI2ZDA5YzlkY2YyNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0lubGluZUFjY2Vzcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9JbmxpbmVBY2Nlc3MuaApAQCAtNTMsNyArNTMsNyBAQCBwdWJsaWM6CiAjaWYgQ1BV
KEFSTV9USFVNQjIpCiAgICAgICAgIHJldHVybiA0ODsKICNlbHNlCi0gICAgICAgIHJldHVybiA1
MDsKKyAgICAgICAgcmV0dXJuIDY0OwogI2VuZGlmCiAjZWxzZQogI2Vycm9yICJ1bnN1cHBvcnRl
ZCBwbGF0Zm9ybSIKQEAgLTcyLDcgKzcyLDcgQEAgcHVibGljOgogI2lmIENQVShBUk1fVEhVTUIy
KQogICAgICAgICByZXR1cm4gNDg7CiAjZWxzZQotICAgICAgICByZXR1cm4gNTA7CisgICAgICAg
IHJldHVybiA2NDsKICNlbmRpZgogI2Vsc2UKICNlcnJvciAidW5zdXBwb3J0ZWQgcGxhdGZvcm0i
CkBAIC05MSw3ICs5MSw3IEBAIHB1YmxpYzoKICNpZiBDUFUoQVJNX1RIVU1CMikKICAgICAgICAg
cmV0dXJuIDMwOwogI2Vsc2UKLSAgICAgICAgcmV0dXJuIDUwOworICAgICAgICByZXR1cm4gNjQ7
CiAjZW5kaWYKICNlbHNlCiAjZXJyb3IgInVuc3VwcG9ydGVkIHBsYXRmb3JtIgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgK
aW5kZXggZjRjOWYyOTI3MDYxMWNhYTVlM2VlMzVhZGJkMmVlZGNiYjgxYzJhZi4uODI2NmYwYmFi
YzQ5MmM3NDc0ZGViYjRkNTNlMzIyYWQ5NzNkZjk1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93
dGYvUGxhdGZvcm0uaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCkBAIC0zMDIsNyAr
MzAyLDYgQEAKIC8qIE9ubHkgb25lIG9mIHRoZXNlIHdpbGwgYmUgZGVmaW5lZC4gKi8KICNpZiAh
ZGVmaW5lZChXVEZfQ1BVX0FSTV9UUkFESVRJT05BTCkgJiYgIWRlZmluZWQoV1RGX0NQVV9BUk1f
VEhVTUIyKQogIyAgaWYgZGVmaW5lZCh0aHVtYjIpIHx8IGRlZmluZWQoX190aHVtYjJfXykgXAot
ICAgIHx8IChkZWZpbmVkKF9fQVJNX0FSQ0hfSVNBX1RIVU1CKSAmJiBfX0FSTV9BUkNIX0lTQV9U
SFVNQiA9PSAyKSBcCiAgICAgfHwgKChkZWZpbmVkKF9fdGh1bWIpIHx8IGRlZmluZWQoX190aHVt
Yl9fKSkgJiYgV1RGX1RIVU1CX0FSQ0hfVkVSU0lPTiA9PSA0KQogIyAgICBkZWZpbmUgV1RGX0NQ
VV9BUk1fVFJBRElUSU9OQUwgMAogIyAgICBkZWZpbmUgV1RGX0NQVV9BUk1fVEhVTUIyIDEK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>282767</attachid>
            <date>2016-07-05 04:09:33 -0700</date>
            <delta_ts>2016-07-13 04:59:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-159408-20160705040902.patch</filename>
            <type>text/plain</type>
            <size>5542</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAyODE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBk
M2VmNGQ0ZDUwOWYyY2VhMmY2YzIzNzQ1NTQ3YTI2MjU5YjQzOWRhLi5hYzIzNWJiODU0MTdmM2M0
ODQ5MTYwNGVjNTRmNTdlYWZlYjcyZDUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMCBAQAorMjAxNi0wNy0wNSAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQu
b3JnPgorCisgICAgICAgIEZpeCB0aGUgQVJNdjcgcGxhdGZvcm0gd2l0aCBBUk0gaW5zdHJ1Y3Rp
b24gc2V0IGFmdGVyIHIyMDIyMTQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE1OTQwOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogYXNzZW1ibGVyL0FSTUFzc2VtYmxlci5oOgorICAgICAgICAoSlNDOjpB
Uk1Bc3NlbWJsZXI6OmZpbGxOb3BzKToKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJs
ZXJBUk0uaDoKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk06OnBhdGNoYWJsZUJyYW5j
aDMyKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk06OmludGVybmFsQ29tcGFyZTMy
KToKKyAgICAgICAgKiBieXRlY29kZS9JbmxpbmVBY2Nlc3MuaDoKKyAgICAgICAgKEpTQzo6SW5s
aW5lQWNjZXNzOjpzaXplRm9yUHJvcGVydHlBY2Nlc3MpOgorICAgICAgICAoSlNDOjpJbmxpbmVB
Y2Nlc3M6OnNpemVGb3JQcm9wZXJ0eVJlcGxhY2UpOgorICAgICAgICAoSlNDOjpJbmxpbmVBY2Nl
c3M6OnNpemVGb3JMZW5ndGhBY2Nlc3MpOgorCiAyMDE2LTA3LTAzICBQZXIgQXJuZSBWb2xsYW4g
IDxwdm9sbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2luXSBETExzIGFyZSBtaXNzaW5nIHZl
cnNpb24gaW5mb3JtYXRpb24uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGQyZjg2M2ZhNmM1MjViZWFlYWZkMzZjMTk5ZGM4NTI0
ZjY5ZmQ2ZDIuLjA3NjJlMjM0ZmIzMzE1ZGU5OTZjZjE3NTVhNTIwZDFiY2NlNDRhZGMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTIgQEAKKzIwMTYtMDctMDUgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Vi
a2l0Lm9yZz4KKworICAgICAgICBGaXggdGhlIEFSTXY3IHBsYXRmb3JtIHdpdGggQVJNIGluc3Ry
dWN0aW9uIHNldCBhZnRlciByMjAyMjE0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNTk0MDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIHd0Zi9QbGF0Zm9ybS5oOiBSZXZlcnQgcjIwMjU2MC4KKwogMjAx
Ni0wNy0wMyAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CiAKICAgICAgICAg
W1dpbl0gRExMcyBhcmUgbWlzc2luZyB2ZXJzaW9uIGluZm9ybWF0aW9uLgpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk1Bc3NlbWJsZXIuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQVJNQXNzZW1ibGVyLmgKaW5kZXggZmEyZjMzNDBhMWQ2
Mjk0NDc5NDc2YmVmN2EwZGQzM2NhZTA2NGNjYS4uOWMyOTc0ZjhlYmNlMWUxZTViMzJhOTMyZDFh
NTg5OGNlMmFkNzdlNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxl
ci9BUk1Bc3NlbWJsZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0FS
TUFzc2VtYmxlci5oCkBAIC03MDYsNiArNzA2LDE4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAg
ICAgICAgbV9idWZmZXIucHV0SW50KE5PUCk7CiAgICAgICAgIH0KIAorICAgICAgICBzdGF0aWMg
dm9pZCBmaWxsTm9wcyh2b2lkKiBiYXNlLCBzaXplX3Qgc2l6ZSwgYm9vbCBpc0NvcHlpbmdUb0V4
ZWN1dGFibGVNZW1vcnkpCisgICAgICAgIHsKKyAgICAgICAgICAgIFVOVVNFRF9QQVJBTShpc0Nv
cHlpbmdUb0V4ZWN1dGFibGVNZW1vcnkpOworICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoIShz
aXplICUgc2l6ZW9mKGludDMyX3QpKSk7CisKKyAgICAgICAgICAgIGludDMyX3QqIHB0ciA9IHN0
YXRpY19jYXN0PGludDMyX3QqPihiYXNlKTsKKyAgICAgICAgICAgIGNvbnN0IHNpemVfdCBudW0z
MnMgPSBzaXplIC8gc2l6ZW9mKGludDMyX3QpOworICAgICAgICAgICAgY29uc3QgaW50MzJfdCBp
bnNuID0gTk9QOworICAgICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBudW0zMnM7IGkr
KykKKyAgICAgICAgICAgICAgICAqcHRyKysgPSBpbnNuOworICAgICAgICB9CisKICAgICAgICAg
dm9pZCBkbWJTWSgpCiAgICAgICAgIHsKICAgICAgICAgICAgIG1fYnVmZmVyLnB1dEludChETUJf
U1kpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fz
c2VtYmxlckFSTS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2Vt
YmxlckFSTS5oCmluZGV4IGZjYjIwYWM4NjY5NzZmNzE0NmI3YTI0YjQ5ZDJkYTIxNDI5ODlhMzMu
LjliMGRkMzk1ZmQ0MzJkZTQ5YzI0MzE4OWE1MzY0OTA2NDJkOWRiMzIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk0uaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNLmgKQEAgLTkx
MCw2ICs5MTAsMTQgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gUGF0Y2hhYmxlSnVtcChqdW1w
KTsKICAgICB9CiAKKyAgICBQYXRjaGFibGVKdW1wIHBhdGNoYWJsZUJyYW5jaDMyKFJlbGF0aW9u
YWxDb25kaXRpb24gY29uZCwgQWRkcmVzcyBhZGRyZXNzLCBUcnVzdGVkSW1tMzIgaW1tKQorICAg
IHsKKyAgICAgICAgaW50ZXJuYWxDb21wYXJlMzIoYWRkcmVzcywgaW1tKTsKKyAgICAgICAgSnVt
cCBqdW1wKG1fYXNzZW1ibGVyLmxvYWRCcmFuY2hUYXJnZXQoQVJNUmVnaXN0ZXJzOjpTMSwgQVJN
Q29uZGl0aW9uKGNvbmQpLCB0cnVlKSk7CisgICAgICAgIG1fYXNzZW1ibGVyLmJ4KEFSTVJlZ2lz
dGVyczo6UzEsIEFSTUNvbmRpdGlvbihjb25kKSk7CisgICAgICAgIHJldHVybiBQYXRjaGFibGVK
dW1wKGp1bXApOworICAgIH0KKwogICAgIHZvaWQgYnJlYWtwb2ludCgpCiAgICAgewogICAgICAg
ICBtX2Fzc2VtYmxlci5ia3B0KDApOwpAQCAtMTUzMiw2ICsxNTQwLDE2IEBAIHByaXZhdGU6CiAg
ICAgICAgICAgICBtX2Fzc2VtYmxlci5jbXAobGVmdCwgbV9hc3NlbWJsZXIuZ2V0SW1tKHJpZ2h0
Lm1fdmFsdWUsIEFSTVJlZ2lzdGVyczo6UzApKTsKICAgICB9CiAKKyAgICB2b2lkIGludGVybmFs
Q29tcGFyZTMyKEFkZHJlc3MgbGVmdCwgVHJ1c3RlZEltbTMyIHJpZ2h0KQorICAgIHsKKyAgICAg
ICAgQVJNV29yZCB0bXAgPSAoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHJpZ2h0Lm1fdmFsdWUpID09
IDB4ODAwMDAwMDApID8gQVJNQXNzZW1ibGVyOjpJbnZhbGlkSW1tZWRpYXRlIDogbV9hc3NlbWJs
ZXIuZ2V0T3AyKC1yaWdodC5tX3ZhbHVlKTsKKyAgICAgICAgbG9hZDMyKGxlZnQsIEFSTVJlZ2lz
dGVyczo6UzEpOworICAgICAgICBpZiAodG1wICE9IEFSTUFzc2VtYmxlcjo6SW52YWxpZEltbWVk
aWF0ZSkKKyAgICAgICAgICAgIG1fYXNzZW1ibGVyLmNtbihBUk1SZWdpc3RlcnM6OlMxLCB0bXAp
OworICAgICAgICBlbHNlCisgICAgICAgICAgICBtX2Fzc2VtYmxlci5jbXAoQVJNUmVnaXN0ZXJz
OjpTMSwgbV9hc3NlbWJsZXIuZ2V0SW1tKHJpZ2h0Lm1fdmFsdWUsIEFSTVJlZ2lzdGVyczo6UzAp
KTsKKyAgICB9CisKICAgICBzdGF0aWMgdm9pZCBsaW5rQ2FsbCh2b2lkKiBjb2RlLCBDYWxsIGNh
bGwsIEZ1bmN0aW9uUHRyIGZ1bmN0aW9uKQogICAgIHsKICAgICAgICAgaWYgKGNhbGwuaXNGbGFn
U2V0KENhbGw6OlRhaWwpKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL0lubGluZUFjY2Vzcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0lubGlu
ZUFjY2Vzcy5oCmluZGV4IGI2ZTYyNzFlZDk5YjAwZjQyMTQ2MGUyNzkwMGVlOTU0NGJmMWYyZjMu
LjE1YTkzYmJkMzRkMWE4NTI3YTc2ODI2MDViM2VlYTM3YmQ1ODYwODggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbmxpbmVBY2Nlc3MuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW5saW5lQWNjZXNzLmgKQEAgLTUzLDcgKzUzLDcgQEAg
cHVibGljOgogI2lmIENQVShBUk1fVEhVTUIyKQogICAgICAgICByZXR1cm4gNDg7CiAjZWxzZQot
ICAgICAgICByZXR1cm4gNTA7CisgICAgICAgIHJldHVybiA1MjsKICNlbmRpZgogI2Vsc2UKICNl
cnJvciAidW5zdXBwb3J0ZWQgcGxhdGZvcm0iCkBAIC03Miw3ICs3Miw3IEBAIHB1YmxpYzoKICNp
ZiBDUFUoQVJNX1RIVU1CMikKICAgICAgICAgcmV0dXJuIDQ4OwogI2Vsc2UKLSAgICAgICAgcmV0
dXJuIDUwOworICAgICAgICByZXR1cm4gNDg7CiAjZW5kaWYKICNlbHNlCiAjZXJyb3IgInVuc3Vw
cG9ydGVkIHBsYXRmb3JtIgpAQCAtOTEsNyArOTEsNyBAQCBwdWJsaWM6CiAjaWYgQ1BVKEFSTV9U
SFVNQjIpCiAgICAgICAgIHJldHVybiAzMDsKICNlbHNlCi0gICAgICAgIHJldHVybiA1MDsKKyAg
ICAgICAgcmV0dXJuIDMyOwogI2VuZGlmCiAjZWxzZQogI2Vycm9yICJ1bnN1cHBvcnRlZCBwbGF0
Zm9ybSIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmggYi9Tb3VyY2UvV1RG
L3d0Zi9QbGF0Zm9ybS5oCmluZGV4IGY0YzlmMjkyNzA2MTFjYWE1ZTNlZTM1YWRiZDJlZWRjYmI4
MWMyYWYuLjgyNjZmMGJhYmM0OTJjNzQ3NGRlYmI0ZDUzZTMyMmFkOTczZGY5NTcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZv
cm0uaApAQCAtMzAyLDcgKzMwMiw2IEBACiAvKiBPbmx5IG9uZSBvZiB0aGVzZSB3aWxsIGJlIGRl
ZmluZWQuICovCiAjaWYgIWRlZmluZWQoV1RGX0NQVV9BUk1fVFJBRElUSU9OQUwpICYmICFkZWZp
bmVkKFdURl9DUFVfQVJNX1RIVU1CMikKICMgIGlmIGRlZmluZWQodGh1bWIyKSB8fCBkZWZpbmVk
KF9fdGh1bWIyX18pIFwKLSAgICB8fCAoZGVmaW5lZChfX0FSTV9BUkNIX0lTQV9USFVNQikgJiYg
X19BUk1fQVJDSF9JU0FfVEhVTUIgPT0gMikgXAogICAgIHx8ICgoZGVmaW5lZChfX3RodW1iKSB8
fCBkZWZpbmVkKF9fdGh1bWJfXykpICYmIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gPT0gNCkKICMg
ICAgZGVmaW5lIFdURl9DUFVfQVJNX1RSQURJVElPTkFMIDAKICMgICAgZGVmaW5lIFdURl9DUFVf
QVJNX1RIVU1CMiAxCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>