public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Stefano Babic <sbabic@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] imx6 devices failing to build with 2016.05
Date: Wed, 27 Apr 2016 17:50:35 +0200	[thread overview]
Message-ID: <5720DFCB.2030302@denx.de> (raw)
In-Reply-To: <CALeDE9MFjR+rAvMNR1hpaY7m9heQFEovFAs69E7+DCwbWJSJ7Q@mail.gmail.com>

Hi Peter,

On 27/04/2016 12:15, Peter Robinson wrote:
> Hi All,
> 
> I didn't look closely when it happened with rc1 because I saw a pull
> req from Stefano shortly afterwards and I decided to try again after
> that landed. With rc3 I'm still seeing the same issue.
> 
> Basically all the i.MX6 devices
> (cm_fx6,mx6cuboxi,novena,riotboard,udoo,wandboard,warp) we currently
> build for Fedora are failing to build. It looks very similar to some
> 64 bit math issues [1] [2] a search gives me although from the linker
> command I'm failing to see what code is at fault so any assistance in
> debugging this would be great. I've checked it failed on < gcc6 too
> and 2016.03 builds so it appears a regression in 05rcX.
> 
> The (for cuboxi example) basic error is:
>   ld.bfd   -pie  --gc-sections -Bstatic -Ttext 0x17800000 -o u-boot -T
> u-boot.lds arch/arm/cpu/armv7/start.o --start-group
> arch/arm/cpu/built-in.o  arch/arm/cpu/armv7/built-in.o
> arch/arm/imx-common/built-in.o  arch/arm/lib/built-in.o
> board/solidrun/mx6cuboxi/built-in.o  cmd/built-in.o  common/built-in.o
>  disk/built-in.o  drivers/built-in.o  drivers/dma/built-in.o
> drivers/gpio/built-in.o  drivers/i2c/built-in.o
> drivers/mmc/built-in.o  drivers/mtd/built-in.o
> drivers/mtd/onenand/built-in.o  drivers/mtd/spi/built-in.o
> drivers/net/built-in.o  drivers/net/phy/built-in.o
> drivers/pci/built-in.o  drivers/power/built-in.o
> drivers/power/battery/built-in.o  drivers/power/fuel_gauge/built-in.o
> drivers/power/mfd/built-in.o  drivers/power/pmic/built-in.o
> drivers/power/regulator/built-in.o  drivers/serial/built-in.o
> drivers/spi/built-in.o  drivers/usb/common/built-in.o
> drivers/usb/dwc3/built-in.o  drivers/usb/emul/built-in.o
> drivers/usb/eth/built-in.o  drivers/usb/gadget/built-in.o
> drivers/usb/gadget/udc/built-in.o  drivers/usb/host/built-in.o
> drivers/usb/musb-new/built-in.o  drivers/usb/musb/built-in.o
> drivers/usb/phy/built-in.o  drivers/usb/ulpi/built-in.o  fs/built-in.o
>  lib/built-in.o  net/built-in.o  test/built-in.o  test/dm/built-in.o
> --end-group arch/arm/lib/eabi_compat.o  -L
> /usr/lib/gcc/armv7hl-redhat-linux-gnueabi/6.0.0 -lgcc -Map u-boot.map
> ld.bfd: error: /usr/lib/gcc/armv7hl-redhat-linux-gnueabi/6.0.0/libgcc.a(_udivmoddi4.o)
> uses VFP register arguments, u-boot does not
> ld.bfd: failed to merge target specific data of file
> /usr/lib/gcc/armv7hl-redhat-linux-gnueabi/6.0.0/libgcc.a(_udivmoddi4.o)
> 
> Full log at https://pbrobinson.fedorapeople.org/u-boot-mx6cuboxi-fail.txt
> 

I can confirm this - I started bisect and I have found this one:

commit 3cb4f25cc702db17455583599d0940c81337a17a
Author: Peng Fan <van.freenix@gmail.com>
Date:   Wed Mar 9 16:07:21 2016 +0800

    video: ipu: avoid overflow issue

    Multiplication, as "clk->parent->rate * 16" may overflow. So use
    do_div to avoid such issue.

    Signed-off-by: Peng Fan <van.freenix@gmail.com>
    Signed-off-by: Sandor Yu <sandor.yu@nxp.com>
    Cc: Anatolij Gustschin <agust@denx.de>
    Cc: Stefano Babic <sbabic@denx.de>
    Cc: Fabio Estevam <fabio.estevam@nxp.com>

:040000 040000 9672cb921a1051b5357931e8835884e2cccf8ec6
3cbbeea448780bb4855f5458dd98d017239b729a M	drivers


Checking the patch, I have found:

clk->rate = (u64)(clk->parent->rate * 16) / div;


This seems the cause for the failing build.

This confirms an issue. IMHO we can replace it with:

clk->rate = (u64)lldiv(clk->parent->rate * 16, div);

Peng, what do you mind ?

Best regards,
Stefano Babic

-- 
=====================================================================
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================

  reply	other threads:[~2016-04-27 15:50 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-27 10:15 [U-Boot] imx6 devices failing to build with 2016.05 Peter Robinson
2016-04-27 15:50 ` Stefano Babic [this message]
2016-04-27 16:28   ` Sergey Kubushyn
2016-04-27 17:29     ` Tom Rini
2016-04-27 16:41   ` Peter Robinson
2016-04-27 18:06   ` Tom Rini

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=5720DFCB.2030302@denx.de \
    --to=sbabic@denx.de \
    --cc=u-boot@lists.denx.de \
    /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