Excerpts from Rainer Orth's message of November 21, 2023 5:03 pm: > Rainer Orth <r...@cebitec.uni-bielefeld.de> writes: > >> either this patch or the previous one broke D bootstrap with GCC 9. On >> both i386-pc-solaris2.11 with gdc 9.4.0 and sparc-sun-solaris2.11 with >> gdc 9.3.0, stage 1 d21 fails to link with >> >> Undefined first referenced >> symbol in file >> _D3dmd4root11stringtable34__T11StringValueTC3dmd5mtype4TypeZ11StringValue7lstringMFNaNbNiNjZPa >> d/func.o >> _D3dmd4root11stringtable34__T11StringValueTC3dmd5mtype4TypeZ11StringValue8toDcharsMxFNaNbNiNjZPxa >> d/func.o >> _D3dmd4root11stringtable34__T11StringValueTC3dmd5mtype4TypeZ11StringValue8toStringMxFNaNbNiNjZAxa >> d/func.o >> ld: fatal: symbol referencing errors >> collect2: error: ld returned 1 exit status >> make[3]: *** [/vol/gcc/src/hg/master/local/gcc/d/Make-lang.in:236: d21] >> Error 1 > > Same on i686-pc-linux-gnu, btw. >
Thanks, I've found the culprit. There's been quite a few changes in the import graph upstream. This looks to have exposed some unfortunate template emission bugs in older versions of the compiler that as you've pointed out, work just fine with gdc-11. I'm err'ing on the side of reverting the individual patches, though if I get time later, maybe try a partial revert by restoring the old import statements only. Iain.