🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.g++
Article #207

Re: Installation of G++ 1.36- on 386 running SYS V 3.0

#207
From: Dirk Grunwald
Date: Mon, 30 Oct 1989 21:08
59 lines
2387 bytes
The patches for collect in gcc.c were applied to a new version.
The code in question should look like:

----------------------------------------------------------------------

  /* Run ld to link all the compiler output files.  */

  if (error_count == 0)
    {
      int tmp = execution_count;
      value = do_spec (link_spec);
      if (value < 0)
	error_count = 1;
      linker_was_run = (tmp != execution_count);
    }

#ifdef USE_COLLECT
      /* C++: now collect all the requirements for
	 calling global constructors and destructors,
	 and write them to a file.  We will link this file
	 in when we run.  */
      if (linker_was_run && ! error_count)
	{
	  int tmp = execution_count;
	  value = do_spec (collect_spec);
	  if (value < 0)
	    error_count = 1;
	  linker_was_run &= (tmp != execution_count);
	}
#endif

  /* If options said don't run linker,
     complain about input files to be given to the linker.  */

  if (! linker_was_run && error_count == 0)
    for (i = 0; i < n_infiles; i++)
      if (explicit_link_files[i])
	error ("%s: linker input file unused since linking not done",
	       outfiles[i]);

----------------------------------------------------------------------

Also, collect.c may need a litte finaggling. Here's the macros you'll
need to define, as they appear in tm-mips.h. The goal of using
these macros is to cut down the bullpoop in collect.c

/* Specify what to precede various sizes of constant with
   in the output file.  */

#define ASM_INT_OP ".word "

/*
 *	Additions for collect.c
 */
#undef	COFF			/* do I coff */
#define EXTENDED_COFF		/* terminal illness? */
#define NO_UNDERSCORES		/* is main called `main' or `_main' by nm? */
#define USE_COLLECT		/* use collect or shoot for ld alone? */
Technical Details
Message-ID: <13337@boulder.Colorado.EDU>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!wuarchive!cs.utexas.edu!uunet!dino!ux1.cso.uiuc.edu!tank!ncar!boulder!grunwald
References: <6752@pt.cs.cmu.edu>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!wuarchive!cs.utexas.edu!uunet!dino!ux1.cso.uiuc.edu!tank!ncar!boulder!grunwald
From: grunwald@foobar.colorado.edu (Dirk Grunwald)
Newsgroups: gnu.g++
Subject: Re: Installation of G++ 1.36- on 386 running SYS V 3.0
Message-ID: <13337@boulder.Colorado.EDU>
Date: 30 Oct 89 21:08:56 GMT
References: <6752@pt.cs.cmu.edu>
Sender: news@boulder.Colorado.EDU
Reply-To: grunwald@foobar.colorado.edu
Organization: University of Colorado at Boulder
Lines: 59
In-reply-to: jxw@h.gp.cs.cmu.edu's message of 30 Oct 89 18:13:04 GMT