[RFC] Make containerized tests more robust (libgcc_s.so.1 not found)

dilfridge@gentoo.org dilfridge@gentoo.org
Wed Jan 22 16:12:39 GMT 2025


In some environments (Gentoo, Debian) and on some architectures (32bit arm),
about 30 tests fail with an error in the build log stating that libgcc_s.so.1
could not be found during runtime linking.

It turns out that several problems conspire here.

1) arm (and others) needs libgcc_s.so.1 at runtime of the tests because
libsupport is built with -fexceptions -fasynchronous-unwind-tables

2) Gentoo and Debian (and probably others) install libgcc_s.so.1 only within
the gcc directory tree and list the corresponding directory in
/etc/ld.so.conf. For Gentoo the rationale for this is to be able to switch
between several installed GCC versions.

3) Since the mechanism to construct testroot.pristine disables the global
linker cache when assembling needed libraries, it does not find and does
not copy libgcc_s.so.1 ...

4) Even if it is made to do so, the library is not found within the testroot
since it ends up in the same nonstandard directory.

Please have a look at the following patch series. I'm not sure if this is
the best way to solve it yet, so it would be nice to have some more eyes.

So far only tested in an armv4tl-softfloat-linux-gnueabi systemd-nspawn on
aarch64 and within Gentoo Portage, but it makes the testsuite pass nicely
there.
(The additional XFAILS are related to systemd-nspawn.)

                === Summary of results ===
   5372 PASS
     48 UNSUPPORTED
     28 XFAIL
     10 XPASS




More information about the Libc-alpha mailing list