From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gproxy2-pub.mail.unifiedlayer.com (gproxy2-pub.mail.unifiedlayer.com [69.89.18.3]) by sourceware.org (Postfix) with ESMTPS id 9356B3858D3C for ; Mon, 19 Jun 2023 17:51:26 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 9356B3858D3C Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=tromey.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=tromey.com Received: from cmgw10.mail.unifiedlayer.com (unknown [10.0.90.125]) by progateway4.mail.pro1.eigbox.com (Postfix) with ESMTP id DB89510043B3D for ; Mon, 19 Jun 2023 17:51:25 +0000 (UTC) Received: from box5379.bluehost.com ([162.241.216.53]) by cmsmtp with ESMTP id BJ2DqR5yNn8tBBJ2DqKjJY; Mon, 19 Jun 2023 17:51:25 +0000 X-Authority-Reason: nr=8 X-Authority-Analysis: v=2.4 cv=cJklDnSN c=1 sm=1 tr=0 ts=6490959d a=ApxJNpeYhEAb1aAlGBBbmA==:117 a=ApxJNpeYhEAb1aAlGBBbmA==:17 a=dLZJa+xiwSxG16/P+YVxDGlgEgI=:19 a=IkcTkHD0fZMA:10:nop_charset_1 a=of4jigFt-DYA:10:nop_rcvd_month_year a=Qbun_eYptAEA:10:endurance_base64_authed_username_1 a=vGAaK7a04PTbyYCTluEA:9 a=QEXdDO2ut3YA:10:nop_charset_2 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tromey.com; s=default; h=To:In-Reply-To:References:Message-Id:Content-Transfer-Encoding: Content-Type:MIME-Version:Subject:Date:From:Sender:Reply-To:Cc:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=KgVXddTvRXeHZxaTpNChaPmYqn05+aOsn8vrjjKx0cI=; b=G3mLuuPAUd5ReJy416BkXebA9k hZNo+qSQ9O2OHwlRlgW5FVhpeOh12+FxDt3as7oRi/H5jWDxEuGRaz4WI4ZSQoz0jg+Gt4N4YPUY8 u5UavgBedymNq69EtnZXWGVQX; Received: from 75-166-136-83.hlrn.qwest.net ([75.166.136.83]:49210 helo=[192.168.0.21]) by box5379.bluehost.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95) (envelope-from ) id 1qBJ2D-0019zn-JW for gdb-patches@sourceware.org; Mon, 19 Jun 2023 11:51:25 -0600 From: Tom Tromey Date: Mon, 19 Jun 2023 11:51:23 -0600 Subject: [PATCH 2/3] Use byte_vector in remote.c:readahead_cache MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20230619-remove-some-realloc-v1-2-8bee74d5b934@tromey.com> References: <20230619-remove-some-realloc-v1-0-8bee74d5b934@tromey.com> In-Reply-To: <20230619-remove-some-realloc-v1-0-8bee74d5b934@tromey.com> To: gdb-patches@sourceware.org X-Mailer: b4 0.12.2 X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - box5379.bluehost.com X-AntiAbuse: Original Domain - sourceware.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - tromey.com X-BWhitelist: no X-Source-IP: 75.166.136.83 X-Source-L: No X-Exim-ID: 1qBJ2D-0019zn-JW X-Source: X-Source-Args: X-Source-Dir: X-Source-Sender: 75-166-136-83.hlrn.qwest.net ([192.168.0.21]) [75.166.136.83]:49210 X-Source-Auth: tom+tromey.com X-Email-Count: 17 X-Source-Cap: ZWx5bnJvYmk7ZWx5bnJvYmk7Ym94NTM3OS5ibHVlaG9zdC5jb20= X-Local-Domain: yes X-Spam-Status: No, score=-3025.5 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,GIT_PATCH_0,JMQ_SPF_NEUTRAL,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,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: This patch changes the remote.c readahead_cache to use gdb::byte_vector. This simplifies the code by removing manual memory management. --- gdb/remote.c | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/gdb/remote.c b/gdb/remote.c index 02ff3a12bdb..513214c85a8 100644 --- a/gdb/remote.c +++ b/gdb/remote.c @@ -354,10 +354,7 @@ struct readahead_cache ULONGEST offset = 0; /* The buffer holding the cache contents. */ - gdb_byte *buf = nullptr; - /* The buffer's size. We try to read as much as fits into a packet - at a time. */ - size_t bufsize = 0; + gdb::byte_vector buf; /* Cache hit and miss counters. */ ULONGEST hit_count = 0; @@ -12605,14 +12602,14 @@ readahead_cache::pread (int fd, gdb_byte *read_buf, size_t len, { if (this->fd == fd && this->offset <= offset - && offset < this->offset + this->bufsize) + && offset < this->offset + this->buf.size ()) { - ULONGEST max = this->offset + this->bufsize; + ULONGEST max = this->offset + this->buf.size (); if (offset + len > max) len = max - offset; - memcpy (read_buf, this->buf + offset - this->offset, len); + memcpy (read_buf, &this->buf[offset - this->offset], len); return len; } @@ -12646,10 +12643,10 @@ remote_target::remote_hostio_pread (int fd, gdb_byte *read_buf, int len, cache->fd = fd; cache->offset = offset; - cache->bufsize = get_remote_packet_size (); - cache->buf = (gdb_byte *) xrealloc (cache->buf, cache->bufsize); + cache->buf.resize (get_remote_packet_size ()); - ret = remote_hostio_pread_vFile (cache->fd, cache->buf, cache->bufsize, + ret = remote_hostio_pread_vFile (cache->fd, &cache->buf[0], + cache->buf.size (), cache->offset, remote_errno); if (ret <= 0) { @@ -12657,7 +12654,7 @@ remote_target::remote_hostio_pread (int fd, gdb_byte *read_buf, int len, return ret; } - cache->bufsize = ret; + cache->buf.resize (ret); return cache->pread (fd, read_buf, len, offset); } -- 2.39.2