* config/tc-d10v.c (write_2_short): Fix bug that wouldn't allow
to pair a branch and link with anything but an exe instruction. Fix for gas/13494.
This commit is contained in:
parent
d78d367107
commit
c7b2ac2856
2 changed files with 8 additions and 3 deletions
|
@ -3,6 +3,11 @@ Thu Oct 9 01:44:36 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||||||
* tc-d10v.h (TC_START_LABEL): Don't define.
|
* tc-d10v.h (TC_START_LABEL): Don't define.
|
||||||
(tc_frob_label): Define.
|
(tc_frob_label): Define.
|
||||||
|
|
||||||
|
Thu Oct 9 00:07:23 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||||||
|
|
||||||
|
* config/tc-d10v.c (write_2_short): Fix bug that wouldn't allow
|
||||||
|
to pair a branch and link with anything but an exe instruction.
|
||||||
|
|
||||||
Wed Oct 8 16:28:53 1997 Richard Henderson <rth@cygnus.com>
|
Wed Oct 8 16:28:53 1997 Richard Henderson <rth@cygnus.com>
|
||||||
|
|
||||||
* config/tc-alpha.c (load_expression): Disable the sym+const .got
|
* config/tc-alpha.c (load_expression): Disable the sym+const .got
|
||||||
|
|
|
@ -673,10 +673,10 @@ write_2_short (opcode1, insn1, opcode2, insn2, exec_type, fx)
|
||||||
if ( (opcode1->format & LONG_OPCODE) || (opcode2->format & LONG_OPCODE))
|
if ( (opcode1->format & LONG_OPCODE) || (opcode2->format & LONG_OPCODE))
|
||||||
as_fatal ("Long instructions may not be combined.");
|
as_fatal ("Long instructions may not be combined.");
|
||||||
|
|
||||||
if(opcode1->exec_type & BRANCH_LINK && opcode2->exec_type != PARONLY)
|
if(opcode1->exec_type & BRANCH_LINK && exec_type == 0)
|
||||||
{
|
{
|
||||||
/* subroutines must be called from 32-bit boundaries */
|
/* Instructions paired with a subroutine call are executed before the
|
||||||
/* so the return address will be correct */
|
subroutine, so don't do these pairings unless explicitly requested. */
|
||||||
write_1_short (opcode1, insn1, fx->next);
|
write_1_short (opcode1, insn1, fx->next);
|
||||||
return (1);
|
return (1);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue