[Bug ipa/89893] Segmentation fault always occurs when node app is generated by gcc-8-branch@268745

kangshan0910 at hotmail dot com gcc-bugzilla@gcc.gnu.org
Fri Apr 5 13:48:00 GMT 2019


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?


More information about the Gcc-bugs mailing list