From 1ff54a84b46d25a8ef7f3c316c38cf994086cef2 Mon Sep 17 00:00:00 2001 From: Thiemo Seufer 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 526d5dff36a..ed71bd43c36 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +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 diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index b666ed95d35..6cd1f8359a2 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.30.2