diff options
author | Daniel Cederman <cederman@gaisler.com> | 2018-07-12 09:15:55 +0200 |
---|---|---|
committer | Daniel Hellstrom <daniel@gaisler.com> | 2018-08-24 15:51:38 +0200 |
commit | 59a0541c5bc0b4346dcfbab76613f770d6e40d10 (patch) | |
tree | f7ed3765b80f9b8ef4ac24ae52ead7812fb85a92 /cpukit/score/cpu/sparc/syscall.S | |
parent | Update FreeBSD kernel timespec support (diff) | |
download | rtems-59a0541c5bc0b4346dcfbab76613f770d6e40d10.tar.bz2 |
sparc: Restore npc when returning from the syscall_lazy_fp_switch trap
If the floating point trap occurred in a delay slot it is not certain
that npc will be equal to pc + 4.
Diffstat (limited to 'cpukit/score/cpu/sparc/syscall.S')
-rw-r--r-- | cpukit/score/cpu/sparc/syscall.S | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/cpukit/score/cpu/sparc/syscall.S b/cpukit/score/cpu/sparc/syscall.S index da0ee43889..574cf66176 100644 --- a/cpukit/score/cpu/sparc/syscall.S +++ b/cpukit/score/cpu/sparc/syscall.S @@ -245,7 +245,7 @@ SYM(syscall_lazy_fp_switch): /* Now, retry the floating point instruction with PSR[EF] == 1 */ jmp %l1 - rett %l1 + 4 + rett %l2 .Lillegal_use_of_floating_point_unit: |