diff --git a/gas/ChangeLog b/gas/ChangeLog index d1af70a7674..dd7e3b1f34b 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2003-07-30 J"orn Rennecke + + * config/tc-sh.c (md_assemble): For branches, check & update + valid_arch here. + 2003-07-30 Jason Eckhardt * config/tc-i860.c: Convert to ISO C90. diff --git a/gas/config/tc-sh.c b/gas/config/tc-sh.c index 16677f84cd3..d147df6df5b 100644 --- a/gas/config/tc-sh.c +++ b/gas/config/tc-sh.c @@ -2383,6 +2383,12 @@ md_assemble (str) if (opcode->arg[0] == A_BDISP12 || opcode->arg[0] == A_BDISP8) { + /* Since we skip get_specific here, we have to check & update + valid_arch now. */ + if (valid_arch & opcode->arch) + valid_arch &= opcode->arch; + else + as_bad (_("Delayed branches not available on SH1")); parse_exp (op_end + 1, &operand[0]); build_relax (opcode, &operand[0]); }