[PATCH] D12299: [libcxx] ABI-Breaking Fix for ALL undefined behavior in <list>.

Eric Fiselier via cfe-commits cfe-commits at lists.llvm.org
Thu Aug 27 20:09:22 PDT 2015


EricWF added a comment.

I've spent some time testing this patch to see if it causes ABI problem. Here is what I did:

1. Add external instantiations of std::list into the libc++ dylib for the types used in the tests.
2. Compile `libcxx-old.dylib` with the external instantations but without this patch.
3. Apply this patch and compile `libcxx-new.dylib`.
4. For each test, `T`, in `std/containers/sequences/list` do the following:
  1. Compile and link `T` against the patched headers and `libcxx-new.dylib`. Run `T` using `libcxx-old.dylib`.
  2. Compile and link `T` against `the original headers and `libcxx-old.dylib`. Run `T` using `libcxx-new.dylib`.

I didn't see any issues arise when doing this but that doesn't mean there are none. I'm going to ensure this method actually would catch
a ABI breakage so I can have some more faith in the results.


http://reviews.llvm.org/D12299





More information about the cfe-commits mailing list