<?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>30552</bug_id>
          
          <creation_ts>2009-10-19 21:10:27 -0700</creation_ts>
          <short_desc>[Symbian] Port ARM traditional JIT Trampolines to RVCT</short_desc>
          <delta_ts>2010-01-12 05:14:52 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>S60 3rd edition</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>27065</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Laszlo Gombos">laszlo.gombos</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>barraclough</cc>
    
    <cc>ggaren</cc>
    
    <cc>hausmann</cc>
    
    <cc>koshuin</cc>
    
    <cc>loki</cc>
    
    <cc>vprajan</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>withlhw</cc>
    
    <cc>yzkuang</cc>
    
    <cc>zecke</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>156050</commentid>
    <comment_count>0</comment_count>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2009-10-19 21:10:27 -0700</bug_when>
    <thetext>ARM traditional JIT Trampolines are only available for the GCC compiler syntax at the moment. Symbian and other embedded platforms might use the RVCT (ARM) compiler which has a slightly different syntax fro ARM assembly. This bug is to port over the GCC compiler syntax assmebly to RVCT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156056</commentid>
    <comment_count>1</comment_count>
      <attachid>41480</attachid>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2009-10-19 21:29:30 -0700</bug_when>
    <thetext>Created attachment 41480
first try</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156183</commentid>
    <comment_count>2</comment_count>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2009-10-20 10:16:40 -0700</bug_when>
    <thetext>CCd Gavin and Geoffrey as the JIT experts with review rights hoping that one of them could review this relatively simple porting patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156428</commentid>
    <comment_count>3</comment_count>
    <who name="Gabor Loki">loki</who>
    <bug_when>2009-10-21 00:45:48 -0700</bug_when>
    <thetext>&gt; +__asm void ctiVMThrowTrampoline() {    
&gt; +    ARM
&gt; +    IMPORT cti_vm_throw;
&gt; +    mov r0, sp
&gt; +    mov lr, r6
&gt; +    add r8, pc, #4
&gt; +    str r8, [sp, #-4]!
&gt; +    b cti_vm_throw
&gt; +}      

Not this way! This code is a tricky one. :) It is working by luck of the draw. The cti_vm_throw should return to the code of ctiOpThrowNotCaught.

The &quot;add r8, pc, #4 \n str r8, [sp, #-4]!&quot; pair set the return address of cti_vm_throw to the next instruction of &quot;b cti_vm_throw&quot;.

It wasn&apos;t an accident to group those two function body in ARM trampolines. ;)

Fix these by adding the body of ctiOpThrowNotCaught after &quot;b cti_vm_throw&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156457</commentid>
    <comment_count>4</comment_count>
      <attachid>41561</attachid>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2009-10-21 05:32:16 -0700</bug_when>
    <thetext>Created attachment 41561
second try

Thanks Gabor for catching this! This patch addresses the comments from Gabor.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156460</commentid>
    <comment_count>5</comment_count>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-10-21 05:58:28 -0700</bug_when>
    <thetext>In general. Is there any way that RVCT can use the GNU syntax?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156497</commentid>
    <comment_count>6</comment_count>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2009-10-21 09:00:21 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; In general. Is there any way that RVCT can use the GNU syntax?

with some macro trickery the RVCT and GCC code path can be shared, but that would require changes for the GCC code path as well and would make the code hard to read.

I would propose to take sharing the two codepath up as a separate patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156579</commentid>
    <comment_count>7</comment_count>
      <attachid>41594</attachid>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2009-10-21 11:40:53 -0700</bug_when>
    <thetext>Created attachment 41594
Add PRESERVE8 to ctiVMThrowTrampoline

RVCT needs an explicit &quot;PRESERVE8&quot; for ctiVMThrowTrampoline otherwise linking might fail with the following error:

Error: L6238E: QtWebKit.in(.emb_text) contains invalid call from &apos;~PRES8&apos; function to &apos;REQ8&apos; function cti_vm_throw.

See http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka4127.html for the relevant RVCT documentation from ARM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157727</commentid>
    <comment_count>8</comment_count>
    <who name="Janne Koskinen">koshuin</who>
    <bug_when>2009-10-26 04:07:01 -0700</bug_when>
    <thetext>I was talking with Iain about this. I guess you have been in contact with him.
