[PATCH] D46326: ThinLTO+CFI: short-circuit direct calls to jump table entries

Dmitry Mikulin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon May 21 20:07:58 PDT 2018


dmikulin added a comment.

In https://reviews.llvm.org/D46326#1105694, @vlad.tsyrklevich wrote:

> Based on a quick look at a couple of stack traces it looks like some direct
>  calls now call symbols that are no longer overriden by their replacements
>  in chromium, e.g. calls to realloc() from a DSO previously resolved to the
>  tcmalloc implementation in chromium instead of realloc.cfi(), the locally
>  linked tcmalloc implementation in that library.


If I understand correctly, you have a DSO linked to the main chromium binary. The DSO calls realloc(), which normally resolves at runtime to the realloc() in the main binary. The DSO also defines realloc(). After my changes instead of dynamically resolving realloc(), it's statically resolved to realloc.cfi(). How do you build your DSO? I can't get defined symbols to resolve externally with CFI enabled...


Repository:
  rL LLVM

https://reviews.llvm.org/D46326





More information about the llvm-commits mailing list