Between 20220228 (3f3246eb16f554c70c5ce87ad2c785f83adb4625) and 20220301 (673a10aee1aafe0c99bfadc29a7458339bdddb3a), stage1 d21 fails to link on Solaris/x86: ld: fatal: symbol '___s.24736' is multiply-defined: (file d/statementsem.o type=OBJT; file d/typesem.o type=OBJT); ld: fatal: symbol '___s.24712' is multiply-defined: (file d/statementsem.o type=OBJT; file d/typesem.o type=OBJT); This doesn't happen on Solaris/SPARC, though. This is with gdc 9.1.0 as bootstrap compiler. The problem seems to vanish (haven't run a full bootstrap yet) with gdc 11.1.0, and gdc 9.1.0 -m64 (i.e. building an amd64-pc-solaris2.11 compiler) works, too. I'll attach the assembler output.
Created attachment 52540 [details] 32-bit i386-pc-solaris2.11 statementsem.s with gdc 9.1.0
Created attachment 52541 [details] 32-bit i386-pc-solaris2.11 typesem.s with gdc 9.1.0
So this is a gdc 9.1.0 bug then, not a GCC 12 issue? (did you try 9.3?)
> --- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> --- > So this is a gdc 9.1.0 bug then, not a GCC 12 issue? (did you try 9.3?) It seems so, yes. Yet gdc 9.1.0 was good enough until now, and if there's an issue, the requirement should at least be documented. I'm currently running a bootstrap with gdc 11.1.0 instead, which is well into make check. Will try gdc 9.4.0 (which is currently building, switching from gas 2.32 to 2.38 if that matters) afterwards.
> --- Comment #4 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot > Will try gdc 9.4.0 (which is currently building, switching from gas 2.32 > to 2.38 if that matters) afterwards. Both gdc 11.1.0 and gdc 9.4.0 work fine.
Just having a look around, I couldn't see anywhere that `___s` would be created now. Then I came across r9-8460, which was fixed for 10.1.0, and backported before 9.4.0 was released. Linked bug report is pr d/94240. In that case then, earlier versions of version 9 might not work correctly.
So maybe amend install.texi
GCC 12.1 is being released, retargeting bugs to GCC 12.2.