This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]