[comp.sys.sgi] gcc and g++ for IRIX 3.3.1 again

XBR2D96D@DDATHD21.BITNET (Knobi der Rechnerschrat) (11/02/90)

Hello,

  I've finally solved my stdarg problem posted yesterday to the list.
The changes in stdarg.h are appended to this mail.

  Now I've tried to generate g++-1.37.1. I've got the 1.37.0 distribution
from prep.ai.mit.edu and applied the 1.37.1 changes to the files (I did
it by hand. Is ther a way to do them automagically?). Then I folowwed the
instructions in the README file, changed the Makefile and configed the
files for 'iris'. The compilation process completed successfully (I only
had  to apply "my" patches to tree.c and gcc.c again). After that I tried
to compile libg++ and that also seemed to be ok. Now I have problems:
 when trying to build the tests in libg++, ld fails and complains about
unresolved externals __DTOR__ and __CTOR__. As I don't have gnu-as and
gnu-ld for the mips architecture (btw. are there "official" mips ports
of gnu-as and gnu-ld ?) I've defined FASCIST_ASSEMBLER for the g++ build.
The problem still persists. What am I doing wrong?

Regards
Martin Knoblauch

TH-Darmstadt
Physical Chemistry 1
Petersenstrasse 20
D-6100 Darmstadt, FRG

BITNET: <XBR2D96D@DDATHD21>
-------------------- diffs for stdarg.h -------------------------------
*** stdarg.oh   Wed Oct 31 17:23:48 1990
--- stdarg.h    Thu Nov  1 19:17:01 1990
***************
*** 2,5 ****
--- 2,10 ----
  #define _STDARG_H

+ /* This is for IRIX 3.3.1 , M. Knoblauch */
+ #ifdef sgi
+ #define _VA_LIST_
+ #endif
+
  typedef char *va_list;

***************
*** 10,14 ****
    (((sizeof (TYPE) + sizeof (int) - 1) / sizeof (int)) * sizeof (int))

! #ifndef __sparc__
  #define va_start(AP, LASTARG)                         \
   (AP = ((char *) &(LASTARG) + __va_rounded_size (LASTARG)))
--- 15,19 ----
    (((sizeof (TYPE) + sizeof (int) - 1) / sizeof (int)) * sizeof (int))

! #if !defined(__sparc__) && !defined(__mips__)
  #define va_start(AP, LASTARG)                         \
   (AP = ((char *) &(LASTARG) + __va_rounded_size (LASTARG)))
---------------------------end of diffs----------------------------------------