He was worried about PRESERVE8 and str r8, [sp, #-4]! in the same function.
Did you run it with --diag_warning 1546 ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157861</commentid>
    <comment_count>9</comment_count>
    <who name="Gabor Loki">loki</who>
    <bug_when>2009-10-26 12:11:26 -0700</bug_when>
    <thetext>I&apos;ve removed the dependency flag on bug 30782. We should manage the changes separately.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158009</commentid>
    <comment_count>10</comment_count>
      <attachid>41594</attachid>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2009-10-26 16:23:41 -0700</bug_when>
    <thetext>Comment on attachment 41594
Add PRESERVE8 to ctiVMThrowTrampoline

Patch needs rework after http://trac.webkit.org/changeset/50109 is landed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158813</commentid>
    <comment_count>11</comment_count>
      <attachid>42077</attachid>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2009-10-28 18:42:41 -0700</bug_when>
    <thetext>Created attachment 42077
Adapt patch to changes in r50109</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160748</commentid>
    <comment_count>12</comment_count>
    <who name="Janne Koskinen">koshuin</who>
    <bug_when>2009-11-04 23:59:27 -0800</bug_when>
    <thetext>I tried running sunspider testsuite with the trampolines and got heap corruption. Don&apos;t know if the issue is the trampoline itself or some regression it causes with different codepath.
Callstack and register dump of the run: http://pastebin.ca/1656908
Search for &quot;&gt;&gt;&gt;&gt;&quot; to find the current stack pointer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>167325</commentid>
    <comment_count>13</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-11-30 12:21:34 -0800</bug_when>
    <thetext>Attachment 42077 passed the style-queue</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>169682</commentid>
    <comment_count>14</comment_count>
    <who name="yzkuang">yzkuang</who>
    <bug_when>2009-12-08 08:18:48 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; I tried running sunspider testsuite with the trampolines and got heap
&gt; corruption. Don&apos;t know if the issue is the trampoline itself or some regression
&gt; it causes with different codepath.
&gt; Callstack and register dump of the run: http://pastebin.ca/1656908
&gt; Search for &quot;&gt;&gt;&gt;&gt;&quot; to find the current stack pointer.

 You use the RVCT (ARM) compiler ?
 The macro &quot; DEFINE_STUB_FUNCTION&quot; must be redefined for RVCT and ARM!
 Like this:

&quot;DEFINE_STUB_FUNCTION(EncodedJSValue, op_convert_this)&quot;

  ====&gt;&gt;&gt;&gt;

&quot;
extern &quot;C&quot; {
EncodedJSValue JITStubThunked_op_convert_this(STUB_ARGS_DECLARATION); 
	}; 
__asm EncodedJSValue JIT_STUB cti_op_convert_this(STUB_ARGS_DECLARATION)
{
	ARM
	str lr,[sp,#32]
	import JITStubThunked_op_convert_this
	bl JITStubThunked_op_convert_this
	ldr lr,[sp,#32]
	bx lr	
}
EncodedJSValue JITStubThunked_op_convert_this(STUB_ARGS_DECLARATION)
&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>169688</commentid>
    <comment_count>15</comment_count>
    <who name="yzkuang">yzkuang</who>
    <bug_when>2009-12-08 08:37:25 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; I tried running sunspider testsuite with the trampolines and got heap
&gt; corruption. Don&apos;t know if the issue is the trampoline itself or some regression
&gt; it causes with different codepath.
&gt; Callstack and register dump of the run: http://pastebin.ca/1656908
&gt; Search for &quot;&gt;&gt;&gt;&gt;&quot; to find the current stack pointer.

expand the macro &quot;DEFINE_STUB_FUNCTION&quot; one by one !  Because I have no other good idea.

You can open JITStubs.cpp with EditPlus, then replace
  DEFINE_STUB_FUNCTION\(([a-zA-Z_*]+), ([a-zA-Z_]+)\)\n
with
 extern &quot;C&quot; {
\1 JITStubThunked_\2(STUB_ARGS_DECLARATION); 
	}; 
__asm \1 JIT_STUB cti_\2(STUB_ARGS_DECLARATION)
{
	ARM
	str lr,[sp,#32]
	import JITStubThunked_\2
	bl JITStubThunked_\2
	ldr lr,[sp,#32]
	bx lr	
}
\1 JITStubThunked_\2(STUB_ARGS_DECLARATION)\n</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171332</commentid>
    <comment_count>16</comment_count>
    <who name="Janne Koskinen">koshuin</who>
    <bug_when>2009-12-14 03:28:21 -0800</bug_when>
    <thetext>Excellent advice, need to try this ASAP.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171348</commentid>
    <comment_count>17</comment_count>
      <attachid>42077</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2009-12-14 05:25:25 -0800</bug_when>
    <thetext>Comment on attachment 42077
Adapt patch to changes in r50109

Obsolete according to Loki Gabor.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171357</commentid>
    <comment_count>18</comment_count>
    <who name="Gabor Loki">loki</who>
    <bug_when>2009-12-14 05:41:55 -0800</bug_when>
    <thetext>&gt; (From update of attachment 42077 [details])
&gt; Obsolete according to Loki, Gabor.

Unfortunately, this patch is not enough in itself. It was useful for Qt4.6.0, but for trunk it is just a part of final solution. We should add a tricky approach for DEFINE_STUB_FUNCTION, because rvct is not able to handle any kind of assembly in macro.

Laszlo and I have a long discussion about it some weeks ago, and we think a generator can be used to produce those small functions. We have preliminary patch for it, but it was delayed because of Qt release.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171362</commentid>
    <comment_count>19</comment_count>
    <who name="Janne Koskinen">koshuin</who>
    <bug_when>2009-12-14 05:54:21 -0800</bug_when>
    <thetext>(In reply to comment #18)
&gt; &gt; (From update of attachment 42077 [details] [details])
&gt; &gt; Obsolete according to Loki, Gabor.
&gt; 
&gt; Unfortunately, this patch is not enough in itself. It was useful for Qt4.6.0,
&gt; but for trunk it is just a part of final solution. We should add a tricky
&gt; approach for DEFINE_STUB_FUNCTION, because rvct is not able to handle any kind
&gt; of assembly in macro.
&gt; 
&gt; Laszlo and I have a long discussion about it some weeks ago, and we think a
&gt; generator can be used to produce those small functions. We have preliminary
&gt; patch for it, but it was delayed because of Qt release.

Right I remember this kind of discussion as well. Solution was to have code generator (perl based) to create those functions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171364</commentid>
    <comment_count>20</comment_count>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2009-12-14 05:59:59 -0800</bug_when>
    <thetext>The patch was not obsolete per say, but it certainly was not complete.

As noted, the code generation step is needed for the full solution, which means that the solution will be port/build system specific. This is why I wanted to keep the generic patch separate from the build system specific work.

Either way I will post the complete solution for review soon later this week.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172759</commentid>
    <comment_count>21</comment_count>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2009-12-17 07:30:56 -0800</bug_when>
    <thetext>yzkuang, are you using Qt port of WebKit or some other ports with RVCT ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172985</commentid>
    <comment_count>22</comment_count>
      <attachid>45110</attachid>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2009-12-17 16:31:51 -0800</bug_when>
    <thetext>Created attachment 45110
Complete solution after r50109

Use a perl script to expand precompiler macros for RVCT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172986</commentid>
    <comment_count>23</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-17 16:35:12 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 45110 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173079</commentid>
    <comment_count>24</comment_count>
    <who name="Gabor Loki">loki</who>
    <bug_when>2009-12-18 02:14:58 -0800</bug_when>
    <thetext>&gt; +        * JavaScriptCore.pri: Extra step to generate RVCT stubs. The 
&gt; +        script generation intentionally executed all the time not just
&gt; +        for RVCT targets.

Is the generation necessary for all platform? Why can not we do the followings?

+symbian: {
+RVCT_STUB_FILES += \
+    jit/JITStubs.cpp
+}
...
+symbian: {
+# GENERATOR 3: JIT Stub functions for RVCT
+rvctstubs.output = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}Generated${QMAKE_FILE_BASE}_RVCT.h
+rvctstubs.commands = perl $$PWD/create_rvct_stubs ${QMAKE_FILE_NAME} -i &gt; ${QMAKE_FILE_OUT}
+rvctstubs.depend = ${QMAKE_FILE_NAME}
+rvctstubs.input = RVCT_STUB_FILES
+rvctstubs.CONFIG += no_link
+addExtraCompiler(rvctstubs)
+}

It would be much better if an rvct symbol can be used instead of symbian.


+#if PLATFORM(ARM_TRADITIONAL)
+#if PLATFORM_ARM_ARCH(5)
+#define BRANCH(reg) bx reg
+#else
+#define BRANCH(reg) mov pc, reg
+#endif
+#endif

Do you really want to support ARMv4 JIT on Symbian? I think I have asked this question earlier, but I can not recall you answer.
If you want to support it, guard it with an additional COMPILER(RVCT) macro or move to the next PLATFORM(ARM_TRADITIONAL) &amp;&amp; COMPILER(RVCT) section.
(Btw, we should give a better name for #define BRANCH.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173109</commentid>
    <comment_count>25</comment_count>
    <who name="yzkuang">yzkuang</who>
    <bug_when>2009-12-18 03:52:19 -0800</bug_when>
    <thetext>(In reply to comment #21)
&gt; yzkuang, are you using Qt port of WebKit or some other ports with RVCT ?


Symbian S60 v3 + RVCT</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173139</commentid>
    <comment_count>26</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2009-12-18 06:30:47 -0800</bug_when>
    <thetext>The build part of the patch looks good to me (it&apos;s the only part I understand ;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173392</commentid>
    <comment_count>27</comment_count>
      <attachid>45203</attachid>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2009-12-18 16:26:56 -0800</bug_when>
    <thetext>Created attachment 45203
Remove BRANCH macro

Remove ARMv4 support (and the BRANCH macro) as suggested by Loki.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173394</commentid>
    <comment_count>28</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-18 16:28:01 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 45203 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173406</commentid>
    <comment_count>29</comment_count>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2009-12-18 16:36:39 -0800</bug_when>
    <thetext>(In reply to comment #24)
&gt; &gt; +        * JavaScriptCore.pri: Extra step to generate RVCT stubs. The 
&gt; &gt; +        script generation intentionally executed all the time not just
&gt; &gt; +        for RVCT targets.
&gt; 
&gt; Is the generation necessary for all platform? 

Loki, the easiest/safest way to create a Symbian build is to create the generated files on Linux and than use the Symbian environment only for compiling/linking. This assumes that generation is turned on not just for RVCT/Symbian builds, but for all Qt builds. I do not think this is a big overhead for non-RVCT builds.

Can you give us your feedback on the latest uploaded patch ? I think your input would help reviewers. Does the patch looks good to you now ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173489</commentid>
    <comment_count>30</comment_count>
    <who name="Gabor Loki">loki</who>
    <bug_when>2009-12-18 23:32:47 -0800</bug_when>
    <thetext>&gt; Loki, the easiest/safest way to create a Symbian build is to create the
&gt; generated files on Linux and than use the Symbian environment only for
&gt; compiling/linking. 

I see now. So the generation part of the build runs on Linux, and Symbian environment is responsible only for compiling and linking. All right, then.

&gt; Can you give us your feedback on the latest uploaded patch ? I think your input
&gt; would help reviewers. Does the patch looks good to you now ?

:) Well, the patch looks good to me, and it is definitely needed for Symbian.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>178526</commentid>
    <comment_count>31</comment_count>
      <attachid>45203</attachid>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2010-01-07 21:57:45 -0800</bug_when>
    <thetext>Comment on attachment 45203
Remove BRANCH macro

Landed as http://trac.webkit.org/changeset/52970. Thanks for the review Gavin.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179741</commentid>
    <comment_count>32</comment_count>
    <who name="Pushparajan">vprajan</who>
    <bug_when>2010-01-12 01:56:12 -0800</bug_when>
    <thetext>(In reply to comment #29)
&gt; (In reply to comment #24)
&gt; &gt; &gt; +        * JavaScriptCore.pri: Extra step to generate RVCT stubs. The 
&gt; &gt; &gt; +        script generation intentionally executed all the time not just
&gt; &gt; &gt; +        for RVCT targets.
&gt; &gt; 
&gt; &gt; Is the generation necessary for all platform? 
&gt; 
&gt; Loki, the easiest/safest way to create a Symbian build is to create the
&gt; generated files on Linux and than use the Symbian environment only for
&gt; compiling/linking. This assumes that generation is turned on not just for
&gt; RVCT/Symbian builds, but for all Qt builds. I do not think this is a big
&gt; overhead for non-RVCT builds.
&gt; 
&gt; Can you give us your feedback on the latest uploaded patch ? I think your input
&gt; would help reviewers. Does the patch looks good to you now ?

using GNU m4 instead of custom perl scripts would be a good option.. I too faced a similar issue and did something like this for RVCT compiler, 

&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;

m4_define(`DEFINE_STUB_FUNCTION&apos;, `
extern &quot;C&quot; { 
      	$1 JITStubThunked_$2(STUB_ARGS_DECLARATION); 
}; 

__asm $1 JIT_STUB cti_$2(STUB_ARGS_DECLARATION) { 
	str lr, [sp, #0x1c]; 
	bl __cpp(JITStubThunked_$2);
	ldr lr, [sp, #0x1c];
	bx lr;
}

$1 JITStubThunked_$2(STUB_ARGS_DECLARATION)&apos;)

&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;

After that, just ran m4 tool over the source code to get automatically expanded macros. 

Just sharing here so since this fix looked simpler and effective.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179757</commentid>
    <comment_count>33</comment_count>
    <who name="Gabor Loki">loki</who>
    <bug_when>2010-01-12 02:38:01 -0800</bug_when>
    <thetext>&gt; using GNU m4 instead of custom perl scripts would be a good option.

Well, this could be also an option, but as far as I known Symbian does not have GNU m4.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179799</commentid>
    <comment_count>34</comment_count>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2010-01-12 05:14:52 -0800</bug_when>
    <thetext>&gt; using GNU m4 instead of custom perl scripts would be a good option.. I too
&gt; faced a similar issue and did something like this for RVCT compiler, 

&gt; Just sharing here so since this fix looked simpler and effective.

WebKit build process is already dependent on perl in a few places, but not on m4. m4 would create an additional tool dependency to build WebKit. The choice of tool has been made to minimize tool dependencies.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41480</attachid>
            <date>2009-10-19 21:29:30 -0700</date>
            <delta_ts>2009-10-21 05:32:16 -0700</delta_ts>
            <desc>first try</desc>
            <filename>30552.patch</filename>
            <type>text/plain</type>
            <size>2316</size>
            <attacher name="Laszlo Gombos">laszlo.gombos</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDQ5ODM1KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAKKzIwMDktMTAtMTkgIExhc3psbyBH
b21ib3MgIDxsYXN6bG8uMS5nb21ib3NAbm9raWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtTeW1iaWFuXSBQb3J0IEFSTSB0cmFkaXRpb25h
bCBKSVQgVHJhbXBvbGluZXMgdG8gUlZDVAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MzA1NTIKKworICAgICAgICBUYWtlIHRoZSBHQ0MgaW1wbGVtZW50
YXRpb24gYW5kIG1lY2hhbmljYWxseSBjb252ZXJ0IAorICAgICAgICBpdCB0byBSVkNUIHN5bnRh
eC4KKworICAgICAgICBVc2UgJ2J4IHJYJyBpbnN0ZWFkIG9mICdtb3YgcGMsIHJYJyB3aGVuIGl0
IGlzIGF2YWlsYWJsZS4KKworICAgICAgICBEZXZlbG9wZWQgaW4gY29vcGVyYXRpb24gd2l0aCBJ
YWluIENhbXBiZWxsIGFuZCBHYWJvciBMb2tpLgorCisgICAgICAgICogaml0L0pJVFN0dWJzLmNw
cDoKKyAgICAgICAgKEpTQzo6Y3RpVHJhbXBvbGluZSk6CisgICAgICAgIChKU0M6OmN0aVZNVGhy
b3dUcmFtcG9saW5lKToKKyAgICAgICAgKEpTQzo6Y3RpT3BUaHJvd05vdENhdWdodCk6CisKIDIw
MDktMTAtMTkgIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBPbGl2ZXIgSHVudC4KSW5kZXg6IEphdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVi
cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzLmNwcAkocmV2
aXNpb24gNDk4MzEpCisrKyBKYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnMuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC01NzEsNiArNTcxLDYxIEBAIFNZTUJPTF9TVFJJTkcoY3RpT3BUaHJvd05vdENh
dWdodCkgIjoiICIKICAgICAibW92IHBjLCBsciIgIlxuIgogKTsKIAorI2VsaWYgQ09NUElMRVIo
UlZDVCkgJiYgUExBVEZPUk0oQVJNX1RSQURJVElPTkFMKQorCitfX2FzbSBFbmNvZGVkSlNWYWx1
ZSBjdGlUcmFtcG9saW5lKHZvaWQqLCBSZWdpc3RlckZpbGUqLCBDYWxsRnJhbWUqLCBKU1ZhbHVl
KiwgUHJvZmlsZXIqKiwgSlNHbG9iYWxEYXRhKikgeworICAgIEFSTQorICAgIHN0bWRiIHNwISwg
e3IxLXIzfQorICAgIHN0bWRiIHNwISwge3I0LXI4LCBscn0KKyAgICBtb3YgcjYsIHBjCisgICAg
YWRkIHI2LCByNiwgIzQwCisgICAgc3ViIHNwLCBzcCwgIzMyCisgICAgbGRyIHI0LCBbc3AsICM2
MF0KKyAgICBtb3YgcjUsICM1MTIKKyAgICAvLyByMCBjb250YWlucyB0aGUgY29kZQorICAgIGFk
ZCByOCwgcGMsICM0CisgICAgc3RyIHI4LCBbc3AsICMtNF0hCisjaWYgUExBVEZPUk1fQVJNX0FS
Q0goNSkKKyAgICBieCByMAorI2Vsc2UKKyAgICBtb3YgcGMsIHIwCisjZW5kaWYKKyAgICBhZGQg
c3AsIHNwLCAjMzIKKyAgICBsZG1pYSBzcCEsIHtyNC1yOCwgbHJ9CisgICAgYWRkIHNwLCBzcCwg
IzEyCisjaWYgUExBVEZPUk1fQVJNX0FSQ0goNSkKKyAgICBieCBscgorI2Vsc2UKKyAgICBtb3Yg
cGMsIGxyCisjZW5kaWYKKworICAgIC8vIHRoZSByZXR1cm4gaW5zdHJ1Y3Rpb24KKyAgICBsZHIg
cGMsIFtzcF0sICM0Cit9CisKK19fYXNtIHZvaWQgY3RpVk1UaHJvd1RyYW1wb2xpbmUoKSB7ICAg
IAorICAgIEFSTQorICAgIElNUE9SVCBjdGlfdm1fdGhyb3c7CisgICAgbW92IHIwLCBzcAorICAg
IG1vdiBsciwgcjYKKyAgICBhZGQgcjgsIHBjLCAjNAorICAgIHN0ciByOCwgW3NwLCAjLTRdIQor
ICAgIGIgY3RpX3ZtX3Rocm93Cit9ICAgICAgCisKKy8vIEJvdGggaGFzIHRoZSBzYW1lIHJldHVy
biBzZXF1ZW5jZQorX19hc20gdm9pZCBjdGlPcFRocm93Tm90Q2F1Z2h0KCkgeyAgICAgCisgICAg
QVJNCisgICAgYWRkIHNwLCBzcCwgIzMyCisgICAgbGRtaWEgc3AhLCB7cjQtcjgsIGxyfQorICAg
IGFkZCBzcCwgc3AsICMxMgorI2lmIFBMQVRGT1JNX0FSTV9BUkNIKDUpCisgICAgYnggbHIKKyNl
bHNlCisgICAgbW92IHBjLCBscgorI2VuZGlmCit9CisKICNlbGlmIENPTVBJTEVSKE1TVkMpCiAK
ICNpZiBVU0UoSklUX1NUVUJfQVJHVU1FTlRfVkFfTElTVCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41561</attachid>
            <date>2009-10-21 05:32:16 -0700</date>
            <delta_ts>2009-10-21 11:40:53 -0700</delta_ts>
            <desc>second try</desc>
            <filename>30552_2.patch</filename>
            <type>text/plain</type>
            <size>2427</size>
            <attacher name="Laszlo Gombos">laszlo.gombos</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDQ5OTAxKQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAKKzIwMDktMTAtMjEgIExhc3psbyBH
b21ib3MgIDxsYXN6bG8uMS5nb21ib3NAbm9raWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtTeW1iaWFuXSBQb3J0IEFSTSB0cmFkaXRpb25h
bCBKSVQgVHJhbXBvbGluZXMgdG8gUlZDVAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MzA1NTIKKworICAgICAgICBUYWtlIHRoZSBHQ0MgaW1wbGVtZW50
YXRpb24gYW5kIG1lY2hhbmljYWxseSBjb252ZXJ0IAorICAgICAgICBpdCB0byBSVkNUIHN5bnRh
eC4KKworICAgICAgICBVc2UgJ2J4IHJYJyBpbnN0ZWFkIG9mICdtb3YgcGMsIHJYJyB3aGVuIGl0
IGlzIGF2YWlsYWJsZS4KKworICAgICAgICBEZXZlbG9wZWQgaW4gY29vcGVyYXRpb24gd2l0aCBJ
YWluIENhbXBiZWxsIGFuZCBHYWJvciBMb2tpLgorCisgICAgICAgICogaml0L0pJVFN0dWJzLmNw
cDoKKyAgICAgICAgKEpTQzo6Y3RpVHJhbXBvbGluZSk6CisgICAgICAgIChKU0M6OmN0aVZNVGhy
b3dUcmFtcG9saW5lKToKKyAgICAgICAgKEpTQzo6Y3RpT3BUaHJvd05vdENhdWdodCk6CisKIDIw
MDktMTAtMjAgIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBX
aW5kb3dzIGJ1aWxkIGZpeDogdXBkYXRlZCB2YXJpYWJsZSBuYW1lLgpJbmRleDogSmF2YVNjcmlw
dENvcmUvaml0L0pJVFN0dWJzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9qaXQv
SklUU3R1YnMuY3BwCShyZXZpc2lvbiA0OTkwMSkKKysrIEphdmFTY3JpcHRDb3JlL2ppdC9KSVRT
dHVicy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU3MSw2ICs1NzEsNzEgQEAgU1lNQk9MX1NUUklO
RyhjdGlPcFRocm93Tm90Q2F1Z2h0KSAiOiIgIgogICAgICJtb3YgcGMsIGxyIiAiXG4iCiApOwog
CisjZWxpZiBDT01QSUxFUihSVkNUKSAmJiBQTEFURk9STShBUk1fVFJBRElUSU9OQUwpCisKK19f
YXNtIEVuY29kZWRKU1ZhbHVlIGN0aVRyYW1wb2xpbmUodm9pZCosIFJlZ2lzdGVyRmlsZSosIENh
bGxGcmFtZSosIEpTVmFsdWUqLCBQcm9maWxlcioqLCBKU0dsb2JhbERhdGEqKQoreworICAgIEFS
TQorICAgIHN0bWRiIHNwISwge3IxLXIzfQorICAgIHN0bWRiIHNwISwge3I0LXI4LCBscn0KKyAg
ICBtb3YgcjYsIHBjCisgICAgYWRkIHI2LCByNiwgIzQwCisgICAgc3ViIHNwLCBzcCwgIzMyCisg
ICAgbGRyIHI0LCBbc3AsICM2MF0KKyAgICBtb3YgcjUsICM1MTIKKyAgICAvLyByMCBjb250YWlu
cyB0aGUgY29kZQorICAgIGFkZCByOCwgcGMsICM0CisgICAgc3RyIHI4LCBbc3AsICMtNF0hCisj
aWYgUExBVEZPUk1fQVJNX0FSQ0goNSkKKyAgICBieCByMAorI2Vsc2UKKyAgICBtb3YgcGMsIHIw
CisjZW5kaWYKKyAgICBhZGQgc3AsIHNwLCAjMzIKKyAgICBsZG1pYSBzcCEsIHtyNC1yOCwgbHJ9
CisgICAgYWRkIHNwLCBzcCwgIzEyCisjaWYgUExBVEZPUk1fQVJNX0FSQ0goNSkKKyAgICBieCBs
cgorI2Vsc2UKKyAgICBtb3YgcGMsIGxyCisjZW5kaWYKKworICAgIC8vIHRoZSByZXR1cm4gaW5z
dHJ1Y3Rpb24KKyAgICBsZHIgcGMsIFtzcF0sICM0Cit9CisKK19fYXNtIHZvaWQgY3RpVk1UaHJv
d1RyYW1wb2xpbmUoKQoreworICAgIEFSTQorICAgIElNUE9SVCBjdGlfdm1fdGhyb3c7CisgICAg
bW92IHIwLCBzcAorICAgIG1vdiBsciwgcjYKKyAgICBhZGQgcjgsIHBjLCAjNAorICAgIHN0ciBy
OCwgW3NwLCAjLTRdIQorICAgIGIgY3RpX3ZtX3Rocm93CisgICAgYWRkIHNwLCBzcCwgIzMyCisg
ICAgbGRtaWEgc3AhLCB7cjQtcjgsIGxyfQorICAgIGFkZCBzcCwgc3AsICMxMgorI2lmIFBMQVRG
T1JNX0FSTV9BUkNIKDUpCisgICAgYnggbHIKKyNlbHNlCisgICAgbW92IHBjLCBscgorI2VuZGlm
Cit9ICAgICAgCisKK19fYXNtIHZvaWQgY3RpT3BUaHJvd05vdENhdWdodCgpCit7CisgICAgQVJN
CisgICAgYWRkIHNwLCBzcCwgIzMyCisgICAgbGRtaWEgc3AhLCB7cjQtcjgsIGxyfQorICAgIGFk
ZCBzcCwgc3AsICMxMgorI2lmIFBMQVRGT1JNX0FSTV9BUkNIKDUpCisgICAgYnggbHIKKyNlbHNl
CisgICAgbW92IHBjLCBscgorI2VuZGlmCit9CisKICNlbGlmIENPTVBJTEVSKE1TVkMpCiAKICNp
ZiBVU0UoSklUX1NUVUJfQVJHVU1FTlRfVkFfTElTVCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41594</attachid>
            <date>2009-10-21 11:40:53 -0700</date>
            <delta_ts>2009-10-28 18:42:41 -0700</delta_ts>
            <desc>Add PRESERVE8 to ctiVMThrowTrampoline</desc>
            <filename>30552_3.patch</filename>
            <type>text/plain</type>
            <size>2442</size>
            <attacher name="Laszlo Gombos">laszlo.gombos</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDQ5OTA2KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAKKzIwMDktMTAtMjEgIExhc3psbyBH
b21ib3MgIDxsYXN6bG8uMS5nb21ib3NAbm9raWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtTeW1iaWFuXSBQb3J0IEFSTSB0cmFkaXRpb25h
bCBKSVQgVHJhbXBvbGluZXMgdG8gUlZDVAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MzA1NTIKKworICAgICAgICBUYWtlIHRoZSBHQ0MgaW1wbGVtZW50
YXRpb24gYW5kIG1lY2hhbmljYWxseSBjb252ZXJ0IAorICAgICAgICBpdCB0byBSVkNUIHN5bnRh
eC4KKworICAgICAgICBVc2UgJ2J4IHJYJyBpbnN0ZWFkIG9mICdtb3YgcGMsIHJYJyB3aGVuIGl0
IGlzIGF2YWlsYWJsZS4KKworICAgICAgICBEZXZlbG9wZWQgaW4gY29vcGVyYXRpb24gd2l0aCBJ
YWluIENhbXBiZWxsIGFuZCBHYWJvciBMb2tpLgorCisgICAgICAgICogaml0L0pJVFN0dWJzLmNw
cDoKKyAgICAgICAgKEpTQzo6Y3RpVHJhbXBvbGluZSk6CisgICAgICAgIChKU0M6OmN0aVZNVGhy
b3dUcmFtcG9saW5lKToKKyAgICAgICAgKEpTQzo6Y3RpT3BUaHJvd05vdENhdWdodCk6CisKIDIw
MDktMTAtMjAgIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBX
aW5kb3dzIGJ1aWxkIGZpeDogdXBkYXRlZCB2YXJpYWJsZSBuYW1lLgpJbmRleDogSmF2YVNjcmlw
dENvcmUvaml0L0pJVFN0dWJzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9qaXQv
SklUU3R1YnMuY3BwCShyZXZpc2lvbiA0OTkwNikKKysrIEphdmFTY3JpcHRDb3JlL2ppdC9KSVRT
dHVicy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU3MSw2ICs1NzEsNzIgQEAgU1lNQk9MX1NUUklO
RyhjdGlPcFRocm93Tm90Q2F1Z2h0KSAiOiIgIgogICAgICJtb3YgcGMsIGxyIiAiXG4iCiApOwog
CisjZWxpZiBDT01QSUxFUihSVkNUKSAmJiBQTEFURk9STShBUk1fVFJBRElUSU9OQUwpCisKK19f
YXNtIEVuY29kZWRKU1ZhbHVlIGN0aVRyYW1wb2xpbmUodm9pZCosIFJlZ2lzdGVyRmlsZSosIENh
bGxGcmFtZSosIEpTVmFsdWUqLCBQcm9maWxlcioqLCBKU0dsb2JhbERhdGEqKQoreworICAgIEFS
TQorICAgIHN0bWRiIHNwISwge3IxLXIzfQorICAgIHN0bWRiIHNwISwge3I0LXI4LCBscn0KKyAg
ICBtb3YgcjYsIHBjCisgICAgYWRkIHI2LCByNiwgIzQwCisgICAgc3ViIHNwLCBzcCwgIzMyCisg
ICAgbGRyIHI0LCBbc3AsICM2MF0KKyAgICBtb3YgcjUsICM1MTIKKyAgICAvLyByMCBjb250YWlu
cyB0aGUgY29kZQorICAgIGFkZCByOCwgcGMsICM0CisgICAgc3RyIHI4LCBbc3AsICMtNF0hCisj
aWYgUExBVEZPUk1fQVJNX0FSQ0goNSkKKyAgICBieCByMAorI2Vsc2UKKyAgICBtb3YgcGMsIHIw
CisjZW5kaWYKKyAgICBhZGQgc3AsIHNwLCAjMzIKKyAgICBsZG1pYSBzcCEsIHtyNC1yOCwgbHJ9
CisgICAgYWRkIHNwLCBzcCwgIzEyCisjaWYgUExBVEZPUk1fQVJNX0FSQ0goNSkKKyAgICBieCBs
cgorI2Vsc2UKKyAgICBtb3YgcGMsIGxyCisjZW5kaWYKKworICAgIC8vIHRoZSByZXR1cm4gaW5z
dHJ1Y3Rpb24KKyAgICBsZHIgcGMsIFtzcF0sICM0Cit9CisKK19fYXNtIHZvaWQgY3RpVk1UaHJv
d1RyYW1wb2xpbmUoKQoreworICAgIEFSTQorICAgIFBSRVNFUlZFOAorICAgIElNUE9SVCBjdGlf
dm1fdGhyb3c7CisgICAgbW92IHIwLCBzcAorICAgIG1vdiBsciwgcjYKKyAgICBhZGQgcjgsIHBj
LCAjNAorICAgIHN0ciByOCwgW3NwLCAjLTRdIQorICAgIGIgY3RpX3ZtX3Rocm93CisgICAgYWRk
IHNwLCBzcCwgIzMyCisgICAgbGRtaWEgc3AhLCB7cjQtcjgsIGxyfQorICAgIGFkZCBzcCwgc3As
ICMxMgorI2lmIFBMQVRGT1JNX0FSTV9BUkNIKDUpCisgICAgYnggbHIKKyNlbHNlCisgICAgbW92
IHBjLCBscgorI2VuZGlmCit9ICAgICAgCisKK19fYXNtIHZvaWQgY3RpT3BUaHJvd05vdENhdWdo
dCgpCit7CisgICAgQVJNCisgICAgYWRkIHNwLCBzcCwgIzMyCisgICAgbGRtaWEgc3AhLCB7cjQt
cjgsIGxyfQorICAgIGFkZCBzcCwgc3AsICMxMgorI2lmIFBMQVRGT1JNX0FSTV9BUkNIKDUpCisg
ICAgYnggbHIKKyNlbHNlCisgICAgbW92IHBjLCBscgorI2VuZGlmCit9CisKICNlbGlmIENPTVBJ
TEVSKE1TVkMpCiAKICNpZiBVU0UoSklUX1NUVUJfQVJHVU1FTlRfVkFfTElTVCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>42077</attachid>
            <date>2009-10-28 18:42:41 -0700</date>
            <delta_ts>2009-12-17 16:31:51 -0800</delta_ts>
            <desc>Adapt patch to changes in r50109</desc>
            <filename>30552_5.patch</filename>
            <type>text/plain</type>
            <size>2319</size>
            <attacher name="Laszlo Gombos">laszlo.gombos</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDUwMjMwKQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAKKzIwMDktMTAtMjggIExhc3psbyBH
b21ib3MgIDxsYXN6bG8uMS5nb21ib3NAbm9raWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtTeW1iaWFuXSBQb3J0IEFSTSB0cmFkaXRpb25h
bCBKSVQgVHJhbXBvbGluZXMgdG8gUlZDVAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MzA1NTIKKworICAgICAgICBUYWtlIHRoZSBHQ0MgaW1wbGVtZW50
YXRpb24gYW5kIG1lY2hhbmljYWxseSBjb252ZXJ0CisgICAgICAgIGl0IHRvIFJWQ1Qgc3ludGF4
LgorCisgICAgICAgIFVzZSAnYnggclgnIGluc3RlYWQgb2YgJ21vdiBwYywgclgnIHdoZW4gaXQg
aXMgYXZhaWxhYmxlLgorCisgICAgICAgIERldmVsb3BlZCBpbiBjb29wZXJhdGlvbiB3aXRoIElh
aW4gQ2FtcGJlbGwgYW5kIEdhYm9yIExva2kuCisKKyAgICAgICAgKiBqaXQvSklUU3R1YnMuY3Bw
OgorICAgICAgICAoSlNDOjpjdGlUcmFtcG9saW5lKToKKyAgICAgICAgKEpTQzo6Y3RpVk1UaHJv
d1RyYW1wb2xpbmUpOgorICAgICAgICAoSlNDOjpjdGlPcFRocm93Tm90Q2F1Z2h0KToKKwogMjAw
OS0xMC0yOCAgSmFuLUFydmUgU8OmdGhlciA8amFuLWFydmUuc2FldGhlckBub2tpYS5jb20+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgVG9yIEFybmUgVmVzdGLDuC4KSW5kZXg6IEphdmFTY3JpcHRD
b3JlL2ppdC9KSVRTdHVicy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvaml0L0pJ
VFN0dWJzLmNwcAkocmV2aXNpb24gNTAxMjYpCisrKyBKYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1
YnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04MSw2ICs4MSwxNCBAQCBuYW1lc3BhY2UgSlNDIHsK
ICNkZWZpbmUgU1lNQk9MX1NUUklOR19SRUxPQ0FUSU9OKG5hbWUpIFNZTUJPTF9TVFJJTkcobmFt
ZSkKICNlbmRpZgogCisjaWYgUExBVEZPUk0oQVJNX1RSQURJVElPTkFMKQorI2lmIFBMQVRGT1JN
X0FSTV9BUkNIKDUpCisjZGVmaW5lIEJSQU5DSChyZWcpIGJ4IHJlZworI2Vsc2UKKyNkZWZpbmUg
QlJBTkNIKHJlZykgbW92IHBjLCByZWcKKyNlbmRpZgorI2VuZGlmCisKICNpZiBVU0UoSlNWQUxV
RTMyXzY0KQogCiAjaWYgQ09NUElMRVIoR0NDKSAmJiBQTEFURk9STShYODYpCkBAIC01NjEsNiAr
NTY5LDQ2IEBAIFNZTUJPTF9TVFJJTkcoY3RpT3BUaHJvd05vdENhdWdodCkgIjoiICIKICAgICAi
bW92IHBjLCBsciIgIlxuIgogKTsKIAorI2VsaWYgQ09NUElMRVIoUlZDVCkgJiYgUExBVEZPUk0o
QVJNX1RSQURJVElPTkFMKQorCitfX2FzbSBFbmNvZGVkSlNWYWx1ZSBjdGlUcmFtcG9saW5lKHZv
aWQqLCBSZWdpc3RlckZpbGUqLCBDYWxsRnJhbWUqLCBKU1ZhbHVlKiwgUHJvZmlsZXIqKiwgSlNH
bG9iYWxEYXRhKikKK3sKKyAgICBBUk0KKyAgICBzdG1kYiBzcCEsIHtyMS1yM30KKyAgICBzdG1k
YiBzcCEsIHtyNC1yOCwgbHJ9CisgICAgc3ViIHNwLCBzcCwgIzM2CisgICAgbW92IHI0LCByMgor
ICAgIG1vdiByNSwgIzUxMgorICAgIG1vdiBsciwgcGMKKyAgICBCUkFOQ0gocjApCisgICAgYWRk
IHNwLCBzcCwgIzM2CisgICAgbGRtaWEgc3AhLCB7cjQtcjgsIGxyfQorICAgIGFkZCBzcCwgc3As
ICMxMgorICAgIEJSQU5DSChscikKK30KKworX19hc20gdm9pZCBjdGlWTVRocm93VHJhbXBvbGlu
ZSgpCit7CisgICAgQVJNCisgICAgUFJFU0VSVkU4CisgICAgSU1QT1JUIGN0aV92bV90aHJvdwor
ICAgIG1vdiByMCwgc3AKKyAgICBibCBjdGlfdm1fdGhyb3cKKyAgICBhZGQgc3AsIHNwLCAjMzYK
KyAgICBsZG1pYSBzcCEsIHtyNC1yOCwgbHJ9CisgICAgYWRkIHNwLCBzcCwgIzEyCisgICAgQlJB
TkNIKGxyKQorfQorCitfX2FzbSB2b2lkIGN0aU9wVGhyb3dOb3RDYXVnaHQoKQoreworICAgIEFS
TQorICAgIGFkZCBzcCwgc3AsICMzNgorICAgIGxkbWlhIHNwISwge3I0LXI4LCBscn0KKyAgICBh
ZGQgc3AsIHNwLCAjMTIKKyAgICBCUkFOQ0gobHIpCit9CisKICNlbGlmIENPTVBJTEVSKE1TVkMp
CiAKICNpZiBVU0UoSklUX1NUVUJfQVJHVU1FTlRfVkFfTElTVCkK
</data>
<flag name="review"
          id="23578"
          type_id="1"
          status="-"
          setter="kenneth"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>45110</attachid>
            <date>2009-12-17 16:31:51 -0800</date>
            <delta_ts>2009-12-18 16:26:56 -0800</delta_ts>
            <desc>Complete solution after r50109</desc>
            <filename>30552_7.patch</filename>
            <type>text/plain</type>
            <size>6381</size>
            <attacher name="Laszlo Gombos">laszlo.gombos</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDUyMjkzKQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjkgQEAKKzIwMDktMTItMTcgIExhc3psbyBH
b21ib3MgIDxsYXN6bG8uMS5nb21ib3NAbm9raWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtTeW1iaWFuXSBQb3J0IEFSTSB0cmFkaXRpb25h
bCBKSVQgVHJhbXBvbGluZXMgdG8gUlZDVAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MzA1NTIKKworICAgICAgICBUYWtlIHRoZSBHQ0MgaW1wbGVtZW50
YXRpb24gYW5kIG1lY2hhbmljYWxseSBjb252ZXJ0CisgICAgICAgIGl0IHRvIFJWQ1Qgc3ludGF4
LgorCisgICAgICAgIFVzZSAnYnggclgnIGluc3RlYWQgb2YgJ21vdiBwYywgclgnIHdoZW4gaXQg
aXMgYXZhaWxhYmxlLgorCisgICAgICAgIERldmVsb3BlZCBpbiBjb29wZXJhdGlvbiB3aXRoIElh
aW4gQ2FtcGJlbGwgYW5kIEdhYm9yIExva2kuCisKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS5w
cmk6IEV4dHJhIHN0ZXAgdG8gZ2VuZXJhdGUgUlZDVCBzdHVicy4gVGhlIAorICAgICAgICBzY3Jp
cHQgZ2VuZXJhdGlvbiBpbnRlbnRpb25hbGx5IGV4ZWN1dGVkIGFsbCB0aGUgdGltZSBub3QganVz
dAorICAgICAgICBmb3IgUlZDVCB0YXJnZXRzLgorCisgICAgICAgICogY3JlYXRlX3J2Y3Rfc3R1
YnM6IEFkZGVkLiBQZXJsIHNjcmlwdCB0byBleHBhbmQgcHJlY29tcGlsZXIgbWFjcm9zCisgICAg
ICAgIGZvciBSVkNUIGFzc2VtYmxlciAtIHRoZSB0ZW1wbGF0ZSBpcyBkZWZpbmVkIGluIEpJVFN0
dWJzLmNwcC4KKworICAgICAgICAqIGppdC9KSVRTdHVicy5jcHA6CisgICAgICAgIChKU0M6OmN0
aVRyYW1wb2xpbmUpOgorICAgICAgICAoSlNDOjpjdGlWTVRocm93VHJhbXBvbGluZSk6CisgICAg
ICAgIChKU0M6OmN0aU9wVGhyb3dOb3RDYXVnaHQpOgorCiAyMDA5LTEyLTE3ICBBZGFtIFJvYmVu
ICA8YXJvYmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBTeW5jIEphdmFTY3JpcHRDb3JlLnZjcHJv
aiB3aXRoIEphdmFTY3JpcHRDb3JlLnhjb2RlcHJvaiBhbmQgdGhlCkluZGV4OiBKYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS5wcmkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmUucHJpCShyZXZpc2lvbiA1MjI5MykKKysrIEphdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnByaQkod29ya2luZyBjb3B5KQpAQCAtODksNiArODksOSBAQCBLRVlXT1JETFVU
X0ZJTEVTICs9IFwKIEpTQ0JJU09OICs9IFwKICAgICBwYXJzZXIvR3JhbW1hci55CiAKK1JWQ1Rf
U1RVQl9GSUxFUyArPSBcCisgICAgaml0L0pJVFN0dWJzLmNwcAorCiBTT1VSQ0VTICs9IFwKICAg
ICBBUEkvSlNCYXNlLmNwcCBcCiAgICAgQVBJL0pTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5jcHAgXApA
QCAtMjc5LDMgKzI4MiwxMCBAQCBqc2NiaXNvbi5kZXBlbmRlbmN5X3R5cGUgPSBUWVBFX0MKIGpz
Y2Jpc29uLkNPTkZJRyA9IHRhcmdldF9wcmVkZXBzCiBhZGRFeHRyYUNvbXBpbGVyV2l0aEhlYWRl
cihqc2NiaXNvbikKIAorIyBHRU5FUkFUT1IgMzogSklUIFN0dWIgZnVuY3Rpb25zIGZvciBSVkNU
CitydmN0c3R1YnMub3V0cHV0ID0gJCR7R0VORVJBVEVEX1NPVVJDRVNfRElSfSQke1FNQUtFX0RJ
Ul9TRVB9R2VuZXJhdGVkJHtRTUFLRV9GSUxFX0JBU0V9X1JWQ1QuaAorcnZjdHN0dWJzLmNvbW1h
bmRzID0gcGVybCAkJFBXRC9jcmVhdGVfcnZjdF9zdHVicyAke1FNQUtFX0ZJTEVfTkFNRX0gLWkg
PiAke1FNQUtFX0ZJTEVfT1VUfQorcnZjdHN0dWJzLmRlcGVuZCA9ICR7UU1BS0VfRklMRV9OQU1F
fQorcnZjdHN0dWJzLmlucHV0ID0gUlZDVF9TVFVCX0ZJTEVTCitydmN0c3R1YnMuQ09ORklHICs9
IG5vX2xpbmsKK2FkZEV4dHJhQ29tcGlsZXIocnZjdHN0dWJzKQpJbmRleDogSmF2YVNjcmlwdENv
cmUvY3JlYXRlX3J2Y3Rfc3R1YnMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvY3JlYXRl
X3J2Y3Rfc3R1YnMJKHJldmlzaW9uIDApCisrKyBKYXZhU2NyaXB0Q29yZS9jcmVhdGVfcnZjdF9z
dHVicwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1MSBAQAorIyEgL3Vzci9iaW4vcGVybCAtdwor
IworIyBDb3B5cmlnaHQgKEMpIDIwMDkgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJz
aWRpYXJ5KC1pZXMpCisjCisjIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkg
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisjIHZlcnNpb24gMiBvZiB0aGUg
TGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhp
cyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm
dWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk
IHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisjIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZSBmb3IgbW9yZSBkZXRhaWxzLgorIworIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisjIGFsb25nIHdpdGgg
dGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRv
CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVl
dCwgRmlmdGggRmxvb3IsCisjIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorCit1c2Ugc3Ry
aWN0OworCitteSAkZmlsZSA9ICRBUkdWWzBdOworc2hpZnQ7CisKK215ICRzdHViX3RlbXBsYXRl
ID0gIiI7CitteSAkc3R1YiA9ICIiOworCitteSAkcnR5cGUgPSAiIjsKK215ICRvcCA9ICIiOwor
CitteSAkcnR5cGVfdGVtcGxhdGUgPSBxdW90ZW1ldGEoIiNydHlwZSMiKTsKK215ICRvcF90ZW1w
bGF0ZSA9IHF1b3RlbWV0YSgiI29wIyIpOworCitwcmludCBTVERFUlIgIkNyZWF0aW5nIFJWQ1Qg
c3R1YnMgZm9yICRmaWxlIFxuIjsKK29wZW4oSU4sICRmaWxlKSBvciBkaWUgIk5vIHN1Y2ggZmls
ZSAkZmlsZSI7CisKK3doaWxlICggJF8gPSA8SU4+ICkgeworICAgIGlmICggL15SVkNUXCgoLiop
XCkvICkgeworICAgICAgICAkc3R1Yl90ZW1wbGF0ZSAuPSAkMSAuICJcbiI7CisgICAgfQorICAg
IGlmICggL15ERUZJTkVfU1RVQl9GVU5DVElPTlwoKC4qKSwgKC4qKVwpLyApIHsKKyAgICAgICAg
JHN0dWIgPSAkc3R1Yl90ZW1wbGF0ZTsKKyAgICAgICAgJHJ0eXBlID0gcXVvdGVtZXRhKCQxKTsK
KyAgICAgICAgJG9wID0gcXVvdGVtZXRhKCQyKTsKKyAgICAgICAgJHN0dWIgPX4gcy8kcnR5cGVf
dGVtcGxhdGUvJHJ0eXBlL2c7CisgICAgICAgICRzdHViID1+IHMvJG9wX3RlbXBsYXRlLyRvcC9n
OworICAgICAgICBwcmludCAkc3R1YjsKKyAgICB9Cit9CisKK2Nsb3NlKElOKTsKSW5kZXg6IEph
dmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVicy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENv
cmUvaml0L0pJVFN0dWJzLmNwcAkocmV2aXNpb24gNTIyOTMpCisrKyBKYXZhU2NyaXB0Q29yZS9q
aXQvSklUU3R1YnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05NSw2ICs5NSwxNCBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICNkZWZpbmUgSElERV9TWU1CT0wobmFtZSkKICNlbmRpZgogCisjaWYgUExBVEZP
Uk0oQVJNX1RSQURJVElPTkFMKQorI2lmIFBMQVRGT1JNX0FSTV9BUkNIKDUpCisjZGVmaW5lIEJS
QU5DSChyZWcpIGJ4IHJlZworI2Vsc2UKKyNkZWZpbmUgQlJBTkNIKHJlZykgbW92IHBjLCByZWcK
KyNlbmRpZgorI2VuZGlmCisKICNpZiBVU0UoSlNWQUxVRTMyXzY0KQogCiAjaWYgQ09NUElMRVIo
R0NDKSAmJiBQTEFURk9STShYODYpCkBAIC02MzMsNiArNjQxLDQ2IEBAIFNZTUJPTF9TVFJJTkco
Y3RpT3BUaHJvd05vdENhdWdodCkgIjoiICIKICAgICAibW92IHBjLCBsciIgIlxuIgogKTsKIAor
I2VsaWYgQ09NUElMRVIoUlZDVCkgJiYgUExBVEZPUk0oQVJNX1RSQURJVElPTkFMKQorCitfX2Fz
bSBFbmNvZGVkSlNWYWx1ZSBjdGlUcmFtcG9saW5lKHZvaWQqLCBSZWdpc3RlckZpbGUqLCBDYWxs
RnJhbWUqLCBKU1ZhbHVlKiwgUHJvZmlsZXIqKiwgSlNHbG9iYWxEYXRhKikKK3sKKyAgICBBUk0K
KyAgICBzdG1kYiBzcCEsIHtyMS1yM30KKyAgICBzdG1kYiBzcCEsIHtyNC1yOCwgbHJ9CisgICAg
c3ViIHNwLCBzcCwgIzM2CisgICAgbW92IHI0LCByMgorICAgIG1vdiByNSwgIzUxMgorICAgIG1v
diBsciwgcGMKKyAgICBCUkFOQ0gocjApCisgICAgYWRkIHNwLCBzcCwgIzM2CisgICAgbGRtaWEg
c3AhLCB7cjQtcjgsIGxyfQorICAgIGFkZCBzcCwgc3AsICMxMgorICAgIEJSQU5DSChscikKK30K
KworX19hc20gdm9pZCBjdGlWTVRocm93VHJhbXBvbGluZSgpCit7CisgICAgQVJNCisgICAgUFJF
U0VSVkU4CisgICAgSU1QT1JUIGN0aV92bV90aHJvdworICAgIG1vdiByMCwgc3AKKyAgICBibCBj
dGlfdm1fdGhyb3cKKyAgICBhZGQgc3AsIHNwLCAjMzYKKyAgICBsZG1pYSBzcCEsIHtyNC1yOCwg
bHJ9CisgICAgYWRkIHNwLCBzcCwgIzEyCisgICAgQlJBTkNIKGxyKQorfQorCitfX2FzbSB2b2lk
IGN0aU9wVGhyb3dOb3RDYXVnaHQoKQoreworICAgIEFSTQorICAgIGFkZCBzcCwgc3AsICMzNgor
ICAgIGxkbWlhIHNwISwge3I0LXI4LCBscn0KKyAgICBhZGQgc3AsIHNwLCAjMTIKKyAgICBCUkFO
Q0gobHIpCit9CisKICNlbGlmIENPTVBJTEVSKE1TVkMpCiAKICNpZiBVU0UoSklUX1NUVUJfQVJH
VU1FTlRfVkFfTElTVCkKQEAgLTEwMDIsNiArMTA1MCwzMiBAQCBDT01QSUxFX0FTU0VSVChvZmZz
ZXRvZihzdHJ1Y3QgSklUU3RhY2tGCiAgICAgICAgICk7IFwKICAgICBydHlwZSBKSVRTdHViVGh1
bmtlZF8jI29wKFNUVUJfQVJHU19ERUNMQVJBVElPTikKIAorI2VsaWYgUExBVEZPUk0oQVJNX1RS
QURJVElPTkFMKSAmJiBDT01QSUxFUihSVkNUKQorCisjZGVmaW5lIERFRklORV9TVFVCX0ZVTkNU
SU9OKHJ0eXBlLCBvcCkgcnR5cGUgSklUU3R1YlRodW5rZWRfIyNvcChTVFVCX0FSR1NfREVDTEFS
QVRJT04pCisKKy8qIFRoZSBmb2xsb3dpbmcgaXMgYSB3b3JrYXJvdW5kIGZvciBSVkNUIHRvb2xj
aGFpbjsgcHJlY29tcGlsZXIgbWFjcm9zIGFyZSBub3QgZXhwYW5kZWQgYmVmb3JlIHRoZSBjb2Rl
IGlzIHBhc3NlZCB0byB0aGUgYXNzZW1ibGVyICovCisKKy8qIFRoZSBmb2xsb3dpbmcgc2VjdGlv
biBpcyBhIHRlbXBsYXRlIHRvIGdlbmVyYXRlIGNvZGUgZm9yIEdlbmVyYXRlZEpJVFN0dWJzX1JW
Q1QuaCAqLworLyogVGhlIHBhdHRlcm4gIiN4eHgjIiB3aWxsIGJlIHJlcGxhY2VkIHdpdGggInh4
eCIgKi8KKworLyoKK1JWQ1QoZXh0ZXJuICJDIiAjcnR5cGUjIEpJVFN0dWJUaHVua2VkXyNvcCMo
U1RVQl9BUkdTX0RFQ0xBUkFUSU9OKTspCitSVkNUKF9fYXNtICNydHlwZSMgY3RpXyNvcCMoU1RV
Ql9BUkdTX0RFQ0xBUkFUSU9OKSkKK1JWQ1QoeykKK1JWQ1QoICAgIEFSTSkKK1JWQ1QoICAgIElN
UE9SVCBKSVRTdHViVGh1bmtlZF8jb3AjKQorUlZDVCggICAgc3RyIGxyLCBbc3AsICMzMl0pCitS
VkNUKCAgICBibCBKSVRTdHViVGh1bmtlZF8jb3AjKQorUlZDVCggICAgbGRyIGxyLCBbc3AsICMz
Ml0pCitSVkNUKCAgICBCUkFOQ0gobHIpKQorUlZDVCh9KQorUlZDVCgpCisqLworCisvKiBJbmNs
dWRlIHRoZSBnZW5lcmF0ZWQgZmlsZSAqLworI2luY2x1ZGUgIkdlbmVyYXRlZEpJVFN0dWJzX1JW
Q1QuaCIKKwogI2Vsc2UKICNkZWZpbmUgREVGSU5FX1NUVUJfRlVOQ1RJT04ocnR5cGUsIG9wKSBy
dHlwZSBKSVRfU1RVQiBjdGlfIyNvcChTVFVCX0FSR1NfREVDTEFSQVRJT04pCiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>45203</attachid>
            <date>2009-12-18 16:26:56 -0800</date>
            <delta_ts>2010-01-07 21:57:45 -0800</delta_ts>
            <desc>Remove BRANCH macro</desc>
            <filename>30552_7.patch</filename>
            <type>text/plain</type>
            <size>6081</size>
            <attacher name="Laszlo Gombos">laszlo.gombos</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDUyMjkzKQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjkgQEAKKzIwMDktMTItMTcgIExhc3psbyBH
b21ib3MgIDxsYXN6bG8uMS5nb21ib3NAbm9raWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtTeW1iaWFuXSBQb3J0IEFSTSB0cmFkaXRpb25h
bCBKSVQgVHJhbXBvbGluZXMgdG8gUlZDVAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MzA1NTIKKworICAgICAgICBUYWtlIHRoZSBHQ0MgaW1wbGVtZW50
YXRpb24gYW5kIG1lY2hhbmljYWxseSBjb252ZXJ0CisgICAgICAgIGl0IHRvIFJWQ1Qgc3ludGF4
LgorCisgICAgICAgIFVzZSAnYnggclgnIGluc3RlYWQgb2YgJ21vdiBwYywgclgnIHdoZW4gaXQg
aXMgYXZhaWxhYmxlLgorCisgICAgICAgIERldmVsb3BlZCBpbiBjb29wZXJhdGlvbiB3aXRoIElh
aW4gQ2FtcGJlbGwgYW5kIEdhYm9yIExva2kuCisKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS5w
cmk6IEV4dHJhIHN0ZXAgdG8gZ2VuZXJhdGUgUlZDVCBzdHVicy4gVGhlIAorICAgICAgICBzY3Jp
cHQgZ2VuZXJhdGlvbiBpbnRlbnRpb25hbGx5IGV4ZWN1dGVkIGFsbCB0aGUgdGltZSBub3QganVz
dAorICAgICAgICBmb3IgUlZDVCB0YXJnZXRzLgorCisgICAgICAgICogY3JlYXRlX3J2Y3Rfc3R1
YnM6IEFkZGVkLiBQZXJsIHNjcmlwdCB0byBleHBhbmQgcHJlY29tcGlsZXIgbWFjcm9zCisgICAg
ICAgIGZvciBSVkNUIGFzc2VtYmxlciAtIHRoZSB0ZW1wbGF0ZSBpcyBkZWZpbmVkIGluIEpJVFN0
dWJzLmNwcC4KKworICAgICAgICAqIGppdC9KSVRTdHVicy5jcHA6CisgICAgICAgIChKU0M6OmN0
aVRyYW1wb2xpbmUpOgorICAgICAgICAoSlNDOjpjdGlWTVRocm93VHJhbXBvbGluZSk6CisgICAg
ICAgIChKU0M6OmN0aU9wVGhyb3dOb3RDYXVnaHQpOgorCiAyMDA5LTEyLTE3ICBBZGFtIFJvYmVu
ICA8YXJvYmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBTeW5jIEphdmFTY3JpcHRDb3JlLnZjcHJv
aiB3aXRoIEphdmFTY3JpcHRDb3JlLnhjb2RlcHJvaiBhbmQgdGhlCkluZGV4OiBKYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS5wcmkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmUucHJpCShyZXZpc2lvbiA1MjI5MykKKysrIEphdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnByaQkod29ya2luZyBjb3B5KQpAQCAtODksNiArODksOSBAQCBLRVlXT1JETFVU
X0ZJTEVTICs9IFwKIEpTQ0JJU09OICs9IFwKICAgICBwYXJzZXIvR3JhbW1hci55CiAKK1JWQ1Rf
U1RVQl9GSUxFUyArPSBcCisgICAgaml0L0pJVFN0dWJzLmNwcAorCiBTT1VSQ0VTICs9IFwKICAg
ICBBUEkvSlNCYXNlLmNwcCBcCiAgICAgQVBJL0pTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5jcHAgXApA
QCAtMjc5LDMgKzI4MiwxMCBAQCBqc2NiaXNvbi5kZXBlbmRlbmN5X3R5cGUgPSBUWVBFX0MKIGpz
Y2Jpc29uLkNPTkZJRyA9IHRhcmdldF9wcmVkZXBzCiBhZGRFeHRyYUNvbXBpbGVyV2l0aEhlYWRl
cihqc2NiaXNvbikKIAorIyBHRU5FUkFUT1IgMzogSklUIFN0dWIgZnVuY3Rpb25zIGZvciBSVkNU
CitydmN0c3R1YnMub3V0cHV0ID0gJCR7R0VORVJBVEVEX1NPVVJDRVNfRElSfSQke1FNQUtFX0RJ
Ul9TRVB9R2VuZXJhdGVkJHtRTUFLRV9GSUxFX0JBU0V9X1JWQ1QuaAorcnZjdHN0dWJzLmNvbW1h
bmRzID0gcGVybCAkJFBXRC9jcmVhdGVfcnZjdF9zdHVicyAke1FNQUtFX0ZJTEVfTkFNRX0gLWkg
PiAke1FNQUtFX0ZJTEVfT1VUfQorcnZjdHN0dWJzLmRlcGVuZCA9ICR7UU1BS0VfRklMRV9OQU1F
fQorcnZjdHN0dWJzLmlucHV0ID0gUlZDVF9TVFVCX0ZJTEVTCitydmN0c3R1YnMuQ09ORklHICs9
IG5vX2xpbmsKK2FkZEV4dHJhQ29tcGlsZXIocnZjdHN0dWJzKQpJbmRleDogSmF2YVNjcmlwdENv
cmUvY3JlYXRlX3J2Y3Rfc3R1YnMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvY3JlYXRl
X3J2Y3Rfc3R1YnMJKHJldmlzaW9uIDApCisrKyBKYXZhU2NyaXB0Q29yZS9jcmVhdGVfcnZjdF9z
dHVicwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1MSBAQAorIyEgL3Vzci9iaW4vcGVybCAtdwor
IworIyBDb3B5cmlnaHQgKEMpIDIwMDkgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJz
aWRpYXJ5KC1pZXMpCisjCisjIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkg
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisjIHZlcnNpb24gMiBvZiB0aGUg
TGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhp
cyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm
dWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk
IHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisjIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZSBmb3IgbW9yZSBkZXRhaWxzLgorIworIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisjIGFsb25nIHdpdGgg
dGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRv
CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVl
dCwgRmlmdGggRmxvb3IsCisjIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorCit1c2Ugc3Ry
aWN0OworCitteSAkZmlsZSA9ICRBUkdWWzBdOworc2hpZnQ7CisKK215ICRzdHViX3RlbXBsYXRl
ID0gIiI7CitteSAkc3R1YiA9ICIiOworCitteSAkcnR5cGUgPSAiIjsKK215ICRvcCA9ICIiOwor
CitteSAkcnR5cGVfdGVtcGxhdGUgPSBxdW90ZW1ldGEoIiNydHlwZSMiKTsKK215ICRvcF90ZW1w
bGF0ZSA9IHF1b3RlbWV0YSgiI29wIyIpOworCitwcmludCBTVERFUlIgIkNyZWF0aW5nIFJWQ1Qg
c3R1YnMgZm9yICRmaWxlIFxuIjsKK29wZW4oSU4sICRmaWxlKSBvciBkaWUgIk5vIHN1Y2ggZmls
ZSAkZmlsZSI7CisKK3doaWxlICggJF8gPSA8SU4+ICkgeworICAgIGlmICggL15SVkNUXCgoLiop
XCkvICkgeworICAgICAgICAkc3R1Yl90ZW1wbGF0ZSAuPSAkMSAuICJcbiI7CisgICAgfQorICAg
IGlmICggL15ERUZJTkVfU1RVQl9GVU5DVElPTlwoKC4qKSwgKC4qKVwpLyApIHsKKyAgICAgICAg
JHN0dWIgPSAkc3R1Yl90ZW1wbGF0ZTsKKyAgICAgICAgJHJ0eXBlID0gcXVvdGVtZXRhKCQxKTsK
KyAgICAgICAgJG9wID0gcXVvdGVtZXRhKCQyKTsKKyAgICAgICAgJHN0dWIgPX4gcy8kcnR5cGVf
dGVtcGxhdGUvJHJ0eXBlL2c7CisgICAgICAgICRzdHViID1+IHMvJG9wX3RlbXBsYXRlLyRvcC9n
OworICAgICAgICBwcmludCAkc3R1YjsKKyAgICB9Cit9CisKK2Nsb3NlKElOKTsKSW5kZXg6IEph
dmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVicy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENv
cmUvaml0L0pJVFN0dWJzLmNwcAkocmV2aXNpb24gNTIyOTMpCisrKyBKYXZhU2NyaXB0Q29yZS9q
aXQvSklUU3R1YnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MzMsNiArNjMzLDQ2IEBAIFNZTUJP
TF9TVFJJTkcoY3RpT3BUaHJvd05vdENhdWdodCkgIjoiICIKICAgICAibW92IHBjLCBsciIgIlxu
IgogKTsKIAorI2VsaWYgQ09NUElMRVIoUlZDVCkgJiYgUExBVEZPUk0oQVJNX1RSQURJVElPTkFM
KQorCitfX2FzbSBFbmNvZGVkSlNWYWx1ZSBjdGlUcmFtcG9saW5lKHZvaWQqLCBSZWdpc3RlckZp
bGUqLCBDYWxsRnJhbWUqLCBKU1ZhbHVlKiwgUHJvZmlsZXIqKiwgSlNHbG9iYWxEYXRhKikKK3sK
KyAgICBBUk0KKyAgICBzdG1kYiBzcCEsIHtyMS1yM30KKyAgICBzdG1kYiBzcCEsIHtyNC1yOCwg
bHJ9CisgICAgc3ViIHNwLCBzcCwgIzM2CisgICAgbW92IHI0LCByMgorICAgIG1vdiByNSwgIzUx
MgorICAgIG1vdiBsciwgcGMKKyAgICBieCByMAorICAgIGFkZCBzcCwgc3AsICMzNgorICAgIGxk
bWlhIHNwISwge3I0LXI4LCBscn0KKyAgICBhZGQgc3AsIHNwLCAjMTIKKyAgICBieCBscgorfQor
CitfX2FzbSB2b2lkIGN0aVZNVGhyb3dUcmFtcG9saW5lKCkKK3sKKyAgICBBUk0KKyAgICBQUkVT
RVJWRTgKKyAgICBJTVBPUlQgY3RpX3ZtX3Rocm93CisgICAgbW92IHIwLCBzcAorICAgIGJsIGN0
aV92bV90aHJvdworICAgIGFkZCBzcCwgc3AsICMzNgorICAgIGxkbWlhIHNwISwge3I0LXI4LCBs
cn0KKyAgICBhZGQgc3AsIHNwLCAjMTIKKyAgICBieCBscgorfQorCitfX2FzbSB2b2lkIGN0aU9w
VGhyb3dOb3RDYXVnaHQoKQoreworICAgIEFSTQorICAgIGFkZCBzcCwgc3AsICMzNgorICAgIGxk
bWlhIHNwISwge3I0LXI4LCBscn0KKyAgICBhZGQgc3AsIHNwLCAjMTIKKyAgICBieCBscgorfQor
CiAjZWxpZiBDT01QSUxFUihNU1ZDKQogCiAjaWYgVVNFKEpJVF9TVFVCX0FSR1VNRU5UX1ZBX0xJ
U1QpCkBAIC0xMDAyLDYgKzEwNDIsMzIgQEAgQ09NUElMRV9BU1NFUlQob2Zmc2V0b2Yoc3RydWN0
IEpJVFN0YWNrRgogICAgICAgICApOyBcCiAgICAgcnR5cGUgSklUU3R1YlRodW5rZWRfIyNvcChT
VFVCX0FSR1NfREVDTEFSQVRJT04pCiAKKyNlbGlmIFBMQVRGT1JNKEFSTV9UUkFESVRJT05BTCkg
JiYgQ09NUElMRVIoUlZDVCkKKworI2RlZmluZSBERUZJTkVfU1RVQl9GVU5DVElPTihydHlwZSwg
b3ApIHJ0eXBlIEpJVFN0dWJUaHVua2VkXyMjb3AoU1RVQl9BUkdTX0RFQ0xBUkFUSU9OKQorCisv
KiBUaGUgZm9sbG93aW5nIGlzIGEgd29ya2Fyb3VuZCBmb3IgUlZDVCB0b29sY2hhaW47IHByZWNv
bXBpbGVyIG1hY3JvcyBhcmUgbm90IGV4cGFuZGVkIGJlZm9yZSB0aGUgY29kZSBpcyBwYXNzZWQg
dG8gdGhlIGFzc2VtYmxlciAqLworCisvKiBUaGUgZm9sbG93aW5nIHNlY3Rpb24gaXMgYSB0ZW1w
bGF0ZSB0byBnZW5lcmF0ZSBjb2RlIGZvciBHZW5lcmF0ZWRKSVRTdHVic19SVkNULmggKi8KKy8q
IFRoZSBwYXR0ZXJuICIjeHh4IyIgd2lsbCBiZSByZXBsYWNlZCB3aXRoICJ4eHgiICovCisKKy8q
CitSVkNUKGV4dGVybiAiQyIgI3J0eXBlIyBKSVRTdHViVGh1bmtlZF8jb3AjKFNUVUJfQVJHU19E
RUNMQVJBVElPTik7KQorUlZDVChfX2FzbSAjcnR5cGUjIGN0aV8jb3AjKFNUVUJfQVJHU19ERUNM
QVJBVElPTikpCitSVkNUKHspCitSVkNUKCAgICBBUk0pCitSVkNUKCAgICBJTVBPUlQgSklUU3R1
YlRodW5rZWRfI29wIykKK1JWQ1QoICAgIHN0ciBsciwgW3NwLCAjMzJdKQorUlZDVCggICAgYmwg
SklUU3R1YlRodW5rZWRfI29wIykKK1JWQ1QoICAgIGxkciBsciwgW3NwLCAjMzJdKQorUlZDVCgg
ICAgYnggbHIpKQorUlZDVCh9KQorUlZDVCgpCisqLworCisvKiBJbmNsdWRlIHRoZSBnZW5lcmF0
ZWQgZmlsZSAqLworI2luY2x1ZGUgIkdlbmVyYXRlZEpJVFN0dWJzX1JWQ1QuaCIKKwogI2Vsc2UK
ICNkZWZpbmUgREVGSU5FX1NUVUJfRlVOQ1RJT04ocnR5cGUsIG9wKSBydHlwZSBKSVRfU1RVQiBj
dGlfIyNvcChTVFVCX0FSR1NfREVDTEFSQVRJT04pCiAjZW5kaWYK
</data>

          </attachment>
      

    </bug>

</bugzilla>