Hi Gaius, > A very brief update to say that I've merged the new linking > implementation back onto the devel/modula-2 branch,
unfortunately, that branch doesn't bootstrap for me anywere: * On both x86_64-pc-linux-gnu and i386-pc-solaris2.11: libtool: compile: /var/gcc/modula-2/11.4-gcc-modula-2/./gcc/gm2 -B/var/gcc/modula-2/11.4-gcc-modula-2/./gcc/ -c -g -O2 -g -O2 -I. -I/vol/gcc/src/hg/master/modula-2/gcc/m2/gm2-libs-min -I/vol/gcc/src/hg/master/modula-2/gcc/m2/gm2-libs -fno-exceptions -fno-m2-plugin /vol/gcc/src/hg/master/modula-2/libgm2/libm2min/../../gcc/m2/gm2-libs-min/M2RTS.mod -fPIC -DPIC -o .libs/M2RTS.o /vol/gcc/src/hg/master/modula-2/libgm2/libm2min/../../gcc/m2/gm2-libs-min/M2RTS.mod:29:1: error: In implementation module ‘M2RTS’: module does not export procedure which is a necessary component of the runtime system, hint check the path and library/language variant 29 | IMPORT libc, SYSTEM ; | ^~~~~~ make[5]: *** [Makefile:746: M2RTS.lo] Error 1 and several more. * On sparc-sun-solaris2.11: /bin/ksh /vol/gcc/src/hg/master/modula-2/gcc/m2/tools-src/makeSystem -fpim \ /vol/gcc/src/hg/master/modula-2/gcc/m2/gm2-libs/SYSTEM.def \ /vol/gcc/src/hg/master/modula-2/gcc/m2/gm2-libs/SYSTEM.mod \ -I/vol/gcc/src/hg/master/modula-2/gcc/m2/gm2-libs \ "/var/gcc/modula-2/11.4-gcc-modula-2/./gcc/gm2 -B/var/gcc/modula-2/11.4-gcc-modula-2/./gcc/ -fno-checking" /var/gcc/modula-2/11.4-gcc-modula-2/gcc/m2/gm2-libs/SYSTEM.def gm2: internal compiler error: Segmentation Fault signal terminated program cc1gm2 Please submit a full bug report, with preprocessed source (by using -freport-bug). See <https://gcc.gnu.org/bugs/> for instructions. SYSTEM module creates type: LOC SYSTEM module creates type: WORD SYSTEM module creates type: BYTE SYSTEM module creates type: ADDRESS SYSTEM module creates type: INTEGER8 SYSTEM module creates type: INTEGER16 SYSTEM module creates type: INTEGER32 SYSTEM module creates type: INTEGER64 SYSTEM module creates type: CARDINAL8 SYSTEM module creates type: CARDINAL16 SYSTEM module creates type: CARDINAL32 SYSTEM module creates type: CARDINAL64 SYSTEM module creates type: WORD16 SYSTEM module creates type: WORD32 SYSTEM module creates type: WORD64 SYSTEM module creates type: BITSET8 SYSTEM module creates type: BITSET16 SYSTEM module creates type: BITSET32 SYSTEM module creates type: REAL32 SYSTEM module creates type: REAL64 SYSTEM module creates type: REAL128 SYSTEM module creates type: COMPLEX32 SYSTEM module creates type: COMPLEX64 SYSTEM module creates type: COMPLEX128 SYSTEM module creates type: CSIZE_T SYSTEM module creates type: CSSIZE_T gm2: internal compiler error: Segmentation Fault signal terminated program cc1gm2 Please submit a full bug report, with preprocessed source (by using -freport-bug). See <https://gcc.gnu.org/bugs/> for instructions. make[3]: *** [/vol/gcc/src/hg/master/modula-2/gcc/m2/Make-lang.in:1237: /var/gcc/modula-2/11.4-gcc-modula-2/gcc/m2/gm2-libs/SYSTEM.def] Error 4 make[3]: Leaving directory '/var/gcc/modula-2/11.4-gcc-modula-2/gcc' make[2]: *** [Makefile:5055: all-stage2-gcc] Error 2 cc1gm2 -quiet -mcpu=v9 -fpim -fno-scaffold-main -fno-scaffold-dynamic -fno-scaffold-static -fno-m2-plugin -fdump-system-exports -c -I/vol/gcc/src/hg/master/modula-2/gcc/m2/gm2-libs -I/usr/local/lib/gcc/sparc-sun-solaris2.11/13.0.0/m2/m2pim /vol/gcc/src/hg/master/modula-2/gcc/m2/gm2-libs/SYSTEM.mod -o SYSTEM.s Thread 2 received signal SIGSEGV, Segmentation fault. [Switching to Thread 1 (LWP 1)] 0xffbfe364 in ?? () (gdb) bt #0 0xffbfe364 in ?? () #1 0x0064be24 in m2expr_BuildBinarySetDo () #2 0x006a5634 in CodeBinarySetShift(m2expr_BuildSetProcedure_p, DoProcedure_p, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int) () #3 0x006ae0e8 in M2GenGCC_ConvertQuadsToTree () #4 0x006ccc14 in M2Scope_ForeachScopeBlockDo () #5 0x006a2014 in M2Code_CodeBlock () #6 0x006ca324 in Lists_ForeachItemInListDo () #7 0x006936a0 in SymbolTable_ForeachProcedureDo () #8 0x006a2194 in M2Code_CodeBlock () #9 0x006a2608 in M2Code_Code () #10 0x00684214 in M2Comp_compile () #11 0x00627b5c in gm2_langhook_parse_file() () #12 0x00d8c968 in compile_file() () #13 0x00d905fc in toplev::main(int, char**) () #14 0x01a092dc in main () Seems like PR modula2/101392 raised its ugly head again, after it had been gone for a while. I'm currently trying sparcv9-sun-solaris2.11 instead to see how that fares. Rainer -- ----------------------------------------------------------------------------- Rainer Orth, Center for Biotechnology, Bielefeld University