Commit bbbfde78 authored by John David Anglin's avatar John David Anglin Committed by Helge Deller

parisc: use long branch in fork_like macro

The "b" branch instruction used in the fork_like macro only can handle
17-bit pc-relative offsets.
This fails with an out of range offset with some .config files.
Rewrite to use the "be" instruction which
can branch to any address in a space.
Signed-off-by: default avatarJohn David Anglin  <dave.anglin@bell.net>
Signed-off-by: default avatarHelge Deller <deller@gmx.de>
parent 93782eba
...@@ -1702,7 +1702,8 @@ ENTRY(sys_\name\()_wrapper) ...@@ -1702,7 +1702,8 @@ ENTRY(sys_\name\()_wrapper)
ldo TASK_REGS(%r1),%r1 ldo TASK_REGS(%r1),%r1
reg_save %r1 reg_save %r1
mfctl %cr27, %r28 mfctl %cr27, %r28
b sys_\name ldil L%sys_\name, %r31
be R%sys_\name(%sr4,%r31)
STREG %r28, PT_CR27(%r1) STREG %r28, PT_CR27(%r1)
ENDPROC(sys_\name\()_wrapper) ENDPROC(sys_\name\()_wrapper)
.endm .endm
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment