1

This is related to Where is GCC-5 after installing it on Solaris 11? We got GCC 5 installed thanks to @DanekDuvall. We started a round of Solaris testing...

Testing on Solaris with GCC 5 is revealing an old assembler:

$ gmake
...

g++ -DNDEBUG -g2 -O3 -fPIC -m64 -Wa,--divide -pthread -pipe -msse4.2 -msha -c sha-simd.cpp
{standard input}: Assembler messages:
{standard input}:166: Error: no such instruction: `sha1rnds4 $0,%xmm0,%xmm7'
{standard input}:199: Error: no such instruction: `sha1nexte %xmm0,%xmm2'
{standard input}:206: Error: no such instruction: `sha1msg1 %xmm0,%xmm10'
{standard input}:212: Error: no such instruction: `sha1rnds4 $0,%xmm2,%xmm9'
{standard input}:239: Error: no such instruction: `sha1nexte %xmm2,%xmm7'
...

GCC 5.0 added SHA instrinsic support and Binutils 2.24 added SHA support so I believe the GNU machinery has what is needed. I believe I am missing an updated assembler on Solaris.

How do we install the updated assembler needed by GCC 5? Or, is there something else we should be doing?


First (naive) attempt:

$ sudo pkg install gcc-5 gcc-c-5 gcc-c++-5 gcc-as-5 gcc-ar-5
Password:

pkg install: The following pattern(s) did not match any allowable packages.  Try
using a different matching pattern, or refreshing publisher information:

        gcc-as-5
        gcc-ar-5

Second attempt:

$ pkg search as | grep -i gcc
basename                    link     usr/sfw/libexec/gcc/i386-pc-solaris2.11/3.4.3/as
pkg:/developer/[email protected]
basename                    link     usr/sfw/libexec/gcc/sparc-sun-solaris2.11/3.4.3/as
pkg:/developer/[email protected]

Third attempt:

$ pkg search as | grep -i assembler
basename                    file     usr/bin/as
pkg:/developer/[email protected]

Fourth attempt:

$ pkg search binutil
$

This may be relevant:

$ /usr/bin/as -V </dev/null
as: Studio 12.5 Compiler Common 12.5 SunOS_i386 s11_3sru9_2 05/16/2016

And:

$ /usr/gnu/bin/as -V </dev/null
GNU assembler version 2.23.1 (i386-pc-solaris2.11) using BFD version (GNU Binutils) 2.23.1
  • is gcc's COMPILER_PATH env var set in either your shell or your Makefile? – cas Dec 29 '17 at 01:36
  • 1
    Your fourth attempt has a typo - if you include the "s" on the end of "binutils" then `pkg search` will find the package `developer/gnu-binutils` – alanc Dec 30 '17 at 21:39
  • Thanks @alanc, you are right. Unfortunately, it looks like the highest version is `2.23.1` from March 2013. I believe we need `2.24` from December 2013. It looks like the answer is, I cannot update the assembler. –  Dec 30 '17 at 21:56

0 Answers0