This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

g++(2.8.1) failure on OSF1 (DEC). as0 error



The following:
------------------------------------------------------------------------
telaviv:608> cat mss.cc
#include <string>
#include <map>

void f()
{
   map<string, int>  msi;
   string   sk("sk");
   msi.erase(sk);
}
------------------------------------------------------------------------

compiles fine on Solaris:
 telaviv:609> g++ -v
 Reading specs from /site/seg/gcc-2.8.1/lib/gcc-lib/sparc-sun-solaris2.5.1/2.8.1/specs
 gcc version 2.8.1
 telaviv:610> g++ -c -o /tmp/dum.o mss.cc; ls -l /tmp/dum.o
 -rw-r--r--   1 yotam    products    84768 Mar 25 09:39 /tmp/dum.o

But fails on OSF1: (huge lines of name mangling truncated)

 miyu2:173> g++ -v
 Reading specs from /site/seg/gcc-2.8.1/lib/gcc-lib/alphaev56-dec-osf4.0b/2.8.1/specs
 gcc version 2.8.1
 miyu2:174> g++ -c -o /tmp/dum.o mss.cc; ls -l /tmp/dum.o
 as0: Warning: mss.cc, line 6: Line too long
       .align 3
 as0: Warning: mss.cc, line 6: Line too long
       .ent __t4pair2Zt18__rb_tree_iterator3Zt4pair2ZCt12basic_string ...
 as0: Error: mss.cc, line 6: undefined assembler operation: 
    __t4pair2Zt18__rb_tree_iterator3Zt4pair2ZCt12basic_string ....
 as0: Warning: mss.cc, line 6: Line too long
       ldgp $29,0($27)
 as0: Error: mss.cc, line 6: undefined assembler operation:
        __t4pair2Zt18__rb_tree_iterator3Zt4pair2ZCt12basic_string ...
 as0: Warning: mss.cc, line 6: Line too long
       ret $31,($26),1b_tree_iterator3Zt4pair2ZCt12basic_string ... 
 as0: Warning: mss.cc, line 6: 
      .ent/.end block never defined the procedure name
 /tmp/dum.o not found

When I use -O2, it does compile:
 miyu2:175> g++ -c -O2 -o /tmp/dum.o mss.cc; ls -l /tmp/dum.o
 -rw-r--r--   1 yotam    system     28544 Mar 25 09:39 /tmp/dum.o

Still I can generate examples
where it fails with -O2 as well with similar messages. So
I actually do not have a bypass solution for the problem.

I believe the reasons for the failure are:

  * Lack of Gnu Assembler (Gas) on alphaev56-dec-osf4.0.
    I am a bit surprised. Shouldn't Linux run on that machine?
    How could Linux be built there without Gnu's assembler?

  * Symbol mangled names generated by g++ are too long.

Any solutions?

thanks -- yotam
Yotam Medini ----------------------------:)--h--o--m--e---------------------\
<< Avant! - TCAD Unit                    >> 1144 Craig Dr.          // Lost  |
<< 46871 Bayside Pkwy, Fremont, CA 94538 >> San Jose, CA 95129-2913 // my    |
<< yotam_medini@avanticorp.com           >> yotam@blueneptune.com   // smart |
<< (510) 413-8141  [fax (510)4137743]    >> (408) 257-0840          // quote |
<<                      http://www.blueneptune.com/~yotam/                   |


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]