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

Reply via email to