From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id CV2VFHcNWWpU/gwAWB0awg (envelope-from ) for ; Thu, 16 Jul 2026 12:57:27 -0400 Authentication-Results: simark.ca; dkim=pass (1024-bit key; unprotected) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=HyyPGCZb; dkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=EAm/Et8J; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=HyyPGCZb; dkim=neutral header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=EAm/Et8J; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 500E01E09E; Thu, 16 Jul 2026 12:57:27 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-5.4 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED autolearn=ham autolearn_force=no version=4.0.1 Received: from vm01.sourceware.org (vm01.sourceware.org [IPv6:2620:52:6:3111::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 9E8801E033 for ; Thu, 16 Jul 2026 12:57:26 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id B8C024BA2E3C for ; Thu, 16 Jul 2026 16:57:24 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B8C024BA2E3C Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=HyyPGCZb; dkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=EAm/Et8J; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=HyyPGCZb; dkim=neutral header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=EAm/Et8J Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131]) by sourceware.org (Postfix) with ESMTPS id 2C1544BA5434 for ; Thu, 16 Jul 2026 16:57:01 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 2C1544BA5434 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=suse.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=suse.de ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 2C1544BA5434 Authentication-Results: sourceware.org; arc=none smtp.remote-ip=195.135.223.131 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1784221021; cv=none; b=hUi16lbOFbc4canYffXtMpSGQIaE6bWExGs8tKIHJ+QB6dOVo+jTa62ltKQUcVxl6Vvc6Us7oWFd8yQ+TzXGHpAYGvs4PqYf/J6NXAKR8XuooQarD6eckHhiK13QX7pmaVIcuD73x08HjjFLBUdq0XggZzGMthz/KiqbdMtkZQU= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1784221021; c=relaxed/simple; bh=TCr/RgyYLkqzLKOFMX8qEg8HPlsXCCuiywj2cjxmr1Q=; h=DKIM-Signature:DKIM-Signature:DKIM-Signature:DKIM-Signature:From: To:Subject:Date:Message-ID:MIME-Version; b=jwUMaH/An+yvAWc++619AV5t0yT5L4xSseSvbMPxi1OigXm0uAFUGH29V5g/gIVjWM70c/YQU0szuo0HYEODs2Lpg2Yl+fJ5/azjt+6emic9lugqmx3sEOYNon48Xbp+2RBSDWX/lXDZzSdYPiOqvV1eCG93ujr9d9qwCTQPLJY= ARC-Authentication-Results: i=1; sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=HyyPGCZb; dkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=EAm/Et8J; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=HyyPGCZb; dkim=neutral header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=EAm/Et8J DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2C1544BA5434 Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 49FA23E2F for ; Thu, 16 Jul 2026 16:57:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1784221020; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=C6kw7kIL8uqt9EJGNoI5TE3ZDAbJngIVDTSfYvkyrOM=; b=HyyPGCZbz32eGuJdM3IaG/ardoW1LcN097N65K4X5ByxVljN6VAdYLO0NdedhV8ldCUCuq gKvISpmtifiJhzhhWRrXWJxqNP53qUsGrBTXq1nJjqmBaSQmeqPFV7RdRX5x4zbuwmCh45 XVTxIqVO5nZDaWm+ZPtA6LsdOk1JWHo= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1784221020; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=C6kw7kIL8uqt9EJGNoI5TE3ZDAbJngIVDTSfYvkyrOM=; b=EAm/Et8JZbGkrsq2g44qwqJ9oMIdLh0LvqTjlQLuPfHYKSJNgw8e/w9qiuRqgp9IrQEsae QhjYoopieAsCHNCQ== Authentication-Results: smtp-out2.suse.de; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1784221020; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=C6kw7kIL8uqt9EJGNoI5TE3ZDAbJngIVDTSfYvkyrOM=; b=HyyPGCZbz32eGuJdM3IaG/ardoW1LcN097N65K4X5ByxVljN6VAdYLO0NdedhV8ldCUCuq gKvISpmtifiJhzhhWRrXWJxqNP53qUsGrBTXq1nJjqmBaSQmeqPFV7RdRX5x4zbuwmCh45 XVTxIqVO5nZDaWm+ZPtA6LsdOk1JWHo= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1784221020; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=C6kw7kIL8uqt9EJGNoI5TE3ZDAbJngIVDTSfYvkyrOM=; b=EAm/Et8JZbGkrsq2g44qwqJ9oMIdLh0LvqTjlQLuPfHYKSJNgw8e/w9qiuRqgp9IrQEsae QhjYoopieAsCHNCQ== Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 348CA779AD for ; Thu, 16 Jul 2026 16:57:00 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id FLyoC1wNWWoqVQAAD6G6ig (envelope-from ) for ; Thu, 16 Jul 2026 16:57:00 +0000 From: Tom de Vries To: gdb-patches@sourceware.org Subject: [PATCH] [gdb] Fix hard-coded constants in buildsym_compunit::make_blockvector Date: Thu, 16 Jul 2026 18:56:59 +0200 Message-ID: <20260716165659.1416919-1-tdevries@suse.de> X-Mailer: git-send-email 2.51.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spamd-Result: default: False [-2.80 / 50.00]; BAYES_HAM(-3.00)[99.99%]; MID_CONTAINS_FROM(1.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; R_MISSING_CHARSET(0.50)[]; NEURAL_HAM_SHORT(-0.20)[-0.999]; MIME_GOOD(-0.10)[text/plain]; FUZZY_RATELIMITED(0.00)[rspamd.com]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; ARC_NA(0.00)[]; DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519]; DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,suse.de:mid]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_COUNT_TWO(0.00)[2]; TO_MATCH_ENVRCPT_ALL(0.00)[]; TO_DN_NONE(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[gdb-patches@sourceware.org]; RCVD_TLS_ALL(0.00)[] 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 I came across some code in buildsym_compunit::make_blockvector that uses hardcoded constants 0 and 1: ... gdb_assert (blockvector->block (0)->is_global_block ()); gdb_assert (blockvector->block (1)->is_static_block ()); ... Fix this by instead using the symbolic constants GLOBAL_BLOCK and STATIC_BLOCK. The same function has an odd-looking for loop that uses a hard-coded '1' to skip the global block: ... /* The 'J > 1' here is so that we don't place the global block into the map. For CU with gaps, the static block will reflect the gaps, while the global block will just reflect the full extent of the range. */ for (int j = num_blocks; j > 1; ) { --j; struct block *b = blockvector->block (j); ... Fix this by rewriting it into an ordinary descending for loop, and using symbolic constant GLOBAL_BLOCK to avoid the global block: ... for (int j = num_blocks - 1; j > GLOBAL_BLOCK; --j) { struct block *b = blockvector->block (j); ... --- gdb/buildsym.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/gdb/buildsym.c b/gdb/buildsym.c index b543cd10eb5..2b0a9a39b81 100644 --- a/gdb/buildsym.c +++ b/gdb/buildsym.c @@ -363,16 +363,15 @@ buildsym_compunit::make_blockvector () gdb_assert (num_blocks > 1); /* Assert our understanding of how the blocks are laid out. */ - gdb_assert (blockvector->block (0)->is_global_block ()); - gdb_assert (blockvector->block (1)->is_static_block ()); + gdb_assert (blockvector->block (GLOBAL_BLOCK)->is_global_block ()); + gdb_assert (blockvector->block (STATIC_BLOCK)->is_static_block ()); - /* The 'J > 1' here is so that we don't place the global block into - the map. For CU with gaps, the static block will reflect the - gaps, while the global block will just reflect the full extent of + /* The 'J > GLOBAL_BLOCK' here is so that we don't place the global + block into the map. For CU with gaps, the static block will reflect + the gaps, while the global block will just reflect the full extent of the range. */ - for (int j = num_blocks; j > 1; ) + for (int j = num_blocks - 1; j > GLOBAL_BLOCK; --j) { - --j; struct block *b = blockvector->block (j); gdb_assert (!b->is_global_block ()); base-commit: a4481c8ff808e7237b99815d84b0d4c06ded6124 -- 2.51.0