[PATCH] D73865: [CodeGenModule] Assume dso_local for -fpic -fno-semantic-interposition

Fangrui Song via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sat Feb 15 16:01:30 PST 2020


MaskRay planned changes to this revision.
MaskRay added a comment.

I am thinking whether we may need fine-grained `-fno-semantic-interposition-{data,function}`. I've noticed one problem with an internal target `_multiarray_umath.so` `npy_ma_str_array_finalize`. I need to make more investigation, but there is a chance that we can default to `-fno-semantic-interposition-function` but not `-fno-semantic-interposition-data`.

There is an issue that should be fixed in LTO. dso_local needs to be removed for a split LTO unit. Inferring `dso_local` when `-fPIC -fno-semantic-interposition` can cause problem to `-fsanitize=cfi -fsanitize-cfi-cross-dso -fsplit-lto-unit`. For my own note, `absl/base:sysinfo_test` can cause `error: relocation R_X86_64_PC32 cannot be used against symbol vtable for BaseArena; recompile with -fPIC`.

At least, before the LTO issue is fixed, we cannot assume dso_local for -fno-semantic-position (even if specified explicitly).


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D73865





More information about the cfe-commits mailing list