From: Pavel Roskin <pro...@gnu.org> Date: Fri, 06 Mar 2009 14:03:57 -0500
> On Fri, 2009-03-06 at 19:55 +0100, Robert Millan wrote: > > On Thu, Mar 05, 2009 at 08:04:07AM -0500, Isaac Dupree wrote: > > > > We've been using "unsigned long" for storing virtual addresses in the > > > > Linux kernel for 10+ years and it works just fine. :-) > > > > > > and Linux kernel uses GCC compiler in precise ways > > > > > > I believe that ptrdiff_t is the proper standardized type for an integer > > > the > > > size of a pointer. except... it's always signed :-) > > > > > > Can you just use pointer types and pointer arithmetic? > > > > > > also, standards aside, a common way to get such a type, is "configure" > > > script > > > testing various possibilities like "unsigned long" and "unsigned long > > > long" > > > and seeing which one is the right size for the target architecture. (not > > > sure > > > if that works when cross-compiling though) > > > > I think we're already using longs this way in quite a few places. It's not > > such a big deal IMHO. > > I was considering making grub_size_t long and grub_ssize_t unsigned > long. I remember that it required many changes in string formats, so I > didn't feel it would be justified. But we could try it again. You should use whatever is the appropriate size_t/ssize_t type on the given platform+ABI, and that way GRUB could use "%Zd" and/or "%zd" throughout. Was that the plan? _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel