From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1052 invoked by alias); 26 Nov 2019 23:00:43 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 972 invoked by uid 89); 26 Nov 2019 23:00:31 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-16.8 required=5.0 tests=AWL,BAYES_00,BODY_8BITS,GARBLED_BODY,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_LOW,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.1 spammy= X-HELO: mail-40132.protonmail.ch Received: from mail-40132.protonmail.ch (HELO mail-40132.protonmail.ch) (185.70.40.132) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 26 Nov 2019 23:00:29 +0000 Date: Tue, 26 Nov 2019 23:00:00 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gdcproject.org; s=protonmail; t=1574809227; bh=x3eofxT1STieExWN2CrsiNJdohVsDL/573inCRUlOLk=; h=Date:To:From:Cc:Reply-To:Subject:In-Reply-To:References: Feedback-ID:From; b=HCKZp02RX8q4MbAoEMXpb8WoJ4/u9CdEo6PGGTFfaPBmVQ/xnXyhvB2MQT5APyn14 mnJi27yhDdRdPKpwzQgIRWDWkitwkKBP7ukWwsr2MGD9xvUASdKOEz95g3yBk+YAxW MH6B2pdgnh/rZ8z5WtxOU4cquQfL+G4JvWcNs108= To: Pedro Alves From: Iain Buclaw Cc: "gdb-patches@sourceware.org" Reply-To: Iain Buclaw Subject: Re: [PATCH] gdb: Use puts_unfiltered instead of printf_unfiltered Message-ID: In-Reply-To: References: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_c4842e60e348ff20c7720ffaa90a7bc1" X-IsSubscribed: yes X-SW-Source: 2019-11/txt/msg00976.txt.bz2 This is a multi-part message in MIME format. --b1_c4842e60e348ff20c7720ffaa90a7bc1 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-length: 1648 =E2=80=90=E2=80=90=E2=80=90=E2=80=90=E2=80=90=E2=80=90=E2=80=90 Original Me= ssage =E2=80=90=E2=80=90=E2=80=90=E2=80=90=E2=80=90=E2=80=90=E2=80=90 On Tuesday, 26 November 2019 21:24, Pedro Alves wrote: > On 11/26/19 12:49 PM, Iain Buclaw wrote: > > > The significance of this is that printf_unfiltered writes messages to w= rap_buffer, whereas puts_unfiltered pushes them immediately to stdout, resu= lting in "post-" messages being printed out of order. > > It sounds quite surprising that two _unfiltered functions could behave di= fferently > like that. That sounds like a bug that should be fixed, instead of worked= around > by having to recall to use printf vs puts. > > Thanks, > Pedro Alves I think the best way to avoid the discrepancy is to treat both fputs_filter= ed and fputs_unfiltered equally by forwarding both calls to fputs_maybe_fil= tered. To avoid recursion, flush_wrap_buffer and fputs_maybe_filtered have had cal= ls to fputs_unfiltered replaced with stream->puts(). While attempting to grok my head around fputs_maybe_filtered, I also notice= d that buffer_clearer is being removed by the compiler as dead code. -- Iain --- gdb/ChangeLog: 2019-11-26 Iain Buclaw * gdb/ui-file.c (fputs_unfiltered): Move to utils.c. * gdb/utils.c (flush_wrap_buffer): Call ui_file::puts instead of fputs_unfiltered. (fputs_maybe_filtered): Likewise. Remove unused buffer_clearer. (fputs_unfiltered): Moved from utils.c; call fputs_maybe_filtered. --- gdb/ui-file.c | 6 ------ gdb/utils.c | 22 +++++++++------------- 2 files changed, 9 insertions(+), 19 deletions(-) --- --b1_c4842e60e348ff20c7720ffaa90a7bc1 Content-Type: text/x-patch; name="postprompt-2.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=postprompt-2.patch Content-length: 3046 ZGlmZiAtLWdpdCBhL2dkYi91aS1maWxlLmMgYi9nZGIvdWktZmlsZS5jCmlu ZGV4IDcxYjc0YmJhMTkuLjMxNjY0ZDVkNjUgMTAwNjQ0Ci0tLSBhL2dkYi91 aS1maWxlLmMKKysrIGIvZ2RiL3VpLWZpbGUuYwpAQCAtMTQ5LDEyICsxNDks NiBAQCB1aV9maWxlX3JlYWQgKHN0cnVjdCB1aV9maWxlICpmaWxlLCBjaGFy ICpidWYsIGxvbmcgbGVuZ3RoX2J1ZikKICAgcmV0dXJuIGZpbGUtPnJlYWQg KGJ1ZiwgbGVuZ3RoX2J1Zik7CiB9CiAKLXZvaWQKLWZwdXRzX3VuZmlsdGVy ZWQgKGNvbnN0IGNoYXIgKmJ1Ziwgc3RydWN0IHVpX2ZpbGUgKmZpbGUpCi17 Ci0gIGZpbGUtPnB1dHMgKGJ1Zik7Ci19Ci0KIAwKIAogc3RyaW5nX2ZpbGU6 On5zdHJpbmdfZmlsZSAoKQpkaWZmIC0tZ2l0IGEvZ2RiL3V0aWxzLmMgYi9n ZGIvdXRpbHMuYwppbmRleCBmN2ZhZTM1NzI5Li5lOGNjMjFjOGM0IDEwMDY0 NAotLS0gYS9nZGIvdXRpbHMuYworKysgYi9nZGIvdXRpbHMuYwpAQCAtMTUz OSw3ICsxNTM5LDcgQEAgZmx1c2hfd3JhcF9idWZmZXIgKHN0cnVjdCB1aV9m aWxlICpzdHJlYW0pCiB7CiAgIGlmIChzdHJlYW0gPT0gZ2RiX3N0ZG91dCAm JiAhd3JhcF9idWZmZXIuZW1wdHkgKCkpCiAgICAgewotICAgICAgZnB1dHNf dW5maWx0ZXJlZCAod3JhcF9idWZmZXIuY19zdHIgKCksIHN0cmVhbSk7Cisg ICAgICBzdHJlYW0tPnB1dHMgKHdyYXBfYnVmZmVyLmNfc3RyICgpKTsKICAg ICAgIHdyYXBfYnVmZmVyLmNsZWFyICgpOwogICAgIH0KIH0KQEAgLTE2ODgs MTggKzE2ODgsMTAgQEAgZnB1dHNfbWF5YmVfZmlsdGVyZWQgKGNvbnN0IGNo YXIgKmxpbmVidWZmZXIsIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sCiAgICAg ICB8fCB0b3BfbGV2ZWxfaW50ZXJwcmV0ZXIgKCktPmludGVycF91aV9vdXQg KCktPmlzX21pX2xpa2VfcCAoKSkKICAgICB7CiAgICAgICBmbHVzaF93cmFw X2J1ZmZlciAoc3RyZWFtKTsKLSAgICAgIGZwdXRzX3VuZmlsdGVyZWQgKGxp bmVidWZmZXIsIHN0cmVhbSk7CisgICAgICBzdHJlYW0tPnB1dHMgKGxpbmVi dWZmZXIpOwogICAgICAgcmV0dXJuOwogICAgIH0KIAotICBhdXRvIGJ1ZmZl cl9jbGVhcmVyCi0gICAgPSBtYWtlX3Njb3BlX2V4aXQgKFsmXSAoKQotCQkg ICAgICAgewotCQkJIHdyYXBfYnVmZmVyLmNsZWFyICgpOwotCQkJIHdyYXBf Y29sdW1uID0gMDsKLQkJCSB3cmFwX2luZGVudCA9ICIiOwotCQkgICAgICAg fSk7Ci0KICAgLyogR28gdGhyb3VnaCBhbmQgb3V0cHV0IGVhY2ggY2hhcmFj dGVyLiAgU2hvdyBsaW5lIGV4dGVuc2lvbgogICAgICB3aGVuIHRoaXMgaXMg bmVjZXNzYXJ5OyBwcm9tcHQgdXNlciBmb3IgbmV3IHBhZ2Ugd2hlbiB0aGlz IGlzCiAgICAgIG5lY2Vzc2FyeS4gICovCkBAIC0xNzg4LDcgKzE3ODAsNyBA QCBmcHV0c19tYXliZV9maWx0ZXJlZCAoY29uc3QgY2hhciAqbGluZWJ1ZmZl ciwgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwKIAkgICAgICAvKiBOb3cgb3V0 cHV0IGluZGVudGF0aW9uIGFuZCB3cmFwcGVkIHN0cmluZy4gICovCiAJICAg ICAgaWYgKHdyYXBfY29sdW1uKQogCQl7Ci0JCSAgZnB1dHNfdW5maWx0ZXJl ZCAod3JhcF9pbmRlbnQsIHN0cmVhbSk7CisJCSAgc3RyZWFtLT5wdXRzICh3 cmFwX2luZGVudCk7CiAJCSAgaWYgKHN0cmVhbS0+Y2FuX2VtaXRfc3R5bGVf ZXNjYXBlICgpKQogCQkgICAgZW1pdF9zdHlsZV9lc2NhcGUgKHNhdmVfc3R5 bGUsIHN0cmVhbSk7CiAJCSAgLyogRklYTUUsIHRoaXMgc3RybGVuIGlzIHdo YXQgcHJldmVudHMgd3JhcF9pbmRlbnQgZnJvbQpAQCAtMTgxNiw4ICsxODA4 LDYgQEAgZnB1dHNfbWF5YmVfZmlsdGVyZWQgKGNvbnN0IGNoYXIgKmxpbmVi dWZmZXIsIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sCiAJICBsaW5lcHRyKys7 CiAJfQogICAgIH0KLQotICBidWZmZXJfY2xlYXJlci5yZWxlYXNlICgpOwog fQogCiB2b2lkCkBAIC0xODI2LDYgKzE4MTYsMTIgQEAgZnB1dHNfZmlsdGVy ZWQgKGNvbnN0IGNoYXIgKmxpbmVidWZmZXIsIHN0cnVjdCB1aV9maWxlICpz dHJlYW0pCiAgIGZwdXRzX21heWJlX2ZpbHRlcmVkIChsaW5lYnVmZmVyLCBz dHJlYW0sIDEpOwogfQogCit2b2lkCitmcHV0c191bmZpbHRlcmVkIChjb25z dCBjaGFyICpsaW5lYnVmZmVyLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtKQor eworICBmcHV0c19tYXliZV9maWx0ZXJlZCAobGluZWJ1ZmZlciwgc3RyZWFt LCAwKTsKK30KKwogLyogU2VlIHV0aWxzLmguICAqLwogCiB2b2lkCg== --b1_c4842e60e348ff20c7720ffaa90a7bc1--