[PATCH] D102090: [CMake][ELF] Add -fno-semantic-interposition and -Bsymbolic-functions

Fangrui Song via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu May 13 10:15:46 PDT 2021


MaskRay added a subscriber: marco-c.
MaskRay added a comment.

In D102090#2756605 <https://reviews.llvm.org/D102090#2756605>, @Mordante wrote:

> I tried to build the libc++ benchmarks locally and the benchmark with target `to_chars_libcxx` fails to properly execute. Bi-section let to this commit. Can the change in the linker flags affect libc++? I also see the scheduled builds of libc++ fail at Buildkite https://buildkite.com/llvm-project/libcxx-ci.
> Can you have a look at the issue?

I suspect `-fno-semantic-interposition` added here affects libc++abi as well and libc++abi may rely on interposition somewhere (unsure).

In D102090#2756758 <https://reviews.llvm.org/D102090#2756758>, @ostannard wrote:

> There is also a test failure on the aarch64 2-stage bot (https://lab.llvm.org/buildbot/#/builders/7/builds/2720) which I've bisected to this change, so I'll revert it for now.

The way @marco-c  made `compiler-rt/test/profile/Posix/gcov-shared-flush.c` work on Linux in rL336678 <https://reviews.llvm.org/rL336678> is to use interposition of the global variables `writeout_fn_list`/etc.
This doesn't work on Darwin, thus https://bugs.llvm.org/show_bug.cgi?id=38134

I think -fno-semantic-interposition should be specific to llvm/clang for now. libc++abi/compiler-rt should not use the option.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D102090



More information about the cfe-commits mailing list