On Tue, Jan 18, 2022 at 07:22:00PM +0100, Florian Weimer wrote: > >> On aarch64 I actually got a slightly different error message: > >> > >> ld: criu/pie/restorer.o: in function `lsm_set_label': > >> /drone/src/criu/pie/restorer.c:174: undefined reference to `strlen' > >> > >> Line 174 is: "for (len = 0; label[len]; len++)" > >> > >> Although there is no direct use of strlen(), it seems GCC 12 uses > >> strlen() for that line which did not happen with GCC 11. Using > >> '-ffreestanding' makes the compilation work with GCC 12 and CI still > >> looks happy. Thanks. > > > > https://gcc.gnu.org/r12-4283-g6f966f06146be76 > > Note, gcc has been doing something similar for years for memcpy and memset. > > -fno-tree-loop-distribute-patterns > > will work too. > > Shouldn't it be -ffreestanding? -ffreestanding works too. Both of these options disable the pattern matching, -fno-tree-loop-distribute-patterns is a targetted option that disables just these kind of optimizations, -ffreestanding has various further effects, it implies -fno-builtin, changes some preprocessor macros and generally will disable far more optimizations than -fno-tree-loop-distribute-patterns will. Jakub _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure