All of lore.kernel.org
 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 arch/mips/vdso/gettimeofday.c:1:0: error: '-march=r3900' requires '-mfp32' 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
  -- strict thread matches above, loose matches on Subject: below --
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 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.