sas added a comment.

In http://reviews.llvm.org/D22294#483264, @clayborg wrote:

> Note that during function lookup, we can find **both** "putchar" and 
> "__my_putchar" in the debug info, so you will be able to call both.


Correct, unless as you pointed out both symbols are in libraries, and not in 
the main executable.

Our experience using this feature of clang has been that both symbols being in 
libraries is the rule rather than the exception.

See r221548 in llvm which introduces the symbol rewriter pass. This 
functionality is used for things like interposing of libraries, etc, or 
experiments where two versions of the same library are running alongside each 
other. This means that in the general use case, you have both the non-rewritten 
as well as the rewritten library loaded in the process.

FWIW, the current version of lldb is already able to call `_my_putchar`, given 
that this is the name present in the Mach-O symbol table.


http://reviews.llvm.org/D22294



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

Reply via email to