<?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>27885</bug_id>
          
          <creation_ts>2009-07-31 09:22:28 -0700</creation_ts>
          <short_desc>Add QNX as supported platform</short_desc>
          <delta_ts>2009-08-14 07:44:53 -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>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>Other</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Harald Fernengel">harry</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>hausmann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>136176</commentid>
    <comment_count>0</comment_count>
      <attachid>33880</attachid>
    <who name="Harald Fernengel">harry</who>
    <bug_when>2009-07-31 09:22:28 -0700</bug_when>
    <thetext>Created attachment 33880
Patch making WebKitCore and JavaScriptCore compile on QNX

Attached patch adds WTF_PLATFORM_QNX and a few minor fixes to make WebKitCore and JavaScriptCore compile on QNX 6.4.

Tested only with Qt, see http://www.youtube.com/watch?v=U05iuHL2b9M&amp;fmt=22 for proof :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>136988</commentid>
    <comment_count>1</comment_count>
      <attachid>33880</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2009-08-04 08:13:37 -0700</bug_when>
    <thetext>Comment on attachment 33880
Patch making WebKitCore and JavaScriptCore compile on QNX


The patch looks good to me, but I&apos;m wondering about the hunk below:

&gt; @@ -544,8 +567,9 @@ static inline void* currentThreadStackBa
&gt;  #endif
&gt;          int rc = pthread_attr_getstack(&amp;sattr, &amp;stackBase, &amp;stackSize);
&gt;          (void)rc; // FIXME: Deal with error code somehow? Seems fatal.
&gt; -        ASSERT(stackBase);
&gt;          pthread_attr_destroy(&amp;sattr);
&gt; +#endif
&gt; +        ASSERT(stackBase);
&gt;          stackThread = thread;
&gt;      }
&gt;      return static_cast&lt;char*&gt;(stackBase) + stackSize;

Why did you move the ASSERT? :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137741</commentid>
    <comment_count>2</comment_count>
      <attachid>33880</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-08-06 19:07:59 -0700</bug_when>
    <thetext>Comment on attachment 33880
Patch making WebKitCore and JavaScriptCore compile on QNX

Can&apos;t we use a ThreadingQNX abstraction here to get the stack base instead?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137994</commentid>
    <comment_count>3</comment_count>
      <attachid>33880</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-08-07 11:22:31 -0700</bug_when>
    <thetext>Comment on attachment 33880
Patch making WebKitCore and JavaScriptCore compile on QNX

We have LOG macros for this:
+#ifndef NDEBUG
+            perror(&quot;Unable to open /proc/self:&quot;);
+#endif

No c-style casts in c++:
+        stackBase = (void*)threadInfo.stkbase;

r-.  Please explain why this shouldn&apos;t use (or expand and then use) the Threading abstraction model in Threading*</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>138628</commentid>
    <comment_count>4</comment_count>
      <attachid>34446</attachid>
    <who name="Harald Fernengel">harry</who>
    <bug_when>2009-08-10 04:42:50 -0700</bug_when>
    <thetext>Created attachment 34446
Updated version of the QNX patch

Thanks for your comments.

I&apos;ve removed the C-style cast and used LOG_ERROR instead of perror().

Also, the QNX specific part of getting the current thread&apos;s stack base is now factored out into currentThreadStackBaseQNX(), making it more readable and removing some #define magic.

QNX offers standard pthreads, so a special Threading* abstraction is not necessary. Collector.cpp already contains #defines for all platforms that use standard pthreads but don&apos;t offer pthread_getattr_np() to retrieve the stack base.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>140227</commentid>
    <comment_count>5</comment_count>
      <attachid>34446</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2009-08-14 07:32:05 -0700</bug_when>
    <thetext>Comment on attachment 34446
Updated version of the QNX patch

r=me

&gt; +static inline void *currentThreadStackBaseQNX()

Small coding style buglet here, but I&apos;ll fix that when landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>140230</commentid>
    <comment_count>6</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2009-08-14 07:44:53 -0700</bug_when>
    <thetext>Landed in r47284</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>33880</attachid>
            <date>2009-07-31 09:22:28 -0700</date>
            <delta_ts>2009-08-10 04:42:50 -0700</delta_ts>
            <desc>Patch making WebKitCore and JavaScriptCore compile on QNX</desc>
            <filename>qnx.patch</filename>
            <type>text/plain</type>
            <size>4498</size>
            <attacher name="Harald Fernengel">harry</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDQ2NjI1
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMDktMDct
MzEgIEhhcmFsZCBGZXJuZW5nZWwgIDxoYXJhbGQuZmVybmVuZ2VsQG5va2lhLmNvbT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT09ORQorCisgICAgICAgIEFkZGluZyBRTlggYXMgYSBwbGF0Zm9y
bS4gQ3VycmVudGx5IG9ubHkgdGVzdGVkIHdpdGggUXQuCisKKyAgICAgICAgKiBKYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0NvbGxlY3Rvci5jcHA6IEFkZGVkIHJldHJpZXZpbmcgb2Ygc3RhY2sgYmFz
ZQorICAgICAgICAgIHNpbmNlIFFOWCBkb2Vzbid0IGhhdmUgdGhlIHB0aHJlYWQgX250IGZ1bmN0
aW9ucworICAgICAgICAqIEphdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oOiBBZGRlZCBXVEZf
UExBVEZPUk1fUU5YIGFuZCBjb3JyZXNwb25kaW5nCisgICAgICAgICAgZGVmaW5lcworICAgICAg
ICAqIFdlYkNvcmUvYnJpZGdlL25wYXBpLmg6IEJ1aWxkIGZpeCBmb3IgbWlzc2luZyB0eXBlZGVm
cyBvbiBRTlgKKwogMjAwOS0wNy0yOSAgQXJpeWEgSGlkYXlhdCAgPGFyaXlhLmhpZGF5YXRAbm9r
aWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEhhdXNtYW5uLgpJbmRleDogSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Db2xsZWN0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvQ29sbGVjdG9yLmNwcAkocmV2aXNpb24gNDY2MjUpCisrKyBKYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0NvbGxlY3Rvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTczLDYgKzcz
LDEzIEBACiAjaW5jbHVkZSA8cHRocmVhZF9ucC5oPgogI2VuZGlmCiAKKyNpZiBQTEFURk9STShR
TlgpCisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxzeXMvcHJvY2ZzLmg+CisjaW5jbHVk
ZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2VuZGlmCisKICNlbmRpZgogCiAjZGVm
aW5lIERFQlVHX0NPTExFQ1RPUiAwCkBAIC01MzMsNiArNTQwLDIyIEBAIHN0YXRpYyBpbmxpbmUg
dm9pZCogY3VycmVudFRocmVhZFN0YWNrQmEKICAgICBzdGF0aWMgcHRocmVhZF90IHN0YWNrVGhy
ZWFkOwogICAgIHB0aHJlYWRfdCB0aHJlYWQgPSBwdGhyZWFkX3NlbGYoKTsKICAgICBpZiAoc3Rh
Y2tCYXNlID09IDAgfHwgdGhyZWFkICE9IHN0YWNrVGhyZWFkKSB7CisjaWYgUExBVEZPUk0oUU5Y
KQorICAgICAgICBzdHJ1Y3QgX2RlYnVnX3RocmVhZF9pbmZvIHRocmVhZEluZm87CisgICAgICAg
IG1lbXNldCgmdGhyZWFkSW5mbywgMCwgc2l6ZW9mKHRocmVhZEluZm8pKTsKKyAgICAgICAgdGhy
ZWFkSW5mby50aWQgPSBwdGhyZWFkX3NlbGYoKTsKKyAgICAgICAgaW50IGZkID0gb3BlbigiL3By
b2Mvc2VsZiIsIE9fUkRPTkxZKTsKKyAgICAgICAgaWYgKGZkID09IC0xKSB7CisjaWZuZGVmIE5E
RUJVRworICAgICAgICAgICAgcGVycm9yKCJVbmFibGUgdG8gb3BlbiAvcHJvYy9zZWxmOiIpOwor
I2VuZGlmCisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgfQorICAgICAgICBkZXZjdGwo
ZmQsIERDTURfUFJPQ19USURTVEFUVVMsICZ0aHJlYWRJbmZvLCBzaXplb2YodGhyZWFkSW5mbyks
IDApOworICAgICAgICBjbG9zZShmZCk7CisgICAgICAgIHN0YWNrQmFzZSA9ICh2b2lkKil0aHJl
YWRJbmZvLnN0a2Jhc2U7CisgICAgICAgIHN0YWNrU2l6ZSA9IHRocmVhZEluZm8uc3Rrc2l6ZTsK
KyNlbHNlCiAgICAgICAgIHB0aHJlYWRfYXR0cl90IHNhdHRyOwogICAgICAgICBwdGhyZWFkX2F0
dHJfaW5pdCgmc2F0dHIpOwogI2lmIEhBVkUoUFRIUkVBRF9OUF9IKSB8fCBQTEFURk9STShORVRC
U0QpCkBAIC01NDQsOCArNTY3LDkgQEAgc3RhdGljIGlubGluZSB2b2lkKiBjdXJyZW50VGhyZWFk
U3RhY2tCYQogI2VuZGlmCiAgICAgICAgIGludCByYyA9IHB0aHJlYWRfYXR0cl9nZXRzdGFjaygm
c2F0dHIsICZzdGFja0Jhc2UsICZzdGFja1NpemUpOwogICAgICAgICAodm9pZClyYzsgLy8gRklY
TUU6IERlYWwgd2l0aCBlcnJvciBjb2RlIHNvbWVob3c/IFNlZW1zIGZhdGFsLgotICAgICAgICBB
U1NFUlQoc3RhY2tCYXNlKTsKICAgICAgICAgcHRocmVhZF9hdHRyX2Rlc3Ryb3koJnNhdHRyKTsK
KyNlbmRpZgorICAgICAgICBBU1NFUlQoc3RhY2tCYXNlKTsKICAgICAgICAgc3RhY2tUaHJlYWQg
PSB0aHJlYWQ7CiAgICAgfQogICAgIHJldHVybiBzdGF0aWNfY2FzdDxjaGFyKj4oc3RhY2tCYXNl
KSArIHN0YWNrU2l6ZTsKSW5kZXg6IEphdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCShyZXZpc2lvbiA0NjYyNSkK
KysrIEphdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDgs
NiArMTA4LDEzIEBACiAjZGVmaW5lIFdURl9QTEFURk9STV9ORVRCU0QgMQogI2VuZGlmCiAKKy8q
IFBMQVRGT1JNKFFOWCkgKi8KKy8qIE9wZXJhdGluZyBzeXN0ZW0gbGV2ZWwgZGVwZW5kZW5jaWVz
IGZvciBRTlggdGhhdCBzaG91bGQgYmUgdXNlZCAqLworLyogcmVnYXJkbGVzcyBvZiBvcGVyYXRp
bmcgZW52aXJvbm1lbnQgKi8KKyNpZiBkZWZpbmVkKF9fUU5YTlRPX18pCisjZGVmaW5lIFdURl9Q
TEFURk9STV9RTlggMQorI2VuZGlmCisKIC8qIFBMQVRGT1JNKFVOSVgpICovCiAvKiBPcGVyYXRp
bmcgc3lzdGVtIGxldmVsIGRlcGVuZGVuY2llcyBmb3IgVW5peC1saWtlIHN5c3RlbXMgdGhhdCAq
LwogLyogc2hvdWxkIGJlIHVzZWQgcmVnYXJkbGVzcyBvZiBvcGVyYXRpbmcgZW52aXJvbm1lbnQg
Ki8KQEAgLTExOCw3ICsxMjUsOCBAQAogICAgfHwgZGVmaW5lZCh1bml4KSAgICAgICAgXAogICAg
fHwgZGVmaW5lZChfX3VuaXgpICAgICAgXAogICAgfHwgZGVmaW5lZChfX3VuaXhfXykgICAgXAot
ICAgfHwgZGVmaW5lZChfQUlYKQorICAgfHwgZGVmaW5lZChfQUlYKSAgICAgICAgXAorICAgfHwg
ZGVmaW5lZChfX1FOWE5UT19fKQogI2RlZmluZSBXVEZfUExBVEZPUk1fVU5JWCAxCiAjZW5kaWYK
IApAQCAtNDMwLDcgKzQzOCw4IEBACiAjZGVmaW5lIEhBVkVfU0lHTkFMX0ggMQogI2VuZGlmCiAK
LSNpZiAhUExBVEZPUk0oV0lOX09TKSAmJiAhUExBVEZPUk0oU09MQVJJUykgJiYgIVBMQVRGT1JN
KFNZTUJJQU4pICYmICFDT01QSUxFUihSVkNUKQorI2lmICFQTEFURk9STShXSU5fT1MpICYmICFQ
TEFURk9STShTT0xBUklTKSAmJiAhUExBVEZPUk0oUU5YKSBcCisgICAgJiYgIVBMQVRGT1JNKFNZ
TUJJQU4pICYmICFDT01QSUxFUihSVkNUKQogI2RlZmluZSBIQVZFX1RNX0dNVE9GRiAxCiAjZGVm
aW5lIEhBVkVfVE1fWk9ORSAxCiAjZGVmaW5lIEhBVkVfVElNRUdNIDEKQEAgLTQ4MCw2ICs0ODks
MTUgQEAKICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCiAjZW5kaWYKIAorI2VsaWYgUExBVEZP
Uk0oUU5YKQorCisjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCisjZGVmaW5lIEhBVkVfTU1BUCAxCisj
ZGVmaW5lIEhBVkVfU0JSSyAxCisjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKKyNkZWZpbmUgSEFW
RV9TWVNfUEFSQU1fSCAxCisjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCisKICNlbHNlCiAKIC8q
IEZJWE1FOiBpcyB0aGlzIGFjdHVhbGx5IHVzZWQgb3IgZG8gb3RoZXIgcGxhdGZvcm1zIGdlbmVy
YXRlIHRoZWlyIG93biBjb25maWcuaD8gKi8KSW5kZXg6IFdlYkNvcmUvYnJpZGdlL25wYXBpLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9icmlkZ2UvbnBhcGkuaAkocmV2aXNpb24gNDY2MjUpCisr
KyBXZWJDb3JlL2JyaWRnZS9ucGFwaS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTQsNiArMTE0LDE0
IEBACiAvKiAgICAgICAgICAgICBEZWZpbml0aW9uIG9mIEJhc2ljIFR5cGVzICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAqLwogLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIAorLyogUU5YIHNldHMg
dGhlIF9JTlQxNiBhbmQgZnJpZW5kcyBkZWZpbmVzLCBidXQgZG9lcyBub3QgdHlwZWRlZiB0aGUg
dHlwZXMgKi8KKyNpZmRlZiBfX1FOWE5UT19fCisjdW5kZWYgX1VJTlQxNgorI3VuZGVmIF9JTlQx
NgorI3VuZGVmIF9VSU5UMzIKKyN1bmRlZiBfSU5UMzIKKyNlbmRpZgorCiAjaWZuZGVmIF9VSU5U
MTYKICNkZWZpbmUgX1VJTlQxNgogdHlwZWRlZiB1bnNpZ25lZCBzaG9ydCB1aW50MTY7Cg==
</data>
<flag name="review"
          id="18070"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>34446</attachid>
            <date>2009-08-10 04:42:50 -0700</date>
            <delta_ts>2009-08-14 07:32:05 -0700</delta_ts>
            <desc>Updated version of the QNX patch</desc>
            <filename>qnx.patch</filename>
            <type>text/plain</type>
            <size>4593</size>
            <attacher name="Harald Fernengel">harry</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDQ2OTcx
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMDktMDct
MzEgIEhhcmFsZCBGZXJuZW5nZWwgIDxoYXJhbGQuZmVybmVuZ2VsQG5va2lhLmNvbT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT09ORQorCisgICAgICAgIEFkZGluZyBRTlggYXMgYSBwbGF0Zm9y
bS4gQ3VycmVudGx5IG9ubHkgdGVzdGVkIHdpdGggUXQuCisKKyAgICAgICAgKiBKYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0NvbGxlY3Rvci5jcHA6IEFkZGVkIHJldHJpZXZpbmcgb2Ygc3RhY2sgYmFz
ZQorICAgICAgICAgIHNpbmNlIFFOWCBkb2Vzbid0IGhhdmUgdGhlIHB0aHJlYWQgX250IGZ1bmN0
aW9ucworICAgICAgICAqIEphdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oOiBBZGRlZCBXVEZf
UExBVEZPUk1fUU5YIGFuZCBjb3JyZXNwb25kaW5nCisgICAgICAgICAgZGVmaW5lcworICAgICAg
ICAqIFdlYkNvcmUvYnJpZGdlL25wYXBpLmg6IEJ1aWxkIGZpeCBmb3IgbWlzc2luZyB0eXBlZGVm
cyBvbiBRTlgKKwogMjAwOS0wOC0wNSAgSmFuIE1pY2hhZWwgQWxvbnpvICA8am1hbG9uem9Ad2Vi
a2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBYYW4gTG9wZXouCkluZGV4OiBKYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0NvbGxlY3Rvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Db2xsZWN0b3IuY3BwCShyZXZpc2lvbiA0Njk3MSkKKysrIEphdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQ29sbGVjdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzQsNiArNzQsMTMg
QEAKICNpbmNsdWRlIDxwdGhyZWFkX25wLmg+CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKFFOWCkK
KyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPHN5cy9wcm9jZnMuaD4KKyNpbmNsdWRlIDxz
dGRpby5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjZW5kaWYKKwogI2VuZGlmCiAKICNkZWZpbmUg
REVCVUdfQ09MTEVDVE9SIDAKQEAgLTQ4NSw2ICs0OTIsMzMgQEAgc3RhdGljIHZvaWQqIGdldFN0
YWNrQmFzZSh2b2lkKiBwcmV2aW91cwogfQogI2VuZGlmCiAKKyNpZiBQTEFURk9STShRTlgpCitz
dGF0aWMgaW5saW5lIHZvaWQgKmN1cnJlbnRUaHJlYWRTdGFja0Jhc2VRTlgoKQoreworICAgIHN0
YXRpYyB2b2lkKiBzdGFja0Jhc2UgPSAwOworICAgIHN0YXRpYyBzaXplX3Qgc3RhY2tTaXplID0g
MDsKKyAgICBzdGF0aWMgcHRocmVhZF90IHN0YWNrVGhyZWFkOworICAgIHB0aHJlYWRfdCB0aHJl
YWQgPSBwdGhyZWFkX3NlbGYoKTsKKyAgICBpZiAoc3RhY2tCYXNlID09IDAgfHwgdGhyZWFkICE9
IHN0YWNrVGhyZWFkKSB7CisgICAgICAgIHN0cnVjdCBfZGVidWdfdGhyZWFkX2luZm8gdGhyZWFk
SW5mbzsKKyAgICAgICAgbWVtc2V0KCZ0aHJlYWRJbmZvLCAwLCBzaXplb2YodGhyZWFkSW5mbykp
OworICAgICAgICB0aHJlYWRJbmZvLnRpZCA9IHB0aHJlYWRfc2VsZigpOworICAgICAgICBpbnQg
ZmQgPSBvcGVuKCIvcHJvYy9zZWxmIiwgT19SRE9OTFkpOworICAgICAgICBpZiAoZmQgPT0gLTEp
IHsKKyAgICAgICAgICAgIExPR19FUlJPUigiVW5hYmxlIHRvIG9wZW4gL3Byb2Mvc2VsZiAoZXJy
bm86ICVkKSIsIGVycm5vKTsKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICB9CisgICAg
ICAgIGRldmN0bChmZCwgRENNRF9QUk9DX1RJRFNUQVRVUywgJnRocmVhZEluZm8sIHNpemVvZih0
aHJlYWRJbmZvKSwgMCk7CisgICAgICAgIGNsb3NlKGZkKTsKKyAgICAgICAgc3RhY2tCYXNlID0g
cmVpbnRlcnByZXRfY2FzdDx2b2lkKj4odGhyZWFkSW5mby5zdGtiYXNlKTsKKyAgICAgICAgc3Rh
Y2tTaXplID0gdGhyZWFkSW5mby5zdGtzaXplOworICAgICAgICBBU1NFUlQoc3RhY2tCYXNlKTsK
KyAgICAgICAgc3RhY2tUaHJlYWQgPSB0aHJlYWQ7CisgICAgfQorICAgIHJldHVybiBzdGF0aWNf
Y2FzdDxjaGFyKj4oc3RhY2tCYXNlKSArIHN0YWNrU2l6ZTsKK30KKyNlbmRpZgorCiBzdGF0aWMg
aW5saW5lIHZvaWQqIGN1cnJlbnRUaHJlYWRTdGFja0Jhc2UoKQogewogI2lmIFBMQVRGT1JNKERB
UldJTikKQEAgLTUxMCw2ICs1NDQsOCBAQCBzdGF0aWMgaW5saW5lIHZvaWQqIGN1cnJlbnRUaHJl
YWRTdGFja0JhCiAgICAgICAgICAgOiAiPXIiIChwVGliKQogICAgICAgICApOwogICAgIHJldHVy
biBzdGF0aWNfY2FzdDx2b2lkKj4ocFRpYi0+U3RhY2tCYXNlKTsKKyNlbGlmIFBMQVRGT1JNKFFO
WCkKKyAgICByZXR1cm4gY3VycmVudFRocmVhZFN0YWNrQmFzZVFOWCgpOwogI2VsaWYgUExBVEZP
Uk0oU09MQVJJUykKICAgICBzdGFja190IHM7CiAgICAgdGhyX3N0a3NlZ21lbnQoJnMpOwpJbmRl
eDogSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlw
dENvcmUvd3RmL1BsYXRmb3JtLmgJKHJldmlzaW9uIDQ2OTcxKQorKysgSmF2YVNjcmlwdENvcmUv
d3RmL1BsYXRmb3JtLmgJKHdvcmtpbmcgY29weSkKQEAgLTEwOCw2ICsxMDgsMTMgQEAKICNkZWZp
bmUgV1RGX1BMQVRGT1JNX05FVEJTRCAxCiAjZW5kaWYKIAorLyogUExBVEZPUk0oUU5YKSAqLwor
LyogT3BlcmF0aW5nIHN5c3RlbSBsZXZlbCBkZXBlbmRlbmNpZXMgZm9yIFFOWCB0aGF0IHNob3Vs
ZCBiZSB1c2VkICovCisvKiByZWdhcmRsZXNzIG9mIG9wZXJhdGluZyBlbnZpcm9ubWVudCAqLwor
I2lmIGRlZmluZWQoX19RTlhOVE9fXykKKyNkZWZpbmUgV1RGX1BMQVRGT1JNX1FOWCAxCisjZW5k
aWYKKwogLyogUExBVEZPUk0oVU5JWCkgKi8KIC8qIE9wZXJhdGluZyBzeXN0ZW0gbGV2ZWwgZGVw
ZW5kZW5jaWVzIGZvciBVbml4LWxpa2Ugc3lzdGVtcyB0aGF0ICovCiAvKiBzaG91bGQgYmUgdXNl
ZCByZWdhcmRsZXNzIG9mIG9wZXJhdGluZyBlbnZpcm9ubWVudCAqLwpAQCAtMTE4LDcgKzEyNSw4
IEBACiAgICB8fCBkZWZpbmVkKHVuaXgpICAgICAgICBcCiAgICB8fCBkZWZpbmVkKF9fdW5peCkg
ICAgICBcCiAgICB8fCBkZWZpbmVkKF9fdW5peF9fKSAgICBcCi0gICB8fCBkZWZpbmVkKF9BSVgp
CisgICB8fCBkZWZpbmVkKF9BSVgpICAgICAgICBcCisgICB8fCBkZWZpbmVkKF9fUU5YTlRPX18p
CiAjZGVmaW5lIFdURl9QTEFURk9STV9VTklYIDEKICNlbmRpZgogCkBAIC00MzcsNyArNDQ1LDgg
QEAKICNkZWZpbmUgSEFWRV9TSUdOQUxfSCAxCiAjZW5kaWYKIAotI2lmICFQTEFURk9STShXSU5f
T1MpICYmICFQTEFURk9STShTT0xBUklTKSAmJiAhUExBVEZPUk0oU1lNQklBTikgJiYgIUNPTVBJ
TEVSKFJWQ1QpCisjaWYgIVBMQVRGT1JNKFdJTl9PUykgJiYgIVBMQVRGT1JNKFNPTEFSSVMpICYm
ICFQTEFURk9STShRTlgpIFwKKyAgICAmJiAhUExBVEZPUk0oU1lNQklBTikgJiYgIUNPTVBJTEVS
KFJWQ1QpCiAjZGVmaW5lIEhBVkVfVE1fR01UT0ZGIDEKICNkZWZpbmUgSEFWRV9UTV9aT05FIDEK
ICNkZWZpbmUgSEFWRV9USU1FR00gMQpAQCAtNDg3LDYgKzQ5NiwxNSBAQAogI2RlZmluZSBIQVZF
X1NZU19QQVJBTV9IIDEKICNlbmRpZgogCisjZWxpZiBQTEFURk9STShRTlgpCisKKyNkZWZpbmUg
SEFWRV9FUlJOT19IIDEKKyNkZWZpbmUgSEFWRV9NTUFQIDEKKyNkZWZpbmUgSEFWRV9TQlJLIDEK
KyNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQorI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKKyNk
ZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKKwogI2Vsc2UKIAogLyogRklYTUU6IGlzIHRoaXMgYWN0
dWFsbHkgdXNlZCBvciBkbyBvdGhlciBwbGF0Zm9ybXMgZ2VuZXJhdGUgdGhlaXIgb3duIGNvbmZp
Zy5oPyAqLwpJbmRleDogV2ViQ29yZS9icmlkZ2UvbnBhcGkuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL2JyaWRnZS9ucGFwaS5oCShyZXZpc2lvbiA0Njk3MSkKKysrIFdlYkNvcmUvYnJpZGdlL25w
YXBpLmgJKHdvcmtpbmcgY29weSkKQEAgLTExNCw2ICsxMTQsMTQgQEAKIC8qICAgICAgICAgICAg
IERlZmluaXRpb24gb2YgQmFzaWMgVHlwZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICovCiAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogCisvKiBRTlggc2V0cyB0aGUgX0lOVDE2IGFuZCBmcmll
bmRzIGRlZmluZXMsIGJ1dCBkb2VzIG5vdCB0eXBlZGVmIHRoZSB0eXBlcyAqLworI2lmZGVmIF9f
UU5YTlRPX18KKyN1bmRlZiBfVUlOVDE2CisjdW5kZWYgX0lOVDE2CisjdW5kZWYgX1VJTlQzMgor
I3VuZGVmIF9JTlQzMgorI2VuZGlmCisKICNpZm5kZWYgX1VJTlQxNgogI2RlZmluZSBfVUlOVDE2
CiB0eXBlZGVmIHVuc2lnbmVkIHNob3J0IHVpbnQxNjsK
</data>
<flag name="review"
          id="18628"
          type_id="1"
          status="+"
          setter="hausmann"
    />
          </attachment>
      

    </bug>

</bugzilla>