Re: [PATCH] mtd: parsers: scpart: fix __udivdi3 undefined on mips

From: Mikhail Zhilkin
Date: Thu Dec 08 2022 - 15:48:00 EST


Hi guys,

I'm sorry. I noticed that the patch below is broken. For some time now I can't send patches using git-send-mail since the gmail changed the authentication process and I have to use Thunderbird. The Thunderbird broke the line in the patch.

I've already sent the PATCH v2.

Link:
https://lore.kernel.org/linux-mtd/805fe58e-690f-6a3f-5ebf-2f6f6e6e4599@xxxxxxxxx/

Have a nice day!

--
Best regards,
Mikhail

On 12/8/2022 9:59 PM, Mikhail Zhilkin wrote:

> This fixes the following compile error on mips architecture with clang
> version 16.0.0 reported by the 0-DAY CI Kernel Test Service:
> ld.lld: error: undefined symbol: __udivdi3
> referenced by scpart.c
> mtd/parsers/scpart.o:(scpart_parse) in archive drivers/built-in.a
>
> As a workaround this makes 'offs' a 32-bit type. This is enough, because
> the mtd containing partition table practically does not exceed 1 MB. We
> can revert this when the [Link] has been resolved.
>
> Link: https://github.com/ClangBuiltLinux/linux/issues/1635
> Fixes: 9b78ef0c7997 ("mtd: parsers: add support for Sercomm partitions")
> Reported-by: kernel test robot <lkp@xxxxxxxxx>
> Suggested-by: Arnd Bergmann <arnd@xxxxxxxx>
> Signed-off-by: Mikhail Zhilkin <csharper2005@xxxxxxxxx>
> ---
> drivers/mtd/parsers/scpart.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/mtd/parsers/scpart.c b/drivers/mtd/parsers/scpart.c
> index 02601bb33de4..6e5e11c37078 100644
> --- a/drivers/mtd/parsers/scpart.c
> +++ b/drivers/mtd/parsers/scpart.c
> @@ -50,7 +50,7 @@ static int scpart_scan_partmap(struct mtd_info
> *master, loff_t partmap_offs,
> int cnt = 0;
> int res = 0;
> int res2;
> - loff_t offs;
> + uint32_t offs;
> size_t retlen;
> struct sc_part_desc *pdesc = NULL;
> struct sc_part_desc *tmpdesc;