kwk added a comment.

In D67390#1671018 <https://reviews.llvm.org/D67390#1671018>, @labath wrote:

> In D67390#1667270 <https://reviews.llvm.org/D67390#1667270>, @kwk wrote:
>
> > @labath how shall we go about this? We do have the situation that when you 
> > lookup a symbol you might find it twice if it is in `.dynsym` and in 
> > `.symtab`. Shall I adjust the test expectation to that or change my 
> > implementation?
>
>
> That's a good question (and another reason why I wanted this to be a separate 
> patch). Since only two tests broke it does not seem like having some symbols 
> twice does much harm. OTOH, having an identical symbol twice does seem like 
> asking for trouble down the line. One possibility would be to restrict this 
> merging to the gnu_debugdata case only. Another option would be to make the 
> merging code smarter and avoid adding the symbol a second time if it has the 
> same name and address. That would have the advantage of having the symbol 
> just once in the common case, while still preserving the full information (in 
> case the symbol tables were munged independently of the gnu_debugdata thingy).
>
> Overall, I guess I would prefer the last solution (inserting only different 
> symbols) unless that turns out to be difficult. In that case, I think just 
> restricting this to gnu_debugdata is fine.


The crucial line is the following line in `ObjectFileELF::ParseSymbols()`:

  symtab->AddSymbol(dc_symbol);

If I change that to:

  symtab->FindSymbolsByNameAndAddress(dc_symbol.GetName(), 
dc_symbol.GetAddress(), indexVector)
  if (indexVector.empty()) {
    symtab->AddSymbol(dc_symbol);
  }

is that the logic you have in mind? `FindSymbolsByNameAndAddress` I would need 
to implement.

> BTW, if you want, I think you can submit the rest of the gnu_debugdata 
> changes without waiting for this, if you just adjust the test expectations to 
> account for the fact that symtab+dynsym merging does not work (yet).

Let's wait first, okay?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D67390/new/

https://reviews.llvm.org/D67390



_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to