[LLVMdev] Problem with InsertPointGuard ABI?

Justin Bogner mail at justinbogner.com
Tue Jul 21 09:30:21 PDT 2015


Paweł Bylica <chfast at gmail.com> writes:
> On Tue, Jul 21, 2015 at 5:55 PM Justin Bogner <mail at justinbogner.com> wrote:
>
>     Paweł Bylica <chfast at gmail.com> writes:
>     > I can confirm that the issue has been caused by NDEBUG flag. 
>     >
>     > On Mon, Jul 13, 2015 at 6:29 PM Reid Kleckner <rnk at google.com> wrote:
>     >
>     >     The layout of AssertingVH has depended on NDEBUG since 2009, which
>     >     predates any of our efforts to make LLVM's ABI resilient to
>     mismatched
>     >     NDEBUG definitions between LLVM and its users.
>     >
>     >     For now, make sure your definition of NDEBUG matches LLVM's. In the
>     long
>     >     run, we could conceivably do something
>     >     with LLVM_ENABLE_ABI_BREAKING_CHECKS to allow this mismatch.
>     >
>     > In practice it is very hard to make NDEBUG flag match configs of your
>     project
>     > and LLVM project. You often need to build debug and release versions of
>     your
>     > project and LLVM is installed as a debian package or with homebrew.
>     Moreover,
>     > there is not reliable way of checking if LLVM has been built with or
>     without
>     > NDEBUG.
>    
>     FWIW, `llvm-config --assertion-mode` will tell you whether or not your
>     LLVM was built with or without NDEBUG.
>
> That's not true in all cases. In case CMAKE_BUILD_TYPE=Release,
> LLVM_ENABLE_ASSERTIONS=Off and CMAKE_CXX_FLAGS_RELEASE="" llvm-config reports
> asserts as off but NDEBUG flag is not set.

Um, okay, but why would you set CMAKE_CXX_FLAGS_RELEASE=""? That doesn't
make any sense...

>
>     > Can I do anything more about it? Contributions related to
>     >  LLVM_ENABLE_ABI_BREAKING_CHECKS needed?
>     >
>     > - Paweł
>     >
>     > _______________________________________________
>     > LLVM Developers mailing list
>     > LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>     > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev




More information about the llvm-dev mailing list