[gnu.g++.lib.bug] libg++ 1.36.1 pros w/ g++ 1.36.1

daniel@ux1.cso.uiuc.edu (12/15/89)

machine: sun 3/50
version: g++ 1.36/libg++ 1.36.1

problem: libg++ doesn't compile.  Problem with builtin.cc (and possibly
others)

Makefile output is:
(cd src; make GXX="g++"  GXXFLAGS=" -I/usr/local/src/languages/libg++/g++-includ
e -g -O -fstrength-reduce  -felide-constructors -fschedule-insns -fdelayed-branc
h -fsave-memoized  -Wall " GXXLDFLAGS="-L/usr/local/src/languages/libg++/src -lg
++ -lm " LIBDIR="/usr/local/lib/gcc" SRCIDIR="/usr/local/src/languages/libg++/g+
+-include" CC="gcc" CFLAGS=" -I/usr/local/lib/gcc-include -I/usr/include -I/usr/
local/src/languages/libg++/g++-include -g -O -fstrength-reduce -fdelayed-branch 
 -Wall " RANLIB="ranlib" LDXX="/usr/local/lib/gcc/gcc-ld" GXXCRT1="/usr/local/li
b/gcc/crt1+.o" MAKE="make" prefix="/usr/local" )
g++ -I/usr/local/src/languages/libg++/g++-include -g -O -fstrength-reduce  -feli
de-constructors -fschedule-insns -fdelayed-branch -fsave-memoized  -Wall  -c  Al
locQueue.cc
g++ -I/usr/local/src/languages/libg++/g++-include -g -O -fstrength-reduce  -feli
de-constructors -fschedule-insns -fdelayed-branch -fsave-memoized  -Wall  -c  bu
iltin.cc
builtin.cc: In function char *dtoa (double, char (=  103 ), int (=  0 ), int (= 
 6 )):
builtin.cc:499: warning: unused variable `carry'
builtin.cc:386: warning: unused variable `fworkend'
/usr/local/src/languages/libg++/g++-include/time.h: At top level:
In file included from /usr/local/src/languages/libg++/g++-include/osfcn.h:4, fro
m builtin.cc:763:
/usr/local/src/languages/libg++/g++-include/time.h:60: warning: type declaration
 of timezone shadows previous declaration
/usr/local/src/languages/libg++/g++-include/time.h:60: warning: `timezone' was d
eclared `extern' and later `static'
builtin.cc:848: warning: structure has no data members
as: error (/usr/tmp/cca24306.s:2409): Invalid operand
as: error (/usr/tmp/cca24306.s:2436): Invalid operand
*** Error code 1

Stop.
*** Error code 1

Stop.

Lines 2400-2450 of the assembler output at this stage is:
  2400          jbsr __free__7ObstackPv
  2401          .stabd 68,0,93
  2402  LBE52:
  2403  LBE50:
  2404          .stabs "builtin.cc",132,0,0,Ltext
  2405          .stabd 68,0,850
  2406          unlk a6
  2407          rts
  2408  .stabs "_GLOBAL_$D$builtin_cc:F15",36,0,0,__GLOBAL_$D$builtin_cc
  2409  .stabs "___DTOR_LIST__",22,0,0,__GLOBAL_$D$builtin_cc
  2410  .stabs "_init",10,0,0,0
  2411  .stabs "__GLOBAL_$I$builtin_cc",4,0,0,0
  2412          .even
  2413  .globl __GLOBAL_$I$builtin_cc
  2414  __GLOBAL_$I$builtin_cc:
  2415          .stabd 68,0,850
  2416          link a6,#0
  2417  LBB53:
  2418          .stabd 68,0,155
  2419          pea 4:w
  2420          pea 4092:w
  2421          pea __libgxx_io_ob
  2422          jbsr ___7Obstackii
  2423          .stabd 68,0,164
  2424          pea 20:w
  2425          pea __libgxx_fmtq
  2426          jbsr ___10AllocQueuei
  2427          .stabd 68,0,848
  2428  LBB54:
  2429          .stabd 68,0,846
  2430  LBE54:
  2431  LBE53:
  2432          .stabd 68,0,848
  2433          unlk a6
  2434          rts
  2435  .stabs "_GLOBAL_$I$builtin_cc:F15",36,0,0,__GLOBAL_$I$builtin_cc
  2436  .stabs "___CTOR_LIST__",22,0,0,__GLOBAL_$I$builtin_cc
  2437  .stabs "New_Time:S80",40,0,0,_New_Time
  2438  .lcomm _New_Time,72
  2439  .stabs "Old_Time:S80",40,0,0,_Old_Time
  2440  .lcomm _Old_Time,72
  2441  .stabs "chr_buf:S91=ar1;0;1;2",40,0,0,_chr_buf
  2442  .lcomm _chr_buf,2
  2443  .stabs "_libgxx_maxfmt:c=i20",0x80,0,0,0

The error is stated to be on two similar .stabs statements!  I
generated gcc claiming that I was a sun3 (or sun3os3) system, which I
am.

Any hints would be greatly appreciated.  I have failed to get g++ to
work on a Convex.  Failing on a sun3 is very dissapointing!

-- Daniel Pommert.
 pommert@uiuc.edu
-- 

rfg@ics.uci.edu (Ron Guilmette) (12/15/89)

In article <1023100001@ux1.cso.uiuc.edu> daniel@ux1.cso.uiuc.edu writes:
>
>
>machine: sun 3/50
>version: g++ 1.36/libg++ 1.36.1
>
>problem: libg++ doesn't compile.  Problem with builtin.cc (and possibly
>others)
>
<... makefile output deleted...>

