[libcxx-commits] [PATCH] D154246: [libc++] Add check for building with picolibc

Michael Platings via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Tue Jul 4 03:53:19 PDT 2023


michaelplatings added inline comments.


================
Comment at: libcxx/utils/ci/run-buildbot:617
+    # -Wno-atomic-alignment to disable warning-as-error:
+    # cxx_atomic_impl.h:376:12: large atomic operation may incur significant performance
+    # penalty; the access size (4 bytes) exceeds the max lock-free size (0  bytes)
----------------
ldionne wrote:
> I think we should just use a pragma to disable the warning in that function.
I've now found that the warning pops up in all the `__c11_atomic_...` invocations so I've surrounded all the invocations with a pragma disable.


================
Comment at: libcxx/utils/ci/run-buildbot:625
+    echo "--- Installing libc++, libc++abi and libunwind to a fake location"
+    ${NINJA} -vC "${BUILD_DIR}" install-cxx install-cxxabi install-unwind
+;;
----------------
ldionne wrote:
> We're not running the tests? I would expect
> 
> ```
> echo "+++ Running the libc++ tests"
> ${NINJA} -vC "${BUILD_DIR}" check-cxx check-cxxabi check-unwind
> ```
Yes I'd also like to get the tests passing or xfailed but that's going to require a fair bit of work. Off the top of my head:
* Add linker scripts.
* Figure out how to run the tests via emulation in the Docker containers.
* Xfail all the tests that rely on features that picolibc doesn't support.
All of these have been done already with various hacks in various downstream repositories, but finding a suitable way to do them properly in the libcxx sources is something I anticipate could take months.

For now I just want to set a baseline of keeping libcxx+picolibc building. Once that's in place we can start ratcheting up the quality bar.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D154246/new/

https://reviews.llvm.org/D154246



More information about the libcxx-commits mailing list