From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id QU8ZOeoTxmo0NA0AWB0awg (envelope-from ) for ; Wed, 07 Oct 2026 05:42:02 -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=VUWKdgMj; dkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=4gmh6j1S; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=VUWKdgMj; dkim=neutral header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=4gmh6j1S; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id D72A61E051; Wed, 07 Oct 2026 05:42:02 -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 D933D1E04E for ; Wed, 07 Oct 2026 05:42:01 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 6967E4BA2E2E for ; Wed, 7 Oct 2026 09:42:01 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6967E4BA2E2E 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=VUWKdgMj; dkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=4gmh6j1S; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=VUWKdgMj; dkim=neutral header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=4gmh6j1S Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131]) by sourceware.org (Postfix) with ESMTPS id D039F4BA2E13 for ; Wed, 7 Oct 2026 09:41:03 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org D039F4BA2E13 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 D039F4BA2E13 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=1791366064; cv=none; b=em8K4jdix9nMjXSCWSpfLZ5RAGd3n6CiO7rf9XBiZez5ImZqK5eMPr2wvI5sNgrdMuSTHWTXRkTiCornzU0N/lQil6KWxwpwXcR6x5afkzqTpnDedYDASntIk/hVu7Jk1O1dK5uPuoCl7YnS8Dp8hIeCp5DrGXjVZSepmzOtzwU= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1791366064; c=relaxed/simple; bh=RMNTuD1oeI9TC6UPHyCDt7popJ2G1Rj0vfuCiJSdv6k=; h=DKIM-Signature:DKIM-Signature:DKIM-Signature:DKIM-Signature:From: To:Subject:Date:Message-ID:MIME-Version; b=DHjAkpYug/It48DOWQLgiA0vIFLrYrCCz/dpSjemHyRjdn2CL8LPZWQNMxUwIkDOVJi5Ug0Yqx5ySR7e55MUpIGKy3zd7sybhzjDEfnchhnyjdjF5/plrXetBf/U09yUHG964OTSbDjvqAeWZFy1IpPYFR3IhRQkC24T0jGxqeI= 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=VUWKdgMj; dkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=4gmh6j1S; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=VUWKdgMj; dkim=neutral header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=4gmh6j1S DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D039F4BA2E13 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 A983A1F890 for ; Wed, 7 Oct 2026 09:40:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1791366058; 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=Av+kpa8m2Rvz9mm7nnYraxbfhuyL43e9Zo0tSwWbmO4=; b=VUWKdgMjL0nFCVyogCz/g1fpMzZjBI27RCE6owSUKPf7GXH+BaokIOj15ZrZXW7Qn/duDg 3iavS0kToAHhOkmeUH5eOCucjRYihD++9hB5jxRjFyXav9U0ot0x5/+Wp5949/qnOjlB+m 8QA0UX5iS27U+Q2SjOxoHFaF5xnV7i4= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1791366058; 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=Av+kpa8m2Rvz9mm7nnYraxbfhuyL43e9Zo0tSwWbmO4=; b=4gmh6j1SBKI2fJyUNY8xxLEW7IjYQ7DmNI8Ph7tS5w+Q9gtOcTHFjQ5LS2MlsiRNp/R0Xg KAsQm3Hb/LaLaTDQ== Authentication-Results: smtp-out2.suse.de; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1791366058; 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=Av+kpa8m2Rvz9mm7nnYraxbfhuyL43e9Zo0tSwWbmO4=; b=VUWKdgMjL0nFCVyogCz/g1fpMzZjBI27RCE6owSUKPf7GXH+BaokIOj15ZrZXW7Qn/duDg 3iavS0kToAHhOkmeUH5eOCucjRYihD++9hB5jxRjFyXav9U0ot0x5/+Wp5949/qnOjlB+m 8QA0UX5iS27U+Q2SjOxoHFaF5xnV7i4= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1791366058; 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=Av+kpa8m2Rvz9mm7nnYraxbfhuyL43e9Zo0tSwWbmO4=; b=4gmh6j1SBKI2fJyUNY8xxLEW7IjYQ7DmNI8Ph7tS5w+Q9gtOcTHFjQ5LS2MlsiRNp/R0Xg KAsQm3Hb/LaLaTDQ== 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 7406913B94 for ; Wed, 7 Oct 2026 09:40:58 +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 JEXHFKoTxmo3EwAAD6G6ig (envelope-from ) for ; Wed, 07 Oct 2026 09:40:58 +0000 From: Tom de Vries To: gdb-patches@sourceware.org Subject: [PATCH v4 00/11] [gdb/tui] Some section hole handling fixes Date: Wed, 7 Oct 2026 11:40:46 +0200 Message-ID: <20261007094057.1811886-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)[100.00%]; MID_CONTAINS_FROM(1.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; R_MISSING_CHARSET(0.50)[]; NEURAL_HAM_SHORT(-0.20)[-1.000]; MIME_GOOD(-0.10)[text/plain]; ARC_NA(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; RCVD_VIA_SMTP_AUTH(0.00)[]; MIME_TRACE(0.00)[0:+]; DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519]; PREVIOUSLY_DELIVERED(0.00)[gdb-patches@sourceware.org]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo]; RCVD_COUNT_TWO(0.00)[2]; TO_MATCH_ENVRCPT_ALL(0.00)[]; TO_DN_NONE(0.00)[]; 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 This series consists of 11 patches. The first four deal with tui_find_disassembly_address: - the first two do refactoring - the third is an optimization - the fourth fixes a buglet. The fifth factors out update_section_map. The sixth adds section_addrmap. The seventh extends addrmap::find with low/high results. The eight makes gdb_disassembly return the number of disassembled insns. The ninth patch fixes PR34617, for both TUI and CLI. The tenth patch prevents stopping disassembly at section holes for CLI and TUI, fixing PR34399. The eleventh patch skips over data sections. This is an RFC. Changes in v2: - add patch fixing tui_disassemble comment after review comment - drop restrictive fix for PR tui/34399 after review comments - add patches implementing an enabling fix for PR tui/34399. Changes in v3: - committed the first three patches of v2 - drop the find_pc_section refactoring approach of the 4th and 5th patches of v2 - instead add three refactoring/infrastructure patches: - factor out update_section_map - add section_addrmap - extend addrmap::find with low/high results - rework the last two patches into these two patches: - handle sections when disassembling - don't stop disassembly at section hole Changes in v4: - add first four patches dealing with tui_find_disassembly_address - factor out "makes gdb_disassembly return the number of disassembled insns" patch out of another patch - add RFC patch - add test-case gdb.base/disasm-section-sync.exp in "Handle sections when disassembling" - replace disassemble_skip_sections with disassemble_section_p - fix some style nits - do less re-calculation of address map Versions: - v1 https://sourceware.org/pipermail/gdb-patches/2026-August/229584.html - v2 https://sourceware.org/pipermail/gdb-patches/2026-September/230207.html - v3 https://sourceware.org/pipermail/gdb-patches/2026-September/230515.html Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=34399 Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=34617 Tom de Vries (11): [gdb/tui] Use early exit in tui_find_disassembly_address [gdb/tui] Make low_prev loop-local in tui_find_disassembly_address [gdb/tui] Disassemble less often in tui_find_disassembly_address [gdb/tui] Fix buglet in tui_find_disassembly_address [gdb] Factor out update_section_map [gdb] Add section_addrmap [gdb] Extend addrmap::find with low/high results [gdb] Make gdb_disassembly return number of insns [gdb] Handle sections when disassembling [gdb] Don't stop disassembly at section hole [RFC, gdb/tui] Don't scroll into non-code sections gdb/addrmap.c | 78 +++- gdb/addrmap.h | 23 +- gdb/cli/cli-cmds.c | 11 +- gdb/disasm.c | 125 ++++++- gdb/disasm.h | 20 +- gdb/objfiles.c | 62 +++- gdb/objfiles.h | 6 + gdb/testsuite/gdb.base/disasm-section-sync.S | 47 +++ .../gdb.base/disasm-section-sync.exp | 28 ++ gdb/tui/tui-disasm.c | 338 +++++++++++------- gdb/tui/tui-disasm.h | 3 +- gdb/tui/tui-source.c | 2 +- gdb/tui/tui-source.h | 3 +- gdb/tui/tui-winsource.c | 13 +- gdb/tui/tui-winsource.h | 12 +- gdb/tui/tui.c | 4 +- gdb/tui/tui.h | 3 +- 17 files changed, 583 insertions(+), 195 deletions(-) create mode 100644 gdb/testsuite/gdb.base/disasm-section-sync.S create mode 100644 gdb/testsuite/gdb.base/disasm-section-sync.exp base-commit: b8a700f22bfa79ed841ec350938d0b310a5048b9 -- 2.51.0