From 321005c57990215b3e1a06acabb07d3f83a1bd9f Mon Sep 17 00:00:00 2001 From: ths Date: Tue, 21 Aug 2001 01:13:05 +0000 Subject: [PATCH] * tc_mips.c (md_begin): Warn about incompatibility between -march=FOO and -mipsN option, continue with default ISA. --- gas/ChangeLog | 5 +++++ gas/config/tc-mips.c | 18 +++++++++++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index 526d5dff36..ed71bd43c3 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,10 @@ 2001-08-21 Thiemo Seufer + * tc_mips.c (md_begin): Warn about incompatibility between -march=FOO + and -mipsN option, continue with default ISA. + +2001-08-21 Thiemo Seufer + * config/tc-mips.c (md_parse_option): #ifdef the traditional/non-traditional names as it is done in mips_target_format. diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index b666ed95d3..6cd1f8359a 100644 --- a/gas/config/tc-mips.c +++ b/gas/config/tc-mips.c @@ -1010,7 +1010,23 @@ 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. For + now, we discard arch and preserve tune. */ + as_warn (_("The -march option is incompatible to -mipsN and " + "therefore ignored.")); + if (mips_tune == CPU_UNKNOWN) + mips_tune = mips_arch; + ci = mips_cpu_info_from_isa (mips_opts.isa); + assert (ci != NULL); + mips_arch = ci->cpu; + } } else if (mips_arch != CPU_UNKNOWN && mips_opts.isa == ISA_UNKNOWN) { -- 2.11.0