[PATCH] Clean-up backend ASM_FINAL_SPEC usage
Michael Meissner
gcc-pat@the-meissners.org
Wed Jun 11 19:21:00 GMT 2003
On Wed, Jun 11, 2003 at 10:42:31AM -0700, Zack Weinberg wrote:
> Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> writes:
>
> > Zack Weinberg <zack@codesourcery.com> writes:
> >
> >> mips-tfile is used only for ECOFF alpha and mips, and only when GAS is
> >> not used. One obvious tactic would be to require GAS for such
> >> targets, thus eliminating the need for mips-tfile entirely. I'm not
> >> sure what the situation is on alpha, but Richard Sandiford believes
> >
> > gas is not available for Alpha/Tru64 UNIX, so one needs mips-tfile to get
> > any debugging information on that platform.
>
> I didn't know that. How do the native compilers for that platform
> generate debug information?
On the original MIPS systems (DEC's DECstation, SGI, MIPS) that I wrote
mips-tfile for, the host assembler as two pass. The first pass took assembly
code as input, and produced a binary file as output. The second pass took that
binary file and created either the object code or u-code, depending on the -O
level. The native compilers on that system produced the binary file that was
input to the 2nd pass of the assembler, and called it directly. The first
assembler pass had no way of creating symbolic debug information other than
line numbers. I wrote mips-tfile before we had gas ported. The compiler
smuggles in the debug information as comments to the assembly file. The
assembler does its stuff, and then mips-tfile reads the assembly source and the
object file, recreates the symbol table with the debugging added, and then
rewrites it. Some time afterward, the GAS assembler was finished, and I
stopped active work on mips-tfile. Later, when the Alpha was first released,
DEC retargeted the MIPS compiler suite to the Alpha, and somebody else did some
porting on mips-tfile to get it to work on the Alpha.
--
Michael Meissner
email: gnu@the-meissners.org
http://www.the-meissners.org
More information about the Gcc-patches
mailing list