From: Maciej W. Rozycki Date: Mon, 13 Aug 2012 14:09:44 +0000 (+0000) Subject: * config/tc-mips.c (s_cpload, s_cpsetup): Fail if MIPS16 mode. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a276b80c45d814c008211d71151ca0063618ba8f;p=binutils-gdb.git * config/tc-mips.c (s_cpload, s_cpsetup): Fail if MIPS16 mode. (s_cplocal, s_cprestore, s_cpreturn): Likewise. --- diff --git a/gas/ChangeLog b/gas/ChangeLog index 72116dde77f..9f07d524482 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2012-08-13 Maciej W. Rozycki + + * config/tc-mips.c (s_cpload, s_cpsetup): Fail if MIPS16 mode. + (s_cplocal, s_cprestore, s_cpreturn): Likewise. + 2012-08-07 Jan Beulich * config/tc-i386-intel.c (build_modrm_byte): Split determining diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index fa78840fc3f..53e10eac8a7 100644 --- a/gas/config/tc-mips.c +++ b/gas/config/tc-mips.c @@ -16439,6 +16439,13 @@ s_cpload (int ignore ATTRIBUTE_UNUSED) return; } + if (mips_opts.mips16) + { + as_bad (_("%s not supported in MIPS16 mode"), ".cpload"); + ignore_rest_of_line (); + return; + } + /* .cpload should be in a .set noreorder section. */ if (mips_opts.noreorder == 0) as_warn (_(".cpload not in noreorder section")); @@ -16505,6 +16512,13 @@ s_cpsetup (int ignore ATTRIBUTE_UNUSED) return; } + if (mips_opts.mips16) + { + as_bad (_("%s not supported in MIPS16 mode"), ".cpsetup"); + ignore_rest_of_line (); + return; + } + reg1 = tc_get_register (0); SKIP_WHITESPACE (); if (*input_line_pointer != ',') @@ -16597,6 +16611,13 @@ s_cplocal (int ignore ATTRIBUTE_UNUSED) return; } + if (mips_opts.mips16) + { + as_bad (_("%s not supported in MIPS16 mode"), ".cplocal"); + ignore_rest_of_line (); + return; + } + mips_gp_register = tc_get_register (0); demand_empty_rest_of_line (); } @@ -16618,6 +16639,13 @@ s_cprestore (int ignore ATTRIBUTE_UNUSED) return; } + if (mips_opts.mips16) + { + as_bad (_("%s not supported in MIPS16 mode"), ".cprestore"); + ignore_rest_of_line (); + return; + } + mips_cprestore_offset = get_absolute_expression (); mips_cprestore_valid = 1; @@ -16654,6 +16682,13 @@ s_cpreturn (int ignore ATTRIBUTE_UNUSED) return; } + if (mips_opts.mips16) + { + as_bad (_("%s not supported in MIPS16 mode"), ".cpreturn"); + ignore_rest_of_line (); + return; + } + macro_start (); if (mips_cpreturn_register == -1) {