The unavailability of posix_memalign on z/OS forces us to define _LIBCPP_HAS_NO_LIBRARY_ALIGNED_ALLOCATION'. The use of posix_memalign is being used in libcxx/src/new.cpp.
Details
- Reviewers
ldionne - Group Reviewers
Restricted Project - Commits
- rGaa8a5b800def: [SystemZ][ZOS] libcxx - no posix memalign
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Unfortunately we need one more change on z/OS specially for the shared build.
The -fno-aligned-allocation is required to avoid using aligned allocations otherwise, __cpp_aligned_new is defined to 201606L and we result with unresolved symbols.
Sorry, but no I'm not. Let's not revert and talk.
libcxx/CMakeLists.txt | ||
---|---|---|
525 | Can you explain why you need this? IOW, what issue are you seeing if you use -faligned-allocation? |
libcxx/CMakeLists.txt | ||
---|---|---|
525 | I'm seeing unresolved symbols to align version of operator new preventing from linking. |
My understanding is that we don't want to disable -faligned-allocation since users might provide the required operator new/delete.
There is another related option -faligned-alloc-unavailable which we made active for z/OS but the library explicit tramps it in cmake configuration. .
Can you explain why you need this? IOW, what issue are you seeing if you use -faligned-allocation?