Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -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 { \
	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"		\