On Sun, Jan 08, 2023 at 12:38:05PM -0500, Greg Troxel wrote: > Thomas Klausner <w...@netbsd.org> writes: > > > On 10.99.2 after the load sections 2->4 change I see the following > > when building lang/guile30: > > > > ar: libguile_3.0_la-alist.o: plugin needed to handle lto object > > ranlib: .libs/libguile-3.0.a(libguile_3.0_la-alist.o): plugin needed to > > handle lto object > > CCLD guile > > > > and the resulting binary segfaults when run (which also happens during > > the build), backtrace below. > > > > Is there a flag to turn off lto, or can we please get ar/ranlib > > support for lto? > > > > To reproduce, just try building 'lang/guile30'. > > It fails to even build on i386. I have a local patch, pending figuring > it out, to just disable lto. I was unsure if that belonged on only some > arches, but seems best to mass disable and theni figure it out.
Ok, I tried that out - the warning is gone, but guile is still crashing. Program terminated with signal SIGSEGV, Segmentation fault. #0 0x0000799bb2aff3a6 in scm_sloppy_assq () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 (gdb) bt #0 0x0000799bb2aff3a6 in scm_sloppy_assq () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #1 0x0000799bb2b27c28 in scm_hash_fn_ref () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #2 0x0000799bb2b15f18 in expand () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #3 0x0000799bb2b160c4 in expand_and () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #4 0x0000799bb2b16e49 in expand_cond_clauses () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #5 0x0000799bb2b16e06 in expand_cond_clauses () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #6 0x0000799bb2b15dda in expand () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #7 0x0000799bb2b18f7f in expand_letrec_helper () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #8 0x0000799bb2b17492 in expand_lambda_star_case () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #9 0x0000799bb2b179a9 in expand_lambda_star () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #10 0x0000799bb2b1688a in expand_set_x () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #11 0x0000799bb2b1618b in expand_sequence () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #12 0x0000799bb2b1617c in expand_sequence () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #13 0x0000799bb2b1617c in expand_sequence () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #14 0x0000799bb2b1617c in expand_sequence () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #15 0x0000799bb2b1617c in expand_sequence () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #16 0x0000799bb2b1617c in expand_sequence () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #17 0x0000799bb2b1617c in expand_sequence () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #18 0x0000799bb2b1617c in expand_sequence () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #19 0x0000799bb2b1617c in expand_sequence () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #20 0x0000799bb2b1617c in expand_sequence () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #21 0x0000799bb2b1617c in expand_sequence () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #22 0x0000799bb2b1617c in expand_sequence () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #23 0x0000799bb2b1617c in expand_sequence () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #24 0x0000799bb2b1617c in expand_sequence () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #25 0x0000799bb2b1617c in expand_sequence () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #26 0x0000799bb2b1617c in expand_sequence () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #27 0x0000799bb2b1617c in expand_sequence () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #28 0x0000799bb2b1617c in expand_sequence () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #29 0x0000799bb2b1617c in expand_sequence () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #30 0x0000799bb2b1617c in expand_sequence () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #31 0x0000799bb2b1617c in expand_sequence () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #32 0x0000799bb2b1617c in expand_sequence () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #33 0x0000799bb2b1617c in expand_sequence () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #34 0x0000799bb2b1617c in expand_sequence () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #35 0x0000799bb2b1617c in expand_sequence () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #36 0x0000799bb2b1617c in expand_sequence () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #37 0x0000799bb2b1617c in expand_sequence () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #38 0x0000799bb2b18f7f in expand_letrec_helper () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #39 0x0000799bb2b18b9b in expand_let () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #40 0x0000799bb203c2f6 in ?? () #41 0x0000799bb2114fb0 in ?? () #42 0x0000799bb2315d80 in ?? () #43 0x0000799bb203c2d0 in ?? () #44 0x0000799bb2b43aa6 in scm_jit_enter_mcode () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #45 0x0000799bb2b96920 in vm_regular_engine () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #46 0x0000799bb2b998ac in scm_call_n () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #47 0x0000799bb2b134c8 in scm_call_1 () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #48 0x0000799bb2b14409 in scm_c_primitive_eval () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #49 0x0000799bb203c206 in ?? () #50 0x0000799bb2115228 in ?? () #51 0x0000799bb2315d80 in ?? () #52 0x0000799bb203c1e0 in ?? () #53 0x0000799bb2b43aa6 in scm_jit_enter_mcode () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #54 0x0000799bb2b96920 in vm_regular_engine () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #55 0x0000799bb2b998ac in scm_call_n () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #56 0x0000799bb2b1463e in scm_primitive_eval () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #57 0x0000799bb2b455f6 in scm_primitive_load () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #58 0x0000799bb2b46b93 in scm_primitive_load_path () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #59 0x0000799bb2b97026 in vm_regular_engine () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #60 0x0000799bb2b998ac in scm_call_n () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #61 0x0000799bb2b14211 in eval () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #62 0x0000799bb203c206 in ?? () #63 0x0000799bb2115228 in ?? () #64 0x0000799bb2315d80 in ?? () #65 0x0000799bb203c1e0 in ?? () #66 0x0000799bb2b43aa6 in scm_jit_enter_mcode () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #67 0x0000799bb2b96920 in vm_regular_engine () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #68 0x0000799bb2b998ac in scm_call_n () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #69 0x0000799bb2b1463e in scm_primitive_eval () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #70 0x0000799bb2b455f6 in scm_primitive_load () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #71 0x0000799bb2b46b93 in scm_primitive_load_path () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #72 0x0000799bb2b2c7d1 in scm_load_startup_files () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #73 0x0000799bb2b2cbb7 in scm_i_init_guile () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #74 0x0000799bb2b8cbdf in scm_i_init_thread_for_guile.part () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #75 0x0000799bb2b8cce8 in with_guile () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 --Type <RET> for more, q to quit, c to continue without paging-- #76 0x0000799bb2a74995 in GC_call_with_stack_base (fn=<optimized out>, arg=<optimized out>) at extra/../misc.c:2173 #77 0x0000799bb2b8d05e in scm_with_guile () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #78 0x0000799bb2b2c841 in scm_boot_guile () from /scratch/lang/guile30/work/guile-3.0.8/libguile/.libs/libguile-3.0.so.1 #79 0x000000000048654a in main () Thomas