Article View: gnu.misc.discuss
Article #75270Re: MIPS patches to GNU software?
From: Michael Meissner
Date: Fri, 07 Sep 1990 21:31
Date: Fri, 07 Sep 1990 21:31
66 lines
3697 bytes
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!meissnerReferences:
<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