https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89893
--- Comment #28 from 康 珊 <kangshan0910 at hotmail dot com> --- (In reply to Martin Liška from comment #27) > (In reply to 康 珊 from comment #26) > > I found the previous build log is like "g++ -o > > /builddir/build/BUILD/node-v10.15.3/out/Release/cctest -pthread -rdynamic > > -m64 > > -Wl,--whole-archive,/builddir/build/BUILD/node-v10.15.3/out/Release/obj. > > target/deps/uv/libuv.a -Wl,--no-whole-archive -Wl,-z,noexecstack > > -Wl,--whole-archive > > /builddir/build/BUILD/node-v10.15.3/out/Release/obj.target/deps/v8/gypfiles/ > > libv8_base.a -Wl,--no-whole-archive -Wl,-z,relro -Wl,-z,now -Wl,-T > > /builddir/build/BUILD/node-v10.15.3/src/large_pages/ld.implicit.script > > -pthread -flto=4 -fuse-linker-plugin -ffat-lto-objects -fno-lto > > -Wl,--start-group > > /builddir/build/BUILD/node-v10.15.3/out/Release/obj.target/cctest/test/ > > cctest/node_test_fixture.o...", you mean link options like "-flto=4 > > -ffat-lto-objects -fno-lto" are not accurate and "-fno-lto" will not take > > effect, right? > > It will take effect, but you defined that only in LDFLAGS. > Anyway, please don't use --enable-lto with {LD,C,CXX}FLAGS="${LDFLAGS} > -fno-lto"! Thanks for your reminder. Currently I found there were 3 ways to solve the issue. 1.Remove “enable-lto” in configure and open “fno-strict-aliasing”. 2.Add “__attribute__((noipa))” to the uv_unref(uv_handle_t*) function. 3.Add “__attribute__((noinline))” to the uv_unref(uv_handle_t*) function. Maybe the first solution is a more reliable one in contrast to the other two solutions. As solution 2 and 3 are more likely a workaround. Do you have any suggestions?