From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpbg153.qq.com (smtpbg153.qq.com [13.245.218.24]) by sourceware.org (Postfix) with ESMTPS id 00A5E3858D33 for ; Thu, 11 May 2023 02:30:24 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 00A5E3858D33 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=rivai.ai Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=rivai.ai X-QQ-mid: bizesmtp66t1683772210t6bizfui Received: from LAPTOP-EPITNQBU ( [58.60.1.20]) by bizesmtp.qq.com (ESMTP) with id ; Thu, 11 May 2023 10:30:09 +0800 (CST) X-QQ-SSF: 01400000000000F0Q000000A0000000 X-QQ-FEAT: RrZlkntZBflccXu3PEZvpDcmV6T7FfWEMstwPpxx+XKCZxSEfMSH11qHqQ6am RNVTW/53HZtj5loGo1CFYUeklzZa2eYbKXDpXA22ggaWwzDaR7r8Tdym5nO6oAVOACrdEWa QJTj/0aEIHbflz5IKSHCYsEvXAzrpaGBvjcZNwkKhzUHumze4k/uWkewQKOvg21h0dVg54e wJFU9/mjvW+Cmz+dY0RedYwVxvcTf9GwRtOjZWzz4uRKpL7q/VkmnUcGG3Sdi296x1Quzr4 H0B3KfJ6yooCz0ueVs1MfLwoKCFig20urziix2TbgTJ5NWD0y3We7ET9gRbd0zOtD56nGbD /VnzqscRIFC3hUK97kPqyrU42PdPlVms9aaQ3BAKCafpD/aTfBKwBSR5hL52CTuPYj+RmgW 2Ti0beupbaBX0KEKaxb3WQ== X-QQ-GoodBg: 2 X-BIZMAIL-ID: 7771558471928560839 Date: Thu, 11 May 2023 10:30:09 +0800 From: "juzhe.zhong@rivai.ai" To: "Robin Dapp" , gcc-patches , kito.cheng , collison , palmer , jeffreyalaw Cc: "Robin Dapp" Subject: Re: [PATCH] riscv: Clarify vlmax and length handling. References: X-Priority: 3 X-GUID: 14E21136-4B0F-43BC-B9F4-ABC64C3BAFC8 X-Has-Attach: no X-Mailer: Foxmail 7.2.16.188[cn] Mime-Version: 1.0 Message-ID: Content-Type: multipart/alternative; boundary="----=_001_NextPart141172250671_=----" X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:rivai.ai:qybglogicsvrgz:qybglogicsvrgz7a-one-0 X-Spam-Status: No, score=-9.5 required=5.0 tests=BAYES_00,GIT_PATCH_0,HTML_MESSAGE,KAM_DMARC_STATUS,KAM_MANYTO,RCVD_IN_BARRACUDACENTRAL,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,RCVD_IN_SORBS_WEB,SPF_HELO_PASS,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: This is a multi-part message in MIME format. ------=_001_NextPart141172250671_=---- Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 VGhpcyBwYXJ0IExHVE0uDQoNCg0KDQpqdXpoZS56aG9uZ0ByaXZhaS5haQ0K IA0KRnJvbTogUm9iaW4gRGFwcA0KRGF0ZTogMjAyMy0wNS0xMCAyMzoyNA0K VG86IGdjYy1wYXRjaGVzOyBqdXpoZS56aG9uZ0ByaXZhaS5haTsgS2l0byBD aGVuZzsgTWljaGFlbCBDb2xsaXNvbjsgcGFsbWVyOyBqZWZmcmV5YWxhdw0K Q0M6IHJkYXBwLmdjYw0KU3ViamVjdDogW1BBVENIXSByaXNjdjogQ2xhcmlm eSB2bG1heCBhbmQgbGVuZ3RoIGhhbmRsaW5nLg0KSGksDQogDQp0aGlzIHBh dGNoIHRyaWVzIHRvIGltcHJvdmUgdGhlIHdyYXBwZXJzIHRoYXQgZW1pdCBl aXRoZXIgdmxtYXggb3INCm5vbi12bG1heCBvcGVyYXRpb25zLiAgTm93LCBl bWl0X2xlbl9vcCBjYW4gYmUgdXNlZCB0bw0KZW1pdCBhIHJlZ3VsYXIgb3Bl cmF0aW9uLiAgRGVwZW5kaW5nIG9uIHdoZXRoZXIgYSBsZW5ndGggIT0gTlVM TA0KaXMgcGFzc2VkIGVpdGhlciBubyBWTE1BWCBmbGFncyBhcmUgc2V0IG9y IHdlIGVtaXQgYSB2c2V0dmxpIGFuZA0Kc2V0IFZMTUFYIGZsYWdzLiAgVGhl IHBhdGNoIGFsc28gYWRkcyBzb21lIGNvbW1lbnRzIHRoYXQgZGVzY3JpYmVz DQpzb21lIG9mIHRoZSByYXRpb25hbGUgb2YgdGhlIGN1cnJlbnQgaGFuZGxp bmcgb2YgdmxtYXgvbm9udmxtYXgNCm9wZXJhdGlvbnMuDQogDQpCb290c3Ry YXBwZWQgYW5kIHJlZ3Rlc3RlZC4NCiANClJlZ2FyZHMNClJvYmluDQogDQot LQ0KIA0KZ2NjL0NoYW5nZUxvZzoNCiANCiogY29uZmlnL3Jpc2N2L2F1dG92 ZWMubWQ6IFVzZSByZW5hbWVkIGZ1bmN0aW9ucy4NCiogY29uZmlnL3Jpc2N2 L3Jpc2N2LXByb3Rvcy5oIChlbWl0X3ZsbWF4X29wKTogUmVuYW1lLg0KKGVt aXRfdmxtYXhfcmVnX29wKTogVG8gdGhpcy4NCihlbWl0X25vbnZsbWF4X29w KTogUmVuYW1lLg0KKGVtaXRfbGVuX29wKTogVG8gdGhpcy4NCihlbWl0X25v bnZsbWF4X2Jpbm9wKTogUmVuYW1lLg0KKGVtaXRfbGVuX2Jpbm9wKTogVG8g dGhpcy4NCiogY29uZmlnL3Jpc2N2L3Jpc2N2LXYuY2MgKGVtaXRfcHJlZF9v cCk6IEFkZCBkZWZhdWx0IHBhcmFtZXRlci4NCihlbWl0X3ByZWRfYmlub3Ap OiBSZW1vdmUgdmxtYXhfcC4NCihlbWl0X3ZsbWF4X29wKTogUmVuYW1lLg0K KGVtaXRfdmxtYXhfcmVnX29wKTogVG8gdGhpcy4NCihlbWl0X25vbnZsbWF4 X29wKTogUmVuYW1lLg0KKGVtaXRfbGVuX29wKTogVG8gdGhpcy4NCihlbWl0 X25vbnZsbWF4X2Jpbm9wKTogUmVuYW1lLg0KKGVtaXRfbGVuX2Jpbm9wKTog VG8gdGhpcy4NCihzZXc2NF9zY2FsYXJfaGVscGVyKTogVXNlIHJlbmFtZWQg ZnVuY3Rpb25zLg0KKGV4cGFuZF90dXBsZV9tb3ZlKTogVXNlIHJlbmFtZWQg ZnVuY3Rpb25zLg0KKiBjb25maWcvcmlzY3YvcmlzY3YuY2MgKHZlY3Rvcl96 ZXJvX2NhbGxfdXNlZF9yZWdzKTogVXNlDQpyZW5hbWVkIGZ1bmN0aW9ucy4N CiogY29uZmlnL3Jpc2N2L3ZlY3Rvci5tZDogVXNlIHJlbmFtZWQgZnVuY3Rp b25zLg0KLS0tDQpnY2MvY29uZmlnL3Jpc2N2L2F1dG92ZWMubWQgICAgIHwg MjQgKysrKystLS0tLQ0KZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi1wcm90b3Mu aCB8ICA4ICsrLS0NCmdjYy9jb25maWcvcmlzY3YvcmlzY3Ytdi5jYyAgICAg fCA4MiArKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0NCmdjYy9j b25maWcvcmlzY3YvcmlzY3YuY2MgICAgICAgfCAgNCArLQ0KZ2NjL2NvbmZp Zy9yaXNjdi92ZWN0b3IubWQgICAgICB8IDEyICsrKy0tDQo1IGZpbGVzIGNo YW5nZWQsIDc1IGluc2VydGlvbnMoKyksIDU1IGRlbGV0aW9ucygtKQ0KIA0K ZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcmlzY3YvYXV0b3ZlYy5tZCBiL2dj Yy9jb25maWcvcmlzY3YvYXV0b3ZlYy5tZA0KaW5kZXggMTVmOGQwMDdlMDcu LjgzNDdlNDJiYjljIDEwMDY0NA0KLS0tIGEvZ2NjL2NvbmZpZy9yaXNjdi9h dXRvdmVjLm1kDQorKysgYi9nY2MvY29uZmlnL3Jpc2N2L2F1dG92ZWMubWQN CkBAIC0zMSw4ICszMSw4IEBAIChkZWZpbmVfZXhwYW5kICJsZW5fbG9hZF88 bW9kZT4iDQogICAgKG1hdGNoX29wZXJhbmQgMyAiY29uc3RfMF9vcGVyYW5k IildDQogICAiVEFSR0VUX1ZFQ1RPUiINCnsNCi0gIHJpc2N2X3ZlY3Rvcjo6 ZW1pdF9ub252bG1heF9vcCAoY29kZV9mb3JfcHJlZF9tb3YgKDxNT0RFPm1v ZGUpLCBvcGVyYW5kc1swXSwNCi0gICBvcGVyYW5kc1sxXSwgb3BlcmFuZHNb Ml0sIDxWTT5tb2RlKTsNCisgIHJpc2N2X3ZlY3Rvcjo6ZW1pdF9sZW5fb3Ag KGNvZGVfZm9yX3ByZWRfbW92ICg8TU9ERT5tb2RlKSwgb3BlcmFuZHNbMF0s DQorICAgICAgb3BlcmFuZHNbMV0sIG9wZXJhbmRzWzJdLCA8Vk0+bW9kZSk7 DQogICBET05FOw0KfSkNCkBAIC00Myw4ICs0Myw4IEBAIChkZWZpbmVfZXhw YW5kICJsZW5fc3RvcmVfPG1vZGU+Ig0KICAgIChtYXRjaF9vcGVyYW5kIDMg ImNvbnN0XzBfb3BlcmFuZCIpXQ0KICAgIlRBUkdFVF9WRUNUT1IiDQp7DQot ICByaXNjdl92ZWN0b3I6OmVtaXRfbm9udmxtYXhfb3AgKGNvZGVfZm9yX3By ZWRfbW92ICg8TU9ERT5tb2RlKSwgb3BlcmFuZHNbMF0sDQotICAgb3BlcmFu ZHNbMV0sIG9wZXJhbmRzWzJdLCA8Vk0+bW9kZSk7DQorICByaXNjdl92ZWN0 b3I6OmVtaXRfbGVuX29wIChjb2RlX2Zvcl9wcmVkX21vdiAoPE1PREU+bW9k ZSksIG9wZXJhbmRzWzBdLA0KKyAgICAgIG9wZXJhbmRzWzFdLCBvcGVyYW5k c1syXSwgPFZNPm1vZGUpOw0KICAgRE9ORTsNCn0pDQpAQCAtNzksMTUgKzc5 LDE1IEBAIChkZWZpbmVfZXhwYW5kICI8b3B0YWI+PG1vZGU+MyINCiAgICAg ICBpZiAoaW5uZXIgPT0gRV9RSW1vZGUgfHwgaW5uZXIgPT0gRV9ISW1vZGUg fHwgaW5uZXIgPT0gRV9TSW1vZGUpDQpvcDJtb2RlID0gaW5uZXI7DQotICAg ICAgcmlzY3ZfdmVjdG9yOjplbWl0X25vbnZsbWF4X2Jpbm9wIChjb2RlX2Zv cl9wcmVkX3NjYWxhcg0KLSAoPEJJTk9QX1RPX1VQUEVSQ0FTRT4sIDxNT0RF Pm1vZGUpLA0KLSBvcGVyYW5kc1swXSwgb3BlcmFuZHNbMV0sIGNzdCwNCi0g TlVMTF9SVFgsIDxWTT5tb2RlLCBvcDJtb2RlKTsNCisgICAgICByaXNjdl92 ZWN0b3I6OmVtaXRfbGVuX2Jpbm9wIChjb2RlX2Zvcl9wcmVkX3NjYWxhcg0K KyAgICAgKDxCSU5PUF9UT19VUFBFUkNBU0U+LCA8TU9ERT5tb2RlKSwNCisg ICAgIG9wZXJhbmRzWzBdLCBvcGVyYW5kc1sxXSwgY3N0LA0KKyAgICAgTlVM TF9SVFgsIDxWTT5tb2RlLCBvcDJtb2RlKTsNCiAgICAgfQ0KICAgZWxzZQ0K LSAgICByaXNjdl92ZWN0b3I6OmVtaXRfbm9udmxtYXhfYmlub3AgKGNvZGVf Zm9yX3ByZWQNCi0gICAgICAgICg8QklOT1BfVE9fVVBQRVJDQVNFPiwgPE1P REU+bW9kZSksDQotICAgICAgICBvcGVyYW5kc1swXSwgb3BlcmFuZHNbMV0s IG9wZXJhbmRzWzJdLA0KLSAgICAgICAgTlVMTF9SVFgsIDxWTT5tb2RlKTsN CisgICAgcmlzY3ZfdmVjdG9yOjplbWl0X2xlbl9iaW5vcCAoY29kZV9mb3Jf cHJlZA0KKyAgICg8QklOT1BfVE9fVVBQRVJDQVNFPiwgPE1PREU+bW9kZSks DQorICAgb3BlcmFuZHNbMF0sIG9wZXJhbmRzWzFdLCBvcGVyYW5kc1syXSwN CisgICBOVUxMX1JUWCwgPFZNPm1vZGUpOw0KICAgRE9ORTsNCn0pDQpkaWZm IC0tZ2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi1wcm90b3MuaCBiL2dj Yy9jb25maWcvcmlzY3YvcmlzY3YtcHJvdG9zLmgNCmluZGV4IDc1Y2RiOTBi OWM5Li5iZmRmMDliMTdlZSAxMDA2NDQNCi0tLSBhL2djYy9jb25maWcvcmlz Y3YvcmlzY3YtcHJvdG9zLmgNCisrKyBiL2djYy9jb25maWcvcmlzY3Yvcmlz Y3YtcHJvdG9zLmgNCkBAIC0xNjcsMTAgKzE2NywxMCBAQCBib29sIGxlZ2l0 aW1pemVfbW92ZSAocnR4LCBydHgsIG1hY2hpbmVfbW9kZSk7DQp2b2lkIGVt aXRfdmxtYXhfdnNldHZsIChtYWNoaW5lX21vZGUsIHJ0eCk7DQp2b2lkIGVt aXRfaGFyZF92bG1heF92c2V0dmwgKG1hY2hpbmVfbW9kZSwgcnR4KTsNCnZv aWQgZW1pdF92bG1heF9vcCAodW5zaWduZWQsIHJ0eCwgcnR4LCBtYWNoaW5l X21vZGUpOw0KLXZvaWQgZW1pdF92bG1heF9vcCAodW5zaWduZWQsIHJ0eCwg cnR4LCBydHgsIG1hY2hpbmVfbW9kZSk7DQotdm9pZCBlbWl0X25vbnZsbWF4 X29wICh1bnNpZ25lZCwgcnR4LCBydHgsIHJ0eCwgbWFjaGluZV9tb2RlKTsN Ci12b2lkIGVtaXRfbm9udmxtYXhfYmlub3AgKHVuc2lnbmVkLCBydHgsIHJ0 eCwgcnR4LCBydHgsIG1hY2hpbmVfbW9kZSwNCi0gICBtYWNoaW5lX21vZGUg PSBWT0lEbW9kZSk7DQordm9pZCBlbWl0X3ZsbWF4X3JlZ19vcCAodW5zaWdu ZWQsIHJ0eCwgcnR4LCBydHgsIG1hY2hpbmVfbW9kZSk7DQordm9pZCBlbWl0 X2xlbl9vcCAodW5zaWduZWQsIHJ0eCwgcnR4LCBydHgsIG1hY2hpbmVfbW9k ZSk7DQordm9pZCBlbWl0X2xlbl9iaW5vcCAodW5zaWduZWQsIHJ0eCwgcnR4 LCBydHgsIHJ0eCwgbWFjaGluZV9tb2RlLCBtYWNoaW5lX21vZGUgPQ0KKyAg ICAgIFZPSURtb2RlKTsNCmVudW0gdmxtdWxfdHlwZSBnZXRfdmxtdWwgKG1h Y2hpbmVfbW9kZSk7DQp1bnNpZ25lZCBpbnQgZ2V0X3JhdGlvIChtYWNoaW5l X21vZGUpOw0KdW5zaWduZWQgaW50IGdldF9uZiAobWFjaGluZV9tb2RlKTsN CmRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXYuY2MgYi9n Y2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXYuY2MNCmluZGV4IDNjNDNkZmM1ZWVh Li4wN2I3NzgzMjgyZiAxMDA2NDQNCi0tLSBhL2djYy9jb25maWcvcmlzY3Yv cmlzY3Ytdi5jYw0KKysrIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi12LmNj DQpAQCAtOTksMjcgKzk5LDI0IEBAIHB1YmxpYzoNCiAgICAgYWRkX3Z1bmRl Zl9vcGVyYW5kIChkZXN0X21vZGUpOw0KICAgfQ0KLSAgdm9pZCBzZXRfbGVu X2FuZF9wb2xpY3kgKHJ0eCBsZW4sIGJvb2wgdmxtYXhfcCkNCisgIHZvaWQg c2V0X2xlbl9hbmRfcG9saWN5IChydHggbGVuLCBib29sIGZvcmNlX3ZsbWF4 ID0gZmFsc2UpDQogICAgIHsNCisgICAgICBib29sIHZsbWF4X3AgPSBmb3Jj ZV92bG1heDsNCiAgICAgICBnY2NfYXNzZXJ0IChoYXNfZGVzdCk7DQotICAg ICAgZ2NjX2Fzc2VydCAobGVuIHx8IHZsbWF4X3ApOw0KLSAgICAgIGlmIChs ZW4pDQotIGFkZF9pbnB1dF9vcGVyYW5kIChsZW4sIFBtb2RlKTsNCi0gICAg ICBlbHNlDQorICAgICAgaWYgKCFsZW4pDQp7DQotICAgcnR4IHZsbWF4ID0g Z2VuX3JlZ19ydHggKFBtb2RlKTsNCi0gICBlbWl0X3ZsbWF4X3ZzZXR2bCAo ZGVzdF9tb2RlLCB2bG1heCk7DQotICAgYWRkX2lucHV0X29wZXJhbmQgKHZs bWF4LCBQbW9kZSk7DQorICAgdmxtYXhfcCA9IHRydWU7DQorICAgbGVuID0g Z2VuX3JlZ19ydHggKFBtb2RlKTsNCisgICBlbWl0X3ZsbWF4X3ZzZXR2bCAo ZGVzdF9tb2RlLCBsZW4pOw0KfQ0KKyAgICAgIGFkZF9pbnB1dF9vcGVyYW5k IChsZW4sIFBtb2RlKTsNCisNCiAgICAgICBpZiAoR0VUX01PREVfQ0xBU1Mg KGRlc3RfbW9kZSkgIT0gTU9ERV9WRUNUT1JfQk9PTCkNCmFkZF9wb2xpY3lf b3BlcmFuZCAoZ2V0X3ByZWZlcl90YWlsX3BvbGljeSAoKSwgZ2V0X3ByZWZl cl9tYXNrX3BvbGljeSAoKSk7DQotICAgICAgaWYgKHZsbWF4X3ApDQotIGFk ZF9hdmxfdHlwZV9vcGVyYW5kIChhdmxfdHlwZTo6VkxNQVgpOw0KLSAgICAg IGVsc2UNCi0gYWRkX2F2bF90eXBlX29wZXJhbmQgKGF2bF90eXBlOjpOT05W TE1BWCk7DQorICAgICAgYWRkX2F2bF90eXBlX29wZXJhbmQgKHZsbWF4X3Ag PyBhdmxfdHlwZTo6VkxNQVggOiBhdmxfdHlwZTo6Tk9OVkxNQVgpOw0KICAg ICB9DQogICB2b2lkIGV4cGFuZCAoZW51bSBpbnNuX2NvZGUgaWNvZGUsIGJv b2wgdGVtcG9yYXJ5X3ZvbGF0aWxlX3AgPSBmYWxzZSkNCkBAIC0yNTEsMTQg KzI0OCwxNCBAQCBzZXRfZXhwYW5kZXJfZGVzdF9hbmRfbWFzayAoaW5zbl9l eHBhbmRlcjxNQVhfT1BFUkFORFM+ICZlLCBydHggbWFzaywgcnR4IGRlc3Qs DQovKiBFbWl0IGFuIFJWViB1bm1hc2sgJiYgdmwgbW92IGZyb20gU1JDIHRv IERFU1QuICAqLw0Kc3RhdGljIHZvaWQNCmVtaXRfcHJlZF9vcCAodW5zaWdu ZWQgaWNvZGUsIHJ0eCBtYXNrLCBydHggZGVzdCwgcnR4IHNyYywgcnR4IGxl biwNCi0gICAgICAgbWFjaGluZV9tb2RlIG1hc2tfbW9kZSwgYm9vbCB2bG1h eF9wKQ0KKyAgICAgICBtYWNoaW5lX21vZGUgbWFza19tb2RlLCBib29sIGZv cmNlX3ZsbWF4ID0gZmFsc2UpDQp7DQogICBpbnNuX2V4cGFuZGVyPDg+IGU7 DQogICBlLnNldF9kZXN0X2FuZF9tYXNrIChtYXNrLCBkZXN0LCBtYXNrX21v ZGUpOw0KICAgZS5hZGRfaW5wdXRfb3BlcmFuZCAoc3JjLCBHRVRfTU9ERSAo c3JjKSk7DQotICBlLnNldF9sZW5fYW5kX3BvbGljeSAobGVuLCB2bG1heF9w KTsNCisgIGUuc2V0X2xlbl9hbmRfcG9saWN5IChsZW4sIGZvcmNlX3ZsbWF4 KTsNCiAgIGUuZXhwYW5kICgoZW51bSBpbnNuX2NvZGUpIGljb2RlLCBNRU1f UCAoZGVzdCkgfHwgTUVNX1AgKHNyYykpOw0KfQ0KQEAgLTI2Niw4ICsyNjMs NyBAQCBlbWl0X3ByZWRfb3AgKHVuc2lnbmVkIGljb2RlLCBydHggbWFzaywg cnR4IGRlc3QsIHJ0eCBzcmMsIHJ0eCBsZW4sDQovKiBFbWl0IGFuIFJWViB1 bm1hc2sgJiYgdmwgbW92IGZyb20gU1JDIHRvIERFU1QuICAqLw0Kc3RhdGlj IHZvaWQNCmVtaXRfcHJlZF9iaW5vcCAodW5zaWduZWQgaWNvZGUsIHJ0eCBt YXNrLCBydHggZGVzdCwgcnR4IHNyYzEsIHJ0eCBzcmMyLA0KLSBydHggbGVu LCBtYWNoaW5lX21vZGUgbWFza19tb2RlLCBtYWNoaW5lX21vZGUgb3AybW9k ZSwNCi0gYm9vbCB2bG1heF9wKQ0KKyBydHggbGVuLCBtYWNoaW5lX21vZGUg bWFza19tb2RlLCBtYWNoaW5lX21vZGUgb3AybW9kZSkNCnsNCiAgIGluc25f ZXhwYW5kZXI8OT4gZTsNCiAgIGUuc2V0X2Rlc3RfYW5kX21hc2sgKG1hc2ss IGRlc3QsIG1hc2tfbW9kZSk7DQpAQCAtMjc1LDM3ICsyNzEsNTkgQEAgZW1p dF9wcmVkX2Jpbm9wICh1bnNpZ25lZCBpY29kZSwgcnR4IG1hc2ssIHJ0eCBk ZXN0LCBydHggc3JjMSwgcnR4IHNyYzIsDQogICBlLmFkZF9pbnB1dF9vcGVy YW5kIChzcmMxLCBHRVRfTU9ERSAoc3JjMSkpOw0KICAgZS5hZGRfaW5wdXRf b3BlcmFuZCAoc3JjMiwgb3AybW9kZSA9PSBWT0lEbW9kZSA/IEdFVF9NT0RF IChzcmMyKSA6IG9wMm1vZGUpOw0KLSAgZS5zZXRfbGVuX2FuZF9wb2xpY3kg KGxlbiwgdmxtYXhfcCk7DQorICBlLnNldF9sZW5fYW5kX3BvbGljeSAobGVu KTsNCiAgIGUuZXhwYW5kICgoZW51bSBpbnNuX2NvZGUpIGljb2RlLCBNRU1f UCAoZGVzdCkgfHwgTUVNX1AgKHNyYzEpIHx8IE1FTV9QIChzcmMyKSk7DQp9 DQorLyogVGhlIFJJU0MtViB2c2V0dmxpIHBhc3MgdXNlcyB2bG1heCBvcGVy YXRpb24gZm9yIG9wdGltaXphdGlvbi4gIFdoZXRoZXIgb3INCisgICBub3Qg YW4gaW5zdHJ1Y3Rpb24gYWN0dWFsbHkgaXMgYSB2bG1heCBvcGVyYXRpb24g aXMgbm90IHJlY29nbml6YWJsZSBmcm9tDQorICAgdGhlIGxlbmd0aCBvcGVy YW5kIGFsb25lIGJ1dCB0aGUgYXZsX3R5cGUgb3BlcmFuZCBpcyB1c2VkIGlu c3RlYWQuDQorICAgSW4gZ2VuZXJhbCwgdGhlcmUgYXJlIHR3byBjYXNlczoN CisNCisgICAgLSBFbWl0IGEgdmxtYXggb3BlcmF0aW9uIGJ5IHBhc3Npbmcg YSBOVUxMIGxlbmd0aC4gIEhlcmUgd2UgZW1pdA0KKyAgICAgIGEgdnNldHZs aSB3aXRoIHZsbWF4IGNvbmZpZ3VyYXRpb24gYW5kIHNldCB0aGUgYXZsX3R5 cGUgdG8gVkxNQVguDQorICAgIC0gRW1pdCBhbiBvcGVyYXRpb24gdGhhdCB1 c2VzIHRoZSBleGlzdGluZyAobGFzdC1zZXQpIGxlbmd0aCBhbmQNCisgICAg ICBzZXQgdGhlIGF2bF90eXBlIHRvIE5PTlZMTUFYLg0KKw0KKyAgICBTb21l dGltZXMgd2UgYWxzbyBuZWVkIHRvIHNldCB0aGUgVkxNQVggYXZsX3R5cGUg dG8gYW4gb3BlcmF0aW9uIHRoYXQNCisgICAgYWxyZWFkeSB1c2VzIGEgZ2l2 ZW4gbGVuZ3RoIHJlZ2lzdGVyLiAgVGhpcyBjYW4gaGFwcGVuIGR1cmluZyBv ciBhZnRlcg0KKyAgICByZWdpc3RlciBhbGxvY2F0aW9uIHdoZW4gd2UgYXJl IG5vdCBhbGxvd2VkIHRvIGNyZWF0ZSBhIG5ldyByZWdpc3Rlci4NCisgICAg Rm9yIHRoYXQgY2FzZSB3ZSBhbHNvIGFsbG93IHRvIHNldCB0aGUgYXZsX3R5 cGUgdG8gVkxNQVguDQorKi8NCisNCisvKiBUaGlzIGZ1bmN0aW9uIGVtaXRz IGEgVkxNQVggdnNldHZsaSBmb2xsb3dlZCBieSB0aGUgYWN0dWFsIG9wZXJh dGlvbi4gICovDQp2b2lkDQplbWl0X3ZsbWF4X29wICh1bnNpZ25lZCBpY29k ZSwgcnR4IGRlc3QsIHJ0eCBzcmMsIG1hY2hpbmVfbW9kZSBtYXNrX21vZGUp DQp7DQotICBlbWl0X3ByZWRfb3AgKGljb2RlLCBOVUxMX1JUWCwgZGVzdCwg c3JjLCBOVUxMX1JUWCwgbWFza19tb2RlLCB0cnVlKTsNCisgIGVtaXRfcHJl ZF9vcCAoaWNvZGUsIE5VTExfUlRYLCBkZXN0LCBzcmMsIE5VTExfUlRYLCBt YXNrX21vZGUpOw0KfQ0KKy8qIFRoaXMgZnVuY3Rpb24gZW1pdHMgYW4gb3Bl cmF0aW9uIHdpdGggYSBnaXZlbiBMRU4gdGhhdCBpcyBkZXRlcm1pbmVkDQor ICAgYnkgYSBwcmV2aW91c2x5IGVtaXR0ZWQgVkxNQVggdnNldHZsaS4gICov DQp2b2lkDQotZW1pdF92bG1heF9vcCAodW5zaWduZWQgaWNvZGUsIHJ0eCBk ZXN0LCBydHggc3JjLCBydHggbGVuLA0KLSAgICAgICAgbWFjaGluZV9tb2Rl IG1hc2tfbW9kZSkNCitlbWl0X2xlbl9vcCAodW5zaWduZWQgaWNvZGUsIHJ0 eCBkZXN0LCBydHggc3JjLCBydHggbGVuLA0KKyAgICAgIG1hY2hpbmVfbW9k ZSBtYXNrX21vZGUpDQp7DQotICBlbWl0X3ByZWRfb3AgKGljb2RlLCBOVUxM X1JUWCwgZGVzdCwgc3JjLCBsZW4sIG1hc2tfbW9kZSwgdHJ1ZSk7DQorICBl bWl0X3ByZWRfb3AgKGljb2RlLCBOVUxMX1JUWCwgZGVzdCwgc3JjLCBsZW4s IG1hc2tfbW9kZSk7DQp9DQorLyogVGhpcyBmdW5jdGlvbiBlbWl0cyBhbiBv cGVyYXRpb24gd2l0aCBhIGdpdmVuIExFTiB0aGF0IGlzIGtub3duIHRvIGJl DQorICAgYSBwcmVjZWRpbmcgVkxNQVguICBJdCBhbHNvIHNldHMgdGhlIFZM TUFYIGZsYWcgd2hpY2ggYWxsb3dzIGZ1cnRoZXINCisgICBvcHRpbWl6YXRp b24gaW4gdGhlIHZzZXR2bGkgcGFzcy4gICovDQp2b2lkDQotZW1pdF9ub252 bG1heF9vcCAodW5zaWduZWQgaWNvZGUsIHJ0eCBkZXN0LCBydHggc3JjLCBy dHggbGVuLA0KLSAgIG1hY2hpbmVfbW9kZSBtYXNrX21vZGUpDQorZW1pdF92 bG1heF9yZWdfb3AgKHVuc2lnbmVkIGljb2RlLCBydHggZGVzdCwgcnR4IHNy YywgcnR4IGxlbiwNCisgICAgbWFjaGluZV9tb2RlIG1hc2tfbW9kZSkNCnsN Ci0gIGVtaXRfcHJlZF9vcCAoaWNvZGUsIE5VTExfUlRYLCBkZXN0LCBzcmMs IGxlbiwgbWFza19tb2RlLCBmYWxzZSk7DQorICBlbWl0X3ByZWRfb3AgKGlj b2RlLCBOVUxMX1JUWCwgZGVzdCwgc3JjLCBsZW4sIG1hc2tfbW9kZSwNCisg LyogRm9yY2UgVkxNQVggKi8gdHJ1ZSk7DQp9DQp2b2lkDQotZW1pdF9ub252 bG1heF9iaW5vcCAodW5zaWduZWQgaWNvZGUsIHJ0eCBkZXN0LCBydHggc3Jj MSwgcnR4IHNyYzIsIHJ0eCBsZW4sDQotICAgICAgbWFjaGluZV9tb2RlIG1h c2tfbW9kZSwgbWFjaGluZV9tb2RlIG9wMm1vZGUpDQorZW1pdF9sZW5fYmlu b3AgKHVuc2lnbmVkIGljb2RlLCBydHggZGVzdCwgcnR4IHNyYzEsIHJ0eCBz cmMyLCBydHggbGVuLA0KKyBtYWNoaW5lX21vZGUgbWFza19tb2RlLCBtYWNo aW5lX21vZGUgb3AybW9kZSkNCnsNCi0gIGVtaXRfcHJlZF9iaW5vcCAoaWNv ZGUsIE5VTExfUlRYLCBkZXN0LCBzcmMxLCBzcmMyLCBsZW4sIG1hc2tfbW9k ZSwgb3AybW9kZSwNCi0gICAgZmFsc2UpOw0KKyAgZW1pdF9wcmVkX2Jpbm9w IChpY29kZSwgTlVMTF9SVFgsIGRlc3QsIHNyYzEsIHNyYzIsIGxlbiwgbWFz a19tb2RlLCBvcDJtb2RlKTsNCn0NCnN0YXRpYyB2b2lkDQpAQCAtNjY3LDgg KzY4NSw4IEBAIHNldzY0X3NjYWxhcl9oZWxwZXIgKHJ0eCAqb3BlcmFuZHMs IHJ0eCAqc2NhbGFyX29wLCBydHggdmwsDQogICAgICpzY2FsYXJfb3AgPSBm b3JjZV9yZWcgKHNjYWxhcl9tb2RlLCAqc2NhbGFyX29wKTsNCiAgIHJ0eCB0 bXAgPSBnZW5fcmVnX3J0eCAodmVjdG9yX21vZGUpOw0KLSAgcmlzY3ZfdmVj dG9yOjplbWl0X25vbnZsbWF4X29wIChjb2RlX2Zvcl9wcmVkX2Jyb2FkY2Fz dCAodmVjdG9yX21vZGUpLCB0bXAsDQotICAgKnNjYWxhcl9vcCwgdmwsIG1h c2tfbW9kZSk7DQorICByaXNjdl92ZWN0b3I6OmVtaXRfbGVuX29wIChjb2Rl X2Zvcl9wcmVkX2Jyb2FkY2FzdCAodmVjdG9yX21vZGUpLCB0bXAsDQorICAg ICAgKnNjYWxhcl9vcCwgdmwsIG1hc2tfbW9kZSk7DQogICBlbWl0X3ZlY3Rv cl9mdW5jIChvcGVyYW5kcywgdG1wKTsNCiAgIHJldHVybiB0cnVlOw0KQEAg LTk3NCw3ICs5OTIsNyBAQCBleHBhbmRfdHVwbGVfbW92ZSAobWFjaGluZV9t b2RlIG1hc2tfbW9kZSwgcnR4ICpvcHMpDQogICAgICBydHggbWVtID0gZ2Vu X3J0eF9NRU0gKHN1YnBhcnRfbW9kZSwgb3BzWzNdKTsNCiAgICAgIGlmIChm cmFjdGlvbmFsX3ApDQotIGVtaXRfdmxtYXhfb3AgKGNvZGVfZm9yX3ByZWRf bW92IChzdWJwYXJ0X21vZGUpLCBzdWJyZWcsIG1lbSwNCisgZW1pdF92bG1h eF9yZWdfb3AgKGNvZGVfZm9yX3ByZWRfbW92IChzdWJwYXJ0X21vZGUpLCBz dWJyZWcsIG1lbSwNCiAgICAgICBvcHNbNF0sIG1hc2tfbW9kZSk7DQogICAg ICBlbHNlDQplbWl0X21vdmVfaW5zbiAoc3VicmVnLCBtZW0pOw0KQEAgLTk5 Niw3ICsxMDE0LDcgQEAgZXhwYW5kX3R1cGxlX21vdmUgKG1hY2hpbmVfbW9k ZSBtYXNrX21vZGUsIHJ0eCAqb3BzKQ0KICAgICAgcnR4IG1lbSA9IGdlbl9y dHhfTUVNIChzdWJwYXJ0X21vZGUsIG9wc1szXSk7DQogICAgICBpZiAoZnJh Y3Rpb25hbF9wKQ0KLSBlbWl0X3ZsbWF4X29wIChjb2RlX2Zvcl9wcmVkX21v diAoc3VicGFydF9tb2RlKSwgbWVtLCBzdWJyZWcsDQorIGVtaXRfdmxtYXhf cmVnX29wIChjb2RlX2Zvcl9wcmVkX21vdiAoc3VicGFydF9tb2RlKSwgbWVt LCBzdWJyZWcsDQogICAgICAgb3BzWzRdLCBtYXNrX21vZGUpOw0KICAgICAg ZWxzZQ0KZW1pdF9tb3ZlX2luc24gKG1lbSwgc3VicmVnKTsNCmRpZmYgLS1n aXQgYS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LmNjIGIvZ2NjL2NvbmZpZy9y aXNjdi9yaXNjdi5jYw0KaW5kZXggOWUwOGExYmZlMzUuLjlhNDkzMjk1YTM4 IDEwMDY0NA0KLS0tIGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5jYw0KKysr IGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5jYw0KQEAgLTczNzMsOCArNzM3 Myw4IEBAIHZlY3Rvcl96ZXJvX2NhbGxfdXNlZF9yZWdzIChIQVJEX1JFR19T RVQgbmVlZF96ZXJvZWRfaGFyZHJlZ3MpDQogICAgICBlbWl0dGVkX3ZsbWF4 X3ZzZXR2bCA9IHRydWU7DQogICAgfQ0KLSAgIHJpc2N2X3ZlY3Rvcjo6ZW1p dF92bG1heF9vcCAoY29kZV9mb3JfcHJlZF9tb3YgKG1vZGUpLCB0YXJnZXQs DQotICAgICAgICBDT05TVDBfUlRYIChtb2RlKSwgdmwsIG1hc2tfbW9kZSk7 DQorICAgcmlzY3ZfdmVjdG9yOjplbWl0X3ZsbWF4X3JlZ19vcCAoY29kZV9m b3JfcHJlZF9tb3YgKG1vZGUpLCB0YXJnZXQsDQorICAgIENPTlNUMF9SVFgg KG1vZGUpLCB2bCwgbWFza19tb2RlKTsNCiAgU0VUX0hBUkRfUkVHX0JJVCAo emVyb2VkX2hhcmRyZWdzLCByZWdubyk7DQp9DQpkaWZmIC0tZ2l0IGEvZ2Nj L2NvbmZpZy9yaXNjdi92ZWN0b3IubWQgYi9nY2MvY29uZmlnL3Jpc2N2L3Zl Y3Rvci5tZA0KaW5kZXggOWNjYzBkNmE1MTMuLjc1NDc5ZjI3YmNkIDEwMDY0 NA0KLS0tIGEvZ2NjL2NvbmZpZy9yaXNjdi92ZWN0b3IubWQNCisrKyBiL2dj Yy9jb25maWcvcmlzY3YvdmVjdG9yLm1kDQpAQCAtNzIxLDggKzcyMSw5IEBA IChkZWZpbmVfaW5zbl9hbmRfc3BsaXQgIiptb3Y8Vl9GUkFDVDptb2RlPjxQ Om1vZGU+X2xyYSINCiAgIGVsc2UNCiAgICAgew0KICAgICAgIHJpc2N2X3Zl Y3Rvcjo6ZW1pdF92bG1heF92c2V0dmwgKDxWX0ZSQUNUOk1PREU+bW9kZSwg b3BlcmFuZHNbMl0pOw0KLSAgICAgIHJpc2N2X3ZlY3Rvcjo6ZW1pdF92bG1h eF9vcCAoY29kZV9mb3JfcHJlZF9tb3YgKDxWX0ZSQUNUOk1PREU+bW9kZSks DQotICAgICAgb3BlcmFuZHNbMF0sIG9wZXJhbmRzWzFdLCBvcGVyYW5kc1sy XSwgPFZNPm1vZGUpOw0KKyAgICAgIHJpc2N2X3ZlY3Rvcjo6ZW1pdF92bG1h eF9yZWdfb3AgKGNvZGVfZm9yX3ByZWRfbW92ICg8Vl9GUkFDVDpNT0RFPm1v ZGUpLA0KKyAgICAgICAgb3BlcmFuZHNbMF0sIG9wZXJhbmRzWzFdLCBvcGVy YW5kc1syXSwNCisgICAgICAgIDxWTT5tb2RlKTsNCiAgICAgfQ0KICAgRE9O RTsNCn0pDQpAQCAtNzQxLDggKzc0Miw5IEBAIChkZWZpbmVfaW5zbl9hbmRf c3BsaXQgIiptb3Y8VkI6bW9kZT48UDptb2RlPl9scmEiDQogICBlbHNlDQog ICAgIHsNCiAgICAgICByaXNjdl92ZWN0b3I6OmVtaXRfdmxtYXhfdnNldHZs ICg8VkI6TU9ERT5tb2RlLCBvcGVyYW5kc1syXSk7DQotICAgICAgcmlzY3Zf dmVjdG9yOjplbWl0X3ZsbWF4X29wIChjb2RlX2Zvcl9wcmVkX21vdiAoPFZC Ok1PREU+bW9kZSksDQotICAgICAgb3BlcmFuZHNbMF0sIG9wZXJhbmRzWzFd LCBvcGVyYW5kc1syXSwgPFZCOk1PREU+bW9kZSk7DQorICAgICAgcmlzY3Zf dmVjdG9yOjplbWl0X3ZsbWF4X3JlZ19vcCAoY29kZV9mb3JfcHJlZF9tb3Yg KDxWQjpNT0RFPm1vZGUpLA0KKyAgICAgICAgb3BlcmFuZHNbMF0sIG9wZXJh bmRzWzFdLCBvcGVyYW5kc1syXSwNCisgICAgICAgIDxWQjpNT0RFPm1vZGUp Ow0KICAgICB9DQogICBET05FOw0KfSkNCkBAIC04MDYsNyArODA4LDcgQEAg KGRlZmluZV9leHBhbmQgInZlY19kdXBsaWNhdGU8bW9kZT4iDQogICAiVEFS R0VUX1ZFQ1RPUiINCiAgIHsNCiAgICAgcmlzY3ZfdmVjdG9yOjplbWl0X3Zs bWF4X29wIChjb2RlX2Zvcl9wcmVkX2Jyb2FkY2FzdCAoPE1PREU+bW9kZSks DQotIG9wZXJhbmRzWzBdLCBvcGVyYW5kc1sxXSwgPFZNPm1vZGUpOw0KKyBv cGVyYW5kc1swXSwgb3BlcmFuZHNbMV0sIDxWTT5tb2RlKTsNCiAgICAgRE9O RTsNCiAgIH0NCikNCi0tIA0KMi40MC4wDQogDQogDQogDQo= ------=_001_NextPart141172250671_=------