Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!gatech!ncar!boulder!grunwald@foobar.colorado.edu
From: grunwald@foobar.colorado.edu (Dirk Grunwald)
Newsgroups: gnu.g++.bug
Subject: Re: g++ on pmax
Message-ID: <12302@boulder.Colorado.EDU>
Date: 2 Oct 89 21:11:19 GMT
References: <12300@boulder.Colorado.EDU>
Sender: news@boulder.Colorado.EDU
Reply-To: grunwald@foobar.colorado.edu
Distribution: gnu
Organization: University of Colorado at Boulder
Lines: 55
In-reply-to: grunwald@foobar.colorado.edu's message of 2 Oct 89 20:54:23 GMT


I speak too soon. Here's some diff's that make collect.c work on the PMAX.

The problem wasn't an error the code, it was an error in the Ultrix
documentation about the arguments passwd to ldtbread.

I'm concerned that I'm not handling ``auxillary entries'' correctly, but
I can't find any corresponding field in the ECOFF headers.

-----------------------------------------------------------------------------
RCS file: RCS/collect.c,v
retrieving revision 1.1
diff -r1.1 collect.c
42a43,44
> int target_flags;	/* satisfy dependency */
> 
291a294,296
> #ifdef mips
> 	int symbols = SYMHEADER(ldptr).isymMax+SYMHEADER(ldptr).iextMax;
> #else
292a298
> #endif
297c303
< 	     symindex += 1 + symbol.n_numaux) {
---
> 	     ) {
298a305,307
> #ifdef mips
> 	  SYMR symbol;
> #else
299a309,310
> #endif
> 
301a313
> 	  int returnCode;
303c315
< 	  ldtbread(ldptr, symindex, &symbol);
---
> 	  returnCode = ldtbread(ldptr, symindex, &symbol);
304a317,319
> 	  if ( returnCode <= 0 ) {
> 	    break;
> 	  }
305a321,322
> #ifdef mips
> 	  symindex += 1;
306a324,327
> 	  if (symbol.st == stType) continue;
> #else
> 	  symindex += 1 + symbol.n_numaux
> 	    /* Skip all type declarations */
307a329
> #endif
633a656
>