🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.misc.discuss
Article #75270

Re: MIPS patches to GNU software?

#75270
From: Michael Meissner
Date: Fri, 07 Sep 1990 21:31
66 lines
3697 bytes
In article <46040@masscomp.ccur.com> will@nirvana.westford.ccur.com
(Will Athanasiou) writes:

| Can anyone point me to an FTP site for the mips patches to Gdb (3.5)?
| 
| Has anyone done any work on improving the GNU mips code generator?
| What's the status of GCC and G++ on the mips?  I know one exists, but
| how good is it, and what kind of support exists for it?
| 
| Any and all information would be appreciated.

I have been working on various MIPS related fixes with GCC.  About 1/2
of my changes will be in 1.38, which should appear soon.  These fixes
include:

    *	Calling sequence fixed to be compatible with MIPS cc.
    *	Various floating point fixes.
    *	Large stack frame fix.
    *	Debug line numbers are done correctly (see below).
    *	Correct .ent/.end/.frame/.mask/.fmask are emitted.
    *	Nop pattern does not generate Mips 2.00 asm errors.
    *	Removed 24 redundant peepholes.
    *	Merged the remaining 4 peepholes into 1.
    *	__builtin_alloca stack probe uses 2 instructions, instead of 4.
    *	Switch statement labels go in .rdata, not .text.
    *	Fixes for long long variables.
    *	Better optimization due to tighting up the insns & constraints.
    *	Redone small data/small bss support.
    *	Use li/move pseudo ops as appropriate.
    *	Add unsigned divide patterns.
    *	Add unsigned modulus patterns.
    *	Add signed modulus patterns.
    *	Add floating point absolute value.
    *	-O now sets -mgpOPT instead of -O2.
    *	Pass -nocpp to assembler unless -mrnames is used.
    *	Allow frame to be omitted for leaf procedures.
    *	Don't try to save function addresses in registers.
    *	The .rdata section is used as appropriate.
    *	Can eliminate last stack pop, since sp is reset from fp.

RMS asked that 'new' features be held off until revision 2.00 of GCC.
The new features that I have include:

    *	Support for full MIPS debugging by running a pass after the
	optimizer and adding the debug stuff into the object file.
	This is necessary because the !@#$ MIPS assembler does not let
	you define any debug operations, except for line numbers,
	marking function boundaries, and describing what registers are
	saved.  After all you should only be using compilers provided
	by papa mips, and if you don't like these compilers, see
	figure 1.

    *	Allowing the stack frame to be omitted for most functions,
	rather than just leaf functions (the problem is if you omit
	the frame for any non-leaf function, it will mess up the
	.frame information, since the virtual frame pointer changes).

Both of these features may or may not make it into revision 2.00.  If
you are brave or desparate, the machine foobar.colorado.edu has a copy
of a patched compiler source tree.  Please use off-hours!!!

--
Michael Meissner	email: meissner@osf.org		phone: 617-621-8861
Open Software Foundation, 11 Cambridge Center, Cambridge, MA, 02142

Do apple growers tell their kids money doesn't grow on bushes?
Technical Details
Message-ID: <MEISSNER.90Sep7173141@osf.osf.org>
Path: arc1-ca.pugleaf.net!gmdzi!unido!mcsun!uunet!snorkelwacker!paperboy!meissner
References: <46040@masscomp.ccur.com>

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: 1025b4,622dfed456e7ac96
X-Google-Attributes: gid1025b4,public
X-Google-ArrivalTime: 1990-09-08 00:32:30 PST
Path: arc1-ca.pugleaf.net!gmdzi!unido!mcsun!uunet!snorkelwacker!paperboy!meissner
From: meissner@osf.org (Michael Meissner)
Newsgroups: gnu.misc.discuss
Subject: Re: MIPS patches to GNU software?
Message-ID: <MEISSNER.90Sep7173141@osf.osf.org>
Date: 7 Sep 90 21:31:41 GMT
References: <46040@masscomp.ccur.com>
Sender: news@OSF.ORG
Followup-To: gnu.misc.discuss
Organization: Open Software Foundation
Lines: 66
Posted: Fri Sep  7 22:31:41 1990
In-reply-to: will@nirvana.westford.ccur.com's message of 7 Sep 90 17:13:23 GMT