[libcxx-commits] [PATCH] D60416: [libc++] Make sure that the symbol differ takes into account symbol types

Louis Dionne via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Thu Apr 11 15:23:13 PDT 2019


ldionne added a comment.

In D60416#1462291 <https://reviews.llvm.org/D60416#1462291>, @EricWF wrote:

> We shouldn't emit tables with duplicate symbols from sym_extract. Instead we should meaningfully merge duplicate symbols in the extractor as the appear.
>  `U` means the symbol has been used but not defined. `I` is an indirect definition. The definition should take precedence. 
>  This case also occurs using sym_check on static libraries when one TU uses a symbol and another defines it.
>
> I have a patch sitting around that does this. Let me clean it up and send it out.


I mean, listing both a `U` entry and a `I` entry is what `nm` does if I'm not mistaken. Why are we trying to do something so significantly different from `nm`? It seems to me that what this script should do is essentially `diff <(nm -jg old.dylib) <(nm -jg new.dylib)` while taking into account symbol types and a few other things.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D60416





More information about the libcxx-commits mailing list