From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pg1-x531.google.com (mail-pg1-x531.google.com [IPv6:2607:f8b0:4864:20::531]) by sourceware.org (Postfix) with ESMTPS id 891083858C53 for ; Fri, 10 Nov 2023 09:10:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 891083858C53 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 891083858C53 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::531 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1699607458; cv=none; b=OvAkQbQXhBmnvHMTzMdCBsAxsBLBrCPyNaRbREe5i7TDolDpgXmhtFh/Q6UZ2hmiF8qVOjFO1ILu+oMRrTyJuxqpuNHZmIqcYQxW/3tonAD0hPGxGQsthR9X8DzgrDuhyGtuTrnmeSvmnXBvLP5rEwmGVyH1lWoMToxCGn4VAgo= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1699607458; c=relaxed/simple; bh=nGIT+TMrkSG3jwSqfuKMIB6MOp7SiGoYBTz6nivTu1g=; h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To; b=NFNwBa8oTzi0ZjAVC3rSNkDmBwt5TNQcBaIs6Bn0OF3ue/fQhx9cgorRx8m2QGBd+1TapaPYzXdXNPwskMXYVVOyZlL1BWM87BmwGYK/Onhpws0SOur6deIqc56VFUMSLNHjIywjTaR4u73ee+HpqLGT2GdtkEFED2gBbQhYUg8= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pg1-x531.google.com with SMTP id 41be03b00d2f7-5b9390d6bd3so2293944a12.0 for ; Fri, 10 Nov 2023 01:10:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699607454; x=1700212254; darn=gcc.gnu.org; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=OAdHcpJ2ai+slO6e+RmK/b95ZaMJkknbwIzSGR0cCug=; b=lYB/vdQNIPQ6Jxqi1wPZxTk0gfbufiBJbojX3Tno4IgYd88sR1wPsAg43E1yHEoZMT YkWWwvHLZgUTMQUxx4NCD+jCL1AH4gT8KFC9iyJdWsPjCQmdCEcTWdYMdeg33tbX9OnK 1jVDoN1JT7srJX+w+02KrXZAuDEu6aIC5K289tq0lhJScHlbqkV9N93PR98/RxrB8+B3 qdTYXFFC6+Ti0jWiGhdWGM4BtjDVViauPpopMBLkVC8hAE/zOAXAof2HCQrStr96f4cO RnB8kwhtz5wmREa6aYAcAnwQw3i4feX29XTmOVi7f3qrIR6Rtftle2VjKsGVEoAts6yK Gmlw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699607454; x=1700212254; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=OAdHcpJ2ai+slO6e+RmK/b95ZaMJkknbwIzSGR0cCug=; b=mX7Ifgs6WP7EpLuMARkFSMG4HSr29Sp/y873laW5B8aG98r+gl82XbMggoOs6vt1Y1 Y4yDrtvMrLHM2fmNbvlMQJnJgL/Rs9P/se+BcUgiV0Kzpt+vetMQK0Fg1C0NVSxHtax3 V4wYbfhfGceHm70YVt0Xv2b9Sjsc6MxhETOm+GB2EsJPh5pLT3hXZVsxDzliD7Mh7IwK cBzbETAGO5/dd8hnJWUbK+0GtYLQcYc5kPyz4c9tKt85AXm5N40CCewDd8o3qmFsV/3v K8kOVBPycS5dPTxYiAeO8l2ufpTqMiw1fucYeY3kqZwIMySs7vduEZU3jRRGXwUwyR9/ yUOQ== X-Gm-Message-State: AOJu0YzO1++nGdhJEIxceDR2nNRYM6kkswYsehYHluNWjFK9XNu4oqqE r8vF1iABvGTS97x0g+GtwrcgtYZ9rDetjaS5WB5Y3QB7Nxc= X-Google-Smtp-Source: AGHT+IHPnmA6uZykdt8qqfhlQTYzlgYfg4GNR86t0KaSTig5/qLIEA9p0XBaIVAYcmzgg1HlImWdLdJrJ8QQj/tQ6EI= X-Received: by 2002:a17:90a:b293:b0:280:47ba:767a with SMTP id c19-20020a17090ab29300b0028047ba767amr2624781pjr.16.1699607454197; Fri, 10 Nov 2023 01:10:54 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: KuanLin Chen Date: Fri, 10 Nov 2023 17:10:43 +0800 Message-ID: Subject: Re: [RFC][V2] RISC-V: Support -mcmodel=large. To: gcc-patches@gcc.gnu.org, jeffreyalaw@gmail.com, Kito Cheng Content-Type: multipart/mixed; boundary="00000000000091214b0609c8b292" X-Spam-Status: No, score=-0.5 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,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: --00000000000091214b0609c8b292 Content-Type: multipart/alternative; boundary="0000000000009121490609c8b290" --0000000000009121490609c8b290 Content-Type: text/plain; charset="UTF-8" Sorry. It missed a semicolon in the previos patch. Please find the new one in the attachment. Thanks. --0000000000009121490609c8b290-- --00000000000091214b0609c8b292 Content-Type: application/octet-stream; name="0001-RISC-V-Support-mcmodel-large.patch" Content-Disposition: attachment; filename="0001-RISC-V-Support-mcmodel-large.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_losebbe90 RnJvbSA5OGFkYTk1MDE0MjQ0MDQzNjJhMTAyZWIzNTZjNzdjMzJmZjZlMjIz IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLdWFuLUxpbiBDaGVu IDxydWZ1c0BhbmRlc3RlY2guY29tPgpEYXRlOiBTdW4sIDE4IEZlYiAyMDE4 IDIwOjE5OjQ5ICswODAwClN1YmplY3Q6IFtQQVRDSF0gUklTQy1WOiBTdXBw b3J0IC1tY21vZGVsPWxhcmdlLgoKLS0tCiBnY2MvY29uZmlnL3Jpc2N2L3By ZWRpY2F0ZXMubWQgICAgICAgICAgICAgICB8IDIzICsrKysrLS0KIGdjYy9j b25maWcvcmlzY3YvcmlzY3YtYy5jYyAgICAgICAgICAgICAgICAgIHwgIDQg KysKIGdjYy9jb25maWcvcmlzY3YvcmlzY3Ytb3B0cy5oICAgICAgICAgICAg ICAgIHwgIDEgKwogZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi1wcm90b3MuaCAg ICAgICAgICAgICAgfCAgNCArLQogZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5j YyAgICAgICAgICAgICAgICAgICAgfCA3MCArKysrKysrKysrKysrKysrKysr LQogZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5oICAgICAgICAgICAgICAgICAg ICAgfCAgMiArCiBnY2MvY29uZmlnL3Jpc2N2L3Jpc2N2Lm1kICAgICAgICAg ICAgICAgICAgICB8ICA5ICsrKwogZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5v cHQgICAgICAgICAgICAgICAgICAgfCAgMyArCiBnY2MvdGVzdHN1aXRlL2dj Yy50YXJnZXQvcmlzY3YvbGFyZ2UtbW9kZWwuYyB8IDExICsrKwogOSBmaWxl cyBjaGFuZ2VkLCAxMjAgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkK IGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQv cmlzY3YvbGFyZ2UtbW9kZWwuYwoKZGlmZiAtLWdpdCBhL2djYy9jb25maWcv cmlzY3YvcHJlZGljYXRlcy5tZCBiL2djYy9jb25maWcvcmlzY3YvcHJlZGlj YXRlcy5tZAppbmRleCA5MDU2N2E4MTdhNy4uZjdlYzY2MjU3YzUgMTAwNjQ0 Ci0tLSBhL2djYy9jb25maWcvcmlzY3YvcHJlZGljYXRlcy5tZAorKysgYi9n Y2MvY29uZmlnL3Jpc2N2L3ByZWRpY2F0ZXMubWQKQEAgLTI4Myw3ICsyODMs OCBAQAogICAgIGNhc2UgU1lNQk9MX1JFRjoKICAgICBjYXNlIExBQkVMX1JF RjoKICAgICAgIHJldHVybiByaXNjdl9zeW1ib2xpY19jb25zdGFudF9wIChv cCwgJnN5bWJvbF90eXBlKQotCSAgICAgICYmICFyaXNjdl9zcGxpdF9zeW1i b2xfdHlwZSAoc3ltYm9sX3R5cGUpOworCSAgICAgJiYgIXJpc2N2X3NwbGl0 X3N5bWJvbF90eXBlIChzeW1ib2xfdHlwZSkKKwkgICAgICYmIHN5bWJvbF90 eXBlICE9IFNZTUJPTF9GT1JDRV9UT19NRU07CiAKICAgICBjYXNlIEhJR0g6 CiAgICAgICBvcCA9IFhFWFAgKG9wLCAwKTsKQEAgLTMyMCw5ICszMjEsMTUg QEAKIH0pCiAKIChkZWZpbmVfcHJlZGljYXRlICJjYWxsX2luc25fb3BlcmFu ZCIKLSAgKGlvciAobWF0Y2hfb3BlcmFuZCAwICJhYnNvbHV0ZV9zeW1ib2xp Y19vcGVyYW5kIikKLSAgICAgICAobWF0Y2hfb3BlcmFuZCAwICJwbHRfc3lt Ym9saWNfb3BlcmFuZCIpCi0gICAgICAgKG1hdGNoX29wZXJhbmQgMCAicmVn aXN0ZXJfb3BlcmFuZCIpKSkKKyAgKG1hdGNoX29wZXJhbmQgMCAiZ2VuZXJh bF9vcGVyYW5kIikKK3sKKyAgaWYgKHJpc2N2X2Ntb2RlbCA9PSBDTV9MQVJH RSkKKyAgICByZXR1cm4gcmVnaXN0ZXJfb3BlcmFuZCAob3AsIG1vZGUpOwor ICBlbHNlCisgICAgcmV0dXJuIChhYnNvbHV0ZV9zeW1ib2xpY19vcGVyYW5k IChvcCwgbW9kZSkKKwkgICAgfHwgcGx0X3N5bWJvbGljX29wZXJhbmQgKG9w LCBtb2RlKQorCSAgICB8fCByZWdpc3Rlcl9vcGVyYW5kIChvcCwgbW9kZSkp OworfSkKIAogKGRlZmluZV9wcmVkaWNhdGUgIm1vZHVsYXJfb3BlcmF0b3Ii CiAgIChtYXRjaF9jb2RlICJwbHVzLG1pbnVzLG11bHQsYXNoaWZ0IikpCkBA IC02MDUsMyArNjEyLDExIEBACiAgIChhbmQgKG1hdGNoX2NvZGUgImNvbnN0 X2ludCIpCiAgICAgICAgKGlvciAobWF0Y2hfb3BlcmFuZCAwICJub3RfdWlt bV9leHRyYV9iaXRfb3BlcmFuZCIpCiAJICAgIChtYXRjaF9vcGVyYW5kIDAg ImNvbnN0X25vdHR3b2JpdHNfbm90X2FyaXRoX29wZXJhbmQiKSkpKQorCiso ZGVmaW5lX3ByZWRpY2F0ZSAicGNyZWxfc3ltYm9sX29wZXJhbmQiCisgICht YXRjaF9jb2RlICJzeW1ib2xfcmVmIikKK3sKKyAgZW51bSByaXNjdl9zeW1i b2xfdHlwZSB0eXBlOworICByZXR1cm4gKHJpc2N2X3N5bWJvbGljX2NvbnN0 YW50X3AgKG9wLCAmdHlwZSkKKyAgICAgICAgICYmIHR5cGUgPT0gU1lNQk9M X1BDUkVMKTsKK30pCmRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3Jpc2N2L3Jp c2N2LWMuY2MgYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LWMuY2MKaW5kZXgg YmVkZjcyMTczOTAuLjU5ZjIwNjJiZjRkIDEwMDY0NAotLS0gYS9nY2MvY29u ZmlnL3Jpc2N2L3Jpc2N2LWMuY2MKKysrIGIvZ2NjL2NvbmZpZy9yaXNjdi9y aXNjdi1jLmNjCkBAIC0xMDEsNiArMTAxLDEwIEBAIHJpc2N2X2NwdV9jcHBf YnVpbHRpbnMgKGNwcF9yZWFkZXIgKnBmaWxlKQogICAgICAgYnVpbHRpbl9k ZWZpbmUgKCJfX3Jpc2N2X2Ntb2RlbF9tZWRsb3ciKTsKICAgICAgIGJyZWFr OwogCisgICAgY2FzZSBDTV9MQVJHRToKKyAgICAgIGJ1aWx0aW5fZGVmaW5l ICgiX19yaXNjdl9jbW9kZWxfbGFyZ2UiKTsKKyAgICAgIGJyZWFrOworCiAg ICAgY2FzZSBDTV9QSUM6CiAgICAgY2FzZSBDTV9NRURBTlk6CiAgICAgICBi dWlsdGluX2RlZmluZSAoIl9fcmlzY3ZfY21vZGVsX21lZGFueSIpOwpkaWZm IC0tZ2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi1vcHRzLmggYi9nY2Mv Y29uZmlnL3Jpc2N2L3Jpc2N2LW9wdHMuaAppbmRleCA1MzJiMWI2Yjg0YS4u ZTMwY2NhNGQxOTUgMTAwNjQ0Ci0tLSBhL2djYy9jb25maWcvcmlzY3Yvcmlz Y3Ytb3B0cy5oCisrKyBiL2djYy9jb25maWcvcmlzY3YvcmlzY3Ytb3B0cy5o CkBAIC0zNSw2ICszNSw3IEBAIGV4dGVybiBlbnVtIHJpc2N2X2FiaV90eXBl IHJpc2N2X2FiaTsKIGVudW0gcmlzY3ZfY29kZV9tb2RlbCB7CiAgIENNX01F RExPVywKICAgQ01fTUVEQU5ZLAorICBDTV9MQVJHRSwKICAgQ01fUElDCiB9 OwogZXh0ZXJuIGVudW0gcmlzY3ZfY29kZV9tb2RlbCByaXNjdl9jbW9kZWw7 CmRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXByb3Rvcy5o IGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi1wcm90b3MuaAppbmRleCA4NWQ0 ZjZlZDllYS4uNzI4MTQwNWVkNDkgMTAwNjQ0Ci0tLSBhL2djYy9jb25maWcv cmlzY3YvcmlzY3YtcHJvdG9zLmgKKysrIGIvZ2NjL2NvbmZpZy9yaXNjdi9y aXNjdi1wcm90b3MuaApAQCAtMjgsNiArMjgsNyBAQCBhbG9uZyB3aXRoIEdD Qzsgc2VlIHRoZSBmaWxlIENPUFlJTkczLiAgSWYgbm90IHNlZQogICAgdGhl IHVuc3BlYyBlbnVtIGluIHJpc2N2Lm1kLCBzdWJzZXF1ZW50IHRvIFVOU1BF Q19BRERSRVNTX0ZJUlNULiAgKi8KIGVudW0gcmlzY3Zfc3ltYm9sX3R5cGUg ewogICBTWU1CT0xfQUJTT0xVVEUsCisgIFNZTUJPTF9GT1JDRV9UT19NRU0s CiAgIFNZTUJPTF9QQ1JFTCwKICAgU1lNQk9MX0dPVF9ESVNQLAogICBTWU1C T0xfVExTLApAQCAtMTU4LDcgKzE1OSw4IEBAIGV4dGVybiBib29sIHJpc2N2 X3NoYW10X21hdGNoZXNfbWFza19wIChpbnQsIEhPU1RfV0lERV9JTlQpOwog ZXh0ZXJuIHZvaWQgcmlzY3Zfc3Vid29yZF9hZGRyZXNzIChydHgsIHJ0eCAq LCBydHggKiwgcnR4ICosIHJ0eCAqKTsKIGV4dGVybiB2b2lkIHJpc2N2X2xz aGlmdF9zdWJ3b3JkIChtYWNoaW5lX21vZGUsIHJ0eCwgcnR4LCBydHggKik7 CiBleHRlcm4gZW51bSBtZW1tb2RlbCByaXNjdl91bmlvbl9tZW1tb2RlbHMg KGVudW0gbWVtbW9kZWwsIGVudW0gbWVtbW9kZWwpOwotCitleHRlcm4gdm9p ZCByaXNjdl9hc21fb3V0cHV0X3Bvb2xfZXBpbG9ndWUgKEZJTEUgKiwgY29u c3QgY2hhciAqLAorCQkJCQkgICAgdHJlZSwgSE9TVF9XSURFX0lOVCk7CiAv KiBSb3V0aW5lcyBpbXBsZW1lbnRlZCBpbiByaXNjdi1jLmNjLiAgKi8KIHZv aWQgcmlzY3ZfY3B1X2NwcF9idWlsdGlucyAoY3BwX3JlYWRlciAqKTsKIHZv aWQgcmlzY3ZfcmVnaXN0ZXJfcHJhZ21hcyAodm9pZCk7CmRpZmYgLS1naXQg YS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LmNjIGIvZ2NjL2NvbmZpZy9yaXNj di9yaXNjdi5jYwppbmRleCAwOGZmMDVkY2MzZi4uNjhkZTgxM2Q4NzUgMTAw NjQ0Ci0tLSBhL2djYy9jb25maWcvcmlzY3YvcmlzY3YuY2MKKysrIGIvZ2Nj L2NvbmZpZy9yaXNjdi9yaXNjdi5jYwpAQCAtMjg3LDYgKzI4Nyw5IEBAIGJv b2wgcmlzY3ZfdXNlcl93YW50c19zdHJpY3RfYWxpZ247CiAvKiBTdGFjayBh bGlnbm1lbnQgdG8gYXNzdW1lL21haW50YWluLiAgKi8KIHVuc2lnbmVkIHJp c2N2X3N0YWNrX2JvdW5kYXJ5OwogCisvKiBXaGV0aGVyIGluIHJpc2N2X291 dHB1dF9taV90aHVuay4gKi8KK3N0YXRpYyBib29sIHJpc2N2X2luX3RodW5r X2Z1bmMgPSBmYWxzZTsKKwogLyogSWYgbm9uLXplcm8sIHRoaXMgaXMgYW4g b2Zmc2V0IHRvIGJlIGFkZGVkIHRvIFNQIHRvIHJlZGVmaW5lIHRoZSBDRkEK ICAgIHdoZW4gcmVzdG9yaW5nIHRoZSBGUCByZWdpc3RlciBmcm9tIHRoZSBz dGFjay4gIE9ubHkgdmFsaWQgd2hlbiBnZW5lcmF0aW5nCiAgICB0aGUgZXBp bG9ndWUuICAqLwpAQCAtODAzLDcgKzgwNiwxNyBAQCByaXNjdl9jbGFzc2lm eV9zeW1ib2wgKGNvbnN0X3J0eCB4KQogICBpZiAoR0VUX0NPREUgKHgpID09 IFNZTUJPTF9SRUYgJiYgZmxhZ19waWMgJiYgIXJpc2N2X3N5bWJvbF9iaW5k c19sb2NhbF9wICh4KSkKICAgICByZXR1cm4gU1lNQk9MX0dPVF9ESVNQOwog Ci0gIHJldHVybiByaXNjdl9jbW9kZWwgPT0gQ01fTUVETE9XID8gU1lNQk9M X0FCU09MVVRFIDogU1lNQk9MX1BDUkVMOworICBzd2l0Y2ggKHJpc2N2X2Nt b2RlbCkKKyAgICB7CisgICAgY2FzZSBDTV9NRURMT1c6CisgICAgICByZXR1 cm4gU1lNQk9MX0FCU09MVVRFOworICAgIGNhc2UgQ01fTEFSR0U6CisgICAg ICBpZiAoU1lNQk9MX1JFRl9QICh4KSkKKwlyZXR1cm4gQ09OU1RBTlRfUE9P TF9BRERSRVNTX1AgKHgpID8gU1lNQk9MX1BDUkVMIDogU1lNQk9MX0ZPUkNF X1RPX01FTTsKKyAgICAgIHJldHVybiBTWU1CT0xfUENSRUw7CisgICAgZGVm YXVsdDoKKyAgICAgIHJldHVybiBTWU1CT0xfUENSRUw7CisgICAgfQogfQog CiAvKiBDbGFzc2lmeSB0aGUgYmFzZSBvZiBzeW1ib2xpYyBleHByZXNzaW9u IFguICAqLwpAQCAtODY3LDYgKzg4MCw3IEBAIHN0YXRpYyBpbnQgcmlzY3Zf c3ltYm9sX2luc25zIChlbnVtIHJpc2N2X3N5bWJvbF90eXBlIHR5cGUpCiAg ICAgY2FzZSBTWU1CT0xfUENSRUw6IHJldHVybiAyOyAvKiBBVUlQQyArIHRo ZSByZWZlcmVuY2UuICAqLwogICAgIGNhc2UgU1lNQk9MX1RMU19MRTogcmV0 dXJuIDM7IC8qIExVSSArIEFERCBUUCArIHRoZSByZWZlcmVuY2UuICAqLwog ICAgIGNhc2UgU1lNQk9MX0dPVF9ESVNQOiByZXR1cm4gMzsgLyogQVVJUEMg KyBMRCBHT1QgKyB0aGUgcmVmZXJlbmNlLiAgKi8KKyAgICBjYXNlIFNZTUJP TF9GT1JDRV9UT19NRU06IHJldHVybiAzOyAvKiBBVUlQQyArIExEICsgdGhl IHJlZmVyZW5jZS4gICovCiAgICAgZGVmYXVsdDogZ2NjX3VucmVhY2hhYmxl ICgpOwogICAgIH0KIH0KQEAgLTEwMzYsNiArMTA1MCw5IEBAIHJpc2N2X2Nh bm5vdF9mb3JjZV9jb25zdF9tZW0gKG1hY2hpbmVfbW9kZSBtb2RlIEFUVFJJ QlVURV9VTlVTRUQsIHJ0eCB4KQogICBzcGxpdF9jb25zdCAoeCwgJmJhc2Us ICZvZmZzZXQpOwogICBpZiAocmlzY3Zfc3ltYm9saWNfY29uc3RhbnRfcCAo YmFzZSwgJnR5cGUpKQogICAgIHsKKyAgICAgIGlmICh0eXBlID09IFNZTUJP TF9GT1JDRV9UT19NRU0pCisJcmV0dXJuIGZhbHNlOworCiAgICAgICAvKiBB cyBhbiBvcHRpbWl6YXRpb24sIGRvbid0IHNwaWxsIHN5bWJvbGljIGNvbnN0 YW50cyB0aGF0IGFyZSBhcwogCSBjaGVhcCB0byByZW1hdGVyaWFsaXplIGFz IHRvIGFjY2VzcyBpbiB0aGUgY29uc3RhbnQgcG9vbC4gICovCiAgICAgICBp ZiAoU01BTExfT1BFUkFORCAoSU5UVkFMIChvZmZzZXQpKSAmJiByaXNjdl9z eW1ib2xfaW5zbnMgKHR5cGUpID4gMCkKQEAgLTE4NDMsNiArMTg2MCw5IEBA IHJpc2N2X3NwbGl0X3N5bWJvbCAocnR4IHRlbXAsIHJ0eCBhZGRyLCBtYWNo aW5lX21vZGUgbW9kZSwgcnR4ICpsb3dfb3V0KQogICBpZiAobG93X291dCkK ICAgICBzd2l0Y2ggKHN5bWJvbF90eXBlKQogICAgICAgeworICAgICAgY2Fz ZSBTWU1CT0xfRk9SQ0VfVE9fTUVNOgorCXJldHVybiBmYWxzZTsKKwogICAg ICAgY2FzZSBTWU1CT0xfQUJTT0xVVEU6CiAJewogCSAgcnR4IGhpZ2ggPSBn ZW5fcnR4X0hJR0ggKFBtb2RlLCBjb3B5X3J0eCAoYWRkcikpOwpAQCAtMjAw MCw3ICsyMDIwLDIwIEBAIHN0YXRpYyBydHgKIHJpc2N2X2ZvcmNlX2FkZHJl c3MgKHJ0eCB4LCBtYWNoaW5lX21vZGUgbW9kZSkKIHsKICAgaWYgKCFyaXNj dl9sZWdpdGltYXRlX2FkZHJlc3NfcCAobW9kZSwgeCwgZmFsc2UpKQotICAg IHggPSBmb3JjZV9yZWcgKFBtb2RlLCB4KTsKKyAgICB7CisgICAgICBpZiAo Y2FuX2NyZWF0ZV9wc2V1ZG9fcCAoKSkKKwlyZXR1cm4gZm9yY2VfcmVnIChQ bW9kZSwgeCk7CisgICAgICBlbHNlCisJeworCSAgLyogSXQncyBvbmx5IHNh ZmUgZm9yIHRoZSB0aHVuayBmdW5jdGlvbi4KKwkgICAgIFVzZSByYSBhcyB0 aGUgdGVtcCByZWdpYXRlci4gICovCisJICBnY2NfYXNzZXJ0IChyaXNjdl9p bl90aHVua19mdW5jKTsKKwkgIHJ0eCByZWcgPSBSSVNDVl9QUk9MT0dVRV9U RU1QMiAoUG1vZGUpOworCSAgcmlzY3ZfZW1pdF9tb3ZlIChyZWcsIHgpOwor CSAgcmV0dXJuIHJlZzsKKwl9CisgICAgfQorCiAgIHJldHVybiB4OwogfQog CkBAIC01NzAyLDEyICs1NzM1LDI0IEBAIHJpc2N2X3VuaXF1ZV9zZWN0aW9u ICh0cmVlIGRlY2wsIGludCByZWxvYykKICAgZGVmYXVsdF91bmlxdWVfc2Vj dGlvbiAoZGVjbCwgcmVsb2MpOwogfQogCisvKiBDb25zdGFudCBwb29scyBh cmUgcGVyLWZ1bmN0aW9uIHdoZW4gaW4gbGFyZ2UgY29kZSBtb2RlbC4gICov CisKK3N0YXRpYyBpbmxpbmUgYm9vbAorcmlzY3ZfY2FuX3VzZV9wZXJfZnVu Y3Rpb25fbGl0ZXJhbF9wb29sc19wICh2b2lkKQoreworICByZXR1cm4gcmlz Y3ZfY21vZGVsID09IENNX0xBUkdFOworfQorCiAvKiBSZXR1cm4gYSBzZWN0 aW9uIGZvciBYLCBoYW5kbGluZyBzbWFsbCBkYXRhLiAqLwogCiBzdGF0aWMg c2VjdGlvbiAqCiByaXNjdl9lbGZfc2VsZWN0X3J0eF9zZWN0aW9uIChtYWNo aW5lX21vZGUgbW9kZSwgcnR4IHgsCiAJCQkgICAgICB1bnNpZ25lZCBIT1NU X1dJREVfSU5UIGFsaWduKQogeworICAvKiBUaGUgbGl0ZXJhbCBwb29sIHN0 YXlzIHdpdGggdGhlIGZ1bmN0aW9uLiAgKi8KKyAgaWYgKHJpc2N2X2Nhbl91 c2VfcGVyX2Z1bmN0aW9uX2xpdGVyYWxfcG9vbHNfcCAoKSkKKyAgICByZXR1 cm4gZnVuY3Rpb25fc2VjdGlvbiAoY3VycmVudF9mdW5jdGlvbl9kZWNsKTsK KwogICBzZWN0aW9uICpzID0gZGVmYXVsdF9lbGZfc2VsZWN0X3J0eF9zZWN0 aW9uIChtb2RlLCB4LCBhbGlnbik7CiAKICAgaWYgKHJpc2N2X3NpemVfb2tf Zm9yX3NtYWxsX2RhdGFfcCAoR0VUX01PREVfU0laRSAobW9kZSkudG9fY29u c3RhbnQgKCkpKQpAQCAtNzkyNyw2ICs3OTcyLDggQEAgcmlzY3Zfb3V0cHV0 X21pX3RodW5rIChGSUxFICpmaWxlLCB0cmVlIHRodW5rX2ZuZGVjbCBBVFRS SUJVVEVfVU5VU0VELAogICBydHggdGhpc19ydHgsIHRlbXAxLCB0ZW1wMiwg Zm5hZGRyOwogICBydHhfaW5zbiAqaW5zbjsKIAorICByaXNjdl9pbl90aHVu a19mdW5jID0gdHJ1ZTsKKwogICAvKiBQcmV0ZW5kIHRvIGJlIGEgcG9zdC1y ZWxvYWQgcGFzcyB3aGlsZSBnZW5lcmF0aW5nIHJ0bC4gICovCiAgIHJlbG9h ZF9jb21wbGV0ZWQgPSAxOwogCkBAIC03OTkzLDYgKzgwNDAsNyBAQCByaXNj dl9vdXRwdXRfbWlfdGh1bmsgKEZJTEUgKmZpbGUsIHRyZWUgdGh1bmtfZm5k ZWNsIEFUVFJJQlVURV9VTlVTRUQsCiAgIC8qIENsZWFuIHVwIHRoZSB2YXJz IHNldCBhYm92ZS4gIE5vdGUgdGhhdCBmaW5hbF9lbmRfZnVuY3Rpb24gcmVz ZXRzCiAgICAgIHRoZSBnbG9iYWwgcG9pbnRlciBmb3IgdXMuICAqLwogICBy ZWxvYWRfY29tcGxldGVkID0gMDsKKyAgcmlzY3ZfaW5fdGh1bmtfZnVuYyA9 IGZhbHNlOwogfQogCiAvKiBBbGxvY2F0ZSBhIGNodW5rIG9mIG1lbW9yeSBm b3IgcGVyLWZ1bmN0aW9uIG1hY2hpbmUtZGVwZW5kZW50IGRhdGEuICAqLwpA QCAtODEzMyw2ICs4MTgxLDE4IEBAIHJpc2N2X29wdGlvbl9vdmVycmlkZSAo dm9pZCkKICAgaWYgKGZsYWdfcGljKQogICAgIGdfc3dpdGNoX3ZhbHVlID0g MDsKIAorICAvKiBBbHdheXMgcHJlZmVyIG1lZGxvdyB0aGFuIG1lZGFueSBm b3IgUlYzMiBzaW5jZSBtZWRsb3cgY2FuIGFjY2VzcworICAgICBmdWxsIGFk ZHJlc3Mgc3BhY2UuICovCisgIGlmIChyaXNjdl9jbW9kZWwgPT0gQ01fTEFS R0UgJiYgIVRBUkdFVF82NEJJVCkKKyAgICByaXNjdl9jbW9kZWwgPSBDTV9N RURMT1c7CisKKyAgaWYgKHJpc2N2X2Ntb2RlbCA9PSBDTV9MQVJHRSAmJiBU QVJHRVRfRVhQTElDSVRfUkVMT0NTKQorICAgIHNvcnJ5ICgiY29kZSBtb2Rl bCAlcXMgd2l0aCAlcXMiLCAibGFyZ2UiLCAiLW1leHBsaWNpdC1yZWxvY3Mi KTsKKworICBpZiAocmlzY3ZfY21vZGVsID09IENNX0xBUkdFICYmIGZsYWdf cGljKQorICAgIHNvcnJ5ICgiY29kZSBtb2RlbCAlcXMgd2l0aCAlcXMiLCAi bGFyZ2UiLAorCSAgIGdsb2JhbF9vcHRpb25zLnhfZmxhZ19waWMgPiAxID8g Ii1mUElDIiA6ICItZnBpYyIpOworCiAgIGlmIChmbGFnX3BpYykKICAgICBy aXNjdl9jbW9kZWwgPSBDTV9QSUM7CiAKQEAgLTg0NjcsNiArODUyNywxMiBA QCByaXNjdl9mdW5jdGlvbl9va19mb3Jfc2liY2FsbCAodHJlZSBkZWNsIEFU VFJJQlVURV9VTlVTRUQsCiAgIGlmIChjZnVuLT5tYWNoaW5lLT5pbnRlcnJ1 cHRfaGFuZGxlcl9wKQogICAgIHJldHVybiBmYWxzZTsKIAorICAvKiBEb24n dCB1c2Ugc2liY2FsbHMgaW4gdGhlIGxhcmdlIG1vZGVsLCBiZWNhdXNlIGEg c2liY2FsbCBpbnN0cnVjdGlvbgorICAgICBleHBhbmRpbmcgYW5kIGEgZXBp bG9ndWUgZXhwYW5kaW5nIGJvdGggdXNlIFJJU0NWX1BST0xPR1VFX1RFTVAK KyAgICAgcmVnaXN0ZXIuICAqLworICBpZiAocmlzY3ZfY21vZGVsID09IENN X0xBUkdFKQorICAgIHJldHVybiBmYWxzZTsKKwogICByZXR1cm4gdHJ1ZTsK IH0KIApkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5oIGIv Z2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5oCmluZGV4IDFlOTgxM2I0ZjM5Li44 MDdmZWUwNmUwZSAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNj di5oCisrKyBiL2djYy9jb25maWcvcmlzY3YvcmlzY3YuaApAQCAtMTIwMCw0 ICsxMjAwLDYgQEAgZXh0ZXJuIHZvaWQgcmlzY3ZfcmVtb3ZlX3VubmVlZGVk X3NhdmVfcmVzdG9yZV9jYWxscyAodm9pZCk7CiAjZGVmaW5lIEhBVkVfUE9T VF9NT0RJRllfRElTUCBUQVJHRVRfWFRIRUFETUVNSURYCiAjZGVmaW5lIEhB VkVfUFJFX01PRElGWV9ESVNQICBUQVJHRVRfWFRIRUFETUVNSURYCiAKKyNk ZWZpbmUgQVNNX09VVFBVVF9QT09MX0VQSUxPR1VFIHJpc2N2X2FzbV9vdXRw dXRfcG9vbF9lcGlsb2d1ZQorCiAjZW5kaWYgLyogISBHQ0NfUklTQ1ZfSCAq LwpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5tZCBiL2dj Yy9jb25maWcvcmlzY3YvcmlzY3YubWQKaW5kZXggYWUyMjE3ZDA5MDcuLmY2 OTlmNmQwZjk3IDEwMDY0NAotLS0gYS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2 Lm1kCisrKyBiL2djYy9jb25maWcvcmlzY3YvcmlzY3YubWQKQEAgLTQxLDYg KzQxLDcgQEAKICAgOzsgU3ltYm9saWMgYWNjZXNzZXMuICBUaGUgb3JkZXIg b2YgdGhpcyBsaXN0IG11c3QgbWF0Y2ggdGhhdCBvZgogICA7OyBlbnVtIHJp c2N2X3N5bWJvbF90eXBlIGluIHJpc2N2LXByb3Rvcy5oLgogICBVTlNQRUNf QUREUkVTU19GSVJTVAorICBVTlNQRUNfRk9SQ0VfRk9SX01FTQogICBVTlNQ RUNfUENSRUwKICAgVU5TUEVDX0xPQURfR09UCiAgIFVOU1BFQ19UTFMKQEAg LTM2MTgsNiArMzYxOSwxNCBAQAogICAgIEZBSUw7CiB9KQogCisoZGVmaW5l X2luc24gIipsYXJnZV9sb2FkX2FkZHJlc3MiCisgIFsoc2V0IChtYXRjaF9v cGVyYW5kOkRJIDAgInJlZ2lzdGVyX29wZXJhbmQiICI9ciIpCisgICAgICAg IChtZW06REkgKG1hdGNoX29wZXJhbmQgMSAicGNyZWxfc3ltYm9sX29wZXJh bmQiICIiKSkpXQorICAiVEFSR0VUXzY0QklUICYmIHJpc2N2X2Ntb2RlbCA9 PSBDTV9MQVJHRSIKKyAgImxkXHQlMCwlMSIKKyAgWyhzZXRfYXR0ciAidHlw ZSIgImxvYWQiKQorICAgKHNldCAoYXR0ciAibGVuZ3RoIikgKGNvbnN0X2lu dCA4KSldKQorCiAoaW5jbHVkZSAiYml0bWFuaXAubWQiKQogKGluY2x1ZGUg ImNyeXB0by5tZCIpCiAoaW5jbHVkZSAic3luYy5tZCIpCmRpZmYgLS1naXQg YS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2Lm9wdCBiL2djYy9jb25maWcvcmlz Y3YvcmlzY3Yub3B0CmluZGV4IDcwZDc4MTUxY2VlLi4yYTkwYTQ4MzZjMSAx MDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5vcHQKKysrIGIv Z2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5vcHQKQEAgLTEyMyw2ICsxMjMsOSBA QCBFbnVtKGNvZGVfbW9kZWwpIFN0cmluZyhtZWRsb3cpIFZhbHVlKENNX01F RExPVykKIEVudW1WYWx1ZQogRW51bShjb2RlX21vZGVsKSBTdHJpbmcobWVk YW55KSBWYWx1ZShDTV9NRURBTlkpCiAKK0VudW1WYWx1ZQorRW51bShjb2Rl X21vZGVsKSBTdHJpbmcobGFyZ2UpIFZhbHVlKENNX0xBUkdFKQorCiBtZXhw bGljaXQtcmVsb2NzCiBUYXJnZXQgTWFzayhFWFBMSUNJVF9SRUxPQ1MpCiBV c2UgJXJlbG9jKCkgb3BlcmF0b3JzLCByYXRoZXIgdGhhbiBhc3NlbWJseSBt YWNyb3MsIHRvIGxvYWQgYWRkcmVzc2VzLgpkaWZmIC0tZ2l0IGEvZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L2xhcmdlLW1vZGVsLmMgYi9nY2Mv dGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvbGFyZ2UtbW9kZWwuYwpuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMjQ0ZDE0ZTE4 NzgKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJn ZXQvcmlzY3YvbGFyZ2UtbW9kZWwuYwpAQCAtMCwwICsxLDExIEBACisvKiB7 IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1vcHRpb25zICItbWFyY2g9 cnY2NGdjIC1tYWJpPWxwNjQgLWZuby1zZWN0aW9uLWFuY2hvcnMgLW1jbW9k ZWw9bGFyZ2UiIH0gKi8KKy8qIHsgZGctc2tpcC1pZiAiIiB7ICotKi0qIH0g eyItTzAifSB9ICovCitpbnQgYSwgYjsKK2ludCBmb28xKCkKK3sKKyAgcmV0 dXJuIGEqYjsKK30KKworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVy LXRpbWVzICJsZC4qTEMwIiAxIH0gfSAqLworLyogeyBkZy1maW5hbCB7IHNj YW4tYXNzZW1ibGVyLXRpbWVzICJsZC4qTEMxIiAxIH0gfSAqLwotLSAKMi4z MC4xCgo= --00000000000091214b0609c8b292--