https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80759
--- Comment #35 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot Uni-Bielefeld.DE> --- > In all cases, I get link errors: > > Excess errors: > Undefined first referenced > symbol in file > __resms64f_12 /var/tmp//ccRVJueb.o > __resms64f_13 /var/tmp//ccRVJueb.o > __resms64f_14 /var/tmp//ccRVJueb.o > __resms64f_15 /var/tmp//ccRVJueb.o > __resms64f_16 /var/tmp//ccRVJueb.o > __resms64f_17 /var/tmp//ccRVJueb.o > __savms64f_12 /var/tmp//ccRVJueb.o > __savms64f_13 /var/tmp//ccRVJueb.o > __savms64f_14 /var/tmp//ccRVJueb.o > __savms64f_15 /var/tmp//ccRVJueb.o > __savms64f_16 /var/tmp//ccRVJueb.o > __savms64f_17 /var/tmp//ccRVJueb.o > __resms64fx_12 /var/tmp//ccRVJueb.o > __resms64fx_13 /var/tmp//ccRVJueb.o > __resms64fx_14 /var/tmp//ccRVJueb.o > __resms64fx_15 /var/tmp//ccRVJueb.o > __resms64fx_16 /var/tmp//ccRVJueb.o > __resms64fx_17 /var/tmp//ccRVJueb.o > ld: fatal: symbol referencing errors I've found what's going on here: those functions are from libgcc/config/i386/{res, sav}ms64*.S. However, t-msabi which controls their build is only included for Linux/x86_64 targets, not for Solaris (or Darwin). If I do this with /bin/as, I get all sorts of assembler errors: Assembler: "/var/tmp//ccPz3Pub.s", line 1 : Illegal mnemonic Near line: ".macro SSE_SAVE off=0" "/var/tmp//ccPz3Pub.s", line 1 : Syntax error Near line: ".macro SSE_SAVE off=0" "/var/tmp//ccPz3Pub.s", line 1 : Syntax error Near line: ".macro SSE_SAVE off=0" "/var/tmp//ccPz3Pub.s", line 2 : Syntax error Near line: " movaps %xmm15,(\off - 0x90)(%rax)" "/var/tmp//ccPz3Pub.s", line 3 : Syntax error Near line: " movaps %xmm14,(\off - 0x80)(%rax)" "/var/tmp//ccPz3Pub.s", line 4 : Syntax error Near line: " movaps %xmm13,(\off - 0x70)(%rax)" "/var/tmp//ccPz3Pub.s", line 5 : Syntax error Near line: " movaps %xmm12,(\off - 0x60)(%rax)" "/var/tmp//ccPz3Pub.s", line 6 : Syntax error Near line: " movaps %xmm11,(\off - 0x50)(%rax)" "/var/tmp//ccPz3Pub.s", line 7 : Syntax error "/var/tmp//ccPz3Pub.s", line 8 : Syntax error Near line: " movaps %xmm9, (\off - 0x30)(%rax)" "/var/tmp//ccPz3Pub.s", line 9 : Syntax error Near line: " movaps %xmm8, (\off - 0x20)(%rax)" "/var/tmp//ccPz3Pub.s", line 10 : Syntax error Near line: " movaps %xmm7, (\off - 0x10)(%rax)" "/var/tmp//ccPz3Pub.s", line 11 : Syntax error Near line: " movaps %xmm6, \off(%rax)" "/var/tmp//ccPz3Pub.s", line 12 : Illegal mnemonic Near line: ".endm" "/var/tmp//ccPz3Pub.s", line 12 : Syntax error Near line: ".endm" "/var/tmp//ccPz3Pub.s", line 13 : Illegal mnemonic Near line: ".macro SSE_RESTORE off=0" "/var/tmp//ccPz3Pub.s", line 13 : Syntax error Near line: ".macro SSE_RESTORE off=0" "/var/tmp//ccPz3Pub.s", line 13 : Syntax error Near line: ".macro SSE_RESTORE off=0" "/var/tmp//ccPz3Pub.s", line 14 : Syntax error Near line: " movaps (\off - 0x90)(%rsi), %xmm15" "/var/tmp//ccPz3Pub.s", line 15 : Syntax error Near line: " movaps (\off - 0x80)(%rsi), %xmm14" "/var/tmp//ccPz3Pub.s", line 16 : Syntax error Near line: " movaps (\off - 0x70)(%rsi), %xmm13" "/var/tmp//ccPz3Pub.s", line 17 : Syntax error Near line: " movaps (\off - 0x60)(%rsi), %xmm12" "/var/tmp//ccPz3Pub.s", line 18 : Syntax error Near line: " movaps (\off - 0x50)(%rsi), %xmm11" "/var/tmp//ccPz3Pub.s", line 19 : Syntax error Near line: " movaps (\off - 0x40)(%rsi), %xmm10" "/var/tmp//ccPz3Pub.s", line 20 : Syntax error Near line: " movaps (\off - 0x30)(%rsi), %xmm9" "/var/tmp//ccPz3Pub.s", line 21 : Syntax error Near line: " movaps (\off - 0x20)(%rsi), %xmm8" "/var/tmp//ccPz3Pub.s", line 22 : Syntax error Near line: " movaps (\off - 0x10)(%rsi), %xmm7" "/var/tmp//ccPz3Pub.s", line 23 : Syntax error Near line: " movaps \off(%rsi), %xmm6" "/var/tmp//ccPz3Pub.s", line 24 : Illegal mnemonic Near line: ".endm" "/var/tmp//ccPz3Pub.s", line 24 : Syntax error Near line: ".endm" "/var/tmp//ccPz3Pub.s", line 41 : Illegal mnemonic Near line: " SSE_SAVE off=0x60" Too many errors - Goodbye make[2]: *** [/vol/gcc/src/hg/trunk/local/libgcc/shared-object.mk:36: savms64_s.o] Error 1 make[2]: Leaving directory '/var/gcc/regression/trunk/12-gcc/build/i386-pc-solaris2.12/amd64/libgcc' The files are obviously full of gas extensions, which breaks both Solaris and Darwin. In an i386-pc-solaris2.12 build configured to use gas, however, all ms-sysv.exp tests now finally PASS :-) Rainer