This is the mail archive of the 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]

RE: partial-symtab symbol sorting (was: "Re: GDB 7.4 branching status? (2011-11-23)")

> -----Message d'origine-----
> De?: [mailto:gdb-patches-
>] De la part de Joel Brobecker
> Envoyé?: mardi 29 novembre 2011 04:07
> À?: Tom Tromey
> Cc?:
> Objet?: partial-symtab symbol sorting (was: "Re: GDB 7.4 branching status?
> (2011-11-23)")
> This is an issue that is only tangential to this patch, and should
> not be considered part of the series.
> I just realized that partial symbols are sorted using strcmp_iw_ordered.
> This works great for C++, for instance, but only works OK for Ada.
> I think that this is related to the fact that we might be using
> the linkage name, rather than the natural name (we compute the natural
> name only on-demand, due to memory pressure in large apps). As a result,
> the strcmp_iw_ordered routine can return non-zero for two names that
> ada-lang.c:compare_names would consider equal.
> For instance: `pck__hello' and `pck__hello__2'.
> So when doing a symbol lookup for pck__hello, for instance, we pass
> our own comparison routine, which is "compatible" with
> strcmp_iw_ordered to the psymtab map_matching_symbols routine.
> This allows us to perform a binary search rather than linear one.
> I am wondering if we shouldn't be sorting the partial symbols
> using a language-specific sorting routine instead.  

  Did you think about what would happen to executables containing
objects compiled in different languages, each having a different sorting

  I don't understand how this would work in such a case?

Pierre Muller
GDB pascal language support maintainer

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