On Fri, Jan 14, 2022 at 03:31:43PM +0100, Jakub Jelinek wrote: > gcc 12 snapshot has landed as the system compiler into rawhide today. > GCC 12 is going to enter its stage4 development phase (only regression > and documentation bugfixes allowed) on Monday 17th, so there should be > just those bugfixes and not new features etc. anymore. > https://gcc.gnu.org/gcc-12/changes.html lists important changes, > most important is probably that vectorization is enabled at -O2 now > which is the option with most of the distribution is built with. > > https://gcc.gnu.org/gcc-12/porting_to.html is so far incomplete and lists > some cases where people need to adjust their code. Other things > include the usual C++ header changes, where previously some standard > header included some other header as an implementation detail but it doesn't > any longer and so code that relied on such indirect include that isn't > required by the standard needs to include the header that provides whatever > it relies on. Or e.g. packages using -Werror where new warnings are > reported with the newer compiler and -Werror results in build failures. > > If there are bugs on the compiler side, please let me know immediately, > so that those bugs can be fixed before the mass rebuild next week. Not sure if it is a bug, CRIU no longer works with GCC 12. CRIU creates something called 'parasite code' which is injected into running processes for checkpointing and that part is built with '-nostdlib'. Starting with GCC 12 we see 'strlen()' being pulled into the parasite code which it wasn't with GCC 11. https://kojipkgs.fedoraproject.org/work/tasks/6033/81406033/build.log gcc -c -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -O2 -g -Wall -Wformat-security -Wdeclaration-after-statement -Wstrict-prototypes -DCONFIG_X86_64 -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DCONFIG_HAS_LIBBSD -DCONFIG_HAS_SELINUX -DCONFIG_GNUTLS -DCONFIG_HAS_NFTABLES_LIB_API_1 -DCONFIG_COMPAT -iquote include/ -DCONFIG_HAS_LIBBSD -DCONFIG_HAS_SELINUX -DCONFIG_GNUTLS -DCONFIG_HAS_NFTABLES_LIB_API_1 -DCONFIG_COMPAT -I ./compel/include/uapi -fno-strict-aliasing -iquote criu/include -iquote include -iquote images -iquote criu/arch/x86/include -iquote . -I/usr/include/libnl3 -DSYSCONFDIR='"/etc"' -DGLOBAL_CONFIG_DIR='"/etc/criu/"' -DDEFAULT_CONFIG_FILENAME='"default.conf"' -DUSER_CONFIG_DIR='".criu/"' -DCR_NOGLIBC -Wstrict-prototypes -fno-stack-protector -nostdlib -fomit-frame-pointer -fpie -I ./compel/include/uapi -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0 -Wp,-U_FORTIFY_SOURCE -Wp,-D_FORTIFY_SOURCE=0 criu/pie/restorer.c -o criu/pie/restorer.o ld -r -z noexecstack -T ./compel/arch/x86/scripts/compel-pack.lds.S -o criu/pie/restorer.built-in.o criu/pie/parasite-vdso.o ./criu/arch/x86/vdso-pie.o ./criu/arch/x86/restorer.o ./criu/arch/x86/restorer_unmap.o ./criu/arch/x86/sigaction_compat_pie.o criu/pie/restorer.o criu/pie/pie.lib.a ./compel/plugins/std.lib.a ./compel/compel-host hgen -f criu/pie/restorer.built-in.o -o criu/pie/restorer-blob.h Error (compel/src/lib/handle-elf-host.c:337): Unexpected undefined symbol: `strlen'. External symbol in PIE? make[2]: *** [criu/pie/Makefile:58: criu/pie/restorer-blob.h] Error 255 make[1]: *** [criu/Makefile:59: pie] Error 2 make: *** [Makefile:250: criu] Error 2 Not sure why there is 'strlen()' pulled in with GCC 12. Any ideas? Adrian _______________________________________________ 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