mmc: Use lldiv() for 64-bit division in write_raw_image()
PATCH 1/1 mmc: Use lldiv() for 64-bit division in write_raw_image()
This fixes compilation problems when using a hardfloat toolchain on ARM, which manifest themselves as "libgcc.a(_udivmoddi4.o) uses VFP register arguments, u-boot does not".
These problems have been reported in the U-Boot mailing list:
http://lists.denx.de/pipermail/u-boot/2015-October/230314.html http://lists.denx.de/pipermail/u-boot/2015-October/231908.html
---
I have only tested that the compilation problem disappears for me. It would be best if somebody could confirm whether the fix is correct.
common/fb_mmc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
common/fb_mmc.c +2 -1
@@ -11,6 +11,7 @@#include <aboot.h> #include <sparse_format.h> #include <mmc.h> +#include <div64.h> #ifndef CONFIG_FASTBOOT_GPT_NAME #define CONFIG_FASTBOOT_GPT_NAME GPT_ENTRY_NAME
@@ -64,7 +65,7 @@ static void write_raw_image(block_dev_desc_t *dev_desc, disk_partition_t *info,/* determine number of blocks to write */ blkcnt = ((download_bytes + (info->blksz -1 )) & ~(info->blksz -1 )); - blkcnt = blkcnt / info->blksz; + blkcnt =lldiv (blkcnt, info->blksz);if (blkcnt > info->size) {error ("too large for partition: '%s'\n" , part_name);
Signature · 1 line
2.4.10
PATCH 1/1 mmc: Use lldiv() for 64-bit division in write_raw_image()
Quoted 9 lines · Siarhei Siamashka
This fixes compilation problems when using a hardfloat toolchain on ARM, which manifest themselves as "
libgcc.a(_udivmoddi4.o)uses VFP register arguments, u-boot does not".These problems have been reported in the U-Boot mailing list:
http://lists.denx.de/pipermail/u-boot/2015-October/230314.html http://lists.denx.de/pipermail/u-boot/2015-October/231908.htmlSigned-off-by Siarhei Siamashka <[email protected]>
We care about the result not the remainder here so lldiv is correct.
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151028/352c22bb/attachment.sig>
Quoted 10 lines · Siarhei Siamashka
This fixes compilation problems when using a hardfloat toolchain on ARM, which manifest themselves as "
libgcc.a(_udivmoddi4.o)uses VFP register arguments, u-boot does not".These problems have been reported in the U-Boot mailing list:
http://lists.denx.de/pipermail/u-boot/2015-October/230314.html http://lists.denx.de/pipermail/u-boot/2015-October/231908.htmlSigned-off-by Siarhei Siamashka <[email protected]>Reviewed-by Tom Rini <[email protected]>
Applied to u-boot/master, thanks!
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151112/476ccaa4/attachment.sig>