Boost logo

Boost Users :

Subject: Re: [Boost-users] Coroutine jump_fcontext crash (Boost 1.61)
From: Gavin Lambert (gavinl_at_[hidden])
Date: 2016-06-21 23:40:27


On 22/06/2016 13:16, Jason Mancini wrote:
>> You should probably have an ABI compatibility namespace if defining this
>> differently on each end causes ABI breakage.
>
> For instance, we have 45 boost installations (boost version * gcc
> versions * 32/64 bit * options), and 30 valgrind installations. That
> would require 1350 boost+valgrind installations to generate all possible
> debug cases, hahaha.
[...]
> My solution is to force the define in the 7 header files that use it,
> such that it is always enabled, for the library/installation build, and
> all end-user code. Because ABI class layout mismatches are horrible to
> debug, we've been through that before.

That's the point of defining ABI namespaces (in Boost.Context, not in
your code). If the settings are mismatched then you'll get a link error
instead of UB -- provided that the library author has correctly
identified all the settings that change the ABI, of course.


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net