From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTPS id 5D7E73853839 for ; Wed, 26 Apr 2023 19:26:58 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 5D7E73853839 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1682537218; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type; bh=2EzUT+nUs1/o3rO1mEYPDubf1ZeDU64cdG2pu6QW8Dg=; b=bqvecPsfIjMB7fCM7cJUpY5JbBBcMeq753AoboZ1mb3n2nPDRXtnBoEtZeX4bmrbSTom01 6zSoHUpPyDgr91RgRNp6nQniy2PREyS+ZMcYjfi8mfCpUOQI7n46kqSr0+OuFnAWaXqpBL YjOj+oTv+uixHOzUckV2ThGts9MpZSM= Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-376-OJ1c3ZQSOJCckNGMxtFDRw-1; Wed, 26 Apr 2023 15:26:56 -0400 X-MC-Unique: OJ1c3ZQSOJCckNGMxtFDRw-1 Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-74e1cdf9cbeso80270985a.0 for ; Wed, 26 Apr 2023 12:26:56 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682537215; x=1685129215; h=subject:from:cc:to:content-language:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=c5TQ1UYaonOTNOET6EerW++h0aue8wjDf+rZfKXhimA=; b=QI19oxmxCPpCVvv+85dpcMviGyJMnwBokl3QVfMGsAMztaMpXLwNe7zM7BrHds1siq UL0675h4bjbgVCWk5g4JFXOog0Ji72fJQX7SJQqt0pE1w2WTcsD96Cpm2rCPWT8k073B XWrgUMSmppN729HOAqNC/n6Hm6HIWZACduBk5WV1/m0ySyrzOz98qVwdFughSHsxeQEz WbIRVRvmR8bLOiQCLS5QtFlGiHIBBixxrRcNAyqb8Xd5yfVtuJeFOsou1D+UNLkDEJXu ACjUKLIV2nJZVnjOO2qIsUHG0HSZ9LK/b2BScR/f2wzmszOqyAzfxu8QmBDP8/cxL7bn bwjw== X-Gm-Message-State: AC+VfDxsTbe7Xs27jI5SZ273Y75O32/xi/7OzBOahmCMfV5Yjif4DpA7 zzzNlKjSBpyjkrHM7or+Yv/nvpmN1CUFeMURZsnqjwfdsTtM98/zO4ZXZxaObQ9ZeYeDfCbFR60 8maCiiv4Dc+3Uxi9KM7oRoIkMUqKikU07nJx6u5KuJPCa7dioEKPvjSL6hrAj+aYZgnumouomQa UI9g== X-Received: by 2002:a05:6214:2aac:b0:5ac:d6e6:452b with SMTP id js12-20020a0562142aac00b005acd6e6452bmr5731190qvb.24.1682537215379; Wed, 26 Apr 2023 12:26:55 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ72+mhOWUzMDNVVEWROXIc6SAZzez1ueclrFRLtUQWnWthqDpR/Ejm2kGKEZGutGjRZV5aexQ== X-Received: by 2002:a05:6214:2aac:b0:5ac:d6e6:452b with SMTP id js12-20020a0562142aac00b005acd6e6452bmr5731159qvb.24.1682537214985; Wed, 26 Apr 2023 12:26:54 -0700 (PDT) Received: from ?IPV6:2607:fea8:51df:4200::1dcd? ([2607:fea8:51df:4200::1dcd]) by smtp.gmail.com with ESMTPSA id z8-20020a0cf248000000b005f5a05448d8sm4994636qvl.100.2023.04.26.12.26.54 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 26 Apr 2023 12:26:54 -0700 (PDT) Message-ID: <5e014139-e9d6-52fa-bbdb-42c74981b9d7@redhat.com> Date: Wed, 26 Apr 2023 15:26:53 -0400 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.8.0 To: gcc-patches Cc: "hernandez, aldy" From: Andrew MacLeod Subject: [COMMITTED 4/5] Rename ssa_global_cache to ssa_cache and add has_range X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: multipart/mixed; boundary="------------JAVLreeAy99lCyLZu20kEH5B" Content-Language: en-US X-Spam-Status: No, score=-12.2 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,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. --------------JAVLreeAy99lCyLZu20kEH5B Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit The original ssa_global_cache was intended to simply be the global cache for ranger, but uses of it have since percolated such that it is really just a range acche for a list of ssa-names. This patch renames it from "ssa_global_cache" to "ssa_cache". It also adds a method called "has_range" which didnt exist before which simply indicates if a range is set or not. Bootstrapped on x86_64-pc-linux-gnu with no regressions.  Pushed. Andrew --------------JAVLreeAy99lCyLZu20kEH5B Content-Type: text/x-patch; charset=UTF-8; name="0004-Rename-ssa_global_cache-to-ssa_cache-and-add-has_ran.patch" Content-Disposition: attachment; filename*0="0004-Rename-ssa_global_cache-to-ssa_cache-and-add-has_ran.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSBiZjA3ZGU1NjExOTc1NTkzMDRjNjdiZDQ2YzdiZWEzZGE5ZWI2M2Y5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyZXcgTWFjTGVvZCA8YW1hY2xlb2RAcmVkaGF0LmNvbT4K RGF0ZTogVHVlLCAyOCBNYXIgMjAyMyAxMTozMjoyMSAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggNC81 XSBSZW5hbWUgc3NhX2dsb2JhbF9jYWNoZSB0byBzc2FfY2FjaGUgYW5kIGFkZCBoYXNfcmFuZ2UK ClRoaXMgcmVuYW1lcyB0aGUgc3NhX2dsb2JhbF9jYWNoZSB0byBiZSBzc2FfY2FjaGUuICBUaGUg b3JpZ2luYWwgdXNlIHdhcwp0byBmdW5jdGlvbiBhcyBhIGdsb2JhbCBjYWNoZSwgYnV0IGl0cyB1 c2VzIGhhdmUgZXhwYW5kZWQuICBSZW1vdmUgYWxsIG1lbnRpb24Kb2YgImdsb2JhbCIgZnJvbSB0 aGUgY2xhc3MgYW5kIG1ldGhvZHMuICBBbHNvIGFkZCBhIGhhc19yYW5nZSBtZXRob2QuCgoJKiBn aW1wbGUtcmFuZ2UtY2FjaGUuY2MgKHNzYV9jYWNoZTo6c3NhX2NhY2hlKTogUmVuYW1lLgoJKHNz YV9jYWNoZTo6fnNzYV9jYWNoZSk6IFJlbmFtZS4KCShzc2FfY2FjaGU6Omhhc19yYW5nZSk6IE5l dy4KCShzc2FfY2FjaGU6OmdldF9yYW5nZSk6IFJlbmFtZS4KCShzc2FfY2FjaGU6OnNldF9yYW5n ZSk6IFJlbmFtZS4KCShzc2FfY2FjaGU6OmNsZWFyX3JhbmdlKTogUmVuYW1lLgoJKHNzYV9jYWNo ZTo6Y2xlYXIpOiBSZW5hbWUuCgkoc3NhX2NhY2hlOjpkdW1wKTogUmVuYW1lIGFuZCB1c2UgZ2V0 X3JhbmdlLgoJKHJhbmdlcl9jYWNoZTo6Z2V0X2dsb2JhbF9yYW5nZSk6IFVzZSBnZXRfcmFuZ2Ug YW5kIHNldF9yYW5nZS4KCShyYW5nZXJfY2FjaGU6OnJhbmdlX29mX2RlZik6IFVzZSBnZXRfcmFu Z2UuCgkqIGdpbXBsZS1yYW5nZS1jYWNoZS5oIChjbGFzcyBzc2FfY2FjaGUpOiBSZW5hbWUgY2xh c3MgYW5kIG1ldGhvZHMuCgkoY2xhc3MgcmFuZ2VyX2NhY2hlKTogVXNlIHNzYV9jYWNoZS4KCSog Z2ltcGxlLXJhbmdlLXBhdGguY2MgKHBhdGhfcmFuZ2VfcXVlcnk6OnBhdGhfcmFuZ2VfcXVlcnkp OiBVc2UKCXNzYV9jYWNoZS4KCShwYXRoX3JhbmdlX3F1ZXJ5OjpnZXRfY2FjaGUpOiBVc2UgZ2V0 X3JhbmdlLgoJKHBhdGhfcmFuZ2VfcXVlcnk6OnNldF9jYWNoZSk6IFVzZSBzZXRfcmFuZ2UuCgkq IGdpbXBsZS1yYW5nZS1wYXRoLmggKGNsYXNzIHBhdGhfcmFuZ2VfcXVlcnkpOiBVc2Ugc3NhX2Nh Y2hlLgoJKiBnaW1wbGUtcmFuZ2UuY2MgKGFzc3VtZV9xdWVyeTo6YXNzdW1lX3JhbmdlX3ApOiBV c2UgZ2V0X3JhbmdlLgoJKGFzc3VtZV9xdWVyeTo6cmFuZ2Vfb2ZfZXhwcik6IFVzZSBnZXRfcmFu Z2UuCgkoYXNzdW1lX3F1ZXJ5Ojphc3N1bWVfcXVlcnkpOiBVc2Ugc2V0X3JhbmdlLgoJKGFzc3Vt ZV9xdWVyeTo6Y2FsY3VsYXRlX29wKTogVXNlIGdldF9yYW5nZSBhbmQgc2V0X3JhbmdlLgoJKiBn aW1wbGUtcmFuZ2UuaCAoY2xhc3MgYXNzdW1lX3F1ZXJ5KTogVXNlIHNzYV9jYWNoZS4KLS0tCiBn Y2MvZ2ltcGxlLXJhbmdlLWNhY2hlLmNjIHwgNDUgKysrKysrKysrKysrKysrKysrKysrKysrLS0t LS0tLS0tLS0tLS0tCiBnY2MvZ2ltcGxlLXJhbmdlLWNhY2hlLmggIHwgMTUgKysrKysrKy0tLS0t LQogZ2NjL2dpbXBsZS1yYW5nZS1wYXRoLmNjICB8ICA4ICsrKy0tLS0KIGdjYy9naW1wbGUtcmFu Z2UtcGF0aC5oICAgfCAgMiArLQogZ2NjL2dpbXBsZS1yYW5nZS5jYyAgICAgICB8IDE0ICsrKysr Ky0tLS0tLQogZ2NjL2dpbXBsZS1yYW5nZS5oICAgICAgICB8ICAyICstCiA2IGZpbGVzIGNoYW5n ZWQsIDQ5IGluc2VydGlvbnMoKyksIDM3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2djYy9n aW1wbGUtcmFuZ2UtY2FjaGUuY2MgYi9nY2MvZ2ltcGxlLXJhbmdlLWNhY2hlLmNjCmluZGV4IDg2 OGQyZGRhNDI0Li42ZGU5NmY2YjhhOSAxMDA2NDQKLS0tIGEvZ2NjL2dpbXBsZS1yYW5nZS1jYWNo ZS5jYworKysgYi9nY2MvZ2ltcGxlLXJhbmdlLWNhY2hlLmNjCkBAIC01MzAsMjcgKzUzMCwzOCBA QCBibG9ja19yYW5nZV9jYWNoZTo6ZHVtcCAoRklMRSAqZiwgYmFzaWNfYmxvY2sgYmIsIGJvb2wg cHJpbnRfdmFyeWluZykKIAogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCi0vLyBJbml0aWFsaXplIGEg Z2xvYmFsIGNhY2hlLgorLy8gSW5pdGlhbGl6ZSBhbiBzc2EgY2FjaGUuCiAKLXNzYV9nbG9iYWxf Y2FjaGU6OnNzYV9nbG9iYWxfY2FjaGUgKCkKK3NzYV9jYWNoZTo6c3NhX2NhY2hlICgpCiB7CiAg IG1fdGFiLmNyZWF0ZSAoMCk7CiAgIG1fcmFuZ2VfYWxsb2NhdG9yID0gbmV3IG9ic3RhY2tfdnJh bmdlX2FsbG9jYXRvcjsKIH0KIAotLy8gRGVjb25zdHJ1Y3QgYSBnbG9iYWwgY2FjaGUuCisvLyBE ZWNvbnN0cnVjdCBhbiBzc2EgY2FjaGUuCiAKLXNzYV9nbG9iYWxfY2FjaGU6On5zc2FfZ2xvYmFs X2NhY2hlICgpCitzc2FfY2FjaGU6On5zc2FfY2FjaGUgKCkKIHsKICAgbV90YWIucmVsZWFzZSAo KTsKICAgZGVsZXRlIG1fcmFuZ2VfYWxsb2NhdG9yOwogfQogCisvLyBSZXR1cm4gVFJVRSBpZiB0 aGUgZ2xvYmFsIHJhbmdlIG9mIE5BTUUgaGFzIGEgY2FjaGUgZW50cnkuCisKK2Jvb2wKK3NzYV9j YWNoZTo6aGFzX3JhbmdlICh0cmVlIG5hbWUpIGNvbnN0Cit7CisgIHVuc2lnbmVkIHYgPSBTU0Ff TkFNRV9WRVJTSU9OIChuYW1lKTsKKyAgaWYgKHYgPj0gbV90YWIubGVuZ3RoICgpKQorICAgIHJl dHVybiBmYWxzZTsKKyAgcmV0dXJuIG1fdGFiW3ZdICE9IE5VTEw7Cit9CisKIC8vIFJldHJpZXZl IHRoZSBnbG9iYWwgcmFuZ2Ugb2YgTkFNRSBmcm9tIGNhY2hlIG1lbW9yeSBpZiBpdCBleGlzdHMu IAogLy8gUmV0dXJuIHRoZSB2YWx1ZSBpbiBSLgogCiBib29sCi1zc2FfZ2xvYmFsX2NhY2hlOjpn ZXRfZ2xvYmFsX3JhbmdlICh2cmFuZ2UgJnIsIHRyZWUgbmFtZSkgY29uc3QKK3NzYV9jYWNoZTo6 Z2V0X3JhbmdlICh2cmFuZ2UgJnIsIHRyZWUgbmFtZSkgY29uc3QKIHsKICAgdW5zaWduZWQgdiA9 IFNTQV9OQU1FX1ZFUlNJT04gKG5hbWUpOwogICBpZiAodiA+PSBtX3RhYi5sZW5ndGggKCkpCkBA IC01NjMsMTEgKzU3NCwxMSBAQCBzc2FfZ2xvYmFsX2NhY2hlOjpnZXRfZ2xvYmFsX3JhbmdlICh2 cmFuZ2UgJnIsIHRyZWUgbmFtZSkgY29uc3QKICAgcmV0dXJuIHRydWU7CiB9CiAKLS8vIFNldCB0 aGUgcmFuZ2UgZm9yIE5BTUUgdG8gUiBpbiB0aGUgZ2xvYmFsIGNhY2hlLgorLy8gU2V0IHRoZSBy YW5nZSBmb3IgTkFNRSB0byBSIGluIHRoZSBzc2EgY2FjaGUuCiAvLyBSZXR1cm4gVFJVRSBpZiB0 aGVyZSB3YXMgYWxyZWFkeSBhIHJhbmdlIHNldCwgb3RoZXJ3aXNlIGZhbHNlLgogCiBib29sCi1z c2FfZ2xvYmFsX2NhY2hlOjpzZXRfZ2xvYmFsX3JhbmdlICh0cmVlIG5hbWUsIGNvbnN0IHZyYW5n ZSAmcikKK3NzYV9jYWNoZTo6c2V0X3JhbmdlICh0cmVlIG5hbWUsIGNvbnN0IHZyYW5nZSAmcikK IHsKICAgdW5zaWduZWQgdiA9IFNTQV9OQU1FX1ZFUlNJT04gKG5hbWUpOwogICBpZiAodiA+PSBt X3RhYi5sZW5ndGggKCkpCkBAIC01ODQsNyArNTk1LDcgQEAgc3NhX2dsb2JhbF9jYWNoZTo6c2V0 X2dsb2JhbF9yYW5nZSAodHJlZSBuYW1lLCBjb25zdCB2cmFuZ2UgJnIpCiAvLyBTZXQgdGhlIHJh bmdlIGZvciBOQU1FIHRvIFIgaW4gdGhlIGdsb2JhbCBjYWNoZS4KIAogdm9pZAotc3NhX2dsb2Jh bF9jYWNoZTo6Y2xlYXJfZ2xvYmFsX3JhbmdlICh0cmVlIG5hbWUpCitzc2FfY2FjaGU6OmNsZWFy X3JhbmdlICh0cmVlIG5hbWUpCiB7CiAgIHVuc2lnbmVkIHYgPSBTU0FfTkFNRV9WRVJTSU9OIChu YW1lKTsKICAgaWYgKHYgPj0gbV90YWIubGVuZ3RoICgpKQpAQCAtNTkyLDE5ICs2MDMsMTkgQEAg c3NhX2dsb2JhbF9jYWNoZTo6Y2xlYXJfZ2xvYmFsX3JhbmdlICh0cmVlIG5hbWUpCiAgIG1fdGFi W3ZdID0gTlVMTDsKIH0KIAotLy8gQ2xlYXIgdGhlIGdsb2JhbCBjYWNoZS4KKy8vIENsZWFyIHRo ZSBzc2EgY2FjaGUuCiAKIHZvaWQKLXNzYV9nbG9iYWxfY2FjaGU6OmNsZWFyICgpCitzc2FfY2Fj aGU6OmNsZWFyICgpCiB7CiAgIGlmIChtX3RhYi5hZGRyZXNzICgpKQogICAgIG1lbXNldCAobV90 YWIuYWRkcmVzcygpLCAwLCBtX3RhYi5sZW5ndGggKCkgKiBzaXplb2YgKHZyYW5nZSAqKSk7CiB9 CiAKLS8vIER1bXAgdGhlIGNvbnRlbnRzIG9mIHRoZSBnbG9iYWwgY2FjaGUgdG8gRi4KKy8vIER1 bXAgdGhlIGNvbnRlbnRzIG9mIHRoZSBzc2EgY2FjaGUgdG8gRi4KIAogdm9pZAotc3NhX2dsb2Jh bF9jYWNoZTo6ZHVtcCAoRklMRSAqZikKK3NzYV9jYWNoZTo6ZHVtcCAoRklMRSAqZikKIHsKICAg LyogQ2xlYXJlZCBhZnRlciB0aGUgdGFibGUgaGVhZGVyIGhhcyBiZWVuIHByaW50ZWQuICAqLwog ICBib29sIHByaW50X2hlYWRlciA9IHRydWU7CkBAIC02MTMsNyArNjI0LDcgQEAgc3NhX2dsb2Jh bF9jYWNoZTo6ZHVtcCAoRklMRSAqZikKICAgICAgIGlmICghZ2ltcGxlX3JhbmdlX3NzYV9wIChz c2FfbmFtZSAoeCkpKQogCWNvbnRpbnVlOwogICAgICAgVmFsdWVfUmFuZ2UgciAoVFJFRV9UWVBF IChzc2FfbmFtZSAoeCkpKTsKLSAgICAgIGlmIChnZXRfZ2xvYmFsX3JhbmdlIChyLCBzc2FfbmFt ZSAoeCkpICYmICFyLnZhcnlpbmdfcCAoKSkKKyAgICAgIGlmIChnZXRfcmFuZ2UgKHIsIHNzYV9u YW1lICh4KSkgJiYgIXIudmFyeWluZ19wICgpKQogCXsKIAkgIGlmIChwcmludF9oZWFkZXIpCiAJ ICAgIHsKQEAgLTg3Nyw3ICs4ODgsNyBAQCByYW5nZXJfY2FjaGU6OmR1bXBfYmIgKEZJTEUgKmYs IGJhc2ljX2Jsb2NrIGJiKQogYm9vbAogcmFuZ2VyX2NhY2hlOjpnZXRfZ2xvYmFsX3JhbmdlICh2 cmFuZ2UgJnIsIHRyZWUgbmFtZSkgY29uc3QKIHsKLSAgaWYgKG1fZ2xvYmFscy5nZXRfZ2xvYmFs X3JhbmdlIChyLCBuYW1lKSkKKyAgaWYgKG1fZ2xvYmFscy5nZXRfcmFuZ2UgKHIsIG5hbWUpKQog ICAgIHJldHVybiB0cnVlOwogICBnaW1wbGVfcmFuZ2VfZ2xvYmFsIChyLCBuYW1lKTsKICAgcmV0 dXJuIGZhbHNlOwpAQCAtOTAyLDcgKzkxMyw3IEBAIHJhbmdlcl9jYWNoZTo6Z2V0X2dsb2JhbF9y YW5nZSAodnJhbmdlICZyLCB0cmVlIG5hbWUsIGJvb2wgJmN1cnJlbnRfcCkKIAkJfHwgbV90ZW1w b3JhbC0+Y3VycmVudF9wIChuYW1lLCBtX2dvcmkuZGVwZW5kMSAobmFtZSksCiAJCQkJCSAgbV9n b3JpLmRlcGVuZDIgKG5hbWUpKTsKICAgZWxzZQotICAgIG1fZ2xvYmFscy5zZXRfZ2xvYmFsX3Jh bmdlIChuYW1lLCByKTsKKyAgICBtX2dsb2JhbHMuc2V0X3JhbmdlIChuYW1lLCByKTsKIAogICAv LyBJZiB0aGUgZXhpc3RpbmcgdmFsdWUgd2FzIG5vdCBjdXJyZW50LCBtYXJrIGl0IGFzIGFsd2F5 cyBjdXJyZW50LgogICBpZiAoIWN1cnJlbnRfcCkKQEAgLTkxNSw3ICs5MjYsNyBAQCByYW5nZXJf Y2FjaGU6OmdldF9nbG9iYWxfcmFuZ2UgKHZyYW5nZSAmciwgdHJlZSBuYW1lLCBib29sICZjdXJy ZW50X3ApCiB2b2lkCiByYW5nZXJfY2FjaGU6OnNldF9nbG9iYWxfcmFuZ2UgKHRyZWUgbmFtZSwg Y29uc3QgdnJhbmdlICZyKQogewotICBpZiAobV9nbG9iYWxzLnNldF9nbG9iYWxfcmFuZ2UgKG5h bWUsIHIpKQorICBpZiAobV9nbG9iYWxzLnNldF9yYW5nZSAobmFtZSwgcikpCiAgICAgewogICAg ICAgLy8gSWYgdGhlcmUgd2FzIGFscmVhZHkgYSByYW5nZSBzZXQsIHByb3BhZ2F0ZSB0aGUgbmV3 IHZhbHVlLgogICAgICAgYmFzaWNfYmxvY2sgYmIgPSBnaW1wbGVfYmIgKFNTQV9OQU1FX0RFRl9T VE1UIChuYW1lKSk7CkBAIC05NTQsNyArOTY1LDcgQEAgcmFuZ2VyX2NhY2hlOjpyYW5nZV9vZl9k ZWYgKHZyYW5nZSAmciwgdHJlZSBuYW1lLCBiYXNpY19ibG9jayBiYikKICAgZ2NjX2NoZWNraW5n X2Fzc2VydCAoIWJiIHx8IGJiID09IGdpbXBsZV9iYiAoU1NBX05BTUVfREVGX1NUTVQgKG5hbWUp KSk7CiAKICAgLy8gUGljayB1cCB0aGUgYmVzdCBnbG9iYWwgcmFuZ2UgYXZhaWxhYmxlLgotICBp ZiAoIW1fZ2xvYmFscy5nZXRfZ2xvYmFsX3JhbmdlIChyLCBuYW1lKSkKKyAgaWYgKCFtX2dsb2Jh bHMuZ2V0X3JhbmdlIChyLCBuYW1lKSkKICAgICB7CiAgICAgICAvLyBJZiB0aGF0IGZhaWxzLCB0 cnkgdG8gY2FsY3VsYXRlIHRoZSByYW5nZSB1c2luZyBqdXN0IGdsb2JhbCB2YWx1ZXMuCiAgICAg ICBnaW1wbGUgKnMgPSBTU0FfTkFNRV9ERUZfU1RNVCAobmFtZSk7CmRpZmYgLS1naXQgYS9nY2Mv Z2ltcGxlLXJhbmdlLWNhY2hlLmggYi9nY2MvZ2ltcGxlLXJhbmdlLWNhY2hlLmgKaW5kZXggNGZm NDM1ZGM1YzEuLjJkNDFmMGM1YzY3IDEwMDY0NAotLS0gYS9nY2MvZ2ltcGxlLXJhbmdlLWNhY2hl LmgKKysrIGIvZ2NjL2dpbXBsZS1yYW5nZS1jYWNoZS5oCkBAIC01MiwxNCArNTIsMTUgQEAgcHJp dmF0ZToKIC8vIGhhcyBiZWVuIHZpc2l0ZWQgZHVyaW5nIHRoaXMgaW5jYXJuYXRpb24uICBPbmNl IHRoZSByYW5nZXIgZXZhbHVhdGVzCiAvLyBhIG5hbWUsIGl0IGlzIHR5cGljYWxseSBub3QgcmUt ZXZhbHVhdGVkIGFnYWluLgogCi1jbGFzcyBzc2FfZ2xvYmFsX2NhY2hlCitjbGFzcyBzc2FfY2Fj aGUKIHsKIHB1YmxpYzoKLSAgc3NhX2dsb2JhbF9jYWNoZSAoKTsKLSAgfnNzYV9nbG9iYWxfY2Fj aGUgKCk7Ci0gIGJvb2wgZ2V0X2dsb2JhbF9yYW5nZSAodnJhbmdlICZyLCB0cmVlIG5hbWUpIGNv bnN0OwotICBib29sIHNldF9nbG9iYWxfcmFuZ2UgKHRyZWUgbmFtZSwgY29uc3QgdnJhbmdlICZy KTsKLSAgdm9pZCBjbGVhcl9nbG9iYWxfcmFuZ2UgKHRyZWUgbmFtZSk7CisgIHNzYV9jYWNoZSAo KTsKKyAgfnNzYV9jYWNoZSAoKTsKKyAgYm9vbCBoYXNfcmFuZ2UgKHRyZWUgbmFtZSkgY29uc3Q7 CisgIGJvb2wgZ2V0X3JhbmdlICh2cmFuZ2UgJnIsIHRyZWUgbmFtZSkgY29uc3Q7CisgIGJvb2wg c2V0X3JhbmdlICh0cmVlIG5hbWUsIGNvbnN0IHZyYW5nZSAmcik7CisgIHZvaWQgY2xlYXJfcmFu Z2UgKHRyZWUgbmFtZSk7CiAgIHZvaWQgY2xlYXIgKCk7CiAgIHZvaWQgZHVtcCAoRklMRSAqZiA9 IHN0ZGVycik7CiBwcml2YXRlOgpAQCAtOTUsNyArOTYsNyBAQCBwdWJsaWM6CiAgIHZvaWQgZHVt cF9iYiAoRklMRSAqZiwgYmFzaWNfYmxvY2sgYmIpOwogICB2aXJ0dWFsIHZvaWQgZHVtcCAoRklM RSAqZikgb3ZlcnJpZGU7CiBwcml2YXRlOgotICBzc2FfZ2xvYmFsX2NhY2hlIG1fZ2xvYmFsczsK KyAgc3NhX2NhY2hlIG1fZ2xvYmFsczsKICAgYmxvY2tfcmFuZ2VfY2FjaGUgbV9vbl9lbnRyeTsK ICAgY2xhc3MgdGVtcG9yYWxfY2FjaGUgKm1fdGVtcG9yYWw7CiAgIHZvaWQgZmlsbF9ibG9ja19j YWNoZSAodHJlZSBuYW1lLCBiYXNpY19ibG9jayBiYiwgYmFzaWNfYmxvY2sgZGVmX2JiKTsKZGlm ZiAtLWdpdCBhL2djYy9naW1wbGUtcmFuZ2UtcGF0aC5jYyBiL2djYy9naW1wbGUtcmFuZ2UtcGF0 aC5jYwppbmRleCBmNjhiMjAyOTQ3Ni4uMDc4NjhkZjVlNmYgMTAwNjQ0Ci0tLSBhL2djYy9naW1w bGUtcmFuZ2UtcGF0aC5jYworKysgYi9nY2MvZ2ltcGxlLXJhbmdlLXBhdGguY2MKQEAgLTQwLDcg KzQwLDcgQEAgcGF0aF9yYW5nZV9xdWVyeTo6cGF0aF9yYW5nZV9xdWVyeSAoZ2ltcGxlX3Jhbmdl ciAmcmFuZ2VyLAogCQkJCSAgICBjb25zdCB2ZWM8YmFzaWNfYmxvY2s+ICZwYXRoLAogCQkJCSAg ICBjb25zdCBiaXRtYXBfaGVhZCAqZGVwZW5kZW5jaWVzLAogCQkJCSAgICBib29sIHJlc29sdmUp Ci0gIDogbV9jYWNoZSAobmV3IHNzYV9nbG9iYWxfY2FjaGUpLAorICA6IG1fY2FjaGUgKG5ldyBz c2FfY2FjaGUpLAogICAgIG1faGFzX2NhY2hlX2VudHJ5IChCSVRNQVBfQUxMT0MgKE5VTEwpKSwK ICAgICBtX3JhbmdlciAocmFuZ2VyKSwKICAgICBtX3Jlc29sdmUgKHJlc29sdmUpCkBAIC01MSw3 ICs1MSw3IEBAIHBhdGhfcmFuZ2VfcXVlcnk6OnBhdGhfcmFuZ2VfcXVlcnkgKGdpbXBsZV9yYW5n ZXIgJnJhbmdlciwKIH0KIAogcGF0aF9yYW5nZV9xdWVyeTo6cGF0aF9yYW5nZV9xdWVyeSAoZ2lt cGxlX3JhbmdlciAmcmFuZ2VyLCBib29sIHJlc29sdmUpCi0gIDogbV9jYWNoZSAobmV3IHNzYV9n bG9iYWxfY2FjaGUpLAorICA6IG1fY2FjaGUgKG5ldyBzc2FfY2FjaGUpLAogICAgIG1faGFzX2Nh Y2hlX2VudHJ5IChCSVRNQVBfQUxMT0MgKE5VTEwpKSwKICAgICBtX3JhbmdlciAocmFuZ2VyKSwK ICAgICBtX3Jlc29sdmUgKHJlc29sdmUpCkBAIC05NCw3ICs5NCw3IEBAIHBhdGhfcmFuZ2VfcXVl cnk6OmdldF9jYWNoZSAodnJhbmdlICZyLCB0cmVlIG5hbWUpCiAKICAgdW5zaWduZWQgdiA9IFNT QV9OQU1FX1ZFUlNJT04gKG5hbWUpOwogICBpZiAoYml0bWFwX2JpdF9wIChtX2hhc19jYWNoZV9l bnRyeSwgdikpCi0gICAgcmV0dXJuIG1fY2FjaGUtPmdldF9nbG9iYWxfcmFuZ2UgKHIsIG5hbWUp OworICAgIHJldHVybiBtX2NhY2hlLT5nZXRfcmFuZ2UgKHIsIG5hbWUpOwogCiAgIHJldHVybiBm YWxzZTsKIH0KQEAgLTEwNiw3ICsxMDYsNyBAQCBwYXRoX3JhbmdlX3F1ZXJ5OjpzZXRfY2FjaGUg KGNvbnN0IHZyYW5nZSAmciwgdHJlZSBuYW1lKQogewogICB1bnNpZ25lZCB2ID0gU1NBX05BTUVf VkVSU0lPTiAobmFtZSk7CiAgIGJpdG1hcF9zZXRfYml0IChtX2hhc19jYWNoZV9lbnRyeSwgdik7 Ci0gIG1fY2FjaGUtPnNldF9nbG9iYWxfcmFuZ2UgKG5hbWUsIHIpOworICBtX2NhY2hlLT5zZXRf cmFuZ2UgKG5hbWUsIHIpOwogfQogCiB2b2lkCmRpZmYgLS1naXQgYS9nY2MvZ2ltcGxlLXJhbmdl LXBhdGguaCBiL2djYy9naW1wbGUtcmFuZ2UtcGF0aC5oCmluZGV4IGU4YjA2YjYwZTY2Li4yOWUz M2M2YzM3YiAxMDA2NDQKLS0tIGEvZ2NjL2dpbXBsZS1yYW5nZS1wYXRoLmgKKysrIGIvZ2NjL2dp bXBsZS1yYW5nZS1wYXRoLmgKQEAgLTgzLDcgKzgzLDcgQEAgcHJpdmF0ZToKICAgdm9pZCBtb3Zl X25leHQgKCkJICB7IC0tbV9wb3M7IH0KIAogICAvLyBSYW5nZSBjYWNoZSBmb3IgU1NBIG5hbWVz LgotICBzc2FfZ2xvYmFsX2NhY2hlICptX2NhY2hlOworICBzc2FfY2FjaGUgKm1fY2FjaGU7CiAK ICAgLy8gU2V0IGZvciBlYWNoIFNTQSB0aGF0IGhhcyBhbiBhY3RpdmUgZW50cnkgaW4gdGhlIGNh Y2hlLgogICBiaXRtYXAgbV9oYXNfY2FjaGVfZW50cnk7CmRpZmYgLS1naXQgYS9nY2MvZ2ltcGxl LXJhbmdlLmNjIGIvZ2NjL2dpbXBsZS1yYW5nZS5jYwppbmRleCBiNGRlOGRkNGVmOS4uNDllOWQ2 YjRkZTYgMTAwNjQ0Ci0tLSBhL2djYy9naW1wbGUtcmFuZ2UuY2MKKysrIGIvZ2NjL2dpbXBsZS1y YW5nZS5jYwpAQCAtNzM3LDcgKzczNyw3IEBAIGRpc2FibGVfcmFuZ2VyIChzdHJ1Y3QgZnVuY3Rp b24gKmZ1bikKIGJvb2wKIGFzc3VtZV9xdWVyeTo6YXNzdW1lX3JhbmdlX3AgKHZyYW5nZSAmciwg dHJlZSBuYW1lKQogewotICBpZiAoZ2xvYmFsLmdldF9nbG9iYWxfcmFuZ2UgKHIsIG5hbWUpKQor ICBpZiAoZ2xvYmFsLmdldF9yYW5nZSAociwgbmFtZSkpCiAgICAgcmV0dXJuICFyLnZhcnlpbmdf cCAoKTsKICAgcmV0dXJuIGZhbHNlOwogfQpAQCAtNzUwLDcgKzc1MCw3IEBAIGFzc3VtZV9xdWVy eTo6cmFuZ2Vfb2ZfZXhwciAodnJhbmdlICZyLCB0cmVlIGV4cHIsIGdpbXBsZSAqc3RtdCkKICAg aWYgKCFnaW1wbGVfcmFuZ2Vfc3NhX3AgKGV4cHIpKQogICAgIHJldHVybiBnZXRfdHJlZV9yYW5n ZSAociwgZXhwciwgc3RtdCk7CiAKLSAgaWYgKCFnbG9iYWwuZ2V0X2dsb2JhbF9yYW5nZSAociwg ZXhwcikpCisgIGlmICghZ2xvYmFsLmdldF9yYW5nZSAociwgZXhwcikpCiAgICAgci5zZXRfdmFy eWluZyAoVFJFRV9UWVBFIChleHByKSk7CiAgIHJldHVybiB0cnVlOwogfQpAQCAtNzgxLDcgKzc4 MSw3IEBAIGFzc3VtZV9xdWVyeTo6YXNzdW1lX3F1ZXJ5ICgpCiAKICAgICAgIHVuc2lnbmVkIHBy ZWMgPSBUWVBFX1BSRUNJU0lPTiAobGhzX3R5cGUpOwogICAgICAgaW50X3JhbmdlPDI+IGxoc19y YW5nZSAobGhzX3R5cGUsIHdpOjpvbmUgKHByZWMpLCB3aTo6b25lIChwcmVjKSk7Ci0gICAgICBn bG9iYWwuc2V0X2dsb2JhbF9yYW5nZSAob3AsIGxoc19yYW5nZSk7CisgICAgICBnbG9iYWwuc2V0 X3JhbmdlIChvcCwgbGhzX3JhbmdlKTsKIAogICAgICAgZ2ltcGxlICpkZWYgPSBTU0FfTkFNRV9E RUZfU1RNVCAob3ApOwogICAgICAgaWYgKCFkZWYgfHwgZ2ltcGxlX2dldF9saHMgKGRlZikgIT0g b3ApCkBAIC04MDIsOSArODAyLDkgQEAgYXNzdW1lX3F1ZXJ5OjpjYWxjdWxhdGVfb3AgKHRyZWUg b3AsIGdpbXBsZSAqcywgdnJhbmdlICZsaHMsIGZ1cl9zb3VyY2UgJnNyYykKICAgICAgICYmICFv cF9yYW5nZS52YXJ5aW5nX3AgKCkpCiAgICAgewogICAgICAgVmFsdWVfUmFuZ2UgcmFuZ2UgKFRS RUVfVFlQRSAob3ApKTsKLSAgICAgIGlmIChnbG9iYWwuZ2V0X2dsb2JhbF9yYW5nZSAocmFuZ2Us IG9wKSkKKyAgICAgIGlmIChnbG9iYWwuZ2V0X3JhbmdlIChyYW5nZSwgb3ApKQogCW9wX3Jhbmdl LmludGVyc2VjdCAocmFuZ2UpOwotICAgICAgZ2xvYmFsLnNldF9nbG9iYWxfcmFuZ2UgKG9wLCBv cF9yYW5nZSk7CisgICAgICBnbG9iYWwuc2V0X3JhbmdlIChvcCwgb3BfcmFuZ2UpOwogICAgICAg Z2ltcGxlICpkZWZfc3RtdCA9IFNTQV9OQU1FX0RFRl9TVE1UIChvcCk7CiAgICAgICBpZiAoZGVm X3N0bXQgJiYgZ2ltcGxlX2dldF9saHMgKGRlZl9zdG10KSA9PSBvcCkKIAljYWxjdWxhdGVfc3Rt dCAoZGVmX3N0bXQsIG9wX3JhbmdlLCBzcmMpOwpAQCAtODI3LDkgKzgyNyw5IEBAIGFzc3VtZV9x dWVyeTo6Y2FsY3VsYXRlX3BoaSAoZ3BoaSAqcGhpLCB2cmFuZ2UgJmxoc19yYW5nZSwgZnVyX3Nv dXJjZSAmc3JjKQogCSAgLy8gQSBzeW1ib2wgYXJnIHdpbGwgYmUgdGhlIExIUyB2YWx1ZS4KIAkg IGFyZ19yYW5nZSA9IGxoc19yYW5nZTsKIAkgIHJhbmdlX2Nhc3QgKGFyZ19yYW5nZSwgVFJFRV9U WVBFIChhcmcpKTsKLQkgIGlmICghZ2xvYmFsLmdldF9nbG9iYWxfcmFuZ2UgKGFyZ19yYW5nZSwg YXJnKSkKKwkgIGlmICghZ2xvYmFsLmdldF9yYW5nZSAoYXJnX3JhbmdlLCBhcmcpKQogCSAgICB7 Ci0JICAgICAgZ2xvYmFsLnNldF9nbG9iYWxfcmFuZ2UgKGFyZywgYXJnX3JhbmdlKTsKKwkgICAg ICBnbG9iYWwuc2V0X3JhbmdlIChhcmcsIGFyZ19yYW5nZSk7CiAJICAgICAgZ2ltcGxlICpkZWZf c3RtdCA9IFNTQV9OQU1FX0RFRl9TVE1UIChhcmcpOwogCSAgICAgIGlmIChkZWZfc3RtdCAmJiBn aW1wbGVfZ2V0X2xocyAoZGVmX3N0bXQpID09IGFyZykKIAkJY2FsY3VsYXRlX3N0bXQgKGRlZl9z dG10LCBhcmdfcmFuZ2UsIHNyYyk7CmRpZmYgLS1naXQgYS9nY2MvZ2ltcGxlLXJhbmdlLmggYi9n Y2MvZ2ltcGxlLXJhbmdlLmgKaW5kZXggYjhkZGNhNTlkMmQuLjk0NGU3NjkyYTBlIDEwMDY0NAot LS0gYS9nY2MvZ2ltcGxlLXJhbmdlLmgKKysrIGIvZ2NjL2dpbXBsZS1yYW5nZS5oCkBAIC05Niw3 ICs5Niw3IEBAIHByb3RlY3RlZDoKICAgdm9pZCBjYWxjdWxhdGVfcGhpIChncGhpICpwaGksIHZy YW5nZSAmbGhzX3JhbmdlLCBmdXJfc291cmNlICZzcmMpOwogICB2b2lkIGNoZWNrX3Rha2VuX2Vk Z2UgKGVkZ2UgZSwgZnVyX3NvdXJjZSAmc3JjKTsKIAotICBzc2FfZ2xvYmFsX2NhY2hlIGdsb2Jh bDsKKyAgc3NhX2NhY2hlIGdsb2JhbDsKICAgZ29yaV9jb21wdXRlIG1fZ29yaTsKIH07CiAKLS0g CjIuMzkuMgoK --------------JAVLreeAy99lCyLZu20kEH5B--