<?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>172081</bug_id>
          
          <creation_ts>2017-05-13 18:50:24 -0700</creation_ts>
          <short_desc>[Win] Correct OS(WINDOWS) and PLATFORM(WIN) compiler guards</short_desc>
          <delta_ts>2017-06-08 21:47:51 -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>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>172144</dup_id>
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Daewoong Jang">daewoong.jang</reporter>
          <assigned_to name="Daewoong Jang">daewoong.jang</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>buildbot</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>pvollan</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1308374</commentid>
    <comment_count>0</comment_count>
    <who name="Daewoong Jang">daewoong.jang</who>
    <bug_when>2017-05-13 18:50:24 -0700</bug_when>
    <thetext>Corrects mixed use of OS(WINDOWS) and PLATFORM(WIN) compiler guards. Most of lines within PLATFORM(WIN) guards in JavaScriptCore are actually OS-dependent implementation and can cause runtime errors if the module was built for Windows without PLATFORM(WIN) compiler flag enabled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1308375</commentid>
    <comment_count>1</comment_count>
      <attachid>310047</attachid>
    <who name="Daewoong Jang">daewoong.jang</who>
    <bug_when>2017-05-13 18:54:43 -0700</bug_when>
    <thetext>Created attachment 310047
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1308377</commentid>
    <comment_count>2</comment_count>
      <attachid>310048</attachid>
    <who name="Daewoong Jang">daewoong.jang</who>
    <bug_when>2017-05-13 19:03:20 -0700</bug_when>
    <thetext>Created attachment 310048
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1308395</commentid>
    <comment_count>3</comment_count>
      <attachid>310048</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-05-13 20:33:25 -0700</bug_when>
    <thetext>Comment on attachment 310048
Patch

r- because ...

According to Platform.h:
...
#elif OS(WINDOWS)
#define WTF_PLATFORM_WIN 1
#endif