>as: error (/usr/tmp/cca24306.s:2409): Invalid operand
>as: error (/usr/tmp/cca24306.s:2436): Invalid operand

This question comes up about once a week.

If you get "Invalid operand" assembler errors from G++, it means that you
are not using GAS (as you should be).  I believe that the README file
or the INSTALL file says that you must use GAS for a SUN system.

// rfg

daniel@ux1.cso.uiuc.edu (12/16/89)

In reply by rfg@ics.uci.edu, it was stated that gas should be used:
>In article <1023100001@ux1.cso.uiuc.edu> daniel@ux1.cso.uiuc.edu writes:
>>machine: sun 3/50
>>version: g++ 1.36/libg++ 1.36.1
>>problem: libg++ doesn't compile.  Problem with builtin.cc (and possibly
>>others)
>>as: error (/usr/tmp/cca24306.s:2409): Invalid operand
>>as: error (/usr/tmp/cca24306.s:2436): Invalid operand
>This question comes up about once a week.
>If you get "Invalid operand" assembler errors from G++, it means that you
>are not using GAS (as you should be).  I believe that the README file
>or the INSTALL file says that you must use GAS for a SUN system.
>
>// rfg

However in gnu.g++.bugs,
tale                 GAS, GLD, GCC and G++       12:03 am  Dec 15, 1989
(at TURING.CS.RPI.EDU)                               (From News system)

Asks the OTHER weekly question:

How do I get gcc and g++ to use gas?  I have it installed in
/usr/local/bin/gas.

Patrick.Sanchez@irisa.fr mailed me this hint:
By the way, to use gas you have to put it in the directory where you
put gnu-ld gnu-cpp ... should be ..../lib/

He comments, however:
I managed to compile libg++ using gas (gnu-assembler)...
unfortunately I had to reverse to normal as for some files.

Where is the ``official'' answer documented?  What is it?

-- Daniel Pommert.
 pommert@uiuc.edu

tiemann@LURCH.STANFORD.EDU (Michael Tiemann) (12/19/89)

Don't install the GNU assembler as `gas'.  If cc1plus is in
/usr/local/lib/gcc-cc1plus, and ld is in /usr/local/lib/gcc-ld, then
the GNU assembler should be in /usr/local/lib/gcc-as.  Simple?

Michael