This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [RFD] MIPS/gas: Optimisation cannot be set to 0
- From: Ian Lance Taylor <iant at google dot com>
- To: "Maciej W. Rozycki" <macro at mips dot com>
- Cc: binutils at sources dot redhat dot com, "Maciej W. Rozycki" <macro at linux-mips dot org>
- Date: 09 Nov 2007 08:09:16 -0800
- Subject: Re: [RFD] MIPS/gas: Optimisation cannot be set to 0
- References: <Pine.LNX.4.61.0711061718210.23904@perivale.mips.com>
"Maciej W. Rozycki" <macro@mips.com> writes:
> Wed Feb 12 14:36:29 1997 Ian Lance Taylor <ian@cygnus.com>
>
> * config/tc-mips.c (md_parse_option): When debugging, set
> mips_optimize to 1, not 0.
My vague recollection of the problem is that at least at that time gcc
would always pass a -O option to the assembler. When not optimizing,
it would pass -O0. However, inserting NOPs for MIPS variants which do
not need them does not help debugging.
Clearly failing to provide a way to set mips_optimize to 0 was an
oversight.
> I have no strong preference, but I think gas should have a mode where its
> input is assembled intact. And swapping branches may produce surprising
> interactions with debugging information. I am therefore in favour to the
> first proposal above, but I would like to hear from the others.
I'm not sure I see the relevance of "assembled intact." The source is
assembled just as the user specified with -O1. -O1 simply inhibits
adding additional unnecessary nop instructions--nop instructions that
were required for MIPS ISA I but not for later ISAs.
At -O1 branches are not swapped, so debugging is not impaired.
I agree there should be a way to set mips_optimize to 0, but we should
ensure that gcc -O0 does not set mips_optimize to 0 when assembling.
Ian