6 Replies Latest reply: Nov 22, 2013 2:31 PM by RaiderOfTheLostSparc RSS

    Solaris Studio i386 12.3 cc's crashes with -fast

    RaiderOfTheLostSparc

      Hi,

       

      what could this be?

       

      me@solaris11.1:~ $ cc -v

      cc: Sun C 5.12 SunOS_i386 Patch 148918-06 2013/06/11

      me@solaris11.1:~ $ cc -fast -xdryrun

      cc: Fatal error in cc : Segmentation Fault

        • 1. Re: Solaris Studio i386 12.3 cc's crashes with -fast
          Steve.Clamage-Oracle

          I tried the same compiler on Solaris 10, 11, and 11.1 and did not see a problem.

           

          I suspect something is wrong with the compiler installation. Or possibly your computer is out of memory.

          • 2. Re: Solaris Studio i386 12.3 cc's crashes with -fast
            RaiderOfTheLostSparc

            Thanks for your reply Steve,

             

            I just ran pkg verify on every studio package I found and it showed nothing suspicious. Also, there should be plenty of memory available:

             

            root@solaris11.1:~ # echo ::memstat | mdb -k

            Page Summary                Pages                MB  %Tot

            ------------     ----------------  ----------------  ----

            Kernel                    1053671              4115   25%

            ZFS File Data             2227723              8702   54%

            Anon                       430435              1681   10%

            Exec and libs                3483                13    0%

            Page cache                  13969                54    0%

            Free (cachelist)            26696               104    1%

            Free (freelist)            406853              1589   10%

            Total                     4162830             16261

            root@solaris11.1:~ # swap -sh

            total: 1.6G allocated + 105M reserved = 1.7G used, 1.7G available

             

            So it's just me. Bummer.

            • 3. Re: Solaris Studio i386 12.3 cc's crashes with -fast
              Steve.Clamage-Oracle

              Can you compile and run "Hello, world" with no special options?

              % cc hello.c

              % ./a.out

              If so, another possibility is that the cc driver does not recognize the hardware and is failing on that account. (It should not crash, of course.) The -fast option requires the driver to collect data about hardware to select code generation options to pass along to the compiler components. It must do that even with the -xdryrun option.

               

              If the compiler seems OK except for -fast, please file a bug report on the C compiler, assuming you have a Studio service contract with Oracle. You will need to provide details of the system you are on, particularly the exact chip type.

              We do test on a variety of hardware, but obviously we can't test on every machine ever built.

              • 4. Re: Solaris Studio i386 12.3 cc's crashes with -fast
                RaiderOfTheLostSparc

                Thanks again Steve, that's what I thought.

                 

                Compiling C/C++/Fotran code works like a charm (well, almost, see other thread that will be created by me) but I'm afraid I can't file a bug report…

                • 5. Re: Solaris Studio i386 12.3 cc's crashes with -fast
                  Steve.Clamage-Oracle

                  Well, the -fast option is normally used only as a starting point for finding the best optimization options. You look at the expansion of -fast (via the -v or -xdryrun option) and experiment with variations of those to find the best performance of the application on a specific target system.

                   

                  You would not normally use -fast uncritically, since the application might run better with different options, and because the code generation will be turned for a specific machine class. You often get equally good results using only the more generic optimization options, and the resulting binary will also run well on other systems. For example, tuning the -xcache or -xchip options might squeeze out a percent more speed, but using -xipo can get you 15% more.

                   

                  The C Users Guide describes the expansion of -fast, and if you know the characteristics of the target machine, you can specify those options directly on the command  line.

                  • 6. Re: Solaris Studio i386 12.3 cc's crashes with -fast
                    RaiderOfTheLostSparc

                    No idea what was changed, but -fast works now:

                    $ cc -fast -dryrun

                    ### cc: Note: NLSPATH = /opt/solarisstudio12.3/prod/bin/../lib/locale/%L/LC_MESSAGES/%N.cat:/opt/solarisstudio12.3/prod/bin/../../lib/locale/%L/LC_MESSAGES/%N.cat

                    ###     command line files and options (expanded):

                    ### -xO5 -xchip=ivybridge -xcache=32/64/8/2:256/64/8/2:3072/64/12/4 -xarch=avx_i -xdepend=yes -fsimple=2 -fns=yes -ftrap=%none -xlibmil -xlibmopt -xbuiltin=%all -D__MATHERR_ERRNO_DONTCARE -fsingle -xalias_level=basic -nofstore -xregs=frameptr -dryrun

                    usage: cc [ options ] files.  Use 'cc -flags' for details