This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[review v2] Defer minimal symbol name-setting
Tom Tromey has posted comments on this change.
Change URL: https://gnutoolchain-gerrit.osci.io/r/c/binutils-gdb/+/166
......................................................................
Patch Set 2:
(1 comment)
https://gnutoolchain-gerrit.osci.io/r/c/binutils-gdb/+/166/2/gdb/minsyms.c
File gdb/minsyms.c:
https://gnutoolchain-gerrit.osci.io/r/c/binutils-gdb/+/166/2/gdb/minsyms.c@1360
PS2, Line 1360:
1286 | minimal_symbol_reader::install ()
| ...
1355 | m_objfile->per_bfd->msymbols = std::move (msym_holder);
1356 |
1357 | msymbols = m_objfile->per_bfd->msymbols.get ();
1358 | for (int i = 0; i < mcount; ++i)
1359 | {
1360 > if (!msymbols[i].name_set)
1361 | {
1362 | symbol_set_names (&msymbols[i], msymbols[i].name,
1363 | strlen (msymbols[i].name), 0,
1364 | m_objfile->per_bfd);
1365 | msymbols[i].name_set = 1;
> I'm under the impression that multiple symbol readers can install […]
Ok, I looked into this, and unfortunately this really can happen.
For example, elfread.c can obviously make minimal symbols itself.
After having done so, though, it can call elfstab_build_psymtabs,
which calls dbx_symfile_read, which can install minimal symbols.
Perhaps with some refactoring a single minimal_symbol_reader
could be created and then passed around. I am not sure whether
this would really be an improvement -- it may depend on the
other minsym threading changes that Christian is experimenting
with.
--
Gerrit-Project: binutils-gdb
Gerrit-Branch: master
Gerrit-Change-Id: I4fe3993b99fb3a43968067806e294d48e377fd76
Gerrit-Change-Number: 166
Gerrit-PatchSet: 2
Gerrit-Owner: Tom Tromey <tromey@sourceware.org>
Gerrit-Reviewer: Tom Tromey <tromey@sourceware.org>
Gerrit-CC: Simon Marchi <simon.marchi@polymtl.ca>
Gerrit-Comment-Date: Wed, 30 Oct 2019 22:51:01 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Tom Tromey <tromey@sourceware.org>
Comment-In-Reply-To: Simon Marchi <simon.marchi@polymtl.ca>
Gerrit-MessageType: comment