Port-mips archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Can't compile longson kernels
On Thu, Nov 28, 2013 at 06:29:14PM +0100, Martin Husemann wrote:
> On Thu, Nov 28, 2013 at 06:26:54PM +0100, Manuel Bouyer wrote:
> > I wonder is something changed here, that cause the warning workaround to
> > not work any more (-Wa,-mfix-loongson2f-jump is from upstream, but
> > this warning workaround is a local change).
>
> I think this is broken since the binutils update.
Right. The attached patch should make our local hack work with the new
binutils. I can't test a LOOGSON kernel right now, unfortunably ...
--
Manuel Bouyer <bouyer%antioche.eu.org@localhost>
NetBSD: 26 ans d'experience feront toujours la difference
--
Index: tc-mips.c
===================================================================
RCS file: /cvsroot/src/external/gpl3/binutils/dist/gas/config/tc-mips.c,v
retrieving revision 1.12
diff -u -p -u -r1.12 tc-mips.c
--- tc-mips.c 29 Sep 2013 20:13:42 -0000 1.12
+++ tc-mips.c 28 Nov 2013 18:55:58 -0000
@@ -3700,10 +3700,14 @@ fix_loongson2f_jump (struct mips_cl_insn
macro_build (NULL, "and", "d,v,t", sreg, sreg, ATREG);
/* Hide these three instructions to avoid getting a ``macro expanded into
multiple instructions'' warning. */
- if (mips_relax.sequence != 2)
+ if (mips_relax.sequence != 2) {
mips_macro_warning.sizes[0] -= 3 * 4;
- if (mips_relax.sequence != 1)
+ mips_macro_warning.insns[0] -= 3;
+ }
+ if (mips_relax.sequence != 1) {
mips_macro_warning.sizes[1] -= 3 * 4;
+ mips_macro_warning.insns[1] -= 3;
+ }
}
}
@@ -4839,10 +4843,14 @@ macro_build_jrpatch (expressionS *ep, un
/* Hide these two instructions to avoid getting a ``macro expanded into
multiple instructions'' warning. */
- if (mips_relax.sequence != 2)
+ if (mips_relax.sequence != 2) {
mips_macro_warning.sizes[0] -= 2 * 4;
- if (mips_relax.sequence != 1)
+ mips_macro_warning.insns[0] -= 2;
+ }
+ if (mips_relax.sequence != 1) {
mips_macro_warning.sizes[1] -= 2 * 4;
+ mips_macro_warning.insns[0] -= 2;
+ }
}
/* Build an instruction created by a macro expansion. This is passed
Home |
Main Index |
Thread Index |
Old Index