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] |
The move to bugzilla has "resurrected" this patch; I suggested it several years ago, but it's still relevant. The problem is explained in details in the comment (very useful when I had to double-check that the patch was not obsolete, actually). To summarize it: lookup_partial_symtab is particularly slow when it has been given an absolute path. The reason is that it needs to build the full filename for every psymtab; when building this full filename, the corresponding file is opened/closed by find_and_open_source. As a consequence, in the worst case, the loop ends up opening/closing every source file of the application. Pretty bad for a big application, in particular if the sources are located on a slow file system. The idea of the patch is to avoid building the psymtab full filename if the basenames are different. Tested on linux, no regression. OK to apply? 2009-01-14 Jerome Guitton <guitton@adacore.com> * symtab.c (lookup_partial_symtab): When looking up an absolute path in the partial symtabs, compare the base names before checking the full names.
Attachment:
lookup_partial_symtab.dif
Description: video/dv
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |