https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69119

--- Comment #8 from PeteVine <tulipawn at gmail dot com> ---
There's going to be question #3 now that I've successfully built rustc on arm
using -flto.

The rust compiler passes all tests but an example binary (bfc) segfaults:

(gdb) bt
#0  0x7f642784 in thread_rng::h22bece718b8c83adkgf ()
#1  0x7f6422dc in util::tmpname::h63004644db7838bePja ()
#2  0x7f641a00 in named::NamedTempFile::new::hfa7543c1e647f61ecqa ()
#3  0x7f61c308 in compile_file::h04704d1240bcd17a3Fc ()
#4  0x7f62077c in main::h68a433d56cae34167Pc ()
#5  0x7f65ab4c in panic::recover::h13621087687085827578 ()
#6  0x7f65a68c in rt::lang_start::h5fc8517878d759f3Dky ()
#7  0xb6d61632 in __libc_start_main (main=0x7f621dbc <main>, argc=2,
argv=0xbeffef74, init=<optimized out>, fini=0x8004b0f9 <__libc_csu_fini>, 
    rtld_fini=0xb6fea4c5 <_dl_fini>, stack_end=0xbeffef74) at libc-start.c:287
#8  0x7f61a8d8 in _start ()


Note line #6 - that's the C glue that's probably the victim of this
optimization. Is it a bug in gcc deserving a separate issue? Needless to say,
without -flto at rustc's build-time the binaries created by it don't segfault.

Reply via email to