From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id cRg4CM/PjGn0HDYAWB0awg (envelope-from ) for ; Wed, 11 Feb 2026 13:51:59 -0500 Authentication-Results: simark.ca; dkim=fail reason="signature verification failed" (768-bit key; unprotected) header.d=tromey.com header.i=@tromey.com header.a=rsa-sha256 header.s=default header.b=jUSOCJGI; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 1948A378002; Wed, 11 Feb 2026 13:51:59 -0500 (EST) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIM_INVALID,DKIM_SIGNED,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 750041E08D for ; Wed, 11 Feb 2026 13:51:54 -0500 (EST) Received: from vm01.sourceware.org (localhost [127.0.0.1]) by sourceware.org (Postfix) with ESMTP id DD42E4BA2E3D for ; Wed, 11 Feb 2026 18:51:53 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org DD42E4BA2E3D Authentication-Results: sourceware.org; dkim=fail reason="signature verification failed" (768-bit key, unprotected) header.d=tromey.com header.i=@tromey.com header.a=rsa-sha256 header.s=default header.b=jUSOCJGI Received: from omta040.useast.a.cloudfilter.net (omta040.useast.a.cloudfilter.net [44.202.169.39]) by sourceware.org (Postfix) with ESMTPS id D18CE4BA23D1 for ; Wed, 11 Feb 2026 18:49:15 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org D18CE4BA23D1 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=tromey.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=tromey.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org D18CE4BA23D1 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=44.202.169.39 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1770835755; cv=none; b=XD98dMmDEI+BJx4PBslohpwYLEOtQZlrIZGXILTgE5YlwIFperctsVJcJt7DhreFqoIV85XyNXVWPmpDvKFZ51awT5t79YWihZ7eWcO0KjzmeJYoFmjs9xINFe6Q34bRlFCWLZlwCvSQPZlkIS1xU48NpcNrr1cLufYxHN/st1I= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1770835755; c=relaxed/simple; bh=w+HDcbZ/H48E4UD9Is8OMWR0svobVAdCvPN7SN4CJd0=; h=DKIM-Signature:From:Date:Subject:MIME-Version:Message-Id:To; b=m8Bl0XZm2QplZX+tRLn27cpJBHAP9ch9c6DUo0PjCjO449p421gHb0b2FNOD1mX1zyU7iluzGLdAwtTcffaexudRsOH7P4wrHkJUJSC1YO4Ncvu2PEO+bGZLexnkA9s9zEUvtrd/EsZ2tuipu/buMb65UYW5By45ltuIvmOd+xw= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D18CE4BA23D1 Received: from eig-obgw-6003b.ext.cloudfilter.net ([10.0.30.175]) by cmsmtp with ESMTPS id qD6cv51mRCxrGqFH1vnSIx; Wed, 11 Feb 2026 18:49:15 +0000 Received: from box5379.bluehost.com ([162.241.216.53]) by cmsmtp with ESMTPS id qFH0vIUdDhoT4qFH0vLNJS; Wed, 11 Feb 2026 18:49:14 +0000 X-Authority-Analysis: v=2.4 cv=XZyJzJ55 c=1 sm=1 tr=0 ts=698ccf2a a=ApxJNpeYhEAb1aAlGBBbmA==:117 a=ApxJNpeYhEAb1aAlGBBbmA==:17 a=IkcTkHD0fZMA:10 a=HzLeVaNsDn8A:10 a=ItBw4LHWJt0A:10 a=CCpqsmhAAAAA:8 a=mDV3o1hIAAAA:8 a=bqZzi0m8QDveXSvG3ZwA:9 a=mmal8JpuNNnP0OBW:21 a=QEXdDO2ut3YA:10 a=ul9cdbp4aOFLsgKbc677:22 a=DCx65vhANUyCzuf5D8fC:22 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tromey.com; s=default; h=Cc:To:In-Reply-To:References:Message-Id: Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date:From:Sender: Reply-To: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=Ka6ykx78OdWKR6yUp+4ZICPamUwrDvQOTDd6N1FK5OM=; b=jUSOCJGIdW4W2bpPT/UeTZC2BQ ZeU0nu71ZR5DOi4YbAFeVJSmAp/IYZqLVZBChjrii5eiyIryywsCv9TXcWHmVbBA8TDUWik+C8TiF Jk1jJJlhyVeXfXXZCxnuWu9Km; Received: from 97-118-49-200.hlrn.qwest.net ([97.118.49.200]:53372 helo=[192.168.122.1]) by box5379.bluehost.com with esmtpsa (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1vqFH0-000000016j8-0Cn6; Wed, 11 Feb 2026 11:49:14 -0700 From: Tom Tromey Date: Wed, 11 Feb 2026 11:49:09 -0700 Subject: [PATCH RFC 1/2] Remove "readnow" support MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20260211-nuke-readnow-v1-1-7eed7148eec6@tromey.com> References: <20260211-nuke-readnow-v1-0-7eed7148eec6@tromey.com> In-Reply-To: <20260211-nuke-readnow-v1-0-7eed7148eec6@tromey.com> To: gdb-patches@sourceware.org Cc: Tom Tromey X-Mailer: b4 0.14.3 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: 97.118.49.200 X-Source-L: No X-Exim-ID: 1vqFH0-000000016j8-0Cn6 X-Source: X-Source-Args: X-Source-Dir: X-Source-Sender: 97-118-49-200.hlrn.qwest.net ([192.168.122.1]) [97.118.49.200]:53372 X-Source-Auth: tom+tromey.com X-Email-Count: 2 X-Org: HG=bhshared;ORG=bluehost; X-Source-Cap: ZWx5bnJvYmk7ZWx5bnJvYmk7Ym94NTM3OS5ibHVlaG9zdC5jb20= X-Local-Domain: yes X-CMAE-Envelope: MS4xfKURGcy1xfyGpVH/+J08HCcYRq/iYIXBRcBW7wqVkYgIgz1+wV97Yr/cA7gprE1VY410sMCephqyp+FAA86Pmd3ruu6zD8Bv0Eq2RSzOf/PSIZ7leZI/ t7bDQyOQ7ndLg4j4FaqEgSeMrm+ruMiL6z32s+5/f4K+9w97/YbPtxDFirXAEAFF2tox8DmCndfVwDugjDwVKhtELS/2KThvWNI= 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 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. This patch removes the feature, leaving the command-line options (including in the CLI) in place. This also removes most mentions from the test suite. In some places the use of readnow was replaced by "maint expand-symtabs". In one spot the option was left alone, because it is simplly testing the CLI argument parsing. Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=33496 --- 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(-) diff --git a/gdb/NEWS b/gdb/NEWS index fa6e7ca6121..b422d4fd1dd 100644 --- a/gdb/NEWS +++ b/gdb/NEWS @@ -19,6 +19,10 @@ this flag is used gdbserver will not escape special shell characters within the inferior arguments. +* The -readnow option now does nothing. It is still accepted, but has + no effect. This applies to the 'symbol-file', and 'add-symbol-file' + commands as well. + * The add-inferior, clone-inferior, and MI -add-inferior commands will now give a warning, and create the new inferior without a connection, when the current inferior's connection, at the time the diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index 5169be1965c..31bcd7bc858 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -1070,14 +1070,6 @@ process, before any output is produced. @cindex @code{-d} Add @var{directory} to the path to search for source and script files. -@item -r -@itemx -readnow -@cindex @code{--readnow} -@cindex @code{-r} -Read each symbol file's entire symbol table immediately, rather than -the default, which is to read it incrementally as it is needed. -This makes startup slower, but makes future operations faster. - @item --readnever @anchor{--readnever} @cindex @code{--readnever}, command-line option @@ -22068,16 +22060,6 @@ We have not implemented the two-stage strategy for COFF yet. When the symbol table is stored in COFF format, @code{symbol-file} reads the symbol table data in full right away. -@kindex readnow -@cindex reading symbols immediately -@cindex symbols, reading immediately -@item symbol-file @r{[} -readnow @r{]} @var{filename} -@itemx file @r{[} -readnow @r{]} @var{filename} -You can override the @value{GDBN} two-stage strategy for reading symbol -tables by using the @samp{-readnow} option with any of the commands that -load symbol table information, if you want to be sure @value{GDBN} has the -entire symbol table available. - @cindex @code{-readnever}, option for symbol-file command @cindex never read symbols @cindex symbols, never read @@ -22118,7 +22100,7 @@ To see which core files are loaded into which inferiors, use the @kindex add-symbol-file @cindex dynamic linking -@item add-symbol-file @var{filename} @r{[} -readnow @r{|} -readnever @r{]} @r{[} -o @var{offset} @r{]} @r{[} @var{textaddress} @r{]} @r{[} -s @var{section} @var{address} @dots{} @r{]} +@item add-symbol-file @var{filename} @r{[} -readnever @r{]} @r{[} -o @var{offset} @r{]} @r{[} @var{textaddress} @r{]} @r{[} -s @var{section} @var{address} @dots{} @r{]} The @code{add-symbol-file} command reads additional symbol table information from the file @var{filename}. You would use this command when @var{filename} has been dynamically loaded (by some other means) @@ -51712,9 +51694,6 @@ Attach @value{GDBN} to an already running program, with the PID @var{pid}. @item --tui Open the terminal user interface. -@item --readnow -Read all symbols from the given symfile on the first access. - @item --readnever Do not read symbol files. diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c index 6061df0ecb8..e3c68b0340c 100644 --- a/gdb/dwarf2/read.c +++ b/gdb/dwarf2/read.c @@ -1185,13 +1185,8 @@ dwarf2_has_info (struct objfile *objfile, dwarf2_per_bfd *per_bfd; /* We can share a "dwarf2_per_bfd" with other objfiles if the - BFD doesn't require relocations. - - We don't share with objfiles for which -readnow was requested, - because it would complicate things when loading the same BFD with - -readnow and then without -readnow. */ - if (!gdb_bfd_requires_relocations (objfile->obfd.get ()) - && (objfile->flags & OBJF_READNOW) == 0) + BFD doesn't require relocations. */ + if (!gdb_bfd_requires_relocations (objfile->obfd.get ())) { /* See if one has been created for this BFD yet. */ per_bfd = dwarf2_per_bfd_bfd_data_key.get (objfile->obfd.get ()); @@ -1478,65 +1473,6 @@ struct quick_file_names const char **real_names; }; -/* With OBJF_READNOW, the DWARF reader expands all CUs immediately. - It's handy in this case to have an empty implementation of the - quick symbol functions, to avoid special cases in the rest of the - code. */ - -struct readnow_functions : public dwarf2_base_index_functions -{ - void dump (struct objfile *objfile) override - { - } - - bool search (struct objfile *objfile, - search_symtabs_file_matcher file_matcher, - const lookup_name_info *lookup_name, - search_symtabs_symbol_matcher symbol_matcher, - search_symtabs_expansion_listener listener, - block_search_flags search_flags, - domain_search_flags domain, - search_symtabs_lang_matcher lang_matcher) override - { - dwarf2_per_objfile *per_objfile = get_dwarf2_per_objfile (objfile); - auto_bool_vector cus_to_skip; - dw_search_file_matcher (per_objfile, cus_to_skip, file_matcher); - - for (const auto &per_cu : per_objfile->per_bfd->all_units) - { - QUIT; - - /* Skip various types of unit that should not be searched - directly: partial units and dummy units. */ - if (/* Note that we request the non-strict unit type here. If - there was an error while reading, like in - dw-form-strx-out-of-bounds.exp, then the unit type may - not be set. */ - per_cu->unit_type (false) == DW_UT_partial - || per_cu->unit_type (false) == 0 - || per_objfile->get_symtab (per_cu.get ()) == nullptr) - continue; - if (!dw2_search_one (per_cu.get (), per_objfile, cus_to_skip, - file_matcher, listener, lang_matcher)) - return false; - } - return true; - } - - struct symbol *find_symbol_by_address (struct objfile *objfile, - CORE_ADDR address) override - { - for (compunit_symtab &symtab : objfile->compunits ()) - { - struct symbol *sym = symtab.symbol_at_address (address); - if (sym != nullptr) - return sym; - } - - return nullptr; - } -}; - /* See read.h. */ std::uint64_t @@ -2335,20 +2271,9 @@ dwarf2_initialize_objfile (struct objfile *objfile, dwarf_read_debug_printf ("called"); - /* If we're about to read full symbols, don't bother with the - indices. In this case we also don't care if some other debug - format is making psymtabs, because they are all about to be - expanded anyway. */ - if ((objfile->flags & OBJF_READNOW)) - { - dwarf_read_debug_printf ("readnow requested"); - - create_all_units (per_objfile); - objfile->qf.emplace_front (new readnow_functions); - } /* Was a GDB index already read when we processed an objfile sharing PER_BFD? */ - else if (per_bfd->index_table != nullptr) + if (per_bfd->index_table != nullptr) dwarf_read_debug_printf ("reusing symbols"); else if (dwarf2_read_debug_names (per_objfile)) dwarf_read_debug_printf ("found debug names"); @@ -6053,8 +5978,8 @@ dwarf2_cu::setup_type_unit_groups (struct die_info *die) attr = dwarf2_attr (die, DW_AT_stmt_list, this); - /* If we're using .gdb_index (includes -readnow) then - per_cu->type_unit_group may not have been set up yet. */ + /* If we're using .gdb_index then per_cu->type_unit_group may not + have been set up yet. */ if (!sig_type->type_unit_group_key.has_value ()) sig_type->type_unit_group_key = get_type_unit_group_key (this, attr); diff --git a/gdb/dwarf2/read.h b/gdb/dwarf2/read.h index bf1fab4c34f..76a8a73fec7 100644 --- a/gdb/dwarf2/read.h +++ b/gdb/dwarf2/read.h @@ -713,7 +713,7 @@ struct dwarf2_per_bfd VMA of 0. */ bool has_section_at_zero = false; - /* The mapped index, or NULL in the readnow case. */ + /* The mapped index. */ dwarf_scanner_base_up index_table; /* When using index_table, this keeps track of all quick_file_names entries. diff --git a/gdb/machoread.c b/gdb/machoread.c index 334e3b41b6a..d86eae01f1a 100644 --- a/gdb/machoread.c +++ b/gdb/machoread.c @@ -580,7 +580,7 @@ macho_add_oso_symfile (oso_el *oso, const gdb_bfd_ref_ptr &abfd, symbol_file_add_from_bfd (abfd, name, symfile_flags & ~(SYMFILE_MAINLINE | SYMFILE_VERBOSE), NULL, - main_objfile->flags & (OBJF_SHARED | OBJF_READNOW | OBJF_USERLOADED), + main_objfile->flags & (OBJF_SHARED | OBJF_USERLOADED), main_objfile); } diff --git a/gdb/main.c b/gdb/main.c index a4e6cddef70..12544f2cefd 100644 --- a/gdb/main.c +++ b/gdb/main.c @@ -538,19 +538,6 @@ symbol_file_add_main_adapter (const char *arg, int from_tty) symbol_file_add_main (arg, add_flags); } -/* Perform validation of the '--readnow' and '--readnever' flags. */ - -static void -validate_readnow_readnever () -{ - if (readnever_symbol_files && readnow_symbol_files) - { - error (_("%s: '--readnow' and '--readnever' cannot be " - "specified simultaneously"), - gdb_program_name); - } -} - /* Type of this option. */ enum cmdarg_kind { @@ -1031,17 +1018,11 @@ captured_main_1 (struct captured_main_args *context) break; case OPT_READNOW: - { - readnow_symbol_files = 1; - validate_readnow_readnever (); - } + /* Ignore. */ break; case OPT_READNEVER: - { - readnever_symbol_files = 1; - validate_readnow_readnever (); - } + readnever_symbol_files = 1; break; #ifdef USE_WIN32API @@ -1437,7 +1418,6 @@ Selection of debuggee and its files:\n\n\ --directory=DIR Search for source files in DIR.\n\ --se=FILE Use FILE as symbol file and executable file.\n\ --symbols=SYMFILE Read symbols from SYMFILE.\n\ - --readnow Fully read symbol files on first access.\n\ --readnever Do not read symbol files.\n\ --write Set writing into executable and core files.\n\n\ "), stream); diff --git a/gdb/objfile-flags.h b/gdb/objfile-flags.h index 3f362fc5fa5..cd2bbd7752b 100644 --- a/gdb/objfile-flags.h +++ b/gdb/objfile-flags.h @@ -33,29 +33,26 @@ enum objfile_flag : unsigned any other mechanism that loads dynamic objects. */ OBJF_SHARED = 1 << 0, /* From a shared library */ - /* User requested that this objfile be read in it's entirety. */ - OBJF_READNOW = 1 << 1, /* Immediate full read */ - /* This objfile was created because the user explicitly caused it (e.g., used the add-symbol-file command). This bit offers a way for run_command to remove old objfile entries which are no longer valid (i.e., are associated with an old inferior), but to preserve ones that the user explicitly loaded via the add-symbol-file command. */ - OBJF_USERLOADED = 1 << 2, /* User loaded */ + OBJF_USERLOADED = 1 << 1, /* User loaded */ /* Set if this is the main symbol file (as opposed to symbol file for dynamically loaded code). */ - OBJF_MAINLINE = 1 << 4, + OBJF_MAINLINE = 1 << 2, /* ORIGINAL_NAME and OBFD->FILENAME correspond to text description unrelated to filesystem names. It can be for example "". */ - OBJF_NOT_FILENAME = 1 << 5, + OBJF_NOT_FILENAME = 1 << 3, /* User requested that we do not read this objfile's symbolic information. */ - OBJF_READNEVER = 1 << 6, + OBJF_READNEVER = 1 << 4, }; DEF_ENUM_FLAGS_TYPE (enum objfile_flag, objfile_flags); diff --git a/gdb/symfile.c b/gdb/symfile.c index aadb449153e..7adf7158d3b 100644 --- a/gdb/symfile.c +++ b/gdb/symfile.c @@ -77,10 +77,6 @@ using clear_symtab_users_cleanup /* See symfile.h. */ -int readnow_symbol_files; - -/* See symfile.h. */ - int readnever_symbol_files; /* Functions this file defines. */ @@ -1018,16 +1014,10 @@ symbol_file_add_with_addrs (const gdb_bfd_ref_ptr &abfd, const char *name, const int mainline = add_flags & SYMFILE_MAINLINE; const int always_confirm = add_flags & SYMFILE_ALWAYS_CONFIRM; const int should_print = (print_symbol_loading_p (from_tty, mainline, 1) - && (readnow_symbol_files - || (add_flags & SYMFILE_NO_READ) == 0)); + && (add_flags & SYMFILE_NO_READ) == 0); - if (readnow_symbol_files) - { - flags |= OBJF_READNOW; - add_flags &= ~SYMFILE_NO_READ; - } - else if (readnever_symbol_files - || (parent != NULL && (parent->flags & OBJF_READNEVER))) + if (readnever_symbol_files + || (parent != NULL && (parent->flags & OBJF_READNEVER))) { flags |= OBJF_READNEVER; add_flags |= SYMFILE_NO_READ; @@ -1065,20 +1055,6 @@ symbol_file_add_with_addrs (const gdb_bfd_ref_ptr &abfd, const char *name, } syms_from_objfile (objfile, addrs, add_flags); - /* We now have at least a partial symbol table. Check to see if the - user requested that all symbols be read on initial access via either - the gdb startup command line or on a per symbol file basis. Expand - all partial symbol tables for this objfile if so. */ - - if ((flags & OBJF_READNOW)) - { - if (should_print) - gdb_printf (_("Expanding full symbols from %ps...\n"), - styled_string (file_name_style.style (), name)); - - objfile->expand_all_symtabs (); - } - /* Note that we only print a message if we have no symbols and have no separate debug file. If there is a separate debug file which does not have symbols, we'll have emitted this message for that @@ -1122,8 +1098,7 @@ symbol_file_add_separate (const gdb_bfd_ref_ptr &bfd, const char *name, symbol_file_add_with_addrs (bfd, name, symfile_flags, &sap, - objfile->flags & (OBJF_SHARED | OBJF_READNOW - | OBJF_USERLOADED | OBJF_MAINLINE), + objfile->flags & (OBJF_SHARED | OBJF_USERLOADED | OBJF_MAINLINE), objfile); } @@ -1530,16 +1505,6 @@ find_separate_debug_file_by_debuglink return debugfile; } -/* Make sure that OBJF_{READNOW,READNEVER} are not set - simultaneously. */ - -static void -validate_readnow_readnever (objfile_flags flags) -{ - if ((flags & OBJF_READNOW) && (flags & OBJF_READNEVER)) - error (_("-readnow and -readnever cannot be used simultaneously")); -} - /* See symfile.h. */ void @@ -1575,7 +1540,9 @@ symbol_file_command (const char *args, int from_tty) error (_("Unrecognized argument \"%s\""), arg); } else if (strcmp (arg, "-readnow") == 0) - flags |= OBJF_READNOW; + { + /* Ignore. */ + } else if (strcmp (arg, "-readnever") == 0) flags |= OBJF_READNEVER; else if (strcmp (arg, "-o") == 0) @@ -1595,8 +1562,6 @@ symbol_file_command (const char *args, int from_tty) if (name == NULL) error (_("no symbol file name was specified")); - validate_readnow_readnever (flags); - /* Set SYMFILE_DEFER_BP_RESET because the proper displacement for a PIE (Position Independent Executable) main symbol file will only be computed by the solib_create_inferior_hook below. Without it, @@ -2215,7 +2180,9 @@ add_symbol_file_command (const char *args, int from_tty) error (_("Unrecognized argument \"%s\""), arg); } else if (strcmp (arg, "-readnow") == 0) - flags |= OBJF_READNOW; + { + /* Ignore. */ + } else if (strcmp (arg, "-readnever") == 0) flags |= OBJF_READNEVER; else if (strcmp (arg, "-s") == 0) @@ -2248,8 +2215,6 @@ add_symbol_file_command (const char *args, int from_tty) if (filename == NULL) error (_("You must provide a filename to be loaded.")); - validate_readnow_readnever (flags); - /* Print the prompt for the query below. And save the arguments into a sect_addr_info structure to be passed around to other functions. We have to split this up into separate print @@ -2616,19 +2581,6 @@ reread_symbols (int from_tty) read_symbols (&objfile, 0); - if ((objfile.flags & OBJF_READNOW)) - { - const int mainline = objfile.flags & OBJF_MAINLINE; - const int should_print = (print_symbol_loading_p (from_tty, mainline, 1) - && readnow_symbol_files); - if (should_print) - gdb_printf (_("Expanding full symbols from %ps...\n"), - styled_string (file_name_style.style (), - objfile_name (&objfile))); - - objfile.expand_all_symtabs (); - } - if (!objfile.has_symbols ()) { gdb_stdout->wrap_here (0); @@ -3765,24 +3717,21 @@ INIT_GDB_FILE (symfile) add_symtab_fns (bfd_target_ihex_flavour, nullptr); add_symtab_fns (bfd_target_tekhex_flavour, nullptr); -#define READNOW_READNEVER_HELP \ - "The '-readnow' option will cause GDB to read the entire symbol file\n\ -immediately. This makes the command slower, but may make future operations\n\ -faster.\n\ -The '-readnever' option will prevent GDB from reading the symbol file's\n\ +#define READNEVER_HELP \ + "The '-readnever' option will prevent GDB from reading the symbol file's\n\ symbolic debug information." c = add_cmd ("symbol-file", class_files, symbol_file_command, _("\ Load symbol table from executable file FILE.\n\ -Usage: symbol-file [-readnow | -readnever] [-o OFF] FILE\n\ +Usage: symbol-file [-readnever] [-o OFF] FILE\n\ OFF is an optional offset which is added to each section address.\n\ The `file' command can also load symbol tables, as well as setting the file\n\ -to execute.\n" READNOW_READNEVER_HELP), &cmdlist); +to execute.\n" READNEVER_HELP), &cmdlist); set_cmd_completer (c, filename_maybe_quoted_completer); c = add_cmd ("add-symbol-file", class_files, add_symbol_file_command, _("\ Load symbols from FILE, assuming FILE has been dynamically loaded.\n\ -Usage: add-symbol-file FILE [-readnow|-readnever] [-o OFF] [ADDR]\n\ +Usage: add-symbol-file FILE [-readnever] [-o OFF] [ADDR]\n\ [-s SECT-NAME SECT-ADDR]...\n\ ADDR is the starting address of the file's text.\n\ Each '-s' argument provides a section name and address, and\n\ @@ -3790,7 +3739,7 @@ should be specified if the data and bss segments are not contiguous\n\ with the text. SECT-NAME is a section name to be loaded at SECT-ADDR.\n\ OFF is an optional offset which is added to the default load addresses\n\ of all sections for which no other address was specified.\n" -READNOW_READNEVER_HELP), +READNEVER_HELP), &cmdlist); set_cmd_completer (c, filename_maybe_quoted_completer); diff --git a/gdb/symfile.h b/gdb/symfile.h index f191db0c239..f1adf76975d 100644 --- a/gdb/symfile.h +++ b/gdb/symfile.h @@ -358,10 +358,6 @@ extern bool separate_debug_file_debug; scoped_debug_start_end (separate_debug_file_debug, \ "separate-debug-file", fmt, ##__VA_ARGS__) -/* Read full symbols immediately. */ - -extern int readnow_symbol_files; - /* Never read full symbols. */ extern int readnever_symbol_files; @@ -375,7 +371,7 @@ extern int readnever_symbol_files; the way things are quoted (or not quoted) elsewhere in GDB. 2. Options are used, which are not generally used in GDB (perhaps - "set mapped on", "set readnow on" would be better) + "set mapped on" would be better) 3. The order of options matters, which is contrary to GNU conventions (because it is confusing and inconvenient). */ diff --git a/gdb/testsuite/boards/README b/gdb/testsuite/boards/README index d9e5d06de10..52fcc3691a0 100644 --- a/gdb/testsuite/boards/README +++ b/gdb/testsuite/boards/README @@ -5,8 +5,7 @@ idea is to group similar boards together, and have one line to describe a board. # Modify gdb default flags. -readnow.exp - Run gdb with -readnow. +[ None right now ] # Post-process executable. cc-with-gdb-index.exp diff --git a/gdb/testsuite/boards/readnow.exp b/gdb/testsuite/boards/readnow.exp deleted file mode 100644 index a45f4d7a3d3..00000000000 --- a/gdb/testsuite/boards/readnow.exp +++ /dev/null @@ -1,27 +0,0 @@ -# Copyright 2019-2026 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -load_board_description "local-board" - -# Run all tests with -readnow -set GDBFLAGS "${GDBFLAGS} -readnow" - -# This is based on baseboards/unix.exp. -# At the moment we only support systems that unix.exp supports. -load_generic_config "unix" -process_multilib_options "" -set found_gcc [find_gcc] -set found_gxx [find_g++] -set_board_info compiler "$found_gcc" diff --git a/gdb/testsuite/gdb.ada/call_pn.exp b/gdb/testsuite/gdb.ada/call_pn.exp index ff234b9aa99..7207a7e739e 100644 --- a/gdb/testsuite/gdb.ada/call_pn.exp +++ b/gdb/testsuite/gdb.ada/call_pn.exp @@ -30,11 +30,10 @@ if {![runto "foo.adb:$bp_location"]} { return } -# The xfail mentioned below triggers for the "after" print, but may not -# trigger for the "before" print, though it will for -readnow. This is -# related to PR25764 - "LOC_UNRESOLVED symbol missing from partial symtab". -# Stabilize test results by ensuring that the xfail triggers for the "before" -# print. +# The xfail mentioned below triggers for the "after" print, but may +# not trigger for the "before" print. This is related to PR25764 - +# "LOC_UNRESOLVED symbol missing from partial symtab". Stabilize test +# results by ensuring that the xfail triggers for the "before" print. gdb_test_no_output {maint expand-symtabs "\(pck\|foo\)\.adb"} set have_xfail [expr {[gnat_version_compare >= 8] && [gnat_version_compare < 10]}] diff --git a/gdb/testsuite/gdb.ada/data-sections.exp b/gdb/testsuite/gdb.ada/data-sections.exp index 7425a2c3689..8830bbeecb0 100644 --- a/gdb/testsuite/gdb.ada/data-sections.exp +++ b/gdb/testsuite/gdb.ada/data-sections.exp @@ -25,10 +25,6 @@ if {[gdb_compile_ada "${srcfile}" "${binfile}" executable \ return } -# The bug was that the DWARF reader would crash when processing a -# certain symbol. -save_vars {GDBFLAGS} { - append GDBFLAGS " --readnow" +clean_restart ${testfile} - clean_restart ${testfile} -} +gdb_test_no_output "maint expand-symtabs" diff --git a/gdb/testsuite/gdb.arch/arm-pthread_cond_timedwait-bt.exp b/gdb/testsuite/gdb.arch/arm-pthread_cond_timedwait-bt.exp index 85ca6e78210..36e976357ef 100644 --- a/gdb/testsuite/gdb.arch/arm-pthread_cond_timedwait-bt.exp +++ b/gdb/testsuite/gdb.arch/arm-pthread_cond_timedwait-bt.exp @@ -20,10 +20,6 @@ # Require an architecture with the SVC instruction. require {is_any_target "aarch64*-*-*" "arm*-*-*"} -# See if we have target board readnow.exp or similar. We're using -# --readnever, which is not allowed in combination with --readnow. -require !readnow - standard_testfile if { [build_executable "failed to prepare" ${testfile} ${srcfile} \ diff --git a/gdb/testsuite/gdb.base/bfd-errors.exp b/gdb/testsuite/gdb.base/bfd-errors.exp index 93d108cc148..77a1490e15e 100644 --- a/gdb/testsuite/gdb.base/bfd-errors.exp +++ b/gdb/testsuite/gdb.base/bfd-errors.exp @@ -147,12 +147,11 @@ if { [catch {exec $objcopy_program \ return -1 } -clean_restart +clean_restart $binfile_lib # Count number of distinct BFD error messages via 'bfd_error_count' -# array while using add-symbol-file to "load" the shared library. -gdb_test_multiple "add-symbol-file -readnow $binfile_lib" \ - "load library with add-symbol-file" { +# array. +gdb_test_multiple "maint expand-symtabs " "expand symtabs" { -re "add symbol table from file.*\(y or n\)" { send_gdb "y\n" answer exp_continue @@ -161,9 +160,6 @@ gdb_test_multiple "add-symbol-file -readnow $binfile_lib" \ incr bfd_error_count($expect_out(1,string)) exp_continue } - -re "Expanding full symbols from.*$gdb_prompt $" { - pass $gdb_test_name - } } # Examine counts recorded in the 'bfd_error_count' array to see if any diff --git a/gdb/testsuite/gdb.base/break-on-linker-gcd-function.exp b/gdb/testsuite/gdb.base/break-on-linker-gcd-function.exp index 780b226a373..25174e6a142 100644 --- a/gdb/testsuite/gdb.base/break-on-linker-gcd-function.exp +++ b/gdb/testsuite/gdb.base/break-on-linker-gcd-function.exp @@ -50,12 +50,3 @@ proc set_breakpoint_on_gcd_function {} { } set_breakpoint_on_gcd_function - -save_vars { GDBFLAGS } { - set GDBFLAGS "$GDBFLAGS --readnow" - clean_restart ${testfile} -} - -with_test_prefix "readnow" { - set_breakpoint_on_gcd_function -} diff --git a/gdb/testsuite/gdb.base/c-linkage-name.exp b/gdb/testsuite/gdb.base/c-linkage-name.exp index f0c0f6e87ec..c7e66049935 100644 --- a/gdb/testsuite/gdb.base/c-linkage-name.exp +++ b/gdb/testsuite/gdb.base/c-linkage-name.exp @@ -28,27 +28,16 @@ if { [gdb_compile "${sources}" "${binfile}" executable {debug}] != "" } { clean_restart gdb_test_no_output "set language c" gdb_load ${binfile} -set readnow [readnow] set test "verify no symtab expansion" -if { $readnow } { - unsupported $test -} else { - # Verify that symtab expansion has not taken place. - - gdb_test_no_output "maint info symtabs" $test -} +# Verify that symtab expansion has not taken place. +gdb_test_no_output "maint info symtabs" $test set test "print symada__cS before partial symtab expansion" -if { $readnow } { - unsupported $test -} else { - # Try to print MUNDANE, but using its linkage name. - - gdb_test "print symada__cS" \ - " = {a = 100829103}" \ - "print symada__cS before partial symtab expansion" -} +# Try to print MUNDANE, but using its linkage name. +gdb_test "print symada__cS" \ + " = {a = 100829103}" \ + "print symada__cS before partial symtab expansion" # Force the symbols to be expanded for the unit that contains # our symada__cS symbol by, e.g. inserting a breakpoint on one diff --git a/gdb/testsuite/gdb.base/cached-source-file.exp b/gdb/testsuite/gdb.base/cached-source-file.exp index 19b62a4a376..28cde695f3e 100644 --- a/gdb/testsuite/gdb.base/cached-source-file.exp +++ b/gdb/testsuite/gdb.base/cached-source-file.exp @@ -92,8 +92,7 @@ set q \ set binregex [string_to_regexp $binfile] set re \ [multi_line \ - "\\`$binregex\\' has changed; re-reading symbols\\.(" \ - "Expanding full symbols from $binfile\\.\\.\\.)?" \ + "\\`$binregex\\' has changed; re-reading symbols\\." \ "Starting program: ${binregex}.*"] gdb_test "run" $re "rerun program" $q y diff --git a/gdb/testsuite/gdb.base/code_elim.exp b/gdb/testsuite/gdb.base/code_elim.exp index 86714346201..c79b4793b43 100644 --- a/gdb/testsuite/gdb.base/code_elim.exp +++ b/gdb/testsuite/gdb.base/code_elim.exp @@ -90,21 +90,6 @@ with_test_prefix "single psymtabs" { not_null_var_address main } -# Same thing for symtabs - -gdb_exit -save_vars { GDBFLAGS } { - set GDBFLAGS "$GDBFLAGS --readnow $binfile1" - gdb_start -} - -with_test_prefix "single symtabs" { - test_eliminated_var my_global_symbol - test_eliminated_var my_static_symbol - test_eliminated_var my_global_func - not_null_var_address main -} - # binfile2 contains the symbols that have been eliminated in binfile1. Check # the eliminated symbols does not hide these valid ones. diff --git a/gdb/testsuite/gdb.base/include-main.exp b/gdb/testsuite/gdb.base/include-main.exp index a3972675f7d..54800552188 100644 --- a/gdb/testsuite/gdb.base/include-main.exp +++ b/gdb/testsuite/gdb.base/include-main.exp @@ -32,10 +32,8 @@ gdb_test_no_output "set language c" gdb_load $binfile -if { ! [readnow] } { - # Verify that no CU was expanded. - gdb_test_no_output "maint info symtab" -} +# Verify that no CU was expanded. +gdb_test_no_output "maint info symtab" # List a line in include-main.c. The tricky bit is that there's no code in # include-main.c, so the file should not occur in the .debug_line info. diff --git a/gdb/testsuite/gdb.base/index-cache.exp b/gdb/testsuite/gdb.base/index-cache.exp index db0ab054e86..b6d3679835f 100644 --- a/gdb/testsuite/gdb.base/index-cache.exp +++ b/gdb/testsuite/gdb.base/index-cache.exp @@ -27,10 +27,8 @@ if { [build_executable "failed to prepare" $testfile [list $srcfile $srcfile2] \ # account in this test: # # - the binary already has an index section -# - we use the -readnow switch set has_index_section [exec_has_index_section $binfile] -set uses_readnow [expr {[string first "-readnow" $GDBFLAGS] != -1}] -set expecting_index_cache_use [expr {!$has_index_section && !$uses_readnow}] +set expecting_index_cache_use [expr {!$has_index_section}] # List the files in DIR on the host (where GDB-under-test runs). # Return a list of two elements: diff --git a/gdb/testsuite/gdb.base/list-ambiguous-readnow.exp b/gdb/testsuite/gdb.base/list-ambiguous-readnow.exp deleted file mode 100644 index 23e453e48bf..00000000000 --- a/gdb/testsuite/gdb.base/list-ambiguous-readnow.exp +++ /dev/null @@ -1,22 +0,0 @@ -# Copyright 2020-2026 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# Run list-ambiguous.exp with -readnow. - -save_vars { GDBFLAGS } { - append GDBFLAGS " -readnow" - - source $srcdir/$subdir/list-ambiguous.exp -} diff --git a/gdb/testsuite/gdb.base/main-c.exp b/gdb/testsuite/gdb.base/main-c.exp index 1ae8a44a64e..2def311309e 100644 --- a/gdb/testsuite/gdb.base/main-c.exp +++ b/gdb/testsuite/gdb.base/main-c.exp @@ -18,8 +18,6 @@ standard_testfile main.c -require !readnow - if { [prepare_for_testing "failed to prepare" $testfile $srcfile] } { return -1 } diff --git a/gdb/testsuite/gdb.base/maint-expand-symbols-header-file.exp b/gdb/testsuite/gdb.base/maint-expand-symbols-header-file.exp index 96c2575bd9b..1afec2afafa 100644 --- a/gdb/testsuite/gdb.base/maint-expand-symbols-header-file.exp +++ b/gdb/testsuite/gdb.base/maint-expand-symbols-header-file.exp @@ -30,10 +30,6 @@ gdb_test_no_output "set language c" gdb_load ${binfile} set test "verify no symtabs are expanded" -if { [readnow] } { - unsupported $test - return -1 -} gdb_test_no_output "maint info symtabs" $test # Expand the header file symtab. diff --git a/gdb/testsuite/gdb.base/maint.exp b/gdb/testsuite/gdb.base/maint.exp index 11439ebc120..9172d980fe6 100644 --- a/gdb/testsuite/gdb.base/maint.exp +++ b/gdb/testsuite/gdb.base/maint.exp @@ -86,8 +86,6 @@ with_test_prefix "warnings" { # need to expect the warning. } -set readnow_p [readnow] - # The commands we test here produce many lines of output; disable "press # to continue" prompts. gdb_test_no_output "set height 0" @@ -134,11 +132,7 @@ gdb_test_multiple "mt expand-symtabs $subdir/break\[.\]c$" \ pass "$gdb_test_name" } -re "#compunits: ($decimal) \\(\[+\]0\\),.*$gdb_prompt $" { - if { $readnow_p } { - pass "$gdb_test_name" - } else { - fail "$gdb_test_name" - } + fail "$gdb_test_name" } } gdb_test "mt set per off" ".*" "mt set per off for expand-symtabs" @@ -178,7 +172,7 @@ if { $index_cache_misses == 0 && $using_index_cache } { set have_gdb_index 1 } -set have_psyms [expr {! ( $have_gdb_index || $readnow_p )}] +set have_psyms [expr {! ( $have_gdb_index )}] # # this command does not produce any output @@ -471,12 +465,10 @@ gdb_test "maint info line-table ${srcfile}" \ "symtab: \[^\n\r\]+${srcfile}.*INDEX.*LINE.*ADDRESS.*" \ "maint info line-table with filename of current symtab" -if { ! $readnow_p } { - gdb_test_no_output "maint info line-table ${srcfile2}" \ - [join \ - "maint info line-table with filename of symtab that is not" \ - " currently expanded"] -} +gdb_test_no_output "maint info line-table ${srcfile2}" \ + [join \ + "maint info line-table with filename of symtab that is not" \ + " currently expanded"] gdb_test_no_output "maint expand-symtabs" diff --git a/gdb/testsuite/gdb.base/readnever.exp b/gdb/testsuite/gdb.base/readnever.exp index fac6233ac7a..79005c8692c 100644 --- a/gdb/testsuite/gdb.base/readnever.exp +++ b/gdb/testsuite/gdb.base/readnever.exp @@ -13,10 +13,6 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -# See if we have target board readnow.exp or similar. We're using -# --readnever, which is not allowed in combination with --readnow. -require !readnow - standard_testfile .c if { [build_executable "failed to build" $testfile $srcfile { debug }] == -1 } { @@ -52,27 +48,6 @@ gdb_test_no_output "maint info symtabs" \ gdb_test_no_output "maint info psymtabs" \ "maint info psymtabs no output for --readnever" -# Test invalid combination of flags. -save_vars { GDBFLAGS } { - append GDBFLAGS " --readnever --readnow" - gdb_exit - gdb_spawn - - set test "test readnow and readnever at the same time" - gdb_test_multiple "" $test { - "'--readnow' and '--readnever' cannot be specified simultaneously" { - pass $test - set test "expect eof after failure" - gdb_test_multiple "" $test { - eof { - pass $test - } - } - } - } -} - - # Test symbol-file's -readnever option. # Restart GDB without the --readnever option. diff --git a/gdb/testsuite/gdb.base/relocate.exp b/gdb/testsuite/gdb.base/relocate.exp index 8c1ffc52e50..4c58c6085ce 100644 --- a/gdb/testsuite/gdb.base/relocate.exp +++ b/gdb/testsuite/gdb.base/relocate.exp @@ -37,8 +37,8 @@ foreach x {"-raednow" "readnow" "foo" "-readnow s"} { # Check that we can pass parameters using any position in the command # line. -set test "add-symbol-file positionless -readnow" -gdb_test_multiple "add-symbol-file -readnow $binfile 0x100 -s .bss 0x3" $test { +set test "add-symbol-file positionless -readnever" +gdb_test_multiple "add-symbol-file -readnever $binfile 0x100 -s .bss 0x3" $test { -re "add symbol table from file \"${binfile}\" at\r\n\t\.text_addr = 0x100\r\n\t\.bss_addr = 0x3\r\n\\(y or n\\) " { gdb_test "n" "Not confirmed\." $test } @@ -46,12 +46,12 @@ gdb_test_multiple "add-symbol-file -readnow $binfile 0x100 -s .bss 0x3" $test { # When we use -s as the first argument, the section will be printed # first as well. set test "add-symbol-file positionless -s" -gdb_test_multiple "add-symbol-file -s .bss 0x3 -readnow $binfile 0x100" $test { +gdb_test_multiple "add-symbol-file -s .bss 0x3 -readnever $binfile 0x100" $test { -re "add symbol table from file \"${binfile}\" at\r\n\t\.text_addr = 0x100\r\n\t\.bss_addr = 0x3\r\n\\(y or n\\) " { gdb_test "n" "Not confirmed\." $test } } -set test "add-symbol-file positionless -s, no -readnow" +set test "add-symbol-file positionless -s, no -readnever" gdb_test_multiple "add-symbol-file $binfile 0x100 -s .bss 0x3" $test { -re "add symbol table from file \"${binfile}\" at\r\n\t\.text_addr = 0x100\r\n\t\.bss_addr = 0x3\r\n\\(y or n\\) " { gdb_test "n" "Not confirmed\." $test @@ -112,13 +112,15 @@ gdb_test_multiple "add-symbol-file -s -section-name 0x200 $binfile 0x100" $test } } # Since we're here, might as well test the 'symbol-file' command and -# if its arguments can also be passed at any position. +# if its arguments can also be passed at any position. We still use +# "-readnow" since it is convenient to do so, but this doesn't have +# any real effect any more. gdb_test "symbol-file -readnow $binfile" \ - "Reading symbols from ${binfile}\.\.\.\r\nExpanding full symbols from ${binfile}\.\.\." \ + "Reading symbols from ${binfile}\.\.\." \ "symbol-file with -readnow first" clean_restart gdb_test "symbol-file $binfile -readnow" \ - "Reading symbols from ${binfile}\.\.\.\r\nExpanding full symbols from ${binfile}\.\.\." \ + "Reading symbols from ${binfile}\.\.\." \ "symbol-file with -readnow second" gdb_test "symbol-file -readnow" \ "no symbol file name was specified" \ @@ -128,7 +130,7 @@ gdb_test "symbol-file -- -non-existent-file" \ "symbol-file with -- disables option processing" clean_restart gdb_test "symbol-file -readnow -- $binfile" \ - "Reading symbols from ${binfile}\.\.\.\r\nExpanding full symbols from ${binfile}\.\.\." \ + "Reading symbols from ${binfile}\.\.\." \ "symbol-file with -- and -readnow" gdb_test "symbol-file -- $binfile -readnow" \ "Unrecognized argument \"-readnow\"" \ @@ -218,9 +220,8 @@ if { "${function_foo_addr}" == "${new_function_foo_addr}" } { set offset 0x10000 clean_restart -set readnow_re "Expanding full symbols from ${binfile}\.\.\." gdb_test "symbol-file -o $offset $binfile" \ - "Reading symbols from ${binfile}\.\.\.(\r\n$readnow_re)?" \ + "Reading symbols from ${binfile}\.\.\." \ "symbol-file with offset" with_test_prefix "static vars" { @@ -250,7 +251,7 @@ with_test_prefix "functions" { set offset 0x10000 clean_restart gdb_test "add-symbol-file -o $offset $binfile" \ - "Reading symbols from ${binfile}\.\.\.(\r\n$readnow_re)?" \ + "Reading symbols from ${binfile}\.\.\." \ "add-symbol-file with offset" \ "add symbol table from file \".*${testfile}\\.o\" with all sections offset by $offset\[\r\n\]+\\(y or n\\) " \ "y" @@ -281,7 +282,7 @@ with_test_prefix "functions, 2nd" { set text [ format "0x%x" [expr {${function_foo_addr} + 0x20000}] ] clean_restart gdb_test "add-symbol-file $binfile -o $offset $text" \ - "Reading symbols from ${binfile}\.\.\.(\r\n$readnow_re)?" \ + "Reading symbols from ${binfile}\.\.\." \ "add-symbol-file with offset, text address given" \ "add symbol table from file \".*${testfile}\\.o\" at\[ \t\r\n\]+\.text_addr = ${text}\[\r\n\]+with other sections offset by ${offset}\[\r\n\]+\\(y or n\\) " \ "y" @@ -298,7 +299,7 @@ with_test_prefix "functions, 3rd" { set data [ format "0x%x" [expr {${global_foo_addr} + 0x20000}] ] clean_restart gdb_test "add-symbol-file $binfile -o $offset -s .data $data" \ - "Reading symbols from ${binfile}\.\.\.(\r\n$readnow_re)?" \ + "Reading symbols from ${binfile}\.\.\." \ "add-symbol-file with offset, data address given" \ "add symbol table from file \".*${testfile}\\.o\" at\[ \t\r\n\]+\.data_addr = ${data}\[\r\n\]+with other sections offset by ${offset}\[\r\n\]+\\(y or n\\) " \ "y" diff --git a/gdb/testsuite/gdb.base/signed-builtin-types.exp b/gdb/testsuite/gdb.base/signed-builtin-types.exp index 29e2f985353..f847767c86d 100644 --- a/gdb/testsuite/gdb.base/signed-builtin-types.exp +++ b/gdb/testsuite/gdb.base/signed-builtin-types.exp @@ -36,11 +36,6 @@ if {![runto_main]} { return -1 } -if {[readnow]} { - untested "this test checks for delayed symtab expansion" - return -1 -} - # Use 'info sources' to check if the debug information for the shared # library has been fully expanded or not. Return true if the debug # information has NOT been fully expanded (which is what we want for this diff --git a/gdb/testsuite/gdb.base/style.exp b/gdb/testsuite/gdb.base/style.exp index 74d4b231d31..bef32485db2 100644 --- a/gdb/testsuite/gdb.base/style.exp +++ b/gdb/testsuite/gdb.base/style.exp @@ -79,8 +79,6 @@ proc run_style_tests { } { # means that GDB will enable styling. clean_restart_and_disable "restart 1" $::testfile - set readnow [readnow] - if {![runto_main]} { return } @@ -276,15 +274,8 @@ proc run_style_tests { } { clean_restart_and_disable "restart 2" set quoted [string_to_regexp $binfile] - set pass_re "Reading symbols from [limited_style $quoted file]\.\.\." - if { $readnow } { - set pass_re \ - [multi_line \ - $pass_re \ - "Expanding full symbols from [limited_style $quoted file]\.\.\."] - } gdb_test "file $binfile" \ - $pass_re \ + "Reading symbols from [limited_style $quoted file]\.\.\." \ "filename is styled when loading symbol file" gdb_test "pwd" "Working directory [limited_style .*? file].*" diff --git a/gdb/testsuite/gdb.cp/main-cp.exp b/gdb/testsuite/gdb.cp/main-cp.exp index bdca417e0b5..db6864523b1 100644 --- a/gdb/testsuite/gdb.cp/main-cp.exp +++ b/gdb/testsuite/gdb.cp/main-cp.exp @@ -18,8 +18,6 @@ standard_testfile main.cc -require !readnow - set opts {} lappend opts debug lappend opts c++ diff --git a/gdb/testsuite/gdb.cp/nsalias.exp b/gdb/testsuite/gdb.cp/nsalias.exp index e384d8d77eb..814e6197e96 100644 --- a/gdb/testsuite/gdb.cp/nsalias.exp +++ b/gdb/testsuite/gdb.cp/nsalias.exp @@ -314,19 +314,11 @@ if {[gdb_compile [list ${binfile}1.o ${binfile}3.o] \ clean_restart -# Set complaints before loading the file. Otherwise the complaint won't -# trigger for -readnow. +# Set complaints before loading the file. gdb_test_no_output "set complaints 1" gdb_load [standard_output_file ${testfile}-r] -set readnow_p [readnow] - set test "complaint for too many recursively imported declarations" set re ".* has too many recursively imported declarations.*" -if { $readnow_p } { - global gdb_file_cmd_msg - gdb_assert {[regexp $re $gdb_file_cmd_msg]} $test -} else { - gdb_test "maint expand-symtabs" $re $test -} +gdb_test "maint expand-symtabs" $re $test diff --git a/gdb/testsuite/gdb.cp/psymtab-parameter.exp b/gdb/testsuite/gdb.cp/psymtab-parameter.exp index 9412945fb09..27361adc337 100644 --- a/gdb/testsuite/gdb.cp/psymtab-parameter.exp +++ b/gdb/testsuite/gdb.cp/psymtab-parameter.exp @@ -27,10 +27,8 @@ clean_restart $testfile.x # As `main' is not present GDB fails to find the proper inferior language. gdb_test_no_output "set language c++" -if { ![readnow] } { - # Check that the CU (Compilation Unit) is unexpanded. - gdb_test_no_output "maintenance info symtabs" -} +# Check that the CU (Compilation Unit) is unexpanded. +gdb_test_no_output "maintenance info symtabs" # GDB has shown only the `long func()' ELF symbol before, not the DWARF # symbol diff --git a/gdb/testsuite/gdb.cp/readnow-language.cc b/gdb/testsuite/gdb.cp/readnow-language.cc deleted file mode 100644 index cbb709090e1..00000000000 --- a/gdb/testsuite/gdb.cp/readnow-language.cc +++ /dev/null @@ -1,22 +0,0 @@ -/* This testcase is part of GDB, the GNU debugger. - - Copyright 2011-2026 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . */ - -int -main () -{ - return 0; -} diff --git a/gdb/testsuite/gdb.cp/readnow-language.exp b/gdb/testsuite/gdb.cp/readnow-language.exp deleted file mode 100644 index 73199bf15a1..00000000000 --- a/gdb/testsuite/gdb.cp/readnow-language.exp +++ /dev/null @@ -1,27 +0,0 @@ -# Copyright 2011-2026 Free Software Foundation, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -standard_testfile .cc - -if {[build_executable ${testfile}.exp $testfile ${testfile}.cc {c++ debug}] == -1} { - return -1 -} - -save_vars { GDBFLAGS } { - set GDBFLAGS "$GDBFLAGS -readnow" - clean_restart $testfile -} - -gdb_test "show language" {The current source language is "auto; currently c\+\+"\.} diff --git a/gdb/testsuite/gdb.debuginfod/build-id-no-debug-warning.exp b/gdb/testsuite/gdb.debuginfod/build-id-no-debug-warning.exp index cfd1a275d89..5d8ff833458 100644 --- a/gdb/testsuite/gdb.debuginfod/build-id-no-debug-warning.exp +++ b/gdb/testsuite/gdb.debuginfod/build-id-no-debug-warning.exp @@ -141,7 +141,7 @@ proc_with_prefix local_debuginfod { } { [multi_line \ "Reading symbols from ${build_id_debug_file}\\.\\.\\." \ "Downloading\[^\r\n\]*separate debug info for ${build_id_debug_file}\\.\\.\\." \ - "Reading symbols from ${cache}/\[^\r\n\]+\\.\\.\\.(?:\r\nExpanding full symbols from \[^\r\n\]+)*"] \ + "Reading symbols from ${cache}/\[^\r\n\]+\\.\\.\\."] \ "debuginfod running, info downloaded, no warnings" } diff --git a/gdb/testsuite/gdb.debuginfod/crc_mismatch.exp b/gdb/testsuite/gdb.debuginfod/crc_mismatch.exp index 0d19f7fb7e8..eaf88cee2a0 100644 --- a/gdb/testsuite/gdb.debuginfod/crc_mismatch.exp +++ b/gdb/testsuite/gdb.debuginfod/crc_mismatch.exp @@ -123,7 +123,7 @@ proc_with_prefix local_debuginfod { } { [multi_line \ "Reading symbols from ${escapedobjdirsubdir}/crc_mismatch-2\\.\\.\\." \ "Downloading.*separate debug info for ${escapedobjdirsubdir}/crc_mismatch-2\\.\\.\\." \ - "Reading symbols from ${cache}/\[^\r\n\]+\\.\\.\\.(?:\r\nExpanding full symbols from \[^\r\n\]+)*"] \ + "Reading symbols from ${cache}/\[^\r\n\]+\\.\\.\\."] \ "debuginfod running, info downloaded, no CRC mismatch" } diff --git a/gdb/testsuite/gdb.dwarf2/backward-spec-inter-cu.exp b/gdb/testsuite/gdb.dwarf2/backward-spec-inter-cu.exp index c59e0463e29..ed6894aa38c 100644 --- a/gdb/testsuite/gdb.dwarf2/backward-spec-inter-cu.exp +++ b/gdb/testsuite/gdb.dwarf2/backward-spec-inter-cu.exp @@ -20,7 +20,6 @@ load_lib dwarf.exp # This test can only be run on targets which support DWARF-2 and use gas. require dwarf2_support -require !readnow standard_testfile main.c -debug.S diff --git a/gdb/testsuite/gdb.dwarf2/debug-aranges-duplicate-offset-warning.exp b/gdb/testsuite/gdb.dwarf2/debug-aranges-duplicate-offset-warning.exp index 250f479e027..6e2d572fa05 100644 --- a/gdb/testsuite/gdb.dwarf2/debug-aranges-duplicate-offset-warning.exp +++ b/gdb/testsuite/gdb.dwarf2/debug-aranges-duplicate-offset-warning.exp @@ -65,17 +65,10 @@ save_vars { GDBFLAGS } { } } -set readnow_p [readnow] - set test "file command warnings" -if { $readnow_p } { - set re "warning:" - gdb_assert { ![regexp $re $gdb_file_cmd_msg] } $test -} else { - set re \ - [concat \ - "warning: Section .debug_aranges in \[^\r\n\]* has" \ - "duplicate debug_info_offset $hex," \ - "ignoring \\.debug_aranges\\."] - gdb_assert { [regexp $re $gdb_file_cmd_msg] } $test -} +set re \ + [concat \ + "warning: Section .debug_aranges in \[^\r\n\]* has" \ + "duplicate debug_info_offset $hex," \ + "ignoring \\.debug_aranges\\."] +gdb_assert { [regexp $re $gdb_file_cmd_msg] } $test diff --git a/gdb/testsuite/gdb.dwarf2/debug-names-missing-cu.exp b/gdb/testsuite/gdb.dwarf2/debug-names-missing-cu.exp index 884e525653f..ddd983308d8 100644 --- a/gdb/testsuite/gdb.dwarf2/debug-names-missing-cu.exp +++ b/gdb/testsuite/gdb.dwarf2/debug-names-missing-cu.exp @@ -18,10 +18,6 @@ load_lib dwarf.exp # This test can only be run on targets which support DWARF-2 and use gas. require dwarf2_support -# This test checks that no CU is initially expanded, which is negated -# by readnow. -require !readnow - standard_testfile _start.c debug-names.S set func_info_vars \ diff --git a/gdb/testsuite/gdb.dwarf2/debug-names-tu.exp.tcl b/gdb/testsuite/gdb.dwarf2/debug-names-tu.exp.tcl index be1a9f490f0..7c9867ebcc1 100644 --- a/gdb/testsuite/gdb.dwarf2/debug-names-tu.exp.tcl +++ b/gdb/testsuite/gdb.dwarf2/debug-names-tu.exp.tcl @@ -18,10 +18,6 @@ load_lib dwarf.exp # This test can only be run on targets which support DWARF-2 and use gas. require dwarf2_support -# When using readnow, the index isn't used, which invalidates this -# test. -require !readnow - standard_testfile _start.c debug-names.S set func_info_vars \ diff --git a/gdb/testsuite/gdb.dwarf2/dw-form-strx-out-of-bounds.exp b/gdb/testsuite/gdb.dwarf2/dw-form-strx-out-of-bounds.exp index be7323bce95..9478ea1a1c9 100644 --- a/gdb/testsuite/gdb.dwarf2/dw-form-strx-out-of-bounds.exp +++ b/gdb/testsuite/gdb.dwarf2/dw-form-strx-out-of-bounds.exp @@ -18,10 +18,6 @@ # Out of bounds index. set int_str_idx 1 -# With readnow, the dwarf error is printed during the file command, so skip -# the test. -require !readnow - set prepare_for_testing_done 0 source $srcdir/$subdir/dw-form-strx.exp.tcl require {expr {$prepare_for_testing_done == 1}} diff --git a/gdb/testsuite/gdb.dwarf2/dw2-bad-parameter-type.exp b/gdb/testsuite/gdb.dwarf2/dw2-bad-parameter-type.exp index 9bba38c8102..715f080ad11 100644 --- a/gdb/testsuite/gdb.dwarf2/dw2-bad-parameter-type.exp +++ b/gdb/testsuite/gdb.dwarf2/dw2-bad-parameter-type.exp @@ -27,7 +27,7 @@ if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" object {}] != " clean_restart $executable -# The first access (as we do not use -readnow) prints some: +# The first access prints some: # DWARF Error: Cannot find DIE at 0x0 referenced from DIE at 0x29 [in module ...] with_test_prefix "first" { gdb_test "ptype f" diff --git a/gdb/testsuite/gdb.dwarf2/dw2-error.exp b/gdb/testsuite/gdb.dwarf2/dw2-error.exp index 6da0949b382..126872e654f 100644 --- a/gdb/testsuite/gdb.dwarf2/dw2-error.exp +++ b/gdb/testsuite/gdb.dwarf2/dw2-error.exp @@ -40,7 +40,6 @@ gdb_test "file $host_binfile" \ {Reading symbols.*DWARF Error: wrong version in unit header \(is 153, should be 2, 3, 4 or 5\).*} \ "file $testfile" -# We can't use proc readnow, because the PR makes it return 0. gdb_test_multiple "maint print objfiles $host_binfile" "" { -re "^maint print objfiles \[^\r\n\]*\r\n$gdb_prompt $" { setup_kfail "gdb/26797" *-*-* diff --git a/gdb/testsuite/gdb.dwarf2/dw2-icycle.exp b/gdb/testsuite/gdb.dwarf2/dw2-icycle.exp index 79030d01f95..099d2507fbf 100644 --- a/gdb/testsuite/gdb.dwarf2/dw2-icycle.exp +++ b/gdb/testsuite/gdb.dwarf2/dw2-icycle.exp @@ -29,14 +29,11 @@ if { [build_executable "failed to prepare" ${testfile} \ # We are trying to verify that the partial symtab to symtab expansion # for the debugging info hand-coded in our assembly file does not cause -# the debugger to crash (infinite recursion). To facilitate the test, -# start the debugger with -readnow. This force expansion as soon as -# the objfile is loaded. +# the debugger to crash (infinite recursion). -save_vars { GDBFLAGS } { - set GDBFLAGS "$GDBFLAGS -readnow" - clean_restart ${testfile} -} +clean_restart ${testfile} + +gdb_test_name "maint expand-symtabs" # And just to be sure that the debugger did not crash after having # expanded our symbols, do a life-check. diff --git a/gdb/testsuite/gdb.dwarf2/dw2-missing-cu-tag.exp b/gdb/testsuite/gdb.dwarf2/dw2-missing-cu-tag.exp index 2819895b55a..922542b5c61 100644 --- a/gdb/testsuite/gdb.dwarf2/dw2-missing-cu-tag.exp +++ b/gdb/testsuite/gdb.dwarf2/dw2-missing-cu-tag.exp @@ -51,27 +51,13 @@ clean_restart gdb_test_no_output "maint set dwarf synchronous on" -# This pattern is hit when GDB does not use -readnow (i.e. the default -# behavior). +# This pattern is hit in the default case. set pattern1 \ [multi_line \ "Reading symbols from \[^\r\n\]+" \ "DWARF Error: unexpected tag 'DW_TAG_subprogram' at offset $hex"] -# This pattern is hit when GDB does use -readnow (e.g. running with -# --target_board=readnow). -set pattern2 \ - [multi_line \ - "Reading symbols from \[^\r\n\]+" \ - "Expanding full symbols from \[^\r\n\]+" \ - "DWARF Error: unexpected tag 'DW_TAG_subprogram' at offset $hex"] - # Load the executable, we expect an error from the DWARF parser. -gdb_test_multiple "file $host_binfile" "file $testfile" { - -wrap -re $pattern1 { - pass $gdb_test_name - } - -re -wrap "$pattern2" { - pass $gdb_test_name - } -} +gdb_test "file $host_binfile" \ + $pattern1 \ + "file $testfile" diff --git a/gdb/testsuite/gdb.dwarf2/dw2-modula2-self-type.exp b/gdb/testsuite/gdb.dwarf2/dw2-modula2-self-type.exp index 6624ce4cdfa..e04aaa5df31 100644 --- a/gdb/testsuite/gdb.dwarf2/dw2-modula2-self-type.exp +++ b/gdb/testsuite/gdb.dwarf2/dw2-modula2-self-type.exp @@ -32,7 +32,7 @@ clean_restart $testfile # type = POINTER TO PROCEDURE gdb_test "set language modula-2" -# The first access (as we do not use -readnow) crashes GDB. +# The first access crashes GDB. gdb_test "ptype v" gdb_test "p 1" " = 1" "alive" diff --git a/gdb/testsuite/gdb.dwarf2/dw2-stack-boundary.exp b/gdb/testsuite/gdb.dwarf2/dw2-stack-boundary.exp index d76dea6f080..a0d29a3312c 100644 --- a/gdb/testsuite/gdb.dwarf2/dw2-stack-boundary.exp +++ b/gdb/testsuite/gdb.dwarf2/dw2-stack-boundary.exp @@ -48,11 +48,6 @@ gdb_test_multiple "file $host_binfile" "file command" { } } -set readnow_p [readnow] - -if { $readnow_p } { - setup_kfail "gdb/26796" *-*-* -} gdb_assert {$w1 && $w2} gdb_test "p underflow" {Asked for position 0 of stack, stack only has 0 elements on it\.} diff --git a/gdb/testsuite/gdb.dwarf2/dw2-symtab-includes-lookup.exp b/gdb/testsuite/gdb.dwarf2/dw2-symtab-includes-lookup.exp index 9b1ccea00f6..aa90cd2f935 100644 --- a/gdb/testsuite/gdb.dwarf2/dw2-symtab-includes-lookup.exp +++ b/gdb/testsuite/gdb.dwarf2/dw2-symtab-includes-lookup.exp @@ -96,11 +96,7 @@ if { [prepare_for_testing "failed to prepare" $testfile \ # Check that no symtabs are expanded. set test "no symtabs expanded" -if { [readnow] } { - unsupported $test -} else { - gdb_test_no_output "maint info symtabs" $test -} +gdb_test_no_output "maint info symtabs" $test # Lookup myint. Regression test for PR28539. gdb_test "ptype myint" "type = myint" diff --git a/gdb/testsuite/gdb.dwarf2/dw2-symtab-includes.exp b/gdb/testsuite/gdb.dwarf2/dw2-symtab-includes.exp index 7a1e4fb35b2..daa853d46ad 100644 --- a/gdb/testsuite/gdb.dwarf2/dw2-symtab-includes.exp +++ b/gdb/testsuite/gdb.dwarf2/dw2-symtab-includes.exp @@ -68,10 +68,6 @@ if { [prepare_for_testing "failed to prepare" $testfile \ # Check that no symtabs are expanded. set test "no symtabs expanded" -if { [readnow] } { - unsupported $test - return -1 -} gdb_test_no_output "maint info symtabs" $test # Expand dw2-symtab-includes.h symtab diff --git a/gdb/testsuite/gdb.dwarf2/dw2-using-debug-str.exp b/gdb/testsuite/gdb.dwarf2/dw2-using-debug-str.exp index 04ea209ddd7..61b5924fbd4 100644 --- a/gdb/testsuite/gdb.dwarf2/dw2-using-debug-str.exp +++ b/gdb/testsuite/gdb.dwarf2/dw2-using-debug-str.exp @@ -145,29 +145,20 @@ gdb_test_no_output "maint set dwarf synchronous on" set line1 "Reading symbols from \[^\r\n\]+" set dwarf_error "DWARF Error: DW_FORM_strp used without required section" -# This pattern is hit when GDB does not use -readnow (i.e. the default -# behavior). +# This pattern is hit in the default case. set pattern1 \ [multi_line \ $line1 \ $dwarf_error \ "\\(No debugging symbols \[^\r\n\]+\\)"] -# This pattern is hit when GDB does use -readnow (e.g. running with -# --target_board=readnow). -set pattern2 \ - [multi_line \ - $line1 \ - "Expanding full symbols from \[^\r\n\]+" \ - $dwarf_error] - # This pattern is hit when gcc adds an index (e.g. running with # --target_board=cc-with-gdb-index). -set pattern3 \ +set pattern2 \ [multi_line \ $line1 \ $dwarf_error] # Load the executable, we expect an error from the DWARF parser. -gdb_test "file $binfile_no_debug_str" "($pattern1|$pattern2|$pattern3)" \ +gdb_test "file $binfile_no_debug_str" "($pattern1|$pattern2)" \ "file $testfile" diff --git a/gdb/testsuite/gdb.dwarf2/dw2-var-zero-addr.exp b/gdb/testsuite/gdb.dwarf2/dw2-var-zero-addr.exp index bbe74955e44..39aedbc7080 100644 --- a/gdb/testsuite/gdb.dwarf2/dw2-var-zero-addr.exp +++ b/gdb/testsuite/gdb.dwarf2/dw2-var-zero-addr.exp @@ -31,12 +31,3 @@ proc test { } { } test - -save_vars { GDBFLAGS } { - set GDBFLAGS "$GDBFLAGS --readnow" - clean_restart ${::testfile} -} - -with_test_prefix "readnow" { - test -} diff --git a/gdb/testsuite/gdb.dwarf2/dw2-zero-range.exp b/gdb/testsuite/gdb.dwarf2/dw2-zero-range.exp index 11942956caf..ed29cad451c 100644 --- a/gdb/testsuite/gdb.dwarf2/dw2-zero-range.exp +++ b/gdb/testsuite/gdb.dwarf2/dw2-zero-range.exp @@ -25,7 +25,7 @@ standard_testfile .c -shlib.c -dw.S # Test for presence of complaint, with the lib relocated. -proc_with_prefix test_relocated { exec_path lib_path complaint_re readnow_p } { +proc_with_prefix test_relocated { exec_path lib_path complaint_re } { clean_restart gdb_load $exec_path gdb_load_shlib $lib_path @@ -52,16 +52,14 @@ proc_with_prefix test_relocated { exec_path lib_path complaint_re readnow_p } { gdb_assert { $have_complaint } "complaint" } - if { ! $readnow_p } { - gdb_test "maint expand-symtabs $::srcfile2" $complaint_re \ - "complaint when expanding symtab" - } + gdb_test "maint expand-symtabs $::srcfile2" $complaint_re \ + "complaint when expanding symtab" } } # Test for presence of complaint, with the lib unrelocated. -proc_with_prefix test_unrelocated { exec_path lib_path complaint_re readnow_p } { +proc_with_prefix test_unrelocated { exec_path lib_path complaint_re } { clean_restart gdb_test_no_output "maint set dwarf synchronous on" @@ -76,10 +74,8 @@ proc_with_prefix test_unrelocated { exec_path lib_path complaint_re readnow_p } gdb_test_no_output "maint set dwarf synchronous off" - if { ! $readnow_p } { - gdb_test "maint expand-symtabs $::srcfile2" $complaint_re \ - "complaint when expanding symtab" - } + gdb_test "maint expand-symtabs $::srcfile2" $complaint_re \ + "complaint when expanding symtab" } } @@ -165,8 +161,6 @@ foreach_with_prefix ranges_sect {ranges rnglists} { set complaint_re \ "During symbol reading: $complaint_re \\\[in module \[^\r\n\]*\\\]" - set readnow_p [readnow] - - test_relocated $exec_path $lib_path $complaint_re $readnow_p - test_unrelocated $exec_path $lib_path $complaint_re $readnow_p + test_relocated $exec_path $lib_path $complaint_re + test_unrelocated $exec_path $lib_path $complaint_re } diff --git a/gdb/testsuite/gdb.dwarf2/dw4-sig-type-unused.exp b/gdb/testsuite/gdb.dwarf2/dw4-sig-type-unused.exp index 15a01b616f3..df249179550 100644 --- a/gdb/testsuite/gdb.dwarf2/dw4-sig-type-unused.exp +++ b/gdb/testsuite/gdb.dwarf2/dw4-sig-type-unused.exp @@ -24,9 +24,8 @@ if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" object {}] != "" return -1 } -save_vars { GDBFLAGS } { - set GDBFLAGS "$GDBFLAGS --readnow" - clean_restart $executable -} +clean_restart $executable + +gdb_test_no_output "maint expand-symtabs" gdb_test "p 1" " = 1" "alive" diff --git a/gdb/testsuite/gdb.dwarf2/dwznolink.exp b/gdb/testsuite/gdb.dwarf2/dwznolink.exp index e6c6ce6005d..a9b6b7f6893 100644 --- a/gdb/testsuite/gdb.dwarf2/dwznolink.exp +++ b/gdb/testsuite/gdb.dwarf2/dwznolink.exp @@ -49,7 +49,7 @@ if {[build_executable $testfile.exp $testfile \ return -1 } -clean_restart -gdb_test "file -readnow $binfile" \ +clean_restart $binfile +gdb_test "maint expand-symtabs" \ "could not find supplementary DWARF file" \ - "file $testfile" + "expanding symtabs" diff --git a/gdb/testsuite/gdb.dwarf2/enum-type-c++.exp b/gdb/testsuite/gdb.dwarf2/enum-type-c++.exp index 39263254562..de81587a9a0 100644 --- a/gdb/testsuite/gdb.dwarf2/enum-type-c++.exp +++ b/gdb/testsuite/gdb.dwarf2/enum-type-c++.exp @@ -13,8 +13,6 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -require !readnow - load_lib dwarf.exp # This test can only be run on targets which support DWARF-2 and use gas. diff --git a/gdb/testsuite/gdb.dwarf2/enum-type.exp b/gdb/testsuite/gdb.dwarf2/enum-type.exp index 7a37608670e..4f8786cdff3 100644 --- a/gdb/testsuite/gdb.dwarf2/enum-type.exp +++ b/gdb/testsuite/gdb.dwarf2/enum-type.exp @@ -124,7 +124,6 @@ gdb_test "ptype enum EU" \ gdb_test "p ns::val1" \ " = ns::val1" -require !readnow require {string equal [have_index $binfile] ""} set re_ws "\[ \t\]" diff --git a/gdb/testsuite/gdb.dwarf2/forward-spec-inter-cu.exp b/gdb/testsuite/gdb.dwarf2/forward-spec-inter-cu.exp index ebcf375c541..a6664a5ff82 100644 --- a/gdb/testsuite/gdb.dwarf2/forward-spec-inter-cu.exp +++ b/gdb/testsuite/gdb.dwarf2/forward-spec-inter-cu.exp @@ -20,7 +20,6 @@ load_lib dwarf.exp # This test can only be run on targets which support DWARF-2 and use gas. require dwarf2_support -require !readnow standard_testfile main.c -debug.S diff --git a/gdb/testsuite/gdb.dwarf2/forward-spec.exp b/gdb/testsuite/gdb.dwarf2/forward-spec.exp index af55d7e2eb7..52f9cf3e3ea 100644 --- a/gdb/testsuite/gdb.dwarf2/forward-spec.exp +++ b/gdb/testsuite/gdb.dwarf2/forward-spec.exp @@ -16,8 +16,6 @@ # Check that the DWARF reader works with a a DW_AT_specification that # refers to a later DIE. -require !readnow - load_lib dwarf.exp # This test can only be run on targets which support DWARF-2 and use gas. diff --git a/gdb/testsuite/gdb.dwarf2/gdb-index-nodebug.exp b/gdb/testsuite/gdb.dwarf2/gdb-index-nodebug.exp index f0d37362bac..a51c5d14dce 100644 --- a/gdb/testsuite/gdb.dwarf2/gdb-index-nodebug.exp +++ b/gdb/testsuite/gdb.dwarf2/gdb-index-nodebug.exp @@ -33,14 +33,13 @@ set no_debug_re \ "Error while writing index for \[^\r\n\]*:" \ "No debugging symbols"] set no_debug_re [join $no_debug_re] -set readnow_p [readnow] set index_dir [host_standard_output_file ""] # The bug was that gdb would crash here. set cmd "save gdb-index $index_dir" gdb_test_multiple $cmd "try to save gdb index" { -re -wrap $have_index_re { - if { $have_index != "" || $readnow_p } { + if { $have_index != "" } { unsupported $gdb_test_name } else { fail $gdb_test_name diff --git a/gdb/testsuite/gdb.dwarf2/gdb-index-tilde.exp b/gdb/testsuite/gdb.dwarf2/gdb-index-tilde.exp index e22fc606ca6..fd5d820df34 100644 --- a/gdb/testsuite/gdb.dwarf2/gdb-index-tilde.exp +++ b/gdb/testsuite/gdb.dwarf2/gdb-index-tilde.exp @@ -19,9 +19,6 @@ # work for remote hosts, but right now, this isn't supported. require {!is_remote host} -# Can't save an index with readnow. -require !readnow - standard_testfile main.c # Create a directory to generate an index file into. diff --git a/gdb/testsuite/gdb.dwarf2/gdb-index-types-dwarf5.exp b/gdb/testsuite/gdb.dwarf2/gdb-index-types-dwarf5.exp index 94fc0ade3f1..5080ceae03a 100644 --- a/gdb/testsuite/gdb.dwarf2/gdb-index-types-dwarf5.exp +++ b/gdb/testsuite/gdb.dwarf2/gdb-index-types-dwarf5.exp @@ -13,10 +13,6 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -# This test checks that .gdb_index is in use, which isn't the case -# with readnow. -require !readnow - standard_testfile set flags {} diff --git a/gdb/testsuite/gdb.dwarf2/gdb-index.exp b/gdb/testsuite/gdb.dwarf2/gdb-index.exp index 91e7ef5a5e1..5aa82c67225 100644 --- a/gdb/testsuite/gdb.dwarf2/gdb-index.exp +++ b/gdb/testsuite/gdb.dwarf2/gdb-index.exp @@ -18,9 +18,6 @@ load_lib dwarf.exp # This test can only be run on targets which support DWARF-2. require dwarf2_support -# Can't save an index with readnow. -require !readnow - standard_testfile main.c if { [prepare_for_testing "failed to prepare" "${testfile}" \ diff --git a/gdb/testsuite/gdb.dwarf2/macro-complaints.exp b/gdb/testsuite/gdb.dwarf2/macro-complaints.exp index 0fd514ac85d..5f2737028cb 100644 --- a/gdb/testsuite/gdb.dwarf2/macro-complaints.exp +++ b/gdb/testsuite/gdb.dwarf2/macro-complaints.exp @@ -20,7 +20,6 @@ load_lib dwarf.exp require dwarf2_support -require !readnow standard_testfile main.c .S diff --git a/gdb/testsuite/gdb.dwarf2/multidictionary.exp b/gdb/testsuite/gdb.dwarf2/multidictionary.exp index 52975d08a5c..87facf90d22 100644 --- a/gdb/testsuite/gdb.dwarf2/multidictionary.exp +++ b/gdb/testsuite/gdb.dwarf2/multidictionary.exp @@ -144,12 +144,10 @@ if {[build_executable $testfile.exp $testfile [list $asm_file $srcfile] {}] \ return -1 } -# We force the DIEs above to be read in via "-readnow". -save_vars { GDBFLAGS } { - set GDBFLAGS "$GDBFLAGS -readnow" - clean_restart -} -gdb_load $binfile +clean_restart $binfile + +# We force the DIEs above to be read in. +gdb_test_name "maint expand-symtabs" # All we need to do is check whether GDB is alive. Without # multidictionaries, it will either crash, assert, or throw an diff --git a/gdb/testsuite/gdb.dwarf2/no-expand-mixed-case.exp b/gdb/testsuite/gdb.dwarf2/no-expand-mixed-case.exp index d8c961dd530..b6fc9dea57a 100644 --- a/gdb/testsuite/gdb.dwarf2/no-expand-mixed-case.exp +++ b/gdb/testsuite/gdb.dwarf2/no-expand-mixed-case.exp @@ -16,8 +16,6 @@ # Searching for "INT" should not cause CU expansion in a C program. # PR symtab/31010. -require !readnow - standard_testfile main.c if {[prepare_for_testing "failed to prepare" $testfile \ diff --git a/gdb/testsuite/gdb.dwarf2/nostaticblock.exp b/gdb/testsuite/gdb.dwarf2/nostaticblock.exp index 88a2f69689d..964b49ac254 100644 --- a/gdb/testsuite/gdb.dwarf2/nostaticblock.exp +++ b/gdb/testsuite/gdb.dwarf2/nostaticblock.exp @@ -38,9 +38,8 @@ if { [build_executable ${testfile}.exp ${testfile} \ return -1 } -save_vars { GDBFLAGS } { - set GDBFLAGS "$GDBFLAGS --readnow" - clean_restart $testfile -} +clean_restart $executable + +gdb_test_no_output "maint expand-symtabs" gdb_test "p 1" " = 1" "alive" diff --git a/gdb/testsuite/gdb.dwarf2/per-bfd-sharing.exp b/gdb/testsuite/gdb.dwarf2/per-bfd-sharing.exp index 89e6ba5b167..4fbf4fd3566 100644 --- a/gdb/testsuite/gdb.dwarf2/per-bfd-sharing.exp +++ b/gdb/testsuite/gdb.dwarf2/per-bfd-sharing.exp @@ -14,7 +14,7 @@ # along with this program. If not, see . # This test checks that loading a file with different methods (partial symtabs, -# index, readnow) does not crash. +# index) does not crash. standard_testfile @@ -25,8 +25,7 @@ if { [build_executable "failed to prepare" $testfile $srcfile \ set host_binfile [gdb_remote_download host $binfile] set has_index_section [exec_has_index_section $binfile] -set uses_readnow [expr {[string first "-readnow" $GDBFLAGS] != -1}] -set expecting_index_cache_use [expr {!$has_index_section && !$uses_readnow}] +set expecting_index_cache_use [expr {!$has_index_section}] lassign [remote_exec host mktemp -d] ret cache_dir @@ -61,10 +60,6 @@ proc load_binary { method } { gdb_test_no_output "set index-cache enabled on" gdb_test "file $::host_binfile" "Reading symbols from .*" "file index" gdb_test_no_output "set index-cache enabled off" - } elseif { $method == "readnow" } { - gdb_test "file -readnow $::host_binfile" \ - "Reading symbols from .*Expanding full symbols from .*" \ - "file readnow" } else { error "unknown method" } @@ -74,7 +69,7 @@ proc load_binary { method } { gdb_test "print foo" " = {int \\(int, int\\)} $hex " } -set methods {standard index readnow} +set methods {standard index} foreach_with_prefix first $methods { foreach_with_prefix second $methods { diff --git a/gdb/testsuite/gdb.dwarf2/self-spec.exp b/gdb/testsuite/gdb.dwarf2/self-spec.exp index 398cdc1e8d2..4fcf35d7dc0 100644 --- a/gdb/testsuite/gdb.dwarf2/self-spec.exp +++ b/gdb/testsuite/gdb.dwarf2/self-spec.exp @@ -59,8 +59,6 @@ if {[prepare_for_testing "failed to prepare" $testfile "${asm_file} ${srcfile}" set index [have_index $binfile] require {string eq $index ""} -require !readnow - gdb_test "pipe maint print objfiles $testfile | grep class1" \ " *qualified: *class1" \ "class c1 in cooked index" diff --git a/gdb/testsuite/gdb.fortran/info-main.exp b/gdb/testsuite/gdb.fortran/info-main.exp index e21fb4456a6..3d4f006480d 100644 --- a/gdb/testsuite/gdb.fortran/info-main.exp +++ b/gdb/testsuite/gdb.fortran/info-main.exp @@ -19,12 +19,8 @@ load_lib fortran.exp standard_testfile .f90 -save_vars { GDBFLAGS } { - set GDBFLAGS [string map {"-readnow" ""} "$GDBFLAGS"] - - if {[prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} {debug f90}]} { - return -1 - } +if {[prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} {debug f90}]} { + return } gdb_test "info main" "simple" "info main prior to start" @@ -35,9 +31,3 @@ if {![fortran_runto_main]} { } gdb_test "info main" "simple" "info main post start" - -save_vars { GDBFLAGS } { - set GDBFLAGS "$GDBFLAGS -readnow" - clean_restart $testfile -} -gdb_test "info main" "simple" "info main with readnow" diff --git a/gdb/testsuite/gdb.gdb/index-file.exp b/gdb/testsuite/gdb.gdb/index-file.exp index 162ba28bfde..873b5df59b3 100644 --- a/gdb/testsuite/gdb.gdb/index-file.exp +++ b/gdb/testsuite/gdb.gdb/index-file.exp @@ -18,9 +18,6 @@ load_lib selftest-support.exp -# Can't save an index with readnow. -require !readnow - # A multiplier used to ensure slow tasks are less likely to timeout. set timeout_factor 20 diff --git a/gdb/testsuite/gdb.gdb/python-helper.exp b/gdb/testsuite/gdb.gdb/python-helper.exp index b39f51de44f..a5dad2eeb02 100644 --- a/gdb/testsuite/gdb.gdb/python-helper.exp +++ b/gdb/testsuite/gdb.gdb/python-helper.exp @@ -103,7 +103,7 @@ proc test_python_helper {} { # Load the test executable into the inner GDB. The output here is # being read from the inner GDB, hence the use of -i here. - send_inferior "file -readnow $::binfile\n" + send_inferior "file $::binfile\n" gdb_test_multiple "" "loading test binary into inner GDB" { -i "$inferior_spawn_id" -re "Reading symbols from.*\r\n$gdb_prompt $" { diff --git a/gdb/testsuite/gdb.mi/mi-info-sources.exp b/gdb/testsuite/gdb.mi/mi-info-sources.exp index ab92fff197c..550d5d8da93 100644 --- a/gdb/testsuite/gdb.mi/mi-info-sources.exp +++ b/gdb/testsuite/gdb.mi/mi-info-sources.exp @@ -28,8 +28,6 @@ if {[build_executable $testfile.exp $testfile \ mi_clean_restart $::testfile -set readnow_p [mi_readnow] - mi_runto_main # Unload symbols for shared libraries to prevent @@ -201,9 +199,7 @@ proc check_info_sources { debug_fully_read } { } } -if { ! $readnow_p } { - check_info_sources "false" -} +check_info_sources "false" mi_continue_to "some_other_func" diff --git a/gdb/testsuite/gdb.multi/remove-inferiors.exp b/gdb/testsuite/gdb.multi/remove-inferiors.exp index c991ea59193..b9eb65a281c 100644 --- a/gdb/testsuite/gdb.multi/remove-inferiors.exp +++ b/gdb/testsuite/gdb.multi/remove-inferiors.exp @@ -49,8 +49,7 @@ proc test_remove_inferiors { } { # Load binfile and start the inferior. set binfile_re [string_to_regexp ${binfile}] gdb_test "file ${binfile}" \ - [multi_line "Reading symbols from ${binfile_re}\.\.\.(" \ - "Expanding full symbols from ${binfile_re}\.\.\.)?" ] \ + "Reading symbols from ${binfile_re}\.\.\." \ "load binary" if {![runto_main]} { diff --git a/gdb/testsuite/gdb.opt/break-on-_exit.exp b/gdb/testsuite/gdb.opt/break-on-_exit.exp index 8ba9267fe25..c9352b2ae5a 100644 --- a/gdb/testsuite/gdb.opt/break-on-_exit.exp +++ b/gdb/testsuite/gdb.opt/break-on-_exit.exp @@ -35,12 +35,6 @@ standard_testfile -# See if we have target board readnow.exp or similar. -if {[readnow]} { - untested "--readnever not allowed in combination with --readnow" - return -1 -} - save_vars { GDBFLAGS } { append GDBFLAGS " -readnever" diff --git a/gdb/testsuite/gdb.python/py-symbol.exp b/gdb/testsuite/gdb.python/py-symbol.exp index 7d172d792e9..b68432d8d9a 100644 --- a/gdb/testsuite/gdb.python/py-symbol.exp +++ b/gdb/testsuite/gdb.python/py-symbol.exp @@ -28,20 +28,15 @@ if {[prepare_for_testing "failed to prepare" $testfile \ return -1 } -set readnow_p [readnow] - # Check that we find all static symbols before the inferior has # started, at which point some of the symtabs might not have been # expanded. gdb_test "python print (len (gdb.lookup_static_symbols ('rr')))" \ "2" "print (len (gdb.lookup_static_symbols ('rr')))" -# This test does not make sense when readnow is in effect. -if {!$readnow_p} { - # Make sure that the global symbol's symtab was not expanded. - gdb_test_no_output "pipe maint info symtab | grep \"name.*py-symbol-3.c\"" \ - "global rr symtab was not expanded" -} +# Make sure that the global symbol's symtab was not expanded. +gdb_test_no_output "pipe maint info symtab | grep \"name.*py-symbol-3.c\"" \ + "global rr symtab was not expanded" # Restart so we don't have expanded symtabs after the previous test. clean_restart ${::testfile} diff --git a/gdb/testsuite/gdb.server/target-exec-file.exp b/gdb/testsuite/gdb.server/target-exec-file.exp index 7c204cc9abd..81624d43905 100644 --- a/gdb/testsuite/gdb.server/target-exec-file.exp +++ b/gdb/testsuite/gdb.server/target-exec-file.exp @@ -118,10 +118,6 @@ gdb_test_multiple "file target:$target_exec" "run file command" { exp_continue } - -re "^Expanding full symbols from \[^\r\n\]+\r\n" { - exp_continue - } - -re "^$gdb_prompt $" { pass $gdb_test_name } @@ -171,9 +167,6 @@ proc start_inferior { testname expect_reread } { -re "^Reading \[^\r\n\]+ from remote target\\.\\.\\.\r\n" { exp_continue } - -re "^Expanding full symbols from \[^\r\n\]+\\.\\.\\.\r\n" { - exp_continue - } -re "^Temporary breakpoint $::decimal at $::hex: \[^\r\n\]+\r\n" { exp_continue } diff --git a/gdb/testsuite/gdb.threads/detach-step-over.exp b/gdb/testsuite/gdb.threads/detach-step-over.exp index 85198111fd0..80a3c3788c2 100644 --- a/gdb/testsuite/gdb.threads/detach-step-over.exp +++ b/gdb/testsuite/gdb.threads/detach-step-over.exp @@ -88,8 +88,7 @@ proc attach_to {testpid} { # Seen when "set debug libthread_db" is on. exp_continue } - -re "Reading symbols from|Expanding full symbols from" { - # Prevent -readnow timeout. + -re "Reading symbols from" { exp_continue } -re "is a zombie - the process has already terminated.*$::gdb_prompt " { diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index 8e3b18de09c..6940d5cab86 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -7776,8 +7776,7 @@ proc gdb_load_no_complaints { arg } { set re \ [multi_line \ "^(Reading symbols from \[^\r\n\]*" \ - ")+(Expanding full symbols from \[^\r\n\]*" \ - ")?$gdb_prompt $"] + ")+$gdb_prompt $"] gdb_assert {[regexp $re $gdb_file_cmd_msg]} "No complaints" } @@ -10538,14 +10537,6 @@ gdb_caching_proc supports_fcf_protection {} { } executable "additional_flags=-fcf-protection=full"] } -# Return true if symbols were read in using -readnow. Otherwise, -# return false. - -proc readnow { } { - return [expr {[lsearch -exact $::GDBFLAGS -readnow] != -1 - || [lsearch -exact $::GDBFLAGS --readnow] != -1}] -} - # Return 'gdb_index' if the symbols from OBJFILE were read using a # .gdb_index index. Return 'debug_names' if the symbols were read # using a DWARF-5 style .debug_names index. Otherwise, return an @@ -10620,8 +10611,6 @@ proc add_gdb_index { program {style ""} } { # # 'dwarf5' - Contain DWARF5 style index sections, # -# 'readnow' - A fake .gdb_index as a result of readnow being used, -# # 'cooked' - The cooked index created when reading non-indexed debug # information, # @@ -10651,10 +10640,6 @@ proc get_index_type { objfile { testname "" } } { set index_type "cooked" gdb_test_lines "" $gdb_test_name ".*" } - -re ".gdb_index: faked for \"readnow\"" { - set index_type "readnow" - gdb_test_lines "" $gdb_test_name ".*" - } -re -wrap "" { set index_type "none" } @@ -10688,10 +10673,6 @@ proc ensure_gdb_index { binfile {style ""} } { return 0 } - if { $index_type eq "readnow" } { - return -1 - } - if { [add_gdb_index $binfile $style] == "1" } { return 1 } diff --git a/gdb/testsuite/lib/mi-support.exp b/gdb/testsuite/lib/mi-support.exp index ad0a95d257c..53deec66f9f 100644 --- a/gdb/testsuite/lib/mi-support.exp +++ b/gdb/testsuite/lib/mi-support.exp @@ -648,14 +648,6 @@ proc mi_gdb_load { arg } { return 0 } -# Return true if symbols were read in using -readnow. Otherwise, -# return false. - -proc mi_readnow { args } { - # Just defer to gdb.exp. - return [readnow] -} - # mi_gdb_test COMMAND [PATTERN [MESSAGE [IPATTERN]]] -- send a command to gdb; # test the result. # diff --git a/gdb/testsuite/make-check-all.sh b/gdb/testsuite/make-check-all.sh index c46cd8de4ed..3b3cdce6632 100755 --- a/gdb/testsuite/make-check-all.sh +++ b/gdb/testsuite/make-check-all.sh @@ -80,7 +80,6 @@ target_boards=( fission-dwp gold gold-gdb-index - readnow ) # Like target_boards, but not actual files in gdb/testsuite/boards. -- 2.49.0