From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id QdKzNC+wsWnHBSQAWB0awg (envelope-from ) for ; Wed, 11 Mar 2026 14:10:55 -0400 Received: by simark.ca (Postfix, from userid 112) id BBC681E0E7; Wed, 11 Mar 2026 14:10:55 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-2.3 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,RCVD_IN_MSPIKE_H2, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED autolearn=ham autolearn_force=no version=4.0.1 Received: from vm01.sourceware.org (vm01.sourceware.org [38.145.34.32]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 771DF1E09A for ; Wed, 11 Mar 2026 14:10:54 -0400 (EDT) Received: from vm01.sourceware.org (localhost [127.0.0.1]) by sourceware.org (Postfix) with ESMTP id 107E44BB5919 for ; Wed, 11 Mar 2026 18:10:53 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 107E44BB5919 Received: from simark.ca (simark.ca [158.69.221.121]) by sourceware.org (Postfix) with ESMTPS id 581CC4BA23C5 for ; Wed, 11 Mar 2026 18:10:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 581CC4BA23C5 Authentication-Results: sourceware.org; dmarc=fail (p=none dis=none) header.from=efficios.com Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=efficios.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 581CC4BA23C5 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=158.69.221.121 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1773252629; cv=none; b=k5SXwP6sXw9V10kp5BkcBIvzdT90NV6kEqRb+9Qt63jpUbDSnUwDIwwUBttCazS852YJdk/qfUiknlBP42nLYBWSc2DeUTVZOWdDlhUqbANFhyucIawnLpTn1J2ZuMkQei1x5D3NTwDj6p0i109kIel4zY2tJmBlxDSB6UMtN6s= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1773252629; c=relaxed/simple; bh=SpkQAZHR/wVVqagEVyCBEG5slcAE162zfQbVtKDexdo=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=KElD94JRzId1+L3k/UWAiW+v9+MAdJ8gQfSDHoYjwa2ruKFl83KHr1W1UoIM1OTlZoGfaXQu/a0am0edRhV+P3Bp9iVeqpLVmJrCTqqjR037HKi8CfhzStDL0CYQnFoSccpLkQYeqlnOrce8MNKPhYFnlMmNED3l+2z34XteGzk= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 581CC4BA23C5 Received: by simark.ca (Postfix) id DC1971E0DD; Wed, 11 Mar 2026 14:10:28 -0400 (EDT) From: Simon Marchi To: gdb-patches@sourceware.org Cc: Simon Marchi Subject: [PATCH 10/23] gdb/dwarf: change dwarf2_ranges_read to return bool Date: Wed, 11 Mar 2026 14:05:35 -0400 Message-ID: <20260311180825.720803-11-simon.marchi@efficios.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260311180825.720803-1-simon.marchi@efficios.com> References: <20260311180825.720803-1-simon.marchi@efficios.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces~public-inbox=simark.ca@sourceware.org Also, do some little cleanups in the function itself. Change-Id: I83928a31dcdcae34b651828fef27b1fa877241eb --- gdb/dwarf2/read.c | 32 ++++++++++++++++++-------------- gdb/dwarf2/read.h | 10 +++++----- 2 files changed, 23 insertions(+), 19 deletions(-) diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c index 6861b6ad4cde..74c6ab7eff7f 100644 --- a/gdb/dwarf2/read.c +++ b/gdb/dwarf2/read.c @@ -8712,17 +8712,15 @@ dwarf2_ranges_process (unsigned offset, struct dwarf2_cu *cu, dwarf_tag tag, /* See read.h. */ -int +bool dwarf2_ranges_read (unsigned offset, unrelocated_addr *low_return, unrelocated_addr *high_return, struct dwarf2_cu *cu, addrmap_mutable *map, void *datum, dwarf_tag tag) { - int low_set = 0; + bool low_set = false; unrelocated_addr low = {}; unrelocated_addr high = {}; - bool retval; - - retval = dwarf2_ranges_process (offset, cu, tag, + bool retval = dwarf2_ranges_process (offset, cu, tag, [&] (unrelocated_addr range_beginning, unrelocated_addr range_end) { if (map != nullptr) @@ -8737,33 +8735,39 @@ dwarf2_ranges_read (unsigned offset, unrelocated_addr *low_return, segment of consecutive addresses. We should have a data structure for discontiguous block ranges instead. */ - if (! low_set) + if (!low_set) { low = range_beginning; high = range_end; - low_set = 1; + low_set = true; } else { if (range_beginning < low) low = range_beginning; + if (range_end > high) high = range_end; } }); + if (!retval) - return 0; + return false; - if (! low_set) - /* If the first entry is an end-of-list marker, the range + if (!low_set) + { + /* If the first entry is an end-of-list marker, the range describes an empty scope, i.e. no instructions. */ - return 0; + return false; + } - if (low_return) + if (low_return != nullptr) *low_return = low; - if (high_return) + + if (high_return != nullptr) *high_return = high; - return 1; + + return true; } /* Process ranges and fill in a vector of the low PC values only. */ diff --git a/gdb/dwarf2/read.h b/gdb/dwarf2/read.h index e2d75e16146c..86f97e7ccf4a 100644 --- a/gdb/dwarf2/read.h +++ b/gdb/dwarf2/read.h @@ -1381,14 +1381,14 @@ extern dwarf2_per_cu *dwarf2_find_unit (const section_and_offset &start, extern bool decode_locdesc (dwarf_block *blk, dwarf2_cu *cu, CORE_ADDR *result); /* Get low and high pc attributes from DW_AT_ranges attribute value OFFSET. - Return 1 if the attributes are present and valid, otherwise, return 0. + Return true if the attributes are present and valid, otherwise, return false. TAG is passed to dwarf2_ranges_process. If MAP is not NULL, then ranges in MAP are set, using DATUM as the value. */ -extern int dwarf2_ranges_read (unsigned offset, unrelocated_addr *low_return, - unrelocated_addr *high_return, dwarf2_cu *cu, - addrmap_mutable *map, void *datum, - dwarf_tag tag); +extern bool dwarf2_ranges_read (unsigned offset, unrelocated_addr *low_return, + unrelocated_addr *high_return, dwarf2_cu *cu, + addrmap_mutable *map, void *datum, + dwarf_tag tag); extern file_and_directory &find_file_and_directory (die_info *die, dwarf2_cu *cu); -- 2.53.0