Commit aedd153f authored by Markos Chandras's avatar Markos Chandras Committed by Ralf Baechle

MIPS: ftrace: Fix a microMIPS build problem

Code before the .fixup section needs to have the .insn directive.
This has no side effects on MIPS32/64 but it affects the way microMIPS
loads the address for the return label.

Fixes the following build problem:
mips-linux-gnu-ld: arch/mips/built-in.o: .fixup+0x4a0: Unsupported jump between
ISA modes; consider recompiling with interlinking enabled.
mips-linux-gnu-ld: final link failed: Bad value
Makefile:819: recipe for target 'vmlinux' failed

The fix is similar to 1658f914 ("MIPS: microMIPS:
Disable LL/SC and fix linker bug.")
Signed-off-by: default avatarMarkos Chandras <markos.chandras@imgtec.com>
Cc: stable@vger.kernel.org
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/8117/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent 6fa88d9e
...@@ -24,7 +24,7 @@ do { \ ...@@ -24,7 +24,7 @@ do { \
asm volatile ( \ asm volatile ( \
"1: " load " %[tmp_dst], 0(%[tmp_src])\n" \ "1: " load " %[tmp_dst], 0(%[tmp_src])\n" \
" li %[tmp_err], 0\n" \ " li %[tmp_err], 0\n" \
"2:\n" \ "2: .insn\n" \
\ \
".section .fixup, \"ax\"\n" \ ".section .fixup, \"ax\"\n" \
"3: li %[tmp_err], 1\n" \ "3: li %[tmp_err], 1\n" \
...@@ -46,7 +46,7 @@ do { \ ...@@ -46,7 +46,7 @@ do { \
asm volatile ( \ asm volatile ( \
"1: " store " %[tmp_src], 0(%[tmp_dst])\n"\ "1: " store " %[tmp_src], 0(%[tmp_dst])\n"\
" li %[tmp_err], 0\n" \ " li %[tmp_err], 0\n" \
"2:\n" \ "2: .insn\n" \
\ \
".section .fixup, \"ax\"\n" \ ".section .fixup, \"ax\"\n" \
"3: li %[tmp_err], 1\n" \ "3: li %[tmp_err], 1\n" \
......
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