On Thu, Jun 11, 2015 at 11:08:44AM -0400, Tom Rini wrote: > On Thu, Jun 11, 2015 at 03:44:10PM +0200, Hans de Goede wrote: > > Hi, > > > > On 11-06-15 14:56, Tom Rini wrote: > > >On Thu, Jun 11, 2015 at 09:41:29AM +0200, Hans de Goede wrote: > > >>Hi, > > >> > > >>On 11-06-15 04:49, Simon Glass wrote: > > >>>Hi, > > >>> > > >>>On 10 June 2015 at 08:56, Tom Rini <tr...@konsulko.com> wrote: > > >>>>On Wed, Jun 10, 2015 at 04:54:50PM +0200, Hans de Goede wrote: > > >>>> > > >>>>>Hi Tom, > > >>>>> > > >>>>>Please pull u-boot-sunxi/master into master for 2 small bug-fixes: > > >>>>> > > >>>>>The following changes since commit > > >>>>>3d0158ae18bef2ac89979f4c90419d3add436c71: > > >>>>> > > >>>>> Prepare v2015.07-rc2 (2015-06-08 17:48:33 -0400) > > >>>>> > > >>>>>are available in the git repository at: > > >>>>> > > >>>>> http://git.denx.de/u-boot-sunxi.git master > > >>>>> > > >>>>>for you to fetch changes up to > > >>>>>0751b138064db28f0866f0c2439afb8b3975180c: > > >>>>> > > >>>>> sunxi: Enable CONFIG_SYS_64BIT_LBA when AHCI is used (2015-06-10 > > >>>>> 16:52:12 +0200) > > >>>>> > > >>>> > > >>>>Applied to u-boot/master, thanks! > > >>> > > >>>I don't see this patch on the mailing list or I would reply there. > > >> > > >>Hmm, I asked the submitter to Cc the list when he suggested this patch on > > >>irc, > > >>I guess he only send it to me and I did not notice. > > >> > > >>>But for my toolchain I get errors: > > >>> > > >>>crosfw -b Orangepi_mini -w > > >>># > > >>># configuration written to .config > > >>># > > >>>/opt/linaro/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux/bin/arm-linux-gnueabihf-ld.bfd: > > >>>error: > > >>>/opt/linaro/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux/bin/../lib/gcc/arm-linux-gnueabihf/4.8.2/libgcc.a(bpabi.o) > > >>>uses VFP register arguments, u-boot does not > > >>>/opt/linaro/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux/bin/arm-linux-gnueabihf-ld.bfd: > > >>>failed to merge target specific data of file > > >>>/opt/linaro/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux/bin/../lib/gcc/arm-linux-gnueabihf/4.8.2/libgcc.a(bpabi.o) > > >>>/opt/linaro/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux/bin/arm-linux-gnueabihf-ld.bfd: > > >>>error: > > >>>/opt/linaro/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux/bin/../lib/gcc/arm-linux-gnueabihf/4.8.2/libgcc.a(_divdi3.o) > > >>>uses VFP register arguments, u-boot does not > > >>>/opt/linaro/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux/bin/arm-linux-gnueabihf-ld.bfd: > > >>>failed to merge target specific data of file > > >>>/opt/linaro/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux/bin/../lib/gcc/arm-linux-gnueabihf/4.8.2/libgcc.a(_divdi3.o) > > >>>/opt/linaro/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux/bin/arm-linux-gnueabihf-ld.bfd: > > >>>error: > > >>>/opt/linaro/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux/bin/../lib/gcc/arm-linux-gnueabihf/4.8.2/libgcc.a(_udivdi3.o) > > >>>uses VFP register arguments, u-boot does not > > >>>/opt/linaro/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux/bin/arm-linux-gnueabihf-ld.bfd: > > >>>failed to merge target specific data of file > > >>>/opt/linaro/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux/bin/../lib/gcc/arm-linux-gnueabihf/4.8.2/libgcc.a(_udivdi3.o) > > >>>make[1]: *** [u-boot] Error 1 > > >>>make[1]: *** Waiting for unfinished jobs.... > > >> > > >>I'm not sure what todo about this, it works for me, and supporting disks > > >>larger then 2TB seems like a desirable feature in this time and age. > > > > > >Ug. Yes, but you have to use do_div and friends and we've got another > > >case where something snuck past not using those helpers. I forget the > > >right incantation to use on either nm or objdump to figure out just > > >which function/file is doing it wrong. > > > > Ok, so hopefully someone reading the list remembers and can provide us with > > a list of > > culprits. I can probably make some time to fix this even if the problem is > > not in sunxi > > code (all the commit does is enable CONFIG_SYS_64BIT_LBA which AFAIK does > > not directly > > influence any sunxi code). > > > > So for now lets keep this in master and try to get it fixed, if it is not > > fixed in say > > 2 rc-s from now then we should probably revert the sunxi commit (and break > > large > > disks again). > > > > OK, so I dug out the magic again (since there's a few other boards that > fail on different toolchain with the same type of problem but another > place). > First: > $ arm-linux-gnueabihf-nm > /opt/linaro/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux/bin/../lib/gcc/arm-linux-gnueabihf/4.8.2/libgcc.a > | grep -A 4 _udivdi3.o > This will show you all of the functions provided there. > Second: > $ for F in `find output-dir -name *.o`;do arm-linux-gnueabihf-nm $F 2>&1 > | grep -q THATSYMBOL && echo $F;done > > This will show you what object files have the function in question. > Third: > arm-linux-gnueabihf-objdump -d ONE/OBJ/FILE.o | $PAGER > And hunt around for what function(s) here are calling the incorrect math > function. > Fourth: Examine the C in question until you spot the "bad" division, > correct to use a helper from include/linux/math64.h (and yes we have > some other helpers too that are home grown but I am in favor of using > the kernel ones).
OK, tracking down where is even easier than I recalled: $ $PAGER temp/u-boot.map ... /usr/lib/gcc/arm-linux-gnueabihf/4.7/libgcc.a(_ashldi3.o) drivers/mmc/built-in.o (__aeabi_llsl) /usr/lib/gcc/arm-linux-gnueabihf/4.7/libgcc.a(_aeabi_uldivmod.o) drivers/mmc/built-in.o (__aeabi_uldivmod) /usr/lib/gcc/arm-linux-gnueabihf/4.7/libgcc.a(_dvmd_lnx.o) /usr/lib/gcc/arm-linux-gnueabihf/4.7/libgcc.a(_udivsi3.o) (__aeabi_idiv0) /usr/lib/gcc/arm-linux-gnueabihf/4.7/libgcc.a(bpabi.o) /usr/lib/gcc/arm-linux-gnueabihf/4.7/libgcc.a(_aeabi_uldivmod.o) (__gnu_uldivmod_helper) /usr/lib/gcc/arm-linux-gnueabihf/4.7/libgcc.a(_divdi3.o) /usr/lib/gcc/arm-linux-gnueabihf/4.7/libgcc.a(bpabi.o) (__divdi3) /usr/lib/gcc/arm-linux-gnueabihf/4.7/libgcc.a(_udivdi3.o) /usr/lib/gcc/arm-linux-gnueabihf/4.7/libgcc.a(bpabi.o) (__udivdi3) And patch coming shortly. -- Tom
signature.asc
Description: Digital signature
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot