From mboxrd@z Thu Jan 1 00:00:00 1970 From: "H . J . Lu" To: Thiemo Seufer Cc: binutils@sources.redhat.com Subject: Re: Does -march=r5000 imply HAVE_64BIT_GPRS? Date: Sat, 18 Aug 2001 09:40:00 -0000 Message-id: <20010818094028.A9221@lucon.org> References: <20010818081547.C554@lucon.org> <20010818183340.L381@rembrandt.csv.ica.uni-stuttgart.de> X-SW-Source: 2001-08/msg00410.html On Sat, Aug 18, 2001 at 06:33:40PM +0200, Thiemo Seufer wrote: > H . J . Lu wrote: > [snip] > > I think it is not a bad idea. We can do > > > > if (mips_opts.isa != mips_isa_from_cpu) > > { > > /* -march=xxxx is not compatible with -mipsN. */ > > Issue a warning and abort. > > } > > > > In fact, I have changed my CFLAGS from "-march=r5000 -mips2" to > > "-mtune=r5000 -mips2". The problem with this approach is only > > gcc 3.1 and my current mips toolchain support -mtune=r5000. Maybe > > we should just add a warning to my patch, saying please use > > "-mtune=XXX -mipsN" instead of "-march=XXX -mipsN". > > I would suggest this patch. > > > Thiemo > > > 2001-08-18 Thiemo Seufer > > /gas/ChangeLog > * tc_mips.c (md_begin): Warn about incompatibility between -march=FOO > and -mipsN option, continue with default ISA. > I disagree. I think mips_tune should be set by -march=FOO in this case. > > diff -BurpNX /bigdisk/src/binutils-exclude src-orig/gas/config/tc-mips.c src/gas/config/tc-mips.c > --- src-orig/gas/config/tc-mips.c Sun Aug 12 13:34:58 2001 > +++ src/gas/config/tc-mips.c Sat Aug 18 17:54:58 2001 > @@ -996,7 +1015,20 @@ md_begin () > the command line, or will be set otherwise if one was. */ > if (mips_arch != CPU_UNKNOWN && mips_opts.isa != ISA_UNKNOWN) > { > - /* We have it all. There's nothing to do. */ > + /* We have to check if the isa is the default isa of arch. Otherwise > + we'll get invalid object file headers. */ > + ci = mips_cpu_info_from_cpu (mips_arch); > + assert (ci != NULL); > + if (mips_opts.isa != ci->isa) > + { > + /* This really should be an error instead of a warning, but old > + compilers only have -mcpu which sets both arch and tune. */ > + as_warn (_("The -march option is incompatible to -mipsN and " > + "therefore ignored.")); > + ci = mips_cpu_info_from_isa (mips_opts.isa); > + assert (ci != NULL); Add if (mips_tune == CPU_UNKNOWN) mips_tune = mips_arch; > + mips_arch = ci->cpu; > + } > } > else if (mips_arch != CPU_UNKNOWN && mips_opts.isa == ISA_UNKNOWN) > { H.J.