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

Commit 25c30003 authored by David Daney's avatar David Daney Committed by Ralf Baechle
Browse files

MIPS: Override assembler target architecture for octeon.



Gas from binutils 2.19 fails to compile some cop1 instructions with
-march=octeon.  Since the cop1 instructions are present in mips1, use
that arch instead.  This will be fixed in binutils 2.20.

Signed-off-by: default avatarDavid Daney <ddaney@caviumnetworks.com>
Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent ed918c2d
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -1028,6 +1028,8 @@ do { \
	__asm__ __volatile__(                                   \
	".set\tpush\n\t"					\
	".set\treorder\n\t"					\
	/* gas fails to assemble cfc1 for some archs (octeon).*/ \
	".set\tmips1\n\t"					\
        "cfc1\t%0,"STR(source)"\n\t"                            \
	".set\tpop"						\
        : "=r" (__res));                                        \
+4 −0
Original line number Diff line number Diff line
@@ -385,10 +385,14 @@ NESTED(nmi_handler, PT_SIZE, sp)
	.endm

	.macro	__build_clear_fpe
	.set	push
	/* gas fails to assemble cfc1 for some archs (octeon).*/ \
	.set	mips1
	cfc1	a1, fcr31
	li	a2, ~(0x3f << 12)
	and	a2, a1
	ctc1	a2, fcr31
	.set	pop
	TRACE_IRQS_ON
	STI
	.endm