Building Node.js 20 (specifically, the bundled nghttp2) with gcc-14.0.1-0.3.fc40.aarch64 generated an internal compiler error. The same program compiles correctly with gcc-14.0.1-0.2.fc40 Reproducible: Always Steps to Reproduce: 1. Attempt to build the nodejs20 package with `fedpkg mockbuild --enablerepo=local` Actual Results: [1094/2732] gcc -MMD -MF obj/deps/nghttp2/lib/nghttp2.nghttp2_hd.o.d -D_U_= -D_GLIBCXX_USE_CXX11_ABI=1 -DNODE_OPENSSL_CONF_NAME=openssl_conf -DNODE_OPENSSL_CERT_STORE -DOPENSSL_FIPS -DICU_NO_USER_DATA_OVERRIDE -DNODE_SHARED_BUILTIN_CJS_MODULE_LEXER_LEXER_PATH=/usr/lib/node_modules/cjs-module-lexer/lexer.js -DNODE_SHARED_BUILTIN_CJS_MODULE_LEXER_DIST_LEXER_PATH=/usr/lib/node_modules/cjs-module-lexer/dist/lexer.js -DNODE_SHARED_BUILTIN_UNDICI_UNDICI_PATH=/usr/lib/node_modules/undici/index.js -D__STDC_FORMAT_MACROS -DBUILDING_NGHTTP2 -DNGHTTP2_STATICLIB -DHAVE_CONFIG_H -I../../deps/nghttp2/lib/includes -msign-return-address=all -pthread -Wall -Wextra -Wno-unused-parameter -fPIC -O3 -flto=4 -fuse-linker-plugin -ffat-lto-objects -fno-omit-frame-pointer -O2 -fexceptions -g1 -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DZLIB_CONST -fno-delete-null-pointer-checks -O3 -fno-ipa-icf -c ../../deps/nghttp2/lib/nghttp2_hd.c -o obj/deps/nghttp2/lib/nghttp2.nghttp2_hd.o FAILED: obj/deps/nghttp2/lib/nghttp2.nghttp2_hd.o gcc -MMD -MF obj/deps/nghttp2/lib/nghttp2.nghttp2_hd.o.d -D_U_= -D_GLIBCXX_USE_CXX11_ABI=1 -DNODE_OPENSSL_CONF_NAME=openssl_conf -DNODE_OPENSSL_CERT_STORE -DOPENSSL_FIPS -DICU_NO_USER_DATA_OVERRIDE -DNODE_SHARED_BUILTIN_CJS_MODULE_LEXER_LEXER_PATH=/usr/lib/node_modules/cjs-module-lexer/lexer.js -DNODE_SHARED_BUILTIN_CJS_MODULE_LEXER_DIST_LEXER_PATH=/usr/lib/node_modules/cjs-module-lexer/dist/lexer.js -DNODE_SHARED_BUILTIN_UNDICI_UNDICI_PATH=/usr/lib/node_modules/undici/index.js -D__STDC_FORMAT_MACROS -DBUILDING_NGHTTP2 -DNGHTTP2_STATICLIB -DHAVE_CONFIG_H -I../../deps/nghttp2/lib/includes -msign-return-address=all -pthread -Wall -Wextra -Wno-unused-parameter -fPIC -O3 -flto=4 -fuse-linker-plugin -ffat-lto-objects -fno-omit-frame-pointer -O2 -fexceptions -g1 -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DZLIB_CONST -fno-delete-null-pointer-checks -O3 -fno-ipa-icf -c ../../deps/nghttp2/lib/nghttp2_hd.c -o obj/deps/nghttp2/lib/nghttp2.nghttp2_hd.o gcc: warning: switch ‘-msign-return-address=all’ is no longer supported *** WARNING *** there are active plugins, do not report this as a bug unless you can reproduce it without enabling any plugins. Event | Plugins PLUGIN_FINISH_UNIT | annobin: Generate final annotations PLUGIN_START_UNIT | annobin: Generate global annotations PLUGIN_ALL_PASSES_START | annobin: Generate per-function annotations PLUGIN_ALL_PASSES_END | annobin: Register per-function end symbols during RTL pass: ldp_fusion ../../deps/nghttp2/lib/nghttp2_hd.c: In function ‘nghttp2_hd_inflate_hd_nv’: ../../deps/nghttp2/lib/nghttp2_hd.c:2236:1: internal compiler error: in aarch64_pair_mem_from_base, at config/aarch64/aarch64.cc:8235 2236 | } | ^ Please submit a full bug report, with preprocessed source (by using -freport-bug). See <http://bugzilla.redhat.com/bugzilla> for instructions. The bug is not reproducible, so it is likely a hardware or OS problem. Expected Results: Successful compilation
Created attachment 2010797 [details] Preprocessed source Attaching preprocessed source generated with -save-temps
FWIW, rust's rebuild hit the same error, also in bundled nghttp2: https://koji.fedoraproject.org/koji/taskinfo?taskID=112414058 The following warnings were emitted during compilation: warning: libnghttp2-sys.7+1.45.0: *** WARNING *** there are active plugins, do not report this as a bug unless you can reproduce it without enabling any plugins. warning: libnghttp2-sys.7+1.45.0: Event | Plugins warning: libnghttp2-sys.7+1.45.0: PLUGIN_FINISH_UNIT | annobin: Generate final annotations warning: libnghttp2-sys.7+1.45.0: PLUGIN_START_UNIT | annobin: Generate global annotations warning: libnghttp2-sys.7+1.45.0: PLUGIN_ALL_PASSES_START | annobin: Generate per-function annotations warning: libnghttp2-sys.7+1.45.0: PLUGIN_ALL_PASSES_END | annobin: Register per-function end symbols warning: libnghttp2-sys.7+1.45.0: during RTL pass: ldp_fusion warning: libnghttp2-sys.7+1.45.0: nghttp2/lib/nghttp2_hd.c: In function ‘nghttp2_hd_inflate_hd_nv’: warning: libnghttp2-sys.7+1.45.0: nghttp2/lib/nghttp2_hd.c:2230:1: internal compiler error: in aarch64_pair_mem_from_base, at config/aarch64/aarch64.cc:8235 warning: libnghttp2-sys.7+1.45.0: 2230 | } warning: libnghttp2-sys.7+1.45.0: | ^ warning: libnghttp2-sys.7+1.45.0: Please submit a full bug report, with preprocessed source (by using -freport-bug). warning: libnghttp2-sys.7+1.45.0: See <http://bugzilla.redhat.com/bugzilla> for instructions. warning: libnghttp2-sys.7+1.45.0: The bug is not reproducible, so it is likely a hardware or OS problem. error: failed to run custom build command for `libnghttp2-sys v0.1.7+1.45.0`
Note, in gcc-14.0.1-0.4.fc40 I've applied a workaround - disabled the aarch64 -m{early,late}-ldp-fusion options by default temporarily, until this and another bug are fixed upstream.
And in gcc-14.0.1-0.6.fc40 it should be fixed for real.