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 290973856263 for ; Thu, 11 May 2023 23:30:04 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 290973856263 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=1683847803; 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: in-reply-to:in-reply-to:references:references; bh=ym0OAHL6UX4i0nwr/0YITJYe3yW5nGjKufsxDUYuTYQ=; b=CZBXAMGSw/GnKaOlZRDDN/Xp87xKrEez/RJ4x38YH4aQLpABA6Ao6RAe7NBQm9m+s/gHNr rVOTzzQ6D/m1HOXtbBqgbCICfzAL95f+ZV2SrFnP6Vw7ugyCnwrmM4P/8rKTT+L0fjk1OH 4TjfsQwkCU/EOK3LJj6Olj4DCU5MW1c= Received: from mail-lj1-f198.google.com (mail-lj1-f198.google.com [209.85.208.198]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-670-RqQezx1sMK2UgFgapCXkRA-1; Thu, 11 May 2023 19:30:01 -0400 X-MC-Unique: RqQezx1sMK2UgFgapCXkRA-1 Received: by mail-lj1-f198.google.com with SMTP id 38308e7fff4ca-2ac7d0a822eso42368661fa.3 for ; Thu, 11 May 2023 16:30:01 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683847800; x=1686439800; h=cc: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=SnbjRbhX3KM4m5zDdXRtqvMrNMaUwGwVChRYCbg6V5Q=; b=BenghaaHjlwDaIcXKVU4SSY3JjBKkZpe+Xdc1dwnmrBsPbfeV4JJpmuOJ7L/qQCIQG IN00Wob5MH4icBiJm1gy9bGZYmUghetyJcS8JDCbCU+BX3cHedWLDeR776kk/Ek175Yz PzsOS6e8oyQER9sz46TPlcrOMsXK5IP/UrZfUBL04T+7Q338+EAgOpH0EXMxqR2xfbJs 5QbKmKPu7WqMqO4D66PeVgqcrdpp5CCzznL+sKX1fdiL2LO2d94IDyesX7VNTaykWt2q 0kOho1hLD/VMO7VjKDxH7jiBV4e5xTmdPU2sAA0FheOmMz1UHRaaV54Ug3c7h9u9lNWW A8Fg== X-Gm-Message-State: AC+VfDzmshdopxHZjwpjBYOxdRKwcdaE8g7sUrzR0p3fLVXBYJbTO4F4 dtm+FM5x/Ja70jyN/mBRGxMiY3cZHjuXEMKoU4ZNSDffoTqS0P7hIvjv40FJkEKnBR86SGHVhry DqmfNyV4o8jXdhwHf1OkrPDyZBq6jH0HAkQ== X-Received: by 2002:a2e:9c11:0:b0:2ac:dcdf:317d with SMTP id s17-20020a2e9c11000000b002acdcdf317dmr3315841lji.51.1683847800424; Thu, 11 May 2023 16:30:00 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7jBPU1R/67mJ4AvXZgpD2Qbbzdo30dwrsxOfB8lUCY8ozuTwaebhztS/UfoAcjTPIt8FxUPPPe6Eb/nEDIbJw= X-Received: by 2002:a2e:9c11:0:b0:2ac:dcdf:317d with SMTP id s17-20020a2e9c11000000b002acdcdf317dmr3315839lji.51.1683847800094; Thu, 11 May 2023 16:30:00 -0700 (PDT) MIME-Version: 1.0 References: <20230511201847.1056247-1-jwakely@redhat.com> In-Reply-To: <20230511201847.1056247-1-jwakely@redhat.com> From: Jonathan Wakely Date: Fri, 12 May 2023 00:29:48 +0100 Message-ID: Subject: Re: [committed] libstdc++: Enforce value_type consistency in strings and streams To: Jonathan Wakely Cc: libstdc++@gcc.gnu.org, gcc-patches@gcc.gnu.org X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: multipart/mixed; boundary="000000000000fb4dca05fb735d35" X-Spam-Status: No, score=-12.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,HTML_MESSAGE,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: --000000000000fb4dca05fb735d35 Content-Type: multipart/alternative; boundary="000000000000fb4dc705fb735d33" --000000000000fb4dc705fb735d33 Content-Type: text/plain; charset="UTF-8" On Thu, 11 May 2023 at 21:20, Jonathan Wakely via Libstdc++ < libstdc++@gcc.gnu.org> wrote: > Tested powerpc64le-linux. Pushed to trunk. > > I don't plan to backport the assertions, because they're an API change > that isn't suitable for the branches. But removing _Alloc_traits_impl > and replacing it with _S_allocate should be done for gcc-13 to keep the > contents of the two libstdc++.so.6.0.32 libraries in sync. > > Here's the gcc-13 backport. No new assertions, just the new exported symbol. --000000000000fb4dc705fb735d33-- --000000000000fb4dca05fb735d35 Content-Type: text/plain; charset="US-ASCII"; name="patch.txt" Content-Disposition: attachment; filename="patch.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lhjrh26s0 Y29tbWl0IDBkNWEzNTkxNDA1MDNkMjZhZGYxMTMyNWUxZjlhMDliYTcwNjdk ZmMKQXV0aG9yOiBKb25hdGhhbiBXYWtlbHkgPGp3YWtlbHlAcmVkaGF0LmNv bT4KRGF0ZTogICBXZWQgTWF5IDEwIDIxOjMwOjEwIDIwMjMKCiAgICBsaWJz dGRjKys6IEJhY2twb3J0IHN0ZDo6YmFzaWNfc3RyaW5nOjpfU19hbGxvY2F0 ZSBmcm9tIHRydW5rCiAgICAKICAgIFRoaXMgaXMgYSBiYWNrcG9ydCBvZiBy MTQtNzM5LWdjNjJlOTQ1NDkyYWZiYiB0byBrZWVwIHRoZSBleHBvcnRlZAog ICAgc3ltYm9sIGxpc3QgY29uc2lzdGVudCBiZXR3ZWVuIHRydW5rIGFuZCBn Y2MtMTMuIFRoZSBuZXcgYXNzZXJ0aW9ucyBmcm9tCiAgICB0aGF0IGNvbW1p dCBhcmUgbm90IHBhcnQgb2YgdGhpcyBiYWNrcG9ydC4KICAgIAogICAgbGli c3RkYysrLXYzL0NoYW5nZUxvZzoKICAgIAogICAgICAgICAgICAqIGNvbmZp Zy9hYmkvcHJlL2dudS52ZXI6IEV4cG9ydCBiYXNpY19zdHJpbmc6Ol9TX2Fs bG9jYXRlLgogICAgICAgICAgICAqIGluY2x1ZGUvYml0cy9iYXNpY19zdHJp bmcuaDogKGJhc2ljX3N0cmluZzo6X0FsbG9jX3RyYWl0c19pbXBsKToKICAg ICAgICAgICAgUmVtb3ZlIGNsYXNzIHRlbXBsYXRlLgogICAgICAgICAgICAo YmFzaWNfc3RyaW5nOjpfU19hbGxvY2F0ZSk6IE5ldyBzdGF0aWMgbWVtYmVy IGZ1bmN0aW9uLgogICAgICAgICAgICAoYmFzaWNfc3RyaW5nOjphc3NpZ24p OiBVc2UgX1NfYWxsb2NhdGUuCiAgICAgICAgICAgICogaW5jbHVkZS9iaXRz L2Jhc2ljX3N0cmluZy50Y2MgKGJhc2ljX3N0cmluZzo6X01fY3JlYXRlKQog ICAgICAgICAgICAoYmFzaWNfc3RyaW5nOjpyZXNlcnZlLCBiYXNpY19zdHJp bmc6Ol9NX3JlcGxhY2UpOiBMaWtld2lzZS4KICAgIAogICAgKGNoZXJyeSBw aWNrZWQgZnJvbSBjb21taXQgYzYyZTk0NTQ5MmFmYmJkMmEwOTg5NmZjN2Iw YjA3ZjdlNzE5YTYwNikKCmRpZmYgLS1naXQgYS9saWJzdGRjKystdjMvY29u ZmlnL2FiaS9wcmUvZ251LnZlciBiL2xpYnN0ZGMrKy12My9jb25maWcvYWJp L3ByZS9nbnUudmVyCmluZGV4IDM2YmI4Nzg4MGQ3Li43NjhjZDRhNGE2YyAx MDA2NDQKLS0tIGEvbGlic3RkYysrLXYzL2NvbmZpZy9hYmkvcHJlL2dudS52 ZXIKKysrIGIvbGlic3RkYysrLXYzL2NvbmZpZy9hYmkvcHJlL2dudS52ZXIK QEAgLTE3NTksNyArMTc1OSw5IEBAIEdMSUJDWFhfMy40LjIxIHsKICNlbmRp ZgogCiAgICAgIyBBQkktdGFnZ2VkIHN0ZDo6YmFzaWNfc3RyaW5nCi0gICAg X1pOU3Q3X19jeHgxMTEyYmFzaWNfc3RyaW5nSVtjd11TdDExY2hhcl90cmFp dHNJW2N3XUVTYUlbY3ddRUUxWzAxXSoqOworICAgIF9aTlN0N19fY3h4MTEx MmJhc2ljX3N0cmluZ0lbY3ddU3QxMWNoYXJfdHJhaXRzSVtjd11FU2FJW2N3 XUVFMTBfTV9bZHJdKjsKKyAgICBfWk5TdDdfX2N4eDExMTJiYXNpY19zdHJp bmdJW2N3XVN0MTFjaGFyX3RyYWl0c0lbY3ddRVNhSVtjd11FRTEwX1NfY29t cGFyZUVbam15XVtqbXldOworICAgIF9aTlN0N19fY3h4MTExMmJhc2ljX3N0 cmluZ0lbY3ddU3QxMWNoYXJfdHJhaXRzSVtjd11FU2FJW2N3XUVFMTFfTV9j YXBhY2l0eUVbam15XTsKICAgICBfWk5TdDdfX2N4eDExMTJiYXNpY19zdHJp bmdJW2N3XVN0MTFjaGFyX3RyYWl0c0lbY3ddRVNhSVtjd11FRTEyX0FsbG9j X2hpZGVyQ1sxMl1FUFtjd11SS1MzXzsKICAgICBfWk5TdDdfX2N4eDExMTJi YXNpY19zdHJpbmdJW2N3XVN0MTFjaGFyX3RyYWl0c0lbY3ddRVNhSVtjd11F RTEyX00qOwogICAgIF9aTlN0N19fY3h4MTExMmJhc2ljX3N0cmluZ0lbY3dd U3QxMWNoYXJfdHJhaXRzSVtjd11FU2FJW2N3XUVFMTMqOwpAQCAtMjUxNiw2 ICsyNTE4LDcgQEAgR0xJQkNYWF8zLjQuMzEgewogCiBHTElCQ1hYXzMuNC4z MiB7CiAgICAgX1pTdDIxaW9zX2Jhc2VfbGlicmFyeV9pbml0djsKKyAgICBf Wk5TdDdfX2N4eDExMTJiYXNpY19zdHJpbmdJW2N3XVN0MTFjaGFyX3RyYWl0 c0lbY3ddRVNhSVtjd11FRTExX1NfYWxsb2NhdGVFUlMzX1tqbXldOwogfSBH TElCQ1hYXzMuNC4zMTsKIAogIyBTeW1ib2xzIGluIHRoZSBzdXBwb3J0IGxp YnJhcnkgKGxpYnN1cGMrKykgaGF2ZSB0aGVpciBvd24gdGFnLgpkaWZmIC0t Z2l0IGEvbGlic3RkYysrLXYzL2luY2x1ZGUvYml0cy9iYXNpY19zdHJpbmcu aCBiL2xpYnN0ZGMrKy12My9pbmNsdWRlL2JpdHMvYmFzaWNfc3RyaW5nLmgK aW5kZXggYjE2YjI4OThiNjIuLjg3MGI0NzI4OTI4IDEwMDY0NAotLS0gYS9s aWJzdGRjKystdjMvaW5jbHVkZS9iaXRzL2Jhc2ljX3N0cmluZy5oCisrKyBi L2xpYnN0ZGMrKy12My9pbmNsdWRlL2JpdHMvYmFzaWNfc3RyaW5nLmgKQEAg LTg5LDM2ICs4OSw3IEBAIF9HTElCQ1hYX0JFR0lOX05BTUVTUEFDRV9DWFgx MQogICAgICAgdHlwZWRlZiB0eXBlbmFtZSBfX2dudV9jeHg6Ol9fYWxsb2Nf dHJhaXRzPF9BbGxvYz46OnRlbXBsYXRlCiAJcmViaW5kPF9DaGFyVD46Om90 aGVyIF9DaGFyX2FsbG9jX3R5cGU7CiAKLSNpZiBfX2NwcF9saWJfY29uc3Rl eHByX3N0cmluZyA8IDIwMTkwN0wKICAgICAgIHR5cGVkZWYgX19nbnVfY3h4 OjpfX2FsbG9jX3RyYWl0czxfQ2hhcl9hbGxvY190eXBlPiBfQWxsb2NfdHJh aXRzOwotI2Vsc2UKLSAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIF9UcmFpdHMy LCB0eXBlbmFtZSBfRHVtbXlfZm9yX1BSODUyODI+Ci0Jc3RydWN0IF9BbGxv Y190cmFpdHNfaW1wbCA6IF9fZ251X2N4eDo6X19hbGxvY190cmFpdHM8X0No YXJfYWxsb2NfdHlwZT4KLQl7Ci0JICB0eXBlZGVmIF9fZ251X2N4eDo6X19h bGxvY190cmFpdHM8X0NoYXJfYWxsb2NfdHlwZT4gX0Jhc2U7Ci0KLQkgIFtb X19nbnVfXzo6X19hbHdheXNfaW5saW5lX19dXQotCSAgc3RhdGljIGNvbnN0 ZXhwciB0eXBlbmFtZSBfQmFzZTo6cG9pbnRlcgotCSAgYWxsb2NhdGUoX0No YXJfYWxsb2NfdHlwZSYgX19hLCB0eXBlbmFtZSBfQmFzZTo6c2l6ZV90eXBl IF9fbikKLQkgIHsKLQkgICAgcG9pbnRlciBfX3AgPSBfQmFzZTo6YWxsb2Nh dGUoX19hLCBfX24pOwotCSAgICBpZiAoc3RkOjppc19jb25zdGFudF9ldmFs dWF0ZWQoKSkKLQkgICAgICAvLyBCZWdpbiB0aGUgbGlmZXRpbWUgb2YgY2hh cmFjdGVycyBpbiBhbGxvY2F0ZWQgc3RvcmFnZS4KLQkgICAgICBmb3IgKHNp emVfdHlwZSBfX2kgPSAwOyBfX2kgPCBfX247ICsrX19pKQotCQlzdGQ6OmNv bnN0cnVjdF9hdChfX2J1aWx0aW5fYWRkcmVzc29mKF9fcFtfX2ldKSk7Ci0J ICAgIHJldHVybiBfX3A7Ci0JICB9Ci0JfTsKLQotICAgICAgdGVtcGxhdGU8 dHlwZW5hbWUgX0R1bW15X2Zvcl9QUjg1MjgyPgotCXN0cnVjdCBfQWxsb2Nf dHJhaXRzX2ltcGw8Y2hhcl90cmFpdHM8X0NoYXJUPiwgX0R1bW15X2Zvcl9Q Ujg1MjgyPgotCTogX19nbnVfY3h4OjpfX2FsbG9jX3RyYWl0czxfQ2hhcl9h bGxvY190eXBlPgotCXsKLQkgIC8vIHN0ZDo6Y2hhcl90cmFpdHMgYmVnaW5z IHRoZSBsaWZldGltZSBvZiBjaGFyYWN0ZXJzLgotCX07Ci0KLSAgICAgIHVz aW5nIF9BbGxvY190cmFpdHMgPSBfQWxsb2NfdHJhaXRzX2ltcGw8X1RyYWl0 cywgdm9pZD47Ci0jZW5kaWYKIAogICAgICAgLy8gVHlwZXM6CiAgICAgcHVi bGljOgpAQCAtMTQ5LDYgKzEyMCwyMiBAQCBfR0xJQkNYWF9CRUdJTl9OQU1F U1BBQ0VfQ1hYMTEKICNlbmRpZgogCiAgICAgcHJpdmF0ZToKKyAgICAgIHN0 YXRpYyBfR0xJQkNYWDIwX0NPTlNURVhQUiBwb2ludGVyCisgICAgICBfU19h bGxvY2F0ZShfQ2hhcl9hbGxvY190eXBlJiBfX2EsIHNpemVfdHlwZSBfX24p CisgICAgICB7CisJcG9pbnRlciBfX3AgPSBfQWxsb2NfdHJhaXRzOjphbGxv Y2F0ZShfX2EsIF9fbik7CisjaWYgX19jcHBfbGliX2NvbnN0ZXhwcl9zdHJp bmcgPj0gMjAxOTA3TAorCS8vIHN0ZDo6Y2hhcl90cmFpdHMgYmVnaW5zIHRo ZSBsaWZldGltZSBvZiBjaGFyYWN0ZXJzLAorCS8vIGJ1dCBjdXN0b20gdHJh aXRzIG1pZ2h0IG5vdCwgc28gZG8gaXQgaGVyZS4KKwlpZiBjb25zdGV4cHIg KCFpc19zYW1lX3Y8X1RyYWl0cywgY2hhcl90cmFpdHM8X0NoYXJUPj4pCisJ ICBpZiAoc3RkOjpfX2lzX2NvbnN0YW50X2V2YWx1YXRlZCgpKQorCSAgICAv LyBCZWdpbiB0aGUgbGlmZXRpbWUgb2YgY2hhcmFjdGVycyBpbiBhbGxvY2F0 ZWQgc3RvcmFnZS4KKwkgICAgZm9yIChzaXplX3R5cGUgX19pID0gMDsgX19p IDwgX19uOyArK19faSkKKwkgICAgICBzdGQ6OmNvbnN0cnVjdF9hdChfX2J1 aWx0aW5fYWRkcmVzc29mKF9fcFtfX2ldKSk7CisjZW5kaWYKKwlyZXR1cm4g X19wOworICAgICAgfQorCiAjaWYgX19jcGx1c3BsdXMgPj0gMjAxNzAzTAog ICAgICAgLy8gQSBoZWxwZXIgdHlwZSBmb3IgYXZvaWRpbmcgYm9pbGVyLXBs YXRlLgogICAgICAgdHlwZWRlZiBiYXNpY19zdHJpbmdfdmlldzxfQ2hhclQs IF9UcmFpdHM+IF9fc3ZfdHlwZTsKQEAgLTE1OTYsNyArMTU4Myw3IEBAIF9H TElCQ1hYX0JFR0lOX05BTUVTUEFDRV9DWFgxMQogCQkgICAgY29uc3QgYXV0 byBfX2xlbiA9IF9fc3RyLnNpemUoKTsKIAkJICAgIGF1dG8gX19hbGxvYyA9 IF9fc3RyLl9NX2dldF9hbGxvY2F0b3IoKTsKIAkJICAgIC8vIElmIHRoaXMg YWxsb2NhdGlvbiB0aHJvd3MgdGhlcmUgYXJlIG5vIGVmZmVjdHM6Ci0JCSAg ICBhdXRvIF9fcHRyID0gX0FsbG9jX3RyYWl0czo6YWxsb2NhdGUoX19hbGxv YywgX19sZW4gKyAxKTsKKwkJICAgIGF1dG8gX19wdHIgPSBfU19hbGxvY2F0 ZShfX2FsbG9jLCBfX2xlbiArIDEpOwogCQkgICAgX01fZGVzdHJveShfTV9h bGxvY2F0ZWRfY2FwYWNpdHkpOwogCQkgICAgX01fZGF0YShfX3B0cik7CiAJ CSAgICBfTV9jYXBhY2l0eShfX2xlbik7CmRpZmYgLS1naXQgYS9saWJzdGRj KystdjMvaW5jbHVkZS9iaXRzL2Jhc2ljX3N0cmluZy50Y2MgYi9saWJzdGRj KystdjMvaW5jbHVkZS9iaXRzL2Jhc2ljX3N0cmluZy50Y2MKaW5kZXggOTlm ZGJlZWU1YWQuLmQ4YTI3OWZjOWVkIDEwMDY0NAotLS0gYS9saWJzdGRjKyst djMvaW5jbHVkZS9iaXRzL2Jhc2ljX3N0cmluZy50Y2MKKysrIGIvbGlic3Rk YysrLXYzL2luY2x1ZGUvYml0cy9iYXNpY19zdHJpbmcudGNjCkBAIC0xNTIs NyArMTUyLDcgQEAgX0dMSUJDWFhfQkVHSU5fTkFNRVNQQUNFX1ZFUlNJT04K IAogICAgICAgLy8gTkI6IE5lZWQgYW4gYXJyYXkgb2YgY2hhcl90eXBlW19f Y2FwYWNpdHldLCBwbHVzIGEgdGVybWluYXRpbmcKICAgICAgIC8vIG51bGwg Y2hhcl90eXBlKCkgZWxlbWVudC4KLSAgICAgIHJldHVybiBfQWxsb2NfdHJh aXRzOjphbGxvY2F0ZShfTV9nZXRfYWxsb2NhdG9yKCksIF9fY2FwYWNpdHkg KyAxKTsKKyAgICAgIHJldHVybiBfU19hbGxvY2F0ZShfTV9nZXRfYWxsb2Nh dG9yKCksIF9fY2FwYWNpdHkgKyAxKTsKICAgICB9CiAKICAgLy8gTkI6IFRo aXMgaXMgdGhlIHNwZWNpYWwgY2FzZSBmb3IgSW5wdXQgSXRlcmF0b3JzLCB1 c2VkIGluCkBAIC0zNzYsOCArMzc2LDcgQEAgX0dMSUJDWFhfQkVHSU5fTkFN RVNQQUNFX1ZFUlNJT04KICAgICAgIGVsc2UgaWYgKF9fbGVuZ3RoIDwgX19j YXBhY2l0eSkKIAl0cnkKIAkgIHsKLQkgICAgcG9pbnRlciBfX3RtcAotCSAg ICAgID0gX0FsbG9jX3RyYWl0czo6YWxsb2NhdGUoX01fZ2V0X2FsbG9jYXRv cigpLCBfX2xlbmd0aCArIDEpOworCSAgICBwb2ludGVyIF9fdG1wID0gX1Nf YWxsb2NhdGUoX01fZ2V0X2FsbG9jYXRvcigpLCBfX2xlbmd0aCArIDEpOwog CSAgICB0aGlzLT5fU19jb3B5KF9fdG1wLCBfTV9kYXRhKCksIF9fbGVuZ3Ro ICsgMSk7CiAJICAgIF9NX2Rpc3Bvc2UoKTsKIAkgICAgX01fZGF0YShfX3Rt cCk7CkBAIC01MjEsOCArNTIwLDcgQEAgX0dMSUJDWFhfQkVHSU5fTkFNRVNQ QUNFX1ZFUlNJT04KICNpZiBfX2NwcF9saWJfaXNfY29uc3RhbnRfZXZhbHVh dGVkCiAJICBpZiAoc3RkOjppc19jb25zdGFudF9ldmFsdWF0ZWQoKSkKIAkg ICAgewotCSAgICAgIGF1dG8gX19uZXdwID0gX0FsbG9jX3RyYWl0czo6YWxs b2NhdGUoX01fZ2V0X2FsbG9jYXRvcigpLAotCQkJCQkJICAgIF9fbmV3X3Np emUpOworCSAgICAgIGF1dG8gX19uZXdwID0gX1NfYWxsb2NhdGUoX01fZ2V0 X2FsbG9jYXRvcigpLCBfX25ld19zaXplKTsKIAkgICAgICBfU19jb3B5KF9f bmV3cCwgdGhpcy0+X01fZGF0YSgpLCBfX3Bvcyk7CiAJICAgICAgX1NfY29w eShfX25ld3AgKyBfX3BvcywgX19zLCBfX2xlbjIpOwogCSAgICAgIF9TX2Nv cHkoX19uZXdwICsgX19wb3MgKyBfX2xlbjIsIF9fcCArIF9fbGVuMSwgX19o b3dfbXVjaCk7Cg== --000000000000fb4dca05fb735d35--