<?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>132740</bug_id>
          
          <creation_ts>2014-05-09 06:16:33 -0700</creation_ts>
          <short_desc>REGRESSION(jsCStack branch merge): It caused ~180 failures on ARM Thumb2 Linux</short_desc>
          <delta_ts>2015-09-14 10:46:58 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>136436</dup_id>
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P1</priority>
          <bug_severity>Critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>108645</blocked>
    
    <blocked>127777</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Csaba Osztrogonác">ossy</reporter>
          <assigned_to name="Zan Dobersek">zan</assigned_to>
          <cc>akiss</cc>
    
    <cc>clopez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>llango.u-szeged</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>msaboff</cc>
    
    <cc>ossy</cc>
    
    <cc>vjaquez</cc>
    
    <cc>zan</cc>
    
    <cc>zherczeg</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1007964</commentid>
    <comment_count>0</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2014-05-09 06:16:33 -0700</bug_when>
    <thetext>EFL ARM Thumb2 bot: (GCC 4.8)
 - http://build.webkit.sed.hu/builders/EFL%20ARMv7%20Linux%20Release%20%28Build%29/builds/4026
GTK bot:
 - http://build.webkit.org/builders/GTK%20Linux%20ARM%20Release/builds/1870

We started to debug it, but haven&apos;t found the root of the problem yet.
It seems getbyid can&apos;t find __proto__ member of Object, Number, ...
after CStack branch merge for some reason. It&apos;s so strange, but
on debug build and on release build with -O0 (instead of the default -O3)
__proto__ exists as expected and tests pass. So it might be some
conflict between the CStack branch code and GCC compiler optimizations.

We are going to allocate somebody from the University to 
debug and fix this annoying bug next week.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1022437</commentid>
    <comment_count>1</comment_count>
      <attachid>234911</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-07-15 03:54:22 -0700</bug_when>
    <thetext>Created attachment 234911
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1022439</commentid>
    <comment_count>2</comment_count>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2014-07-15 04:03:56 -0700</bug_when>
    <thetext>The patch looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1022490</commentid>
    <comment_count>3</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2014-07-15 09:23:26 -0700</bug_when>
    <thetext>*** Bug 133283 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1022492</commentid>
    <comment_count>4</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2014-07-15 09:24:41 -0700</bug_when>
    <thetext>Thanks for the patch, I tested it on the EFL bot, it really fixes this bug:
http://build.webkit.sed.hu/builders/EFL%20ARMv7%20Linux%20Release%20%28Build%29/builds/5074</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1022493</commentid>
    <comment_count>5</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-07-15 09:27:26 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Thanks for the patch, I tested it on the EFL bot, it really fixes this bug:
&gt; http://build.webkit.sed.hu/builders/EFL%20ARMv7%20Linux%20Release%20%28Build%29/builds/5074

I think this patch is doing the wrong thing.  I’m still thinking it true and will provide a detailed review with suggestions soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1022545</commentid>
    <comment_count>6</comment_count>
      <attachid>234911</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-07-15 13:30:43 -0700</bug_when>
    <thetext>Comment on attachment 234911
Patch

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

&gt; Source/JavaScriptCore/ChangeLog:17
&gt; +        The current ARM procedure call code in JIT::compileCallEval and LLInt&apos;s makeHostFunctionCall
&gt; +        is tailored for the iOS target, which has a neat feature of ensuring that the cfr (r7) and
&gt; +        lr (r14) registers are pushed on the stack as the last two registers in the first of two spill
&gt; +        areas for the general-purpose registers. The location of the JSC::CallFrame object can then be
&gt; +        easily predicted by deducing the location of the to-be-spilled cfr register.
&gt; +
&gt; +        On Linux, the generated code closely follows the AAPCS and hence can&apos;t ensure that the two
&gt; +        registers will be placed side-by-side when pushed on the stack. This does happen when building
&gt; +        with disabled optimizations, but that&apos;s not preferrable. Instead, the performance is traded for
&gt; +        correctness by manually storing the cfr and lr registers on the stack.

This is inaccurate.  According to the AAPCS spec (http://infocenter.arm.com/help/topic/com.arm.doc.ihi0042e/IHI0042E_aapcs.pdf) Section 5.1.1 on Page 15, the callee subroutine must preserve the SP register: &quot;A subroutine must preserve the contents of the registers r4-r8, r10, r11 and SP ...”.  According to Section 5.3 on Page 17,  the return address must be stored in the LR register.  Therefore, it also follows that the value in LR should preserved before a subroutine makes a call to another subroutine.  The AAPCS does not specify nor restrict the way in which the SP and LR are preserved.  Hence, this is not a AAPCS compliance issue.

It looks like the issue is that your toolchain implements ARM EABI, which according to http://sourceware.org/ml/libc-ports/2009-06/msg00012.html, &quot;has no defined standard frame layout”.

The JSC JIT however, expects a standard frame layout which looks like the CallerFrameAndPC (in JSStack.h).  On ARM, we expect the callee to push LR followed by the previous frame register.  The frame register is then set to SP (in effect, preserving SP).

The issue here is that your GCC flavor’s implementation of the ARM EABI allows for optimizing out the standard frame layout.  Hence, the fix needed here should be to add EABI support.  This is not an iOS vs AAPCS issue.

With this understanding in mind, let’s look at your patch below.

&gt; Source/JavaScriptCore/ChangeLog:21
&gt; +        (JSC::JIT::compileCallEval): Store the cfr and lr registers in the properly allocated space on
&gt; +        the stack, cleaning it up after the call to the operation..

Redundant ‘.’

&gt; Source/JavaScriptCore/ChangeLog:22
&gt; +        * llint/LLIntOfflineAsmConfig.h: Define OFFLINE_ASM_ARM_AAPCS_ABI to 1 for non-iOS ARM targets.

Please fix this comment.

&gt; Source/JavaScriptCore/jit/JITCall32_64.cpp:222
&gt; +#if CPU(ARM) &amp;&amp; !PLATFORM(IOS)

This should be “#if COMPILER_SUPPORTS(EABI) &amp;&amp; CPU(ARM)” instead.

&gt; Source/JavaScriptCore/jit/JITCall32_64.cpp:224
&gt; +    store32(linkRegister, Address(stackPointerRegister, 4));

This is wrong.  The saved LR value should be the return point after the call emitted by the callOperationNoExceptionCheck() below.  Instead, you’re saving the LR of the caller i.e. the return address of the caller’s caller.

&gt; Source/JavaScriptCore/jit/JITCall32_64.cpp:233
&gt; +#if CPU(ARM) &amp;&amp; !PLATFORM(IOS)

This should be “#if COMPILER_SUPPORTS(EABI) &amp;&amp; CPU(ARM)” instead.

&gt; Source/JavaScriptCore/llint/LLIntOfflineAsmConfig.h:173
&gt; +#if CPU(ARM) &amp;&amp; !PLATFORM(IOS)
&gt; +#define OFFLINE_ASM_ARM_AAPCS_ABI 1
&gt; +#else
&gt; +#define OFFLINE_ASM_ARM_AAPCS_ABI 0
&gt; +#endif

This should be:
#if COMPILER_SUPPORTS(EABI) &amp;&amp; CPU(ARM)
#define OFFLINE_ASM_ARM_EABI 1
#else
#define OFFLINE_ASM_ARM_EABI 0
#endif

&gt; Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm:362
&gt; +        elsif ARM_AAPCS_ABI

s/ARM_AAPCS_ABI/ARM_EABI/.

&gt; Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm:364
&gt; +            storep lr, 4[sp]

This is wrong.  The LR value that should be stored is the return address after the call instruction below.  At this point, LR does not contain the correct value.

&gt; Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm:373
&gt; +        elsif ARM_AAPCS_ABI

s/ARM_AAPCS_ABI/ARM_EABI/.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1024185</commentid>
    <comment_count>7</comment_count>
      <attachid>235346</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-07-23 01:09:32 -0700</bug_when>
    <thetext>Created attachment 235346
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1024187</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-07-23 01:10:41 -0700</bug_when>
    <thetext>Attachment 235346 did not pass style-queue:


ERROR: Source/JavaScriptCore/jit/JITCall32_64.cpp:231:  The parameter name &quot;&quot;&quot;&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/llint/LowLevelInterpreter.cpp:535:  The parameter name &quot;&quot;&quot;&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 2 in 5 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1024225</commentid>
    <comment_count>9</comment_count>
      <attachid>235346</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2014-07-23 07:27:51 -0700</bug_when>
    <thetext>Comment on attachment 235346
Patch

This looks like a giant hack. It&apos;s really disgusting. Can you be more specific about what kind of frame layout the compiler generates and how it breaks our assumptions?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1026636</commentid>
    <comment_count>10</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-08-04 09:00:14 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 235346 [details])
&gt; This looks like a giant hack. It&apos;s really disgusting. Can you be more specific about what kind of frame layout the compiler generates and how it breaks our assumptions?

It definitely is a dirty hack.

This is an example of a function prologue that should outline the problem. Generated with GCC 4.8.

00055c9e &lt;operationNewArrayWithSizeAndProfile&gt;:
   55c9e:	e92d 43b0 	stmdb	sp!, {r4, r5, r7, r8, r9, lr}
   55ca2:	b084      	sub	sp, #16
   55ca4:	af02      	add	r7, sp, #8

Epilogue:
   55cd8:	3708      	adds	r7, #8
   55cda:	46bd      	mov	sp, r7
   55cdc:	e8bd 83b0 	ldmia.w	sp!, {r4, r5, r7, r8, r9, pc}

isARMArea1Register() and isARMArea2Register() functions in LLVM&apos;s ARMBaseRegisterInfo.h show that for iOS two register spill areas are used to get r7 and lr placed on the stack side by side.
http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMBaseRegisterInfo.h?view=markup</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1032900</commentid>
    <comment_count>11</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2014-09-03 08:21:09 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #9)
&gt; &gt; (From update of attachment 235346 [details] [details])
&gt; &gt; This looks like a giant hack. It&apos;s really disgusting. Can you be more specific about what kind of frame layout the compiler generates and how it breaks our assumptions?
&gt; 
&gt; It definitely is a dirty hack.
&gt; 
&gt; This is an example of a function prologue that should outline the problem. Generated with GCC 4.8.
&gt; 
&gt; 00055c9e &lt;operationNewArrayWithSizeAndProfile&gt;:
&gt;    55c9e:    e92d 43b0     stmdb    sp!, {r4, r5, r7, r8, r9, lr}
&gt;    55ca2:    b084          sub    sp, #16
&gt;    55ca4:    af02          add    r7, sp, #8
&gt; 
&gt; Epilogue:
&gt;    55cd8:    3708          adds    r7, #8
&gt;    55cda:    46bd          mov    sp, r7
&gt;    55cdc:    e8bd 83b0     ldmia.w    sp!, {r4, r5, r7, r8, r9, pc}
&gt; 
&gt; isARMArea1Register() and isARMArea2Register() functions in LLVM&apos;s ARMBaseRegisterInfo.h show that for iOS two register spill areas are used to get r7 and lr placed on the stack side by side.
&gt; http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMBaseRegisterInfo.h?view=markup

The prologue and epilogue look like they save and restore lr at the highest address in the callee&apos;s stack.  This is consistent with what the return PC location in struct CallerFrameAndPC.  The frame pointer (r7) isn&apos;t stored in the location we&apos;d like for struct CallerFrameAndPC, but that may not be an issue (more below).

We may need to move the stack pointer down similar to what is proposed in https://bugs.webkit.org/attachment.cgi?id=237526 posted for https://bugs.webkit.org/show_bug.cgi?id=136436 so that we don&apos;t try to use the saved contents of r9 as our caller&apos;s frame pointer.  If we made an update to that proposed change along with the already landed changes http://trac.webkit.org/changeset/173131 and http://trac.webkit.org/changeset/173031 that set the caller frame when transitioning from C++ to JavaScriptCode, I think we&apos;d be good or nearly so.  The change to the proposed patch might only be adding || (COMPILER_SUPPORTS(EABI) &amp;&amp; CPU(ARM)) to the #if NUMBER_OF_ARGUMENT_REGISTERS &lt; 4 and changing the comment.

The only remaining issue relates to the fp (r7) not being stored in the &quot;right&quot; place for JavaScriptCore.  The issue here is unwinding.  JavaScriptCore has it&apos;s own unwinding code that skips over native (C++) frames.  I believe with the changes landed and the the additional one described above, the current unwind code will work.  Though I don&apos;t know how a debugger like gdb would handle unwinding through a mix of native and JavaScript frames.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1033339</commentid>
    <comment_count>12</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2014-09-04 16:12:27 -0700</bug_when>
    <thetext>Think this may be fixed by change set r173282: &lt;http://trac.webkit.org/changeset/173282&gt; from https://bugs.webkit.org/show_bug.cgi?id=136436.  Could someone with access to an appropriate system verify that this has been fixed and if so, close out as a duplicate?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1033416</commentid>
    <comment_count>13</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2014-09-05 00:47:16 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; Think this may be fixed by change set r173282: &lt;http://trac.webkit.org/changeset/173282&gt; from https://bugs.webkit.org/show_bug.cgi?id=136436.  Could someone with access to an appropriate system verify that this has been fixed and if so, close out as a duplicate?

Thanks for the fix, it seems it solved the problem, at least the EFL Thumb2 bot
is happy now: http://build.webkit.sed.hu/builders/EFL%20ARMv7%20Linux%20Release%20%28Build%29/builds/5916

*** This bug has been marked as a duplicate of bug 136436 ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125613</commentid>
    <comment_count>14</comment_count>
      <attachid>235346</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-09-14 10:46:58 -0700</bug_when>
    <thetext>Comment on attachment 235346
Patch

Cleared review? from attachment 235346 so that this bug does not appear in http://webkit.org/pending-review.  If you would like this patch reviewed, please attach it to a new bug (or re-open this bug before marking it for review again).</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>234911</attachid>
            <date>2014-07-15 03:54:22 -0700</date>
            <delta_ts>2014-07-23 01:09:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-132740-20140715035404.patch</filename>
            <type>text/plain</type>
            <size>4421</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTcxMTAzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBA
CisyMDE0LTA3LTE1ICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAg
ICAgICBSRUdSRVNTSU9OKGpzQ1N0YWNrIGJyYW5jaCBtZXJnZSk6IEl0IGNhdXNlZCB+MTgwIGZh
aWx1cmVzIG9uIEFSTSBUaHVtYjIgTGludXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEzMjc0MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFRoZSBjdXJyZW50IEFSTSBwcm9jZWR1cmUgY2FsbCBjb2RlIGlu
IEpJVDo6Y29tcGlsZUNhbGxFdmFsIGFuZCBMTEludCdzIG1ha2VIb3N0RnVuY3Rpb25DYWxsCisg
ICAgICAgIGlzIHRhaWxvcmVkIGZvciB0aGUgaU9TIHRhcmdldCwgd2hpY2ggaGFzIGEgbmVhdCBm
ZWF0dXJlIG9mIGVuc3VyaW5nIHRoYXQgdGhlIGNmciAocjcpIGFuZAorICAgICAgICBsciAocjE0
KSByZWdpc3RlcnMgYXJlIHB1c2hlZCBvbiB0aGUgc3RhY2sgYXMgdGhlIGxhc3QgdHdvIHJlZ2lz
dGVycyBpbiB0aGUgZmlyc3Qgb2YgdHdvIHNwaWxsCisgICAgICAgIGFyZWFzIGZvciB0aGUgZ2Vu
ZXJhbC1wdXJwb3NlIHJlZ2lzdGVycy4gVGhlIGxvY2F0aW9uIG9mIHRoZSBKU0M6OkNhbGxGcmFt
ZSBvYmplY3QgY2FuIHRoZW4gYmUKKyAgICAgICAgZWFzaWx5IHByZWRpY3RlZCBieSBkZWR1Y2lu
ZyB0aGUgbG9jYXRpb24gb2YgdGhlIHRvLWJlLXNwaWxsZWQgY2ZyIHJlZ2lzdGVyLgorCisgICAg
ICAgIE9uIExpbnV4LCB0aGUgZ2VuZXJhdGVkIGNvZGUgY2xvc2VseSBmb2xsb3dzIHRoZSBBQVBD
UyBhbmQgaGVuY2UgY2FuJ3QgZW5zdXJlIHRoYXQgdGhlIHR3bworICAgICAgICByZWdpc3RlcnMg
d2lsbCBiZSBwbGFjZWQgc2lkZS1ieS1zaWRlIHdoZW4gcHVzaGVkIG9uIHRoZSBzdGFjay4gVGhp
cyBkb2VzIGhhcHBlbiB3aGVuIGJ1aWxkaW5nCisgICAgICAgIHdpdGggZGlzYWJsZWQgb3B0aW1p
emF0aW9ucywgYnV0IHRoYXQncyBub3QgcHJlZmVycmFibGUuIEluc3RlYWQsIHRoZSBwZXJmb3Jt
YW5jZSBpcyB0cmFkZWQgZm9yCisgICAgICAgIGNvcnJlY3RuZXNzIGJ5IG1hbnVhbGx5IHN0b3Jp
bmcgdGhlIGNmciBhbmQgbHIgcmVnaXN0ZXJzIG9uIHRoZSBzdGFjay4KKworICAgICAgICAqIGpp
dC9KSVRDYWxsMzJfNjQuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OmNvbXBpbGVDYWxsRXZhbCk6
IFN0b3JlIHRoZSBjZnIgYW5kIGxyIHJlZ2lzdGVycyBpbiB0aGUgcHJvcGVybHkgYWxsb2NhdGVk
IHNwYWNlIG9uCisgICAgICAgIHRoZSBzdGFjaywgY2xlYW5pbmcgaXQgdXAgYWZ0ZXIgdGhlIGNh
bGwgdG8gdGhlIG9wZXJhdGlvbi4uCisgICAgICAgICogbGxpbnQvTExJbnRPZmZsaW5lQXNtQ29u
ZmlnLmg6IERlZmluZSBPRkZMSU5FX0FTTV9BUk1fQUFQQ1NfQUJJIHRvIDEgZm9yIG5vbi1pT1Mg
QVJNIHRhcmdldHMuCisgICAgICAgICogbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjMyXzY0LmFz
bTogU3RvcmUgdGhlIGNmciBhbmQgbHIgcmVnaXN0ZXJzIG9uIHRoZSBzdGFjay4KKwogMjAxNC0w
Ny0xNCAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAgIEFsbG93IGZv
ciBJbnQ1MlJlcCB0byBzZWUgdGhpbmdzIG90aGVyIHRoYW4gSW50MzIsIGFuZCBtYWtlIHRoaXMg
dGVzdGFibGUKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ2FsbDMyXzY0LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVENhbGwzMl82NC5j
cHAJKHJldmlzaW9uIDE3MTEwMykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ2Fs
bDMyXzY0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjE5LDEwICsyMTksMjEgQEAgdm9pZCBKSVQ6
OmNvbXBpbGVMb2FkVmFyYXJncyhJbnN0cnVjdGlvbgogCiB2b2lkIEpJVDo6Y29tcGlsZUNhbGxF
dmFsKEluc3RydWN0aW9uKiBpbnN0cnVjdGlvbikKIHsKKyNpZiBDUFUoQVJNKSAmJiAhUExBVEZP
Uk0oSU9TKQorICAgIHN1YlB0cihUcnVzdGVkSW1tMzIoc2l6ZW9mKENhbGxlckZyYW1lQW5kUEMp
KSwgc3RhY2tQb2ludGVyUmVnaXN0ZXIpOworICAgIHN0b3JlMzIobGlua1JlZ2lzdGVyLCBBZGRy
ZXNzKHN0YWNrUG9pbnRlclJlZ2lzdGVyLCA0KSk7CisgICAgc3RvcmUzMihjYWxsRnJhbWVSZWdp
c3RlciwgQWRkcmVzcyhzdGFja1BvaW50ZXJSZWdpc3RlciwgMCkpOworICAgIG1vdmUoc3RhY2tQ
b2ludGVyUmVnaXN0ZXIsIHJlZ1QxKTsKKyNlbHNlCiAgICAgYWRkUHRyKFRydXN0ZWRJbW0zMigt
c3RhdGljX2Nhc3Q8cHRyZGlmZl90PihzaXplb2YoQ2FsbGVyRnJhbWVBbmRQQykpKSwgc3RhY2tQ
b2ludGVyUmVnaXN0ZXIsIHJlZ1QxKTsKKyNlbmRpZgogCiAgICAgY2FsbE9wZXJhdGlvbk5vRXhj
ZXB0aW9uQ2hlY2sob3BlcmF0aW9uQ2FsbEV2YWwsIHJlZ1QxKTsKIAorI2lmIENQVShBUk0pICYm
ICFQTEFURk9STShJT1MpCisgICAgYWRkUHRyKFRydXN0ZWRJbW0zMihzaXplb2YoQ2FsbGVyRnJh
bWVBbmRQQykpLCBzdGFja1BvaW50ZXJSZWdpc3Rlcik7CisjZW5kaWYKKwogICAgIEp1bXAgbm9F
eGNlcHRpb24gPSBlbWl0RXhjZXB0aW9uQ2hlY2soSW52ZXJ0ZWRFeGNlcHRpb25DaGVjayk7CiAg
ICAgYWRkUHRyKFRydXN0ZWRJbW0zMihzdGFja1BvaW50ZXJPZmZzZXRGb3IobV9jb2RlQmxvY2sp
ICogc2l6ZW9mKFJlZ2lzdGVyKSksIGNhbGxGcmFtZVJlZ2lzdGVyLCBzdGFja1BvaW50ZXJSZWdp
c3Rlcik7CiAgICAgZXhjZXB0aW9uQ2hlY2soanVtcCgpKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9MTEludE9mZmxpbmVBc21Db25maWcuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRPZmZsaW5lQXNtQ29uZmlnLmgJKHJldmlzaW9u
IDE3MTEwMykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludE9mZmxpbmVBc21D
b25maWcuaAkod29ya2luZyBjb3B5KQpAQCAtMTY2LDQgKzE2NiwxMCBAQAogI2RlZmluZSBPRkZM
SU5FX0FTTV9HR0MgMAogI2VuZGlmCiAKKyNpZiBDUFUoQVJNKSAmJiAhUExBVEZPUk0oSU9TKQor
I2RlZmluZSBPRkZMSU5FX0FTTV9BUk1fQUFQQ1NfQUJJIDEKKyNlbHNlCisjZGVmaW5lIE9GRkxJ
TkVfQVNNX0FSTV9BQVBDU19BQkkgMAorI2VuZGlmCisKICNlbmRpZiAvLyBMTEludE9mZmxpbmVB
c21Db25maWdfaApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIzMl82NC5hc20KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82NC5hc20JKHJldmlzaW9uIDE3MTEwMykKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtCSh3
b3JraW5nIGNvcHkpCkBAIC0zNTksNiArMzU5LDEwIEBAIG1hY3JvIG1ha2VIb3N0RnVuY3Rpb25D
YWxsKGVudHJ5LCB0ZW1wMSwKICAgICAgICAgICAgIG1vdmUgc3AsIHQyICMgdDIgaXMgZWN4CiAg
ICAgICAgICAgICBwdXNoIHRlbXAyICMgUHVzaCBkdW1teSBhcmcxCiAgICAgICAgICAgICBwdXNo
IHQyCisgICAgICAgIGVsc2lmIEFSTV9BQVBDU19BQkkKKyAgICAgICAgICAgIG1vdmUgc3AsIGEw
CisgICAgICAgICAgICBzdG9yZXAgbHIsIDRbc3BdCisgICAgICAgICAgICBzdG9yZXAgY2ZyLCBb
c3BdCiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIG1vdmUgc3AsIGEwCiAgICAgICAgICAgICBh
ZGRwIENhbGxlckZyYW1lQW5kUENTaXplLCBzcApAQCAtMzY2LDYgKzM3MCw3IEBAIG1hY3JvIG1h
a2VIb3N0RnVuY3Rpb25DYWxsKGVudHJ5LCB0ZW1wMSwKICAgICAgICAgY2FsbCB0ZW1wMQogICAg
ICAgICBpZiBYODYgb3IgWDg2X1dJTgogICAgICAgICAgICAgYWRkcCA4LCBzcAorICAgICAgICBl
bHNpZiBBUk1fQUFQQ1NfQUJJCiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHN1YnAgQ2FsbGVy
RnJhbWVBbmRQQ1NpemUsIHNwCiAgICAgICAgIGVuZAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>235346</attachid>
            <date>2014-07-23 01:09:32 -0700</date>
            <delta_ts>2015-09-14 10:46:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-132740-20140723010916.patch</filename>
            <type>text/plain</type>
            <size>6647</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTcxNDU0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM4IEBA
CisyMDE0LTA3LTIzICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAg
ICAgICBSRUdSRVNTSU9OKGpzQ1N0YWNrIGJyYW5jaCBtZXJnZSk6IEl0IGNhdXNlZCB+MTgwIGZh
aWx1cmVzIG9uIEFSTSBUaHVtYjIgTGludXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEzMjc0MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEJ1aWxkaW5nIEpTQyBmb3Igbm9uLWlPUyBBUk0gdGFyZ2V0cyB3
aXRoIHRvb2xjaGFpbnMgdGhhdCBzdXBwb3J0IEVBQkkgCisKKyAgICAgICAgQnVpbGRpbmcgSlND
IGZvciBBUk0gdGFyZ2V0cyB3aXRoIGEgY29tcGlsZXIgdGhhdCBzdXBwb3J0cyBFQUJJIHJlc3Vs
dHMgaW4gZ2VuZXJhdGVkIGNvZGUKKyAgICAgICAgdGhhdCBoYXMgbm9uLXN0YW5kYXJkIGZyYW1l
IGxheW91dC4gVGhpcyBicmVha3MgSlNDIEpJVCB3aGljaCBleHBlY3RzIHRoZSBsaW5rIHJlZ2lz
dGVyCisgICAgICAgIGFuZCB0aGUgZnJhbWUgcmVnaXN0ZXIgdG8gYmUgc3RvcmVkIG9uIHRoZSBz
dGFjayBzaWRlLWJ5LXNpZGUgaW4gdGhlIGNhbGxlZSdzIHByb2xvZ3VlLgorCisgICAgICAgIFRv
IGF2b2lkIHRoaXMgcHJvYmxlbSwgd2hlbiBjb21waWxpbmcgd2l0aCBFQUJJLWNvbXBsaWFudCBj
b21waWxlciBKSVQ6OmNvbXBpbGVDYWxsRXZhbAorICAgICAgICBhbmQgTExJbnQncyBtYWtlSG9z
dEZ1bmN0aW9uQ2FsbCBtYW51YWxseSByZXBsaWNhdGUgdGhlIHN0YW5kYXJkIGZyYW1lIGxheW91
dCBvbiB0aGUgc3RhY2sKKyAgICAgICAgYmVmb3JlIGJyYW5jaGluZyBpbnRvIHRoZSBjb21waWxl
ci1nZW5lcmF0ZWQgY29kZSB0aGF0IGV4cGVjdHMgYSBwb2ludGVyIHRvIHRoZSBKU0M6OkV4ZWNT
dGF0ZQorICAgICAgICBhcyBpdHMgZmlyc3QgYXJndW1lbnQuCisKKyAgICAgICAgKiBqaXQvSklU
Q2FsbDMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjpjb21waWxlQ2FsbEV2YWwpOiBGb3Ig
RUFCSS1jb21wbGlhbnQgY29tcGlsZXJzIGNvbXBpbGluZyBmb3IgQVJNLCB0aGlzIGZ1bmN0aW9u
CisgICAgICAgIHNob3VsZCBwcmVwYXJlIHN0YW5kYXJkIGZyYW1lIGxheW91dCBvbiB0aGUgc3Rh
Y2ssIHN0b3JlIHRoZSBjZnIgdGhlcmUsIHNldCB1cCB0aGUgc2Vjb25kCisgICAgICAgIEV4ZWNT
dGF0ZSogYXJndW1lbnQgYW5kIHRoZW4gcHJlc2VydmUgdGhlIGxpbmsgcmVnaXN0ZXIgYW5kIGJy
YW5jaCBpbnRvIHRoZSBoZWxwZXIKKyAgICAgICAgb3BlcmF0aW9uQ2FsbEV2YWxBUk1FQUJJLiBU
aGVyZSB0aGUgcHJvcGVyIGxpbmsgcmVnaXN0ZXIgaXMgc3RvcmVkIGluIHRoZSBmcmFtZSBsYXlv
dXQgYW5kCisgICAgICAgIHRoZSBleGVjdXRpb24gbW92ZXMgdG8gb3BlcmF0aW9uQ2FsbEV2YWwu
CisgICAgICAgICogbGxpbnQvTExJbnRPZmZsaW5lQXNtQ29uZmlnLmg6IERlZmluZSBPRkZMSU5F
X0FTTV9BUk1fRUFCSSB0byAxIHdoZW4gdXNpbmcgYW4gRUFCSS1jb21wbGlhbnQKKyAgICAgICAg
Y29tcGlsZXIgYW5kIHRhcmdldGluZyBBUk0uCisgICAgICAgICogbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5jcHA6IERlZmluZSBtYWtlSG9zdEZ1bmN0aW9uQ2FsbEFSTUVBQkkgdGhhdCBzdG9y
ZXMgdGhlIHByb3BlcgorICAgICAgICBsaW5rIHJlZ2lzdGVyIGluIHRoZSBwcm9wZXIgc3BvdCBv
biB0aGUgc3RhY2sgKHdoZXJlIHRoZSBzdGFuZGFyZCBmcmFtZSBsYXlvdXQgaXMgYmVpbmcgcmVw
bGljYXRlZCkKKyAgICAgICAgYW5kIGJyYW5jaCB0byB0aGUgYWRkcmVzcyBvZiB0aGUgaG9zdCBm
dW5jdGlvbiB3aGljaCBpcyBzdG9yZWQgaW4gcjQuCisgICAgICAgICogbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjMyXzY0LmFzbTogSW4gY2FzZSBvZiB1c2luZyBhbiBFQUJJLWNvbXBsaWFudCBj
b21waWxlciB0aGF0J3MKKyAgICAgICAgY29tcGlsaW5nIGZvciBBUk0sIHRoZSBjdXJyZW50IHN0
YWNrIHBvaW50ZXIgaXMgdXNlZCBhcyB0aGUgRXhlY1N0YXRlKiBhcmd1bWVudCBhbmQgdGhlIHN0
YW5kYXJkCisgICAgICAgIGZyYW1lIGxheW91dCBpcyByZXBsaWNhdGVkIGF0IHRoYXQgYWRkcmVz
cyAtLSB0aGUgY2ZyIGlzIHN0b3JlZCBpbiB0aGF0IHNwb3QgYW5kIGEgbHItcHJlc2VydmluZwor
ICAgICAgICBicmFuY2ggdG8gbWFrZUhvc3RGdWN0aW9uQ2FsbEFSTUVBQkkgZW5zdXJlcyB0aGF0
IHRoZSBwcm9wZXIgbGluayBhZGRyZXNzIGNvbXBsZXRlcyB0aGUgbGF5b3V0CisgICAgICAgIHJl
cGxpY2EgYW5kIHRoZW4gYnJhbmNoZXMgdG8gdGhlIGNvcnJlY3QgYWRkcmVzcyB0aGF0J3Mgc3Rv
cmVkIGluIHRoZSB0ZW1wb3JhcnkgcmVnaXN0ZXIuCisKIDIwMTQtMDctMjIgIEzDoXN6bMOzIExh
bmfDsyAgPGxsYW5nby51LXN6ZWdlZEBwYXJ0bmVyLnNhbXN1bmcuY29tPgogCiAgICAgICAgIFtF
RkxdIEJ1aWxkIGZpeCBhZnRlciB0aGUgW2Z0bG9wdF0gYnJhbmNoIG1lcmdlLgpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRDYWxsMzJfNjQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ2FsbDMyXzY0LmNwcAkocmV2aXNpb24gMTcxNDUz
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRDYWxsMzJfNjQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC00MSw2ICs0MSw3IEBACiAjaW5jbHVkZSAiUmVzdWx0VHlwZS5oIgogI2luY2x1
ZGUgIlNhbXBsaW5nVG9vbC5oIgogI2luY2x1ZGUgIlN0YWNrQWxpZ25tZW50LmgiCisjaW5jbHVk
ZSA8d3RmL0lubGluZUFTTS5oPgogI2luY2x1ZGUgPHd0Zi9TdHJpbmdQcmludFN0cmVhbS5oPgog
CiAKQEAgLTIxNywxMSArMjE4LDMxIEBAIHZvaWQgSklUOjpjb21waWxlTG9hZFZhcmFyZ3MoSW5z
dHJ1Y3Rpb24KICAgICBhZGRQdHIoVHJ1c3RlZEltbTMyKHNpemVvZihDYWxsZXJGcmFtZUFuZFBD
KSksIHJlZ1QzLCBzdGFja1BvaW50ZXJSZWdpc3Rlcik7CiB9CiAKKyNpZiBDT01QSUxFUl9TVVBQ
T1JUUyhFQUJJKSAmJiBDUFUoQVJNKQorZXh0ZXJuICJDIiBFbmNvZGVkSlNWYWx1ZSBvcGVyYXRp
b25DYWxsRXZhbEFSTUVBQkkoRXhlY1N0YXRlKiwgRXhlY1N0YXRlKikgUkVGRVJFTkNFRF9GUk9N
X0FTTSBXVEZfSU5URVJOQUw7Cithc20gKAorIi50ZXh0IiAiXG4iCisiLmdsb2JsICIgU1lNQk9M
X1NUUklORyhvcGVyYXRpb25DYWxsRXZhbEFSTUVBQkkpICJcbiIKK0hJREVfU1lNQk9MKG9wZXJh
dGlvbkNhbGxFdmFsQVJNRUFCSSkgIlxuIgorSU5MSU5FX0FSTV9GVU5DVElPTihvcGVyYXRpb25D
YWxsRXZhbEFSTUVBQkkpCitTWU1CT0xfU1RSSU5HKG9wZXJhdGlvbkNhbGxFdmFsQVJNRUFCSSkg
IjoiICJcbiIKKyAgICAic3RyIGxyLCBbc3AsICM0XSIgIlxuIgorICAgICJiICIgTE9DQUxfUkVG
RVJFTkNFKG9wZXJhdGlvbkNhbGxFdmFsKSAiXG4iCispOworI2VuZGlmCisKIHZvaWQgSklUOjpj
b21waWxlQ2FsbEV2YWwoSW5zdHJ1Y3Rpb24qIGluc3RydWN0aW9uKQogeworI2lmIENPTVBJTEVS
X1NVUFBPUlRTKEVBQkkpICYmIENQVShBUk0pCisgICAgc3ViUHRyKFRydXN0ZWRJbW0zMihzaXpl
b2YoQ2FsbGVyRnJhbWVBbmRQQykpLCBzdGFja1BvaW50ZXJSZWdpc3Rlcik7CisgICAgc3RvcmUz
MihjYWxsRnJhbWVSZWdpc3RlciwgQWRkcmVzcyhzdGFja1BvaW50ZXJSZWdpc3RlciwgMCkpOwor
ICAgIG1vdmUoc3RhY2tQb2ludGVyUmVnaXN0ZXIsIHJlZ1QxKTsKKyAgICBjYWxsT3BlcmF0aW9u
Tm9FeGNlcHRpb25DaGVjayhvcGVyYXRpb25DYWxsRXZhbEFSTUVBQkksIHJlZ1QxKTsKKyAgICBh
ZGRQdHIoVHJ1c3RlZEltbTMyKHNpemVvZihDYWxsZXJGcmFtZUFuZFBDKSksIHN0YWNrUG9pbnRl
clJlZ2lzdGVyKTsKKyNlbHNlCiAgICAgYWRkUHRyKFRydXN0ZWRJbW0zMigtc3RhdGljX2Nhc3Q8
cHRyZGlmZl90PihzaXplb2YoQ2FsbGVyRnJhbWVBbmRQQykpKSwgc3RhY2tQb2ludGVyUmVnaXN0
ZXIsIHJlZ1QxKTsKLQogICAgIGNhbGxPcGVyYXRpb25Ob0V4Y2VwdGlvbkNoZWNrKG9wZXJhdGlv
bkNhbGxFdmFsLCByZWdUMSk7CisjZW5kaWYKIAogICAgIEp1bXAgbm9FeGNlcHRpb24gPSBlbWl0
RXhjZXB0aW9uQ2hlY2soSW52ZXJ0ZWRFeGNlcHRpb25DaGVjayk7CiAgICAgYWRkUHRyKFRydXN0
ZWRJbW0zMihzdGFja1BvaW50ZXJPZmZzZXRGb3IobV9jb2RlQmxvY2spICogc2l6ZW9mKFJlZ2lz
dGVyKSksIGNhbGxGcmFtZVJlZ2lzdGVyLCBzdGFja1BvaW50ZXJSZWdpc3Rlcik7CkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRPZmZsaW5lQXNtQ29uZmlnLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50T2ZmbGluZUFzbUNvbmZp
Zy5oCShyZXZpc2lvbiAxNzE0NTMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJ
bnRPZmZsaW5lQXNtQ29uZmlnLmgJKHdvcmtpbmcgY29weSkKQEAgLTE2Niw0ICsxNjYsMTAgQEAK
ICNkZWZpbmUgT0ZGTElORV9BU01fR0dDIDAKICNlbmRpZgogCisjaWYgQ09NUElMRVJfU1VQUE9S
VFMoRUFCSSkgJiYgQ1BVKEFSTSkKKyNkZWZpbmUgT0ZGTElORV9BU01fQVJNX0VBQkkgMQorI2Vs
c2UKKyNkZWZpbmUgT0ZGTElORV9BU01fQVJNX0VBQkkgMAorI2VuZGlmCisKICNlbmRpZiAvLyBM
TEludE9mZmxpbmVBc21Db25maWdfaApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82NC5hc20KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82NC5hc20JKHJldmlzaW9uIDE3
MTQ1MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
MzJfNjQuYXNtCSh3b3JraW5nIGNvcHkpCkBAIC0zNTAsNiArMzUwLDEwIEBAIG1hY3JvIG1ha2VI
b3N0RnVuY3Rpb25DYWxsKGVudHJ5LCB0ZW1wMSwKICAgICAgICAgc3RvcmVwIGNmciwgW3NwXQog
ICAgICAgICBzdG9yZXAgbHIsIFB0clNpemVbc3BdCiAgICAgICAgIGNsb29wQ2FsbE5hdGl2ZSB0
ZW1wMQorICAgIGVsc2lmIEFSTV9FQUJJCisgICAgICAgIG1vdmUgc3AsIGEwCisgICAgICAgIHN0
b3JlcCBjZnIsIFtzcF0KKyAgICAgICAgY2FsbCBfbWFrZUhvc3RGdW5jdGlvbkNhbGxBUk1FQUJJ
CiAgICAgZWxzZQogICAgICAgICBpZiBYODYgb3IgWDg2X1dJTgogICAgICAgICAgICAgIyBQdXQg
Y2FsbGVlIGZyYW1lIHBvaW50ZXIgb24gc3RhY2sgYXMgYXJnMCwgYWxzbyBwdXQgaXQgaW4gZWN4
IGZvciAiZmFzdGNhbGwiIHRhcmdldHMKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5jcHAJKHJldmlzaW9uIDE3MTQ1MykKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNTIzLDYgKzUyMywxOCBAQCBKU1ZhbHVlIENMb29wOjpleGVjdXRlKE9w
Y29kZUlEIGVudHJ5T3BjCiAKICNkZWZpbmUgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwobGFiZWwp
ICAgTE9DQUxfTEFCRUxfU1RSSU5HKGxhYmVsKSAiOlxuIgogCisjaWYgQ09NUElMRVJfU1VQUE9S
VFMoRUFCSSkgJiYgQ1BVKEFSTSkKK2FzbSAoCisiLnRleHQiICJcbiIKKyIuZ2xvYmwgIiBTWU1C
T0xfU1RSSU5HKG1ha2VIb3N0RnVuY3Rpb25DYWxsQVJNRUFCSSkgIlxuIgorSElERV9TWU1CT0wo
bWFrZUhvc3RGdW5jdGlvbkNhbGxBUk1FQUJJKSAiXG4iCitJTkxJTkVfQVJNX0ZVTkNUSU9OKG1h
a2VIb3N0RnVuY3Rpb25DYWxsQVJNRUFCSSkKK1NZTUJPTF9TVFJJTkcobWFrZUhvc3RGdW5jdGlv
bkNhbGxBUk1FQUJJKSAiOiIgIlxuIgorICAgICJzdHIgbHIsIFtzcCwgIzRdIiAiXG4iCisgICAg
ImJ4IHI0IiAiXG4iCispOworI2VuZGlmCisKIC8vIFRoaXMgaXMgYSBmaWxlIGdlbmVyYXRlZCBi
eSBvZmZsaW5lYXNtLCB3aGljaCBjb250YWlucyBhbGwgb2YgdGhlIGFzc2VtYmx5IGNvZGUKIC8v
IGZvciB0aGUgaW50ZXJwcmV0ZXIsIGFzIGNvbXBpbGVkIGZyb20gTG93TGV2ZWxJbnRlcnByZXRl
ci5hc20uCiAjaW5jbHVkZSAiTExJbnRBc3NlbWJseS5oIgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>