* elf32-rl78.c (rl78_elf_relocate_section): Fix OPsub math.
This commit is contained in:
parent
030031eed5
commit
34064ff3cd
2 changed files with 11 additions and 4 deletions
|
@ -1,3 +1,7 @@
|
|||
2013-06-11 DJ Delorie <dj@redhat.com>
|
||||
|
||||
* elf32-rl78.c (rl78_elf_relocate_section): Fix OPsub math.
|
||||
|
||||
2013-06-11 Will Newton <will.newton@linaro.org>
|
||||
|
||||
* elf64-aarch64.c (elf_aarch64_get_local_sym_hash): Use
|
||||
|
|
|
@ -810,10 +810,13 @@ rl78_elf_relocate_section
|
|||
{
|
||||
int32_t tmp1, tmp2;
|
||||
|
||||
RL78_STACK_POP (tmp2);
|
||||
RL78_STACK_POP (tmp1);
|
||||
tmp2 -= tmp1;
|
||||
RL78_STACK_PUSH (tmp2);
|
||||
/* For the expression "A - B", the assembler pushes A,
|
||||
then B, then OPSUB. So the first op we pop is B, not
|
||||
A. */
|
||||
RL78_STACK_POP (tmp2); /* B */
|
||||
RL78_STACK_POP (tmp1); /* A */
|
||||
tmp1 -= tmp2; /* A - B */
|
||||
RL78_STACK_PUSH (tmp1);
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue