[PATCH] D142888: [compiler-rt] Fix scudo build on ARM
Mitch Phillips via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Mar 31 12:07:25 PDT 2023
hctim added inline comments.
================
Comment at: compiler-rt/lib/scudo/standalone/CMakeLists.txt:157
if (COMPILER_RT_HAS_GWP_ASAN)
add_dependencies(scudo_standalone gwp_asan)
----------------
luporl wrote:
> hctim wrote:
> > Maybe instead, just:
> >
> > ```
> > set(SCUDO_LINK_LIBS)
> >
> > if (COMPILER_RT_HAS_GWP_ASAN)
> > if(COMPILER_RT_USE_LLVM_UNWINDER)
> > list(APPEND SCUDO_LINK_LIBS ${COMPILER_RT_UNWINDER_LINK_LIBS} dl)
> > elseif (COMPILER_RT_HAS_GCC_S_LIB)
> > list(APPEND SCUDO_LINK_LIBS gcc_s)
> > elseif (COMPILER_RT_HAS_GCC_LIB)
> > list(APPEND SCUDO_LINK_LIBS gcc)
> > else()
> > message(FATAL_ERROR "No suitable unwinder library")
> > endif()
> >
> > ... other stuff already in this branch
> > endif()
> > ```
> >
> Just to confirm, is it ok to make this change for all architectures?
> Non-ARM32 architectures will start to get an an error when `COMPILER_RT_USE_LLVM_UNWINDER` is OFF and libgcc is not found, even if they don't need to link against an unwind library.
I'm kinda guessing that most people aren't missing an unwinder. Just checking the synthetic command line from a clang-link invocation on my machine, it just includes `-lunwind` by default.
So it's only the fancy-schmancy people who are using `COMPILER_RT_USE_LLVM_UNWINDER` who will get their own unwinder. Everyone else gets libunwind from gcc.
If people complain though, we can just disable GWP-ASan if there's no platform unwinder, and `message(WARNING ...` that it's happening.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D142888/new/
https://reviews.llvm.org/D142888
More information about the llvm-commits
mailing list