🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

2 total messages Started by Dirk Grunwald Mon, 02 Oct 1989 20:54
g++ on pmax
#453
Author: Dirk Grunwald
Date: Mon, 02 Oct 1989 20:54
31 lines
1644 bytes
The latest beta release compiles on the pmax with a little prodding
using gcc 1.36.

I've had it blow off in one file (libg++/src/RNG.cc, using -O), but
haven't traced the bug because there's no debugging information yet.

But, there's no way to link programs, because it looks like support
for collect is gone. Is this correct?

I haven't gotten collect.c to work on the pmax yet - although I've
gotten it to compile (minor renaming of some symbols), it still blows
off by returning a bogus pointer from ldtbread(). If anyone makes more
progress on this front, I'd appreciate it.

I was also thinking that we could eliminate collect installation hassles;
simply have ld++.c be #ifdef'd on NO_GNU_LD to include a call like:

#ifdef NO_GNU_LD
	< body of collect, sending output to out-foo.s >
	system("as -o out-foo out-foo.s");
	system("ld -o the-right-stuff out-foo.o");
#else
	..the read ld
#endif

Then, collect can be eliminated & the gcc interface will be simpler.
Does this sound reasonable? Another approach is to always install collect
but only use it (similar to above) if you've defined NO_GNU_LD.

Dirk Grunwald -- Univ. of Colorado at Boulder	(grunwald@foobar.colorado.edu)
Re: g++ on pmax
#454
Author: Dirk Grunwald
Date: Mon, 02 Oct 1989 21:11
55 lines
1817 bytes
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
>  
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads