From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id uIlwElCGjWl2PzcAWB0awg (envelope-from ) for ; Thu, 12 Feb 2026 02:50:40 -0500 Authentication-Results: simark.ca; dkim=pass (2048-bit key; unprotected) header.d=gnu.org header.i=@gnu.org header.a=rsa-sha256 header.s=fencepost-gnu-org header.b=KfnwtAwy; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 2FBBA1E089; Thu, 12 Feb 2026 02:50:40 -0500 (EST) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-3.4 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,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 D91351E089 for ; Thu, 12 Feb 2026 02:50:38 -0500 (EST) Received: from vm01.sourceware.org (localhost [127.0.0.1]) by sourceware.org (Postfix) with ESMTP id 5470C4BA23FD for ; Thu, 12 Feb 2026 07:50:37 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5470C4BA23FD Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=gnu.org header.i=@gnu.org header.a=rsa-sha256 header.s=fencepost-gnu-org header.b=KfnwtAwy Received: from eggs.gnu.org (eggs.gnu.org [IPv6:2001:470:142:3::10]) by sourceware.org (Postfix) with ESMTPS id ED7F14BA2E1C for ; Thu, 12 Feb 2026 07:50:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org ED7F14BA2E1C Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gnu.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gnu.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org ED7F14BA2E1C Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2001:470:142:3::10 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1770882611; cv=none; b=tcSBFPmd87w6Mz/aIu8oyjLllF/WfcjZJFpQ/v0Zhh8J/eQBKYBIO8LFoDn2eiBmSZ/nLZ0FQBvYidDbkS42JLL5ZtAFClxxYNtgeN/ZCCxSB3Dx2b06FAAmHj5kIye3guj54XehmS5Li8U3fM6L0Bo5Zz+jJwEadcm5zOffK8s= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1770882611; c=relaxed/simple; bh=0d26BCzrB0gZYnLP116qc7EuCGdHoRoQpWfbSW+ishs=; h=DKIM-Signature:Date:Message-Id:From:To:Subject; b=qGyr0yZsPkl7AxTOlP3xqISDgEM3cYxrcnolpm3bRcrIGXXMWrbblvVi+dD0TzyGE52saW4HGa1ULxLlhwvTlCWU70K6PI8DHhhoATbJOf7BiRBxGAdo6MLgLkjzsV/uSneBuokOR3ypktlWHupJJGPiI3zwpDAcjtOY7ZNFvqc= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org ED7F14BA2E1C Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vqRSk-0005xr-AA; Thu, 12 Feb 2026 02:50:10 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=dlGpv+ov8tQzWagiZh1R/RQmfyjtVlsuXh2Effi+2xE=; b=KfnwtAwyQJlR 4BwiEoeksOcXahPiEl6fVsMBplpA/fhtDAwbXgprU1ImX8rQmKoBw2ttwMNGRKwKOL9qa6kZwmo5h ApPlqPzPyYVvBE9FHqToKJr5ff2W61h3u1SvMwoiMI9bHa1kQSlZQwoo70GUMDE/SiGgJjnSQkMHX jQbe0uL1DBbtixwrV5czKqFr9qSRcEy8qPrpe5ywYBNmyN8pGQfU4SF1WlRqRudVKY/W5m9mtF5S8 xvagqVoyn6UbklOb9V8EXMrLNSliSegRVrPwmAb0BloxG8DqSbai3zRv9gJUfK4xaLmluqZLh9/+Y k7sOfO0QO7G7FLlTZR5+Sg==; Date: Thu, 12 Feb 2026 09:50:07 +0200 Message-Id: <86qzqqtn80.fsf@gnu.org> From: Eli Zaretskii To: Tom Tromey Cc: gdb-patches@sourceware.org In-Reply-To: <20260211-nuke-readnow-v1-1-7eed7148eec6@tromey.com> (message from Tom Tromey on Wed, 11 Feb 2026 11:49:09 -0700) Subject: Re: [PATCH RFC 1/2] Remove "readnow" support References: <20260211-nuke-readnow-v1-0-7eed7148eec6@tromey.com> <20260211-nuke-readnow-v1-1-7eed7148eec6@tromey.com> 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 > From: Tom Tromey > Date: Wed, 11 Feb 2026 11:49:09 -0700 > Cc: Tom Tromey > > I think the "readnow" feature should be removed. > > "readnow" exists basically to work around potential bugs in any > "partial" reader. This used to work ok because gdb would scan all the > expanded symtabs in addition to using the "quick" functions. This > changed with the "search via psyms" series. > > So now, "readnow" is basically its own separate implementation. As > such, I don't think it carries its weight. It is very slow and uses a > lot of memory, and can have its own bugs requiring extra work on our > part. Is there any other way for the user to force GDB to read all of the symbols from all of the object files? If not, perhaps this functionality still has its value? Maybe we should make it a "maint" command instead? > --- > gdb/NEWS | 4 + > gdb/doc/gdb.texinfo | 23 +----- > gdb/dwarf2/read.c | 85 ++-------------------- > gdb/dwarf2/read.h | 2 +- > gdb/machoread.c | 2 +- > gdb/main.c | 24 +----- > gdb/objfile-flags.h | 11 +-- > gdb/symfile.c | 83 ++++----------------- > gdb/symfile.h | 6 +- > gdb/testsuite/boards/README | 3 +- > gdb/testsuite/boards/readnow.exp | 27 ------- > gdb/testsuite/gdb.ada/call_pn.exp | 9 +-- > gdb/testsuite/gdb.ada/data-sections.exp | 8 +- > .../gdb.arch/arm-pthread_cond_timedwait-bt.exp | 4 - > gdb/testsuite/gdb.base/bfd-errors.exp | 10 +-- > .../gdb.base/break-on-linker-gcd-function.exp | 9 --- > gdb/testsuite/gdb.base/c-linkage-name.exp | 23 ++---- > gdb/testsuite/gdb.base/cached-source-file.exp | 3 +- > gdb/testsuite/gdb.base/code_elim.exp | 15 ---- > gdb/testsuite/gdb.base/include-main.exp | 6 +- > gdb/testsuite/gdb.base/index-cache.exp | 4 +- > gdb/testsuite/gdb.base/list-ambiguous-readnow.exp | 22 ------ > gdb/testsuite/gdb.base/main-c.exp | 2 - > .../gdb.base/maint-expand-symbols-header-file.exp | 4 - > gdb/testsuite/gdb.base/maint.exp | 20 ++--- > gdb/testsuite/gdb.base/readnever.exp | 25 ------- > gdb/testsuite/gdb.base/relocate.exp | 27 +++---- > gdb/testsuite/gdb.base/signed-builtin-types.exp | 5 -- > gdb/testsuite/gdb.base/style.exp | 11 +-- > gdb/testsuite/gdb.cp/main-cp.exp | 2 - > gdb/testsuite/gdb.cp/nsalias.exp | 12 +-- > gdb/testsuite/gdb.cp/psymtab-parameter.exp | 6 +- > gdb/testsuite/gdb.cp/readnow-language.cc | 22 ------ > gdb/testsuite/gdb.cp/readnow-language.exp | 27 ------- > .../gdb.debuginfod/build-id-no-debug-warning.exp | 2 +- > gdb/testsuite/gdb.debuginfod/crc_mismatch.exp | 2 +- > .../gdb.dwarf2/backward-spec-inter-cu.exp | 1 - > .../debug-aranges-duplicate-offset-warning.exp | 19 ++--- > .../gdb.dwarf2/debug-names-missing-cu.exp | 4 - > gdb/testsuite/gdb.dwarf2/debug-names-tu.exp.tcl | 4 - > .../gdb.dwarf2/dw-form-strx-out-of-bounds.exp | 4 - > .../gdb.dwarf2/dw2-bad-parameter-type.exp | 2 +- > gdb/testsuite/gdb.dwarf2/dw2-error.exp | 1 - > gdb/testsuite/gdb.dwarf2/dw2-icycle.exp | 11 +-- > gdb/testsuite/gdb.dwarf2/dw2-missing-cu-tag.exp | 22 +----- > gdb/testsuite/gdb.dwarf2/dw2-modula2-self-type.exp | 2 +- > gdb/testsuite/gdb.dwarf2/dw2-stack-boundary.exp | 5 -- > .../gdb.dwarf2/dw2-symtab-includes-lookup.exp | 6 +- > gdb/testsuite/gdb.dwarf2/dw2-symtab-includes.exp | 4 - > gdb/testsuite/gdb.dwarf2/dw2-using-debug-str.exp | 15 +--- > gdb/testsuite/gdb.dwarf2/dw2-var-zero-addr.exp | 9 --- > gdb/testsuite/gdb.dwarf2/dw2-zero-range.exp | 22 ++---- > gdb/testsuite/gdb.dwarf2/dw4-sig-type-unused.exp | 7 +- > gdb/testsuite/gdb.dwarf2/dwznolink.exp | 6 +- > gdb/testsuite/gdb.dwarf2/enum-type-c++.exp | 2 - > gdb/testsuite/gdb.dwarf2/enum-type.exp | 1 - > gdb/testsuite/gdb.dwarf2/forward-spec-inter-cu.exp | 1 - > gdb/testsuite/gdb.dwarf2/forward-spec.exp | 2 - > gdb/testsuite/gdb.dwarf2/gdb-index-nodebug.exp | 3 +- > gdb/testsuite/gdb.dwarf2/gdb-index-tilde.exp | 3 - > .../gdb.dwarf2/gdb-index-types-dwarf5.exp | 4 - > gdb/testsuite/gdb.dwarf2/gdb-index.exp | 3 - > gdb/testsuite/gdb.dwarf2/macro-complaints.exp | 1 - > gdb/testsuite/gdb.dwarf2/multidictionary.exp | 10 +-- > gdb/testsuite/gdb.dwarf2/no-expand-mixed-case.exp | 2 - > gdb/testsuite/gdb.dwarf2/nostaticblock.exp | 7 +- > gdb/testsuite/gdb.dwarf2/per-bfd-sharing.exp | 11 +-- > gdb/testsuite/gdb.dwarf2/self-spec.exp | 2 - > gdb/testsuite/gdb.fortran/info-main.exp | 14 +--- > gdb/testsuite/gdb.gdb/index-file.exp | 3 - > gdb/testsuite/gdb.gdb/python-helper.exp | 2 +- > gdb/testsuite/gdb.mi/mi-info-sources.exp | 6 +- > gdb/testsuite/gdb.multi/remove-inferiors.exp | 3 +- > gdb/testsuite/gdb.opt/break-on-_exit.exp | 6 -- > gdb/testsuite/gdb.python/py-symbol.exp | 11 +-- > gdb/testsuite/gdb.server/target-exec-file.exp | 7 -- > gdb/testsuite/gdb.threads/detach-step-over.exp | 3 +- > gdb/testsuite/lib/gdb.exp | 21 +----- > gdb/testsuite/lib/mi-support.exp | 8 -- > gdb/testsuite/make-check-all.sh | 1 - > 80 files changed, 137 insertions(+), 694 deletions(-) The documentation parts of this are okay, thanks. Reviewed-By: Eli Zaretskii