From: Markos Chandras <Markos.Chandras@imgtec.com>
To: Manuel Lauss <manuel.lauss@gmail.com>,
Linux-MIPS <linux-mips@linux-mips.org>
Cc: Ralf Baechle <ralf@linux-mips.org>,
"Maciej W. Rozycki" <macro@linux-mips.org>
Subject: Re: [RFC PATCH v3] MIPS: fix build with binutils 2.24.51+
Date: Thu, 23 Oct 2014 12:58:06 +0100 [thread overview]
Message-ID: <5448ED4E.7040507@imgtec.com> (raw)
In-Reply-To: <1413022164-317664-1-git-send-email-manuel.lauss@gmail.com>
On 10/11/2014 11:09 AM, Manuel Lauss wrote:
> Starting with version 2.24.51.20140728 MIPS binutils complain loudly
> about mixing soft-float and hard-float object files, leading to this
> build failure since GCC is invoked with "-msoft-float" on MIPS:
>
> {standard input}: Warning: .gnu_attribute 4,3 requires `softfloat'
> LD arch/mips/alchemy/common/built-in.o
> mipsel-softfloat-linux-gnu-ld: Warning: arch/mips/alchemy/common/built-in.o
> uses -msoft-float (set by arch/mips/alchemy/common/prom.o),
> arch/mips/alchemy/common/sleeper.o uses -mhard-float
>
> To fix this, we detect if GAS is new enough to support "-msoft-float" command
> option, and if it does, we can let GCC pass it to GAS; but then we also need
> to sprinkle the files which make use of floating point registers with the
> necessary ".set hardfloat" directives.
>
> Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>
> ---
> I've only tested a mips32r1 build, but at least binutils-2.23 and a
> snapshot from today (with the MIPS fp changes) compile a bootable
> kernel.
>
> Tests on 64bit and with MSA and other extensions also appreciated!
>
> v3: incorporate Maciej's suggestions:
> - detect if gas can handle -msoft-float and ".set hardfloat"
> - apply .set hardfloat only where really necessary
>
> v2: cover more files
>
> This was introduced in binutils commit 351cdf24d223290b15fa991e5052ec9e9bd1e284
> ("[MIPS] Implement O32 FPXX, FP64 and FP64A ABI extensions").
>
> arch/mips/Makefile | 9 +++++++++
> arch/mips/include/asm/asmmacro-32.h | 5 +++++
> arch/mips/include/asm/asmmacro.h | 18 ++++++++++++++++++
> arch/mips/include/asm/fpregdef.h | 14 ++++++++++++++
> arch/mips/include/asm/mipsregs.h | 19 +++++++++++++++++++
> arch/mips/kernel/genex.S | 1 +
> arch/mips/kernel/r2300_switch.S | 5 +++++
> arch/mips/kernel/r4k_fpu.S | 7 +++++++
> arch/mips/kernel/r4k_switch.S | 9 +++++++++
> arch/mips/kernel/r6000_fpu.S | 5 +++++
> 10 files changed, 92 insertions(+)
>
Hi,
I applied this patch but it still does not build for me on a
malta_defconfig:
arch/mips/kernel/r4k_fpu.S: Assembler messages:
arch/mips/kernel/r4k_fpu.S:52: Error: float register should be even, was 1
arch/mips/kernel/r4k_fpu.S:53: Error: float register should be even, was 3
arch/mips/kernel/r4k_fpu.S:54: Error: float register should be even, was 5
arch/mips/kernel/r4k_fpu.S:55: Error: float register should be even, was 7
...
The error is different this time so we probably need a follow-up patch
--
markos
next prev parent reply other threads:[~2014-10-23 11:58 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-11 10:09 [RFC PATCH v3] MIPS: fix build with binutils 2.24.51+ Manuel Lauss
2014-10-23 11:58 ` Markos Chandras [this message]
2014-10-23 12:22 ` Markos Chandras
2014-10-23 12:22 ` Markos Chandras
2014-10-23 15:20 ` Markos Chandras
2014-10-23 16:21 ` Matthew Fortune
2014-10-23 17:10 ` Manuel Lauss
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5448ED4E.7040507@imgtec.com \
--to=markos.chandras@imgtec.com \
--cc=linux-mips@linux-mips.org \
--cc=macro@linux-mips.org \
--cc=manuel.lauss@gmail.com \
--cc=ralf@linux-mips.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.