[Clfs-dev] CLFS Embedded

Andrew Bradford andrew at bradfordembedded.com
Tue Oct 22 14:04:16 PDT 2013


On 10/19/13 22:50, Neil Bradley wrote:
> I'm not quite sure where the issue with e2fsprogs came in; I surmised that it was due to the target arch not having an unsigned 64-bit type. It's only used in 1 small section of ext2fs/unix_io.c that is for very large filesystems - but rather than just commenting it out, I rewrote it using an unsigned 32-bit type that the ARM supported.
> 
> lib/ext2fs/unix_io.c: 933 - 940:
> 
> #ifdef BLKDISCARD
>         __uint64_t range[2];
> 
>         range[0] = (__uint64_t)(block) * channel->block_size;
>         range[1] = (__uint64_t)(count) * channel->block_size;
> 
>         ret = ioctl(data->dev, BLKDISCARD, &range);
> #else

Modifying e2fsprogs 1.42.7 to use 'usigned long long' instead of
'__uint64_t' fixes the compile issue on arm for me although I haven't
yet checked if this change is pushed upstream or if it's really correct.

They *should* be the same type and the compiler built in CLFS embedded
should be supporting 64 bit unsigned integer types.

-Andrew



More information about the Clfs-dev mailing list