Hence, if OS(WINDOWS), then PLATFORM(WIN) is always true.  The 2 are always tied together it seems.  So, why is that not sufficient?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1308398</commentid>
    <comment_count>4</comment_count>
    <who name="Daewoong Jang">daewoong.jang</who>
    <bug_when>2017-05-13 21:01:59 -0700</bug_when>
    <thetext>(In reply to Mark Lam from comment #3)
&gt; Comment on attachment 310048 [details]
&gt; Patch
&gt; 
&gt; r- because ...
&gt; 
&gt; According to Platform.h:
&gt; ...
&gt; #elif OS(WINDOWS)
&gt; #define WTF_PLATFORM_WIN 1
&gt; #endif
&gt; 
&gt; Hence, if OS(WINDOWS), then PLATFORM(WIN) is always true.  The 2 are always
&gt; tied together it seems.  So, why is that not sufficient?

It is not sufficient when building on Windows with PLATFORM(WIN) turned off(by adding #undef WTF_PLATFORM_WIN to Platform.h) to avoid using Windows platform features.

I agree that this changes are unnecessary as there are only AppleWin and WinCairo ports, but I believe the lines guarded by PLATFORM(WIN) are actually OS-dependent and it would be good to correct them.

So I appreciate if these changes accepted if they are not wrong and harmful.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1308401</commentid>
    <comment_count>5</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-05-13 21:21:02 -0700</bug_when>
    <thetext>(In reply to Daewoong Jang from comment #4)
&gt; (In reply to Mark Lam from comment #3)
&gt; &gt; Comment on attachment 310048 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; r- because ...
&gt; &gt; 
&gt; &gt; According to Platform.h:
&gt; &gt; ...
&gt; &gt; #elif OS(WINDOWS)
&gt; &gt; #define WTF_PLATFORM_WIN 1
&gt; &gt; #endif
&gt; &gt; 
&gt; &gt; Hence, if OS(WINDOWS), then PLATFORM(WIN) is always true.  The 2 are always
&gt; &gt; tied together it seems.  So, why is that not sufficient?
&gt; 
&gt; It is not sufficient when building on Windows with PLATFORM(WIN) turned
&gt; off(by adding #undef WTF_PLATFORM_WIN to Platform.h) to avoid using Windows
&gt; platform features.
&gt; 
&gt; I agree that this changes are unnecessary as there are only AppleWin and
&gt; WinCairo ports, but I believe the lines guarded by PLATFORM(WIN) are
&gt; actually OS-dependent and it would be good to correct them.
&gt; 
&gt; So I appreciate if these changes accepted if they are not wrong and harmful.

I understand that you&apos;re trying to use OS(WINDOWS) without PLATFORM(WIN).  However, I don&apos;t understand why one would want to build for Windows and yet not use the Windows platform.  Can you clarify what the difference is, and what use case you are thinking of i.e. why does it make sense to have OS(WINDOWS) without PLATFORM(WIN)?  I may be ignorant about this, but to me, OS(WINDOWS) is synonymous with PLATFORM(WIN), but obviously, you don&apos;t think the 2 are the same.  As a result, I&apos;m not quite sure if it is wrong to reclassify the code as belonging to OS(WINDOWS) vs PLATFORM(WIN).  Clarifying the difference may make a stronger case for your change.

I&apos;m also cc&apos;ing some other folks who know Windows better.  They might be able to judge this better.  Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1308402</commentid>
    <comment_count>6</comment_count>
    <who name="Daewoong Jang">daewoong.jang</who>
    <bug_when>2017-05-13 21:30:02 -0700</bug_when>
    <thetext>(In reply to Mark Lam from comment #5)
&gt; (In reply to Daewoong Jang from comment #4)
&gt; &gt; (In reply to Mark Lam from comment #3)
&gt; &gt; &gt; Comment on attachment 310048 [details]
&gt; &gt; &gt; Patch
&gt; &gt; &gt; 
&gt; &gt; &gt; r- because ...
&gt; &gt; &gt; 
&gt; &gt; &gt; According to Platform.h:
&gt; &gt; &gt; ...
&gt; &gt; &gt; #elif OS(WINDOWS)
&gt; &gt; &gt; #define WTF_PLATFORM_WIN 1
&gt; &gt; &gt; #endif
&gt; &gt; &gt; 
&gt; &gt; &gt; Hence, if OS(WINDOWS), then PLATFORM(WIN) is always true.  The 2 are always
&gt; &gt; &gt; tied together it seems.  So, why is that not sufficient?
&gt; &gt; 
&gt; &gt; It is not sufficient when building on Windows with PLATFORM(WIN) turned
&gt; &gt; off(by adding #undef WTF_PLATFORM_WIN to Platform.h) to avoid using Windows
&gt; &gt; platform features.
&gt; &gt; 
&gt; &gt; I agree that this changes are unnecessary as there are only AppleWin and
&gt; &gt; WinCairo ports, but I believe the lines guarded by PLATFORM(WIN) are
&gt; &gt; actually OS-dependent and it would be good to correct them.
&gt; &gt; 
&gt; &gt; So I appreciate if these changes accepted if they are not wrong and harmful.
&gt; 
&gt; I understand that you&apos;re trying to use OS(WINDOWS) without PLATFORM(WIN). 
&gt; However, I don&apos;t understand why one would want to build for Windows and yet
&gt; not use the Windows platform.  Can you clarify what the difference is, and
&gt; what use case you are thinking of i.e. why does it make sense to have
&gt; OS(WINDOWS) without PLATFORM(WIN)?  I may be ignorant about this, but to me,
&gt; OS(WINDOWS) is synonymous with PLATFORM(WIN), but obviously, you don&apos;t think
&gt; the 2 are the same.  As a result, I&apos;m not quite sure if it is wrong to
&gt; reclassify the code as belonging to OS(WINDOWS) vs PLATFORM(WIN). 
&gt; Clarifying the difference may make a stronger case for your change.
&gt; 
&gt; I&apos;m also cc&apos;ing some other folks who know Windows better.  They might be
&gt; able to judge this better.  Thanks.

Thank you for your kind reply. Currently I&apos;m working on a WebKit-based project and in the project Windows binaries are being built on some kind of POSIX emulation layer. This is why I remove WTF_PLATFORM_WIN flag. Thank you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1317190</commentid>
    <comment_count>7</comment_count>
    <who name="Daewoong Jang">daewoong.jang</who>
    <bug_when>2017-06-08 21:47:51 -0700</bug_when>
    <thetext>

*** This bug has been marked as a duplicate of bug 172144 ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>310047</attachid>
            <date>2017-05-13 18:54:43 -0700</date>
            <delta_ts>2017-05-13 19:03:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug172081.diff</filename>
            <type>text/plain</type>
            <size>5925</size>
            <attacher name="Daewoong Jang">daewoong.jang</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjE2ODMwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBA
CisyMDE3LTA1LTEzICBEYWV3b29uZyBKYW5nICA8ZGFld29vbmcuamFuZ0BuYXZlcmNvcnAuY29t
PgorCisgICAgICAgIFtXaW5dIENvcnJlY3QgT1MoV0lORE9XUykgYW5kIFBMQVRGT1JNKFdJTikg
Y29tcGlsZXIgZ3VhcmRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNzIwODEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGhlYXAvTWFjaGluZVN0YWNrTWFya2VyLmNwcDoKKyAgICAgICAgKEpTQzo6TWFj
aGluZVRocmVhZHM6OnJlbW92ZVRocmVhZCk6CisgICAgICAgICogbGxpbnQvTExJbnRPZmZsaW5l
QXNtQ29uZmlnLmg6CisgICAgICAgICogcnVudGltZS9WTS5jcHA6CisgICAgICAgIChKU0M6OlZN
Ojp1cGRhdGVTdGFja0xpbWl0cyk6CisgICAgICAgICogdG9vbHMvSlNEb2xsYXJWTVByb3RvdHlw
ZS5jcHA6CisgICAgICAgIChKU0M6OkpTRG9sbGFyVk1Qcm90b3R5cGU6OmZpbmlzaENyZWF0aW9u
KToKKwogMjAxNy0wNS0xMyAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjIxNjgwOC4KSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9oZWFwL01hY2hpbmVTdGFja01hcmtlci5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvTWFjaGluZVN0YWNrTWFya2VyLmNwcAkocmV2
aXNpb24gMjE2ODIyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvTWFjaGluZVN0YWNr
TWFya2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTYyLDcgKzE2Miw3IEBAIHZvaWQgVEhSRUFE
X1NQRUNJRklDX0NBTEwgTWFjaGluZVRocmVhZHMKICAgICAgICAgLy8gbWF5IG5vdCBiZSBmb3Vu
ZCBpbiB0aGlzIE1hY2hpbmVUaHJlYWRzIHJlZ2lzdHJ5LiBXZSBvbmx5IG5lZWQgdG8KICAgICAg
ICAgLy8gZG8gYSByZW1vdmFsIGlmIHRoaXMgdGhyZWFkIGlzIGZvdW5kIGluIGl0LgogCi0jaWYg
UExBVEZPUk0oV0lOKQorI2lmIE9TKFdJTkRPV1MpCiAgICAgICAgIC8vIE9uIFdpbmRvd3MgdGhl
IHRocmVhZCBzcGVjaWZpYyBkZXN0cnVjdG9yIGlzIGFsc28gY2FsbGVkIHdoZW4gdGhlCiAgICAg
ICAgIC8vIG1haW4gdGhyZWFkIGlzIGV4aXRpbmcuIFRoaXMgbWF5IGxlYWQgdG8gdGhlIG1haW4g
dGhyZWFkIHdhaXRpbmcKICAgICAgICAgLy8gZm9yZXZlciBmb3IgdGhlIG1hY2hpbmUgdGhyZWFk
IGxvY2sgd2hlbiBleGl0aW5nLCBpZiB0aGUgc2FtcGxpbmcKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9MTEludE9mZmxpbmVBc21Db25maWcuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRPZmZsaW5lQXNtQ29uZmlnLmgJKHJldmlzaW9u
IDIxNjgyMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludE9mZmxpbmVBc21D
b25maWcuaAkod29ya2luZyBjb3B5KQpAQCAtNDgsMTMgKzQ4LDEzIEBACiAKICNkZWZpbmUgT0ZG
TElORV9BU01fQ19MT09QIDAKIAotI2lmIENQVShYODYpICYmICFQTEFURk9STShXSU4pCisjaWYg
Q1BVKFg4NikgJiYgIU9TKFdJTkRPV1MpCiAjZGVmaW5lIE9GRkxJTkVfQVNNX1g4NiAxCiAjZWxz
ZQogI2RlZmluZSBPRkZMSU5FX0FTTV9YODYgMAogI2VuZGlmCiAKLSNpZiBDUFUoWDg2KSAmJiBQ
TEFURk9STShXSU4pCisjaWYgQ1BVKFg4NikgJiYgT1MoV0lORE9XUykKICNkZWZpbmUgT0ZGTElO
RV9BU01fWDg2X1dJTiAxCiAjZWxzZQogI2RlZmluZSBPRkZMSU5FX0FTTV9YODZfV0lOIDAKQEAg
LTkxLDEzICs5MSwxMyBAQAogI2RlZmluZSBPRkZMSU5FX0FTTV9BUk0gMAogI2VuZGlmCiAKLSNp
ZiBDUFUoWDg2XzY0KSAmJiAhUExBVEZPUk0oV0lOKQorI2lmIENQVShYODZfNjQpICYmICFPUyhX
SU5ET1dTKQogI2RlZmluZSBPRkZMSU5FX0FTTV9YODZfNjQgMQogI2Vsc2UKICNkZWZpbmUgT0ZG
TElORV9BU01fWDg2XzY0IDAKICNlbmRpZgogCi0jaWYgQ1BVKFg4Nl82NCkgJiYgUExBVEZPUk0o
V0lOKQorI2lmIENQVShYODZfNjQpICYmIE9TKFdJTkRPV1MpCiAjZGVmaW5lIE9GRkxJTkVfQVNN
X1g4Nl82NF9XSU4gMQogI2Vsc2UKICNkZWZpbmUgT0ZGTElORV9BU01fWDg2XzY0X1dJTiAwCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uY3BwCShyZXZpc2lvbiAyMTY4MjIpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTY1Myw3ICs2NTMsNyBAQCBzaXplX3QgVk06OnVwZGF0ZVNvZnRSZXNlcnZlZFpvbmVTaXplKHNp
CiAgICAgcmV0dXJuIG9sZFNvZnRSZXNlcnZlZFpvbmVTaXplOwogfQogCi0jaWYgUExBVEZPUk0o
V0lOKQorI2lmIE9TKFdJTkRPV1MpCiAvLyBPbiBXaW5kb3dzIHRoZSByZXNlcnZlZCBzdGFjayBz
cGFjZSBjb25zaXN0cyBvZiBjb21taXR0ZWQgbWVtb3J5LCBhIGd1YXJkIHBhZ2UsIGFuZCB1bmNv
bW1pdHRlZCBtZW1vcnksCiAvLyB3aGVyZSB0aGUgZ3VhcmQgcGFnZSBpcyBhIGJhcnJpZXIgYmV0
d2VlbiBjb21taXR0ZWQgYW5kIHVuY29tbWl0dGVkIG1lbW9yeS4KIC8vIFdoZW4gZGF0YSBmcm9t
IHRoZSBndWFyZCBwYWdlIGlzIHJlYWQgb3Igd3JpdHRlbiwgdGhlIGd1YXJkIHBhZ2UgaXMgbW92
ZWQsIGFuZCBtZW1vcnkgaXMgY29tbWl0dGVkLgpAQCAtNjgwLDcgKzY4MCw3IEBAIHN0YXRpYyB2
b2lkIHByZUNvbW1pdFN0YWNrTWVtb3J5KHZvaWQqIHMKIAogaW5saW5lIHZvaWQgVk06OnVwZGF0
ZVN0YWNrTGltaXRzKCkKIHsKLSNpZiBQTEFURk9STShXSU4pCisjaWYgT1MoV0lORE9XUykKICAg
ICB2b2lkKiBsYXN0U29mdFN0YWNrTGltaXQgPSBtX3NvZnRTdGFja0xpbWl0OwogI2VuZGlmCiAK
QEAgLTY5NSw3ICs2OTUsNyBAQCBpbmxpbmUgdm9pZCBWTTo6dXBkYXRlU3RhY2tMaW1pdHMoKQog
ICAgICAgICBtX3N0YWNrTGltaXQgPSB3dGZUaHJlYWREYXRhKCkuc3RhY2soKS5yZWN1cnNpb25M
aW1pdChyZXNlcnZlZFpvbmVTaXplKTsKICAgICB9CiAKLSNpZiBQTEFURk9STShXSU4pCisjaWYg
T1MoV0lORE9XUykKICAgICAvLyBXZSBvbmx5IG5lZWQgdG8gcHJlY29tbWl0IHN0YWNrIG1lbW9y
eSBkaWN0YXRlZCBieSB0aGUgVk06Om1fc29mdFN0YWNrTGltaXQgbGltaXQuCiAgICAgLy8gVGhp
cyBpcyBiZWNhdXNlIFZNOjptX3NvZnRTdGFja0xpbWl0IGFwcGxpZXMgdG8gc3RhY2sgdXNhZ2Ug
YnkgTExJTlQgYXNtIG9yIEpJVAogICAgIC8vIGdlbmVyYXRlZCBjb2RlIHdoaWNoIGNhbiBhbGxv
Y2F0ZSBzdGFjayBzcGFjZSB0aGF0IHRoZSBDKysgY29tcGlsZXIgZG9lcyBub3Qga25vdwpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3Rvb2xzL0pTRG9sbGFyVk1Qcm90b3R5cGUuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90b29scy9KU0RvbGxhclZNUHJvdG90
eXBlLmNwcAkocmV2aXNpb24gMjE2ODIyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3Rvb2xz
L0pTRG9sbGFyVk1Qcm90b3R5cGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MzgsNyArNDM4LDcg
QEAgc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuYwogICAgIHJldHVybiBK
U1ZhbHVlOjplbmNvZGUoanNTdHJpbmcoZXhlYywgc3RyZWFtLnRvU3RyaW5nKCkpKTsKIH0KIAot
I2lmICFQTEFURk9STShXSU4pCisjaWYgIU9TKFdJTkRPV1MpCiBzdGF0aWMgRW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkdldFBJRChFeGVjU3RhdGUqKQogewogICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIoZ2V0cGlkKCkpKTsKQEAgLTQ2OSw3ICs0NjksNyBA
QCB2b2lkIEpTRG9sbGFyVk1Qcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uCiAgICAgYWRkRnVuY3Rp
b24odm0sIGdsb2JhbE9iamVjdCwgInByaW50U3RhY2siLCBmdW5jdGlvblByaW50U3RhY2ssIDAp
OwogCiAgICAgYWRkRnVuY3Rpb24odm0sIGdsb2JhbE9iamVjdCwgInZhbHVlIiwgZnVuY3Rpb25W
YWx1ZSwgMSk7Ci0jaWYgIVBMQVRGT1JNKFdJTikKKyNpZiAhT1MoV0lORE9XUykKICAgICBhZGRG
dW5jdGlvbih2bSwgZ2xvYmFsT2JqZWN0LCAiZ2V0cGlkIiwgZnVuY3Rpb25HZXRQSUQsIDApOwog
I2VuZGlmCiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMTY4MjkpCisrKyBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMiBAQAorMjAxNy0wNS0x
MyAgRGFld29vbmcgSmFuZyAgPGRhZXdvb25nLmphbmdAbmF2ZXJjb3JwLmNvbT4KKworICAgICAg
ICBbV2luXSBDb3JyZWN0IE9TKFdJTkRPV1MpIGFuZCBQTEFURk9STShXSU4pIGNvbXBpbGVyIGd1
YXJkcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcy
MDgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBw
bGF0Zm9ybS9GaWxlU3lzdGVtLmg6CisKIDIwMTctMDUtMTMgIEphdmllciBGZXJuYW5kZXogIDxq
ZmVybmFuZGV6QGlnYWxpYS5jb20+CiAKICAgICAgICAgW2Nzcy1hbGlnbl0gSW1wbGVtZW50IHRo
ZSBwbGFjZS1zZWxmIHNob3J0aGFuZApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmls
ZVN5c3RlbS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVTeXN0
ZW0uaAkocmV2aXNpb24gMjE2ODIyKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmlsZVN5
c3RlbS5oCSh3b3JraW5nIGNvcHkpCkBAIC05OSw3ICs5OSw3IEBAIHR5cGVkZWYgdW5zaWduZWQg
UGxhdGZvcm1Nb2R1bGVWZXJzaW9uOwogI2lmIFVTRShHTElCKSAmJiAhUExBVEZPUk0oV0lOKQog
dHlwZWRlZiBHRmlsZUlPU3RyZWFtKiBQbGF0Zm9ybUZpbGVIYW5kbGU7CiBjb25zdCBQbGF0Zm9y
bUZpbGVIYW5kbGUgaW52YWxpZFBsYXRmb3JtRmlsZUhhbmRsZSA9IDA7Ci0jZWxpZiBPUyhXSU5E
T1dTKQorI2VsaWYgUExBVEZPUk0oV0lOKQogdHlwZWRlZiBIQU5ETEUgUGxhdGZvcm1GaWxlSGFu
ZGxlOwogLy8gRklYTUU6IC0xIGlzIElOVkFMSURfSEFORExFX1ZBTFVFLCBkZWZpbmVkIGluIDx3
aW5iYXNlLmg+LiBDaHJvbWl1bSB0cmllcyB0bwogLy8gYXZvaWQgdXNpbmcgV2luZG93cyBoZWFk
ZXJzIGluIGhlYWRlcnMuICBXZSdkIHJhdGhlciBtb3ZlIHRoaXMgaW50byB0aGUgLmNwcC4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>310048</attachid>
            <date>2017-05-13 19:03:20 -0700</date>
            <delta_ts>2017-05-13 20:33:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug172081.diff</filename>
            <type>text/plain</type>
            <size>4684</size>
            <attacher name="Daewoong Jang">daewoong.jang</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjE2ODMwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBA
CisyMDE3LTA1LTEzICBEYWV3b29uZyBKYW5nICA8ZGFld29vbmcuamFuZ0BuYXZlcmNvcnAuY29t
PgorCisgICAgICAgIFtXaW5dIENvcnJlY3QgT1MoV0lORE9XUykgYW5kIFBMQVRGT1JNKFdJTikg
Y29tcGlsZXIgZ3VhcmRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNzIwODEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGhlYXAvTWFjaGluZVN0YWNrTWFya2VyLmNwcDoKKyAgICAgICAgKEpTQzo6TWFj
aGluZVRocmVhZHM6OnJlbW92ZVRocmVhZCk6CisgICAgICAgICogbGxpbnQvTExJbnRPZmZsaW5l
QXNtQ29uZmlnLmg6CisgICAgICAgICogcnVudGltZS9WTS5jcHA6CisgICAgICAgIChKU0M6OlZN
Ojp1cGRhdGVTdGFja0xpbWl0cyk6CisgICAgICAgICogdG9vbHMvSlNEb2xsYXJWTVByb3RvdHlw
ZS5jcHA6CisgICAgICAgIChKU0M6OkpTRG9sbGFyVk1Qcm90b3R5cGU6OmZpbmlzaENyZWF0aW9u
KToKKwogMjAxNy0wNS0xMyAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjIxNjgwOC4KSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9oZWFwL01hY2hpbmVTdGFja01hcmtlci5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvTWFjaGluZVN0YWNrTWFya2VyLmNwcAkocmV2
aXNpb24gMjE2ODIyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvTWFjaGluZVN0YWNr
TWFya2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTYyLDcgKzE2Miw3IEBAIHZvaWQgVEhSRUFE
X1NQRUNJRklDX0NBTEwgTWFjaGluZVRocmVhZHMKICAgICAgICAgLy8gbWF5IG5vdCBiZSBmb3Vu
ZCBpbiB0aGlzIE1hY2hpbmVUaHJlYWRzIHJlZ2lzdHJ5LiBXZSBvbmx5IG5lZWQgdG8KICAgICAg
ICAgLy8gZG8gYSByZW1vdmFsIGlmIHRoaXMgdGhyZWFkIGlzIGZvdW5kIGluIGl0LgogCi0jaWYg
UExBVEZPUk0oV0lOKQorI2lmIE9TKFdJTkRPV1MpCiAgICAgICAgIC8vIE9uIFdpbmRvd3MgdGhl
IHRocmVhZCBzcGVjaWZpYyBkZXN0cnVjdG9yIGlzIGFsc28gY2FsbGVkIHdoZW4gdGhlCiAgICAg
ICAgIC8vIG1haW4gdGhyZWFkIGlzIGV4aXRpbmcuIFRoaXMgbWF5IGxlYWQgdG8gdGhlIG1haW4g
dGhyZWFkIHdhaXRpbmcKICAgICAgICAgLy8gZm9yZXZlciBmb3IgdGhlIG1hY2hpbmUgdGhyZWFk
IGxvY2sgd2hlbiBleGl0aW5nLCBpZiB0aGUgc2FtcGxpbmcKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9MTEludE9mZmxpbmVBc21Db25maWcuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRPZmZsaW5lQXNtQ29uZmlnLmgJKHJldmlzaW9u
IDIxNjgyMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludE9mZmxpbmVBc21D
b25maWcuaAkod29ya2luZyBjb3B5KQpAQCAtNDgsMTMgKzQ4LDEzIEBACiAKICNkZWZpbmUgT0ZG
TElORV9BU01fQ19MT09QIDAKIAotI2lmIENQVShYODYpICYmICFQTEFURk9STShXSU4pCisjaWYg
Q1BVKFg4NikgJiYgIU9TKFdJTkRPV1MpCiAjZGVmaW5lIE9GRkxJTkVfQVNNX1g4NiAxCiAjZWxz
ZQogI2RlZmluZSBPRkZMSU5FX0FTTV9YODYgMAogI2VuZGlmCiAKLSNpZiBDUFUoWDg2KSAmJiBQ
TEFURk9STShXSU4pCisjaWYgQ1BVKFg4NikgJiYgT1MoV0lORE9XUykKICNkZWZpbmUgT0ZGTElO
RV9BU01fWDg2X1dJTiAxCiAjZWxzZQogI2RlZmluZSBPRkZMSU5FX0FTTV9YODZfV0lOIDAKQEAg
LTkxLDEzICs5MSwxMyBAQAogI2RlZmluZSBPRkZMSU5FX0FTTV9BUk0gMAogI2VuZGlmCiAKLSNp
ZiBDUFUoWDg2XzY0KSAmJiAhUExBVEZPUk0oV0lOKQorI2lmIENQVShYODZfNjQpICYmICFPUyhX
SU5ET1dTKQogI2RlZmluZSBPRkZMSU5FX0FTTV9YODZfNjQgMQogI2Vsc2UKICNkZWZpbmUgT0ZG
TElORV9BU01fWDg2XzY0IDAKICNlbmRpZgogCi0jaWYgQ1BVKFg4Nl82NCkgJiYgUExBVEZPUk0o
V0lOKQorI2lmIENQVShYODZfNjQpICYmIE9TKFdJTkRPV1MpCiAjZGVmaW5lIE9GRkxJTkVfQVNN
X1g4Nl82NF9XSU4gMQogI2Vsc2UKICNkZWZpbmUgT0ZGTElORV9BU01fWDg2XzY0X1dJTiAwCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uY3BwCShyZXZpc2lvbiAyMTY4MjIpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTY1Myw3ICs2NTMsNyBAQCBzaXplX3QgVk06OnVwZGF0ZVNvZnRSZXNlcnZlZFpvbmVTaXplKHNp
CiAgICAgcmV0dXJuIG9sZFNvZnRSZXNlcnZlZFpvbmVTaXplOwogfQogCi0jaWYgUExBVEZPUk0o
V0lOKQorI2lmIE9TKFdJTkRPV1MpCiAvLyBPbiBXaW5kb3dzIHRoZSByZXNlcnZlZCBzdGFjayBz
cGFjZSBjb25zaXN0cyBvZiBjb21taXR0ZWQgbWVtb3J5LCBhIGd1YXJkIHBhZ2UsIGFuZCB1bmNv
bW1pdHRlZCBtZW1vcnksCiAvLyB3aGVyZSB0aGUgZ3VhcmQgcGFnZSBpcyBhIGJhcnJpZXIgYmV0
d2VlbiBjb21taXR0ZWQgYW5kIHVuY29tbWl0dGVkIG1lbW9yeS4KIC8vIFdoZW4gZGF0YSBmcm9t
IHRoZSBndWFyZCBwYWdlIGlzIHJlYWQgb3Igd3JpdHRlbiwgdGhlIGd1YXJkIHBhZ2UgaXMgbW92
ZWQsIGFuZCBtZW1vcnkgaXMgY29tbWl0dGVkLgpAQCAtNjgwLDcgKzY4MCw3IEBAIHN0YXRpYyB2
b2lkIHByZUNvbW1pdFN0YWNrTWVtb3J5KHZvaWQqIHMKIAogaW5saW5lIHZvaWQgVk06OnVwZGF0
ZVN0YWNrTGltaXRzKCkKIHsKLSNpZiBQTEFURk9STShXSU4pCisjaWYgT1MoV0lORE9XUykKICAg
ICB2b2lkKiBsYXN0U29mdFN0YWNrTGltaXQgPSBtX3NvZnRTdGFja0xpbWl0OwogI2VuZGlmCiAK
QEAgLTY5NSw3ICs2OTUsNyBAQCBpbmxpbmUgdm9pZCBWTTo6dXBkYXRlU3RhY2tMaW1pdHMoKQog
ICAgICAgICBtX3N0YWNrTGltaXQgPSB3dGZUaHJlYWREYXRhKCkuc3RhY2soKS5yZWN1cnNpb25M
aW1pdChyZXNlcnZlZFpvbmVTaXplKTsKICAgICB9CiAKLSNpZiBQTEFURk9STShXSU4pCisjaWYg
T1MoV0lORE9XUykKICAgICAvLyBXZSBvbmx5IG5lZWQgdG8gcHJlY29tbWl0IHN0YWNrIG1lbW9y
eSBkaWN0YXRlZCBieSB0aGUgVk06Om1fc29mdFN0YWNrTGltaXQgbGltaXQuCiAgICAgLy8gVGhp
cyBpcyBiZWNhdXNlIFZNOjptX3NvZnRTdGFja0xpbWl0IGFwcGxpZXMgdG8gc3RhY2sgdXNhZ2Ug
YnkgTExJTlQgYXNtIG9yIEpJVAogICAgIC8vIGdlbmVyYXRlZCBjb2RlIHdoaWNoIGNhbiBhbGxv
Y2F0ZSBzdGFjayBzcGFjZSB0aGF0IHRoZSBDKysgY29tcGlsZXIgZG9lcyBub3Qga25vdwpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3Rvb2xzL0pTRG9sbGFyVk1Qcm90b3R5cGUuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90b29scy9KU0RvbGxhclZNUHJvdG90
eXBlLmNwcAkocmV2aXNpb24gMjE2ODIyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3Rvb2xz
L0pTRG9sbGFyVk1Qcm90b3R5cGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MzgsNyArNDM4LDcg
QEAgc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuYwogICAgIHJldHVybiBK
U1ZhbHVlOjplbmNvZGUoanNTdHJpbmcoZXhlYywgc3RyZWFtLnRvU3RyaW5nKCkpKTsKIH0KIAot
I2lmICFQTEFURk9STShXSU4pCisjaWYgIU9TKFdJTkRPV1MpCiBzdGF0aWMgRW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkdldFBJRChFeGVjU3RhdGUqKQogewogICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIoZ2V0cGlkKCkpKTsKQEAgLTQ2OSw3ICs0NjksNyBA
QCB2b2lkIEpTRG9sbGFyVk1Qcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uCiAgICAgYWRkRnVuY3Rp
b24odm0sIGdsb2JhbE9iamVjdCwgInByaW50U3RhY2siLCBmdW5jdGlvblByaW50U3RhY2ssIDAp
OwogCiAgICAgYWRkRnVuY3Rpb24odm0sIGdsb2JhbE9iamVjdCwgInZhbHVlIiwgZnVuY3Rpb25W
YWx1ZSwgMSk7Ci0jaWYgIVBMQVRGT1JNKFdJTikKKyNpZiAhT1MoV0lORE9XUykKICAgICBhZGRG
dW5jdGlvbih2bSwgZ2xvYmFsT2JqZWN0LCAiZ2V0cGlkIiwgZnVuY3Rpb25HZXRQSUQsIDApOwog
I2VuZGlmCiB9Cg==
</data>
<flag name="review"
          id="331163"
          type_id="1"
          status="-"
          setter="mark.lam"
    />
          </attachment>
      

    </bug>

</bugzilla>