[U-Boot] Cannot compile arm u-boot with hardfloat toolchain

Hans de Goede
2015-01-05T10:51:39Z

Hi,

On 05-01-15 11:46, B.R. Oake wrote:
> On 05/01/15 01:28, Tom Rini wrote:
>> On Sun, Jan 04, 2015 at 11:23:29PM +0100, Michal Suchanek wrote:
>>> when using a hardfloat toolchain linking u-boot fails.
>>
>> What version of U-Boot are you building? There's a few rc releases that
>> fail with hardfp-only because a few things leaked in with 64bit math.
>
> Hi Tom,
>
> I also encountered this problem
> ( http://lists.denx.de/pipermail/u-boot/2015-January/200123.html )
> and found it was indeed when 64-bit maths operations were included.
> To be exact, it was this division of a long long in
> drivers/video/videomodes.c:
>
> mode->pixclock = 1000000000000LL / EDID_DETAILED_TIMING_PIXEL_CLOCK(*t);
>
> which was part of this commit in Hans' sunxi video series:
>
> 0cd5efe videomodes: Add video_edid_dtd_to_ctfb_res_modes helper function
>
> and which was linked into the u-boot binary in a later commit:
>
> e7872f3 sunxi: video: Use video-mode/-timing from videomodes
> diff --git a/drivers/video/Makefile b/drivers/video/Makefile
> [...]
> -obj-$(CONFIG_VIDEO_SUNXI) += sunxi_display.o
> +obj-$(CONFIG_VIDEO_SUNXI) += sunxi_display.o videomodes.o

Ah, ok, thanks for figuring that out, so this only happens to people
following my sunxi-wip branch, because that commit is not upstream yet.

So I guess I will need to fix this somehow without using 64 bit math,
any suggestions?

Regards,

Hans