public inbox for gdb-cvs@sourceware.org help / color / mirror / Atom feed
From: Simon Marchi <simark@sourceware.org> To: gdb-cvs@sourceware.org Subject: [binutils-gdb] Make addrmap const-correct in cooked index Date: Mon, 30 Jan 2023 16:55:44 +0000 (GMT) [thread overview] Message-ID: <20230130165544.74957383FBAF@sourceware.org> (raw) https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=70ca3a6bc9538d98a602325f4e84d18d0be491d1 commit 70ca3a6bc9538d98a602325f4e84d18d0be491d1 Author: Tom Tromey <tromey@adacore.com> Date: Mon Jan 30 10:29:36 2023 -0500 Make addrmap const-correct in cooked index After the cooked index is created, the addrmaps should be const. Change-Id: I8234520ab346ced40a8dd6e478ba21fc438c2ba2 Diff: --- gdb/dwarf2/cooked-index.c | 6 +++--- gdb/dwarf2/cooked-index.h | 2 +- gdb/dwarf2/index-write.c | 12 +++++++----- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/gdb/dwarf2/cooked-index.c b/gdb/dwarf2/cooked-index.c index 1a568e6aae7..646bc76575c 100644 --- a/gdb/dwarf2/cooked-index.c +++ b/gdb/dwarf2/cooked-index.c @@ -401,10 +401,10 @@ cooked_index_vector::lookup (CORE_ADDR addr) /* See cooked-index.h. */ -std::vector<addrmap *> -cooked_index_vector::get_addrmaps () +std::vector<const addrmap *> +cooked_index_vector::get_addrmaps () const { - std::vector<addrmap *> result; + std::vector<const addrmap *> result; for (const auto &index : m_vector) result.push_back (index->m_addrmap); return result; diff --git a/gdb/dwarf2/cooked-index.h b/gdb/dwarf2/cooked-index.h index 7a8c18975e5..7299a4f77b4 100644 --- a/gdb/dwarf2/cooked-index.h +++ b/gdb/dwarf2/cooked-index.h @@ -360,7 +360,7 @@ public: /* Return a new vector of all the addrmaps used by all the indexes held by this object. */ - std::vector<addrmap *> get_addrmaps (); + std::vector<const addrmap *> get_addrmaps () const; /* Return the entry that is believed to represent the program's "main". This will return NULL if no such entry is available. */ diff --git a/gdb/dwarf2/index-write.c b/gdb/dwarf2/index-write.c index 7b1b2d6520c..82cd3a8636d 100644 --- a/gdb/dwarf2/index-write.c +++ b/gdb/dwarf2/index-write.c @@ -433,7 +433,8 @@ write_hash_table (mapped_symtab *symtab, data_buf &output, data_buf &cpool) } } -typedef std::unordered_map<dwarf2_per_cu_data *, unsigned int> cu_index_map; +using cu_index_map + = std::unordered_map<const dwarf2_per_cu_data *, unsigned int>; /* Helper struct for building the address table. */ struct addrmap_index_data @@ -446,7 +447,7 @@ struct addrmap_index_data data_buf &addr_vec; cu_index_map &cu_index_htab; - int operator() (CORE_ADDR start_addr, void *obj); + int operator() (CORE_ADDR start_addr, const void *obj); /* True if the previous_* fields are valid. We can't write an entry until we see the next entry (since it is only then @@ -472,9 +473,10 @@ add_address_entry (data_buf &addr_vec, /* Worker function for traversing an addrmap to build the address table. */ int -addrmap_index_data::operator() (CORE_ADDR start_addr, void *obj) +addrmap_index_data::operator() (CORE_ADDR start_addr, const void *obj) { - dwarf2_per_cu_data *per_cu = static_cast<dwarf2_per_cu_data *> (obj); + const dwarf2_per_cu_data *per_cu + = static_cast<const dwarf2_per_cu_data *> (obj); if (previous_valid) add_address_entry (addr_vec, @@ -500,7 +502,7 @@ addrmap_index_data::operator() (CORE_ADDR start_addr, void *obj) in the index file. */ static void -write_address_map (struct addrmap *addrmap, data_buf &addr_vec, +write_address_map (const addrmap *addrmap, data_buf &addr_vec, cu_index_map &cu_index_htab) { struct addrmap_index_data addrmap_index_data (addr_vec, cu_index_htab);
reply other threads:[~2023-01-30 16:55 UTC|newest] Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20230130165544.74957383FBAF@sourceware.org \ --to=simark@sourceware.org \ --cc=gdb-cvs@sourceware.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).