This is an archive of the discontinued LLVM Phabricator instance.

[libc++] [test] ASSERT_WITH_LIBRARY_INTERNAL_ALLOCATIONS is not supported on AIX
ClosedPublic

Authored by Quuxplusone on Jan 8 2022, 12:26 PM.

Details

Summary

I believe all four of these failures are directly due to the pattern where allocations in the dylib are unobserved by the client program. If AIX32 and AIX64 don't support that, we should just disable the ASSERT_WITH_LIBRARY_INTERNAL_ALLOCATIONS macro on AIX, and then we don't need to XFAIL these tests.

This also means I won't need to XFAIL a dozen other tests in D89057, which rely heavily on ASSERT_WITH_LIBRARY_INTERNAL_ALLOCATIONS and also currently fail on AIX.
See https://buildkite.com/llvm-project/libcxx-ci/builds/7669

Diff Detail

Event Timeline

Quuxplusone requested review of this revision.Jan 8 2022, 12:26 PM
Quuxplusone created this revision.
Herald added a reviewer: Restricted Project. · View Herald TranscriptJan 8 2022, 12:26 PM
daltenty accepted this revision.Jan 14 2022, 9:43 AM

Thanks for picking this up. This looks correct to me from an AIX perspective. Like the other platforms listed, the references are normally tightly bound at link time. While you can get internal replacement of operator new/delete working by turning on run-time linking, that's not the default linking model and potentially will expose you to other issues.

This revision was not accepted when it landed; it landed in state Needs Review.Jan 14 2022, 9:48 AM
This revision was automatically updated to reflect the committed changes.