mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Guenter Roeck <linux@roeck-us.net>
To: Fengguang Wu <fengguang.wu@intel.com>
Cc: kbuild-all@01.org,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Ralf Baechle <ralf@linux-mips.org>,
	Alex Smith <alex.smith@imgtec.com>
Subject: Re: arch/mips/vdso/gettimeofday.c:1:0: error: '-march=r3900' requires '-mfp32'
Date: Tue, 5 Jan 2016 07:15:44 -0800	[thread overview]
Message-ID: <568BDE20.1040800@roeck-us.net> (raw)
In-Reply-To: <20160105143039.GA5772@wfg-t540p.sh.intel.com>

Hi Fengguang,

On 01/05/2016 06:30 AM, Fengguang Wu wrote:
> Hi Guenter,
>
> On Tue, Jan 05, 2016 at 06:02:47AM -0800, Guenter Roeck wrote:
>> On 01/05/2016 12:22 AM, Fengguang Wu wrote:
>>> On Tue, Jan 05, 2016 at 12:09:14AM -0800, Guenter Roeck wrote:
>>>> On 01/04/2016 11:23 PM, kbuild test robot wrote:
>>>>> Hi Guenter,
>>>>>
>>>>> First bad commit (maybe != root cause):
>>>>>
>>>>> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
>>>>> head:   168309855a7d1e16db751e9c647119fe2d2dc878
>>>>> commit: 398c7500a1f5f74e207bd2edca1b1721b3cc1f1e MIPS: VDSO: Fix build error with binutils 2.24 and earlier
>>>>> date:   6 days ago
>>>>> config: mips-jmr3927_defconfig (attached as .config)
>>>>> reproduce:
>>>>>          wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
>>>>>          chmod +x ~/bin/make.cross
>>>>>          git checkout 398c7500a1f5f74e207bd2edca1b1721b3cc1f1e
>>>>>          # save the attached .config to linux build tree
>>>>>          make.cross ARCH=mips
>>>>>
>>>>> All errors (new ones prefixed by >>):
>>>>>
>>>>>>> arch/mips/vdso/gettimeofday.c:1:0: error: '-march=r3900' requires '-mfp32'
>>>>>      /*
>>>>>      ^
>>>>>
>>>> AFAICS this is using the mips cross compiler version 4.9.0 from kernel.org [1],
>>>> which in turn uses binutils 2.24. At least this is what make.cross tries to install.
>>>
>>> Oops, sorry. I'm now using the debian MIPS cross compiler 5.2.1 ...
>>> make.cross has not been updated yet.
>>>
>> No problem. FWIW, I tested my patch with the compiler from Yocto 2.0, which
>> uses gcc 5.2.0 and binutils 2.25.1, with no problem.
>>
>> Do you have directions on how to install a debian cross compiler into a Ubuntu system ?
>> Alternatively, what version of binutils does the mips cross compiler use ?
>
> These are the installed version in my Debian:
>
> ||/ Name                                 Version                 Architecture            Description
> +++-====================================-=======================-=======================-=============================================================================
> ii  gcc-5-mips-linux-gnu                 5.2.1-16cross1          amd64                   GNU C compiler
> ii  gcc-5-mipsel-linux-gnu               5.2.1-16cross1          amd64                   GNU C compiler
> ii  binutils-mips-linux-gnu              2.25-8                  amd64                   GNU binary utilities, for mips-linux-gnu target
> ii  binutils-mipsel-linux-gnu            2.25-8                  amd64                   GNU binary utilities, for mipsel-linux-gnu target
>
> You may check if these packages are available on Ubuntu.  Anyway the

Unfortunately it looks like they are not available.

> versions are close to yours. This is interesting, I'll do more checks.
>

The problem is an interesting one: Due to my patch, arch/mips/vdso/gettimeofday.c
actually compiles with your toolchain (as it should, since its binutils version
is >= 2.25). Previously that was not the case. In other words, my patch exposes
a previously existing problem.

The underlying problem seems to be that your toolchain, as the error suggests,
does not support '-march=r3900' (which is set with the affected configuration)
without '-mfp32'. This may be a problem only for gettimeofday.c because that
file is compiled with different options than everything else. I _suspect_
the reason to be that -msoft-float and -Wa,-msoft-float are dropped from the
gettimeofday compile options, but I am not sure. Ralf and/or Alex (copying)
may have a better understanding of the problem.

Thanks,
Guenter

> Thanks,
> Fengguang
>
>>>> I downloaded it and used it to compile both the attached configuration as well
>>>> as jmr3927_defconfig. Both are building just fine for me. On top of that,
>>>> arch/mips/vdso/gettimeofday.c should not build in the first place with binutils 2.24
>>>> (and doesn't build for me).
>>>>
>>>> What am I missing ?
>>>>
>>>> Guenter
>>>>
>>>> ---
>>>> [1] https://www.kernel.org/pub/tools/crosstool/files/bin/x86_64/4.9.0/x86_64-gcc-4.9.0-nolibc_mips-linux.tar.xz
>>>
>


  reply	other threads:[~2016-01-05 15:15 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-05  7:23 kbuild test robot
2016-01-05  8:09 ` Guenter Roeck
2016-01-05  8:22   ` Fengguang Wu
2016-01-05 14:02     ` Guenter Roeck
2016-01-05 14:30       ` Fengguang Wu
2016-01-05 15:15         ` Guenter Roeck [this message]
2016-01-06 11:50         ` Fengguang Wu
2016-01-06 11:59           ` Fengguang Wu
2016-01-06 12:09             ` [kbuild-all] " Fengguang Wu
2016-01-05 14:35       ` Ralf Baechle
2016-02-28  8:42 kbuild test robot
2016-02-28 10:09 ` Guenter Roeck
2016-03-06  6:56 kbuild test robot
2016-03-13  9:16 kbuild test robot
2016-03-20  1:56 kbuild test robot
2016-04-03  9:23 kbuild test robot
2016-04-17  6:32 kbuild test robot
2016-07-22 17:28 kbuild test robot
2016-08-01 20:24 kbuild test robot
2016-08-28 11:23 kbuild test robot
2016-09-03 23:54 kbuild test robot
2016-09-14 16:02 kbuild test robot
2016-09-23  2:24 kbuild test robot
2016-10-02  2:39 kbuild test robot
2016-10-16  2:49 kbuild test robot
2016-11-05 23:48 kbuild test robot
2016-11-13  2:01 kbuild test robot
2016-12-11  1:21 kbuild test robot
2017-01-01 17:19 kbuild test robot
2017-01-15  1:51 kbuild test robot
2017-02-05 15:49 kbuild test robot
2017-02-12  0:17 kbuild test robot

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=568BDE20.1040800@roeck-us.net \
    --to=linux@roeck-us.net \
    --cc=alex.smith@imgtec.com \
    --cc=fengguang.wu@intel.com \
    --cc=kbuild-all@01.org \
    --cc=linux-kernel@vger.kernel.org \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome