[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Installation report on CDROM-less machine



Cameron Patrick wrote:
> On Fri, Dec 12, 2003 at 01:15:09PM -0500, Joey Hess wrote:
> 
> | According to Bastian, the "new" (circa early November) libc broke it.
> | BLKGETSIZE64 is defined in that file using the _IOR macro. Apparently
> | that macro has changed so the third argument is expected to be a type,
> | not just a size, and busybox uses an 8. Seems u64 would be the right
> | type, but that type is not available (only in kernel space). If I put in
> | unsigned long long, it at least builds; not knowing a great deal about C
> | type sizes, I dunno if it will work on all arches.
> 
> I used size_t in my patch (attached to bug #223773), because that's
> what the kernel headers have.
> 
> (cameron@erdos ~) grep BLKGETSIZE64 -r /usr/include
> /usr/include/linux/fs.h:#define BLKGETSIZE64 _IOR(0x12,114,size_t)	/* return device size in bytes (u64 *arg) */

I wonder why this doesn't break all 32bit arches, where sizeof(size_t) is 4.
The portable solution would be to #include <stdint.h> and then use uint64_t.


Thiemo



Reply to: