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

Nikolas Klauser via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Fri Jul 14 11:00:46 PDT 2023


philnik added inline comments.


================
Comment at: libcxx/test/std/atomics/atomics.types.generic/integral.pass.cpp:9
 
+// "undefined symbol: __atomic_load_8"
+// XFAIL: LIBCXX-PICOLIBC-FIXME
----------------
I guess this is caused by a missing libatomic?


================
Comment at: libcxx/utils/ci/run-buildbot:608
+    clean
+    ${MONOREPO_ROOT}/libcxx/utils/ci/build-picolibc.sh \
+        --build-dir "${BUILD_DIR}" \
----------------
DavidSpickett wrote:
> michaelplatings wrote:
> > DavidSpickett wrote:
> > > DavidSpickett wrote:
> > > > Mordante wrote:
> > > > > Why do we need to build picolib every CI run instead of storing it in the base image?
> > > > > If that is really needed we should add some documentation why it's needed.
> > > > Assuming we can find a way to use this script directly in Linaro's container builds, it's not a problem. That ensures anyone can reproduce it easily.
> > > > 
> > > > The justification for picking a fixed version should be documented somewhere even if it's just that it's whatever the current version was at the time.
> > > The other problem doing this is how do we place the library in a place that would also be appropriate for anyone reproducing this without the container itself. I guess people could set an env var for the linker, but it's one more difference they have to account for.
> > > 
> > > Building it each time keeps it isolated, at the cost of compile time each time.
> > Yes I'd like to get this working in a relatively environment-independent state at first. Once that's stabilised we can put picolibc into the relevant container(s) and that will speed things up by ~16 seconds. The only additional dependencies needed are python3-venv & python3-pip (for meson) which I //think// are already included in the Linaro containers.
> Correct, venv and pip3 are included already for running the llvm test suite (the image is used for many different bots).
Personally I'm not super concerned about building picolibc every time. I don't expect it to be a long build (probably similar to libc++), and testing always the latest version seems like a nice thing to me.


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