[LinuxBIOS] drop struct lb_uint64?

Stefan Reinauer stepan at openbios.org
Sat Nov 12 23:23:37 CET 2005


* Eric W. Biederman <ebiederman at lnxi.com> [051112 22:13]:
> > struct lb_uint64 {
> >         uint32_t lo;
> >         uint32_t hi;
> > };
> 
> No, it used to be a uint64_t and that caused problems.  For reasons of
> backwards compatibility we want 32bit alignment not 64bit alignment.
> x86 only requires 32bit alignment for a unit64_t but x86_64 requires
> 64bit alignment.  
 
Ok alignment might be an issue. Though that is a tough assumption made
that a compiler won't happen to align the above struct to 64bit under
some circumstances.

Do you remember the problems that this caused? If so, we should probably
add a comment to the source, drop one version of the [un]pack_lb64
functions and put the other one in a common place.

The reason for my bitching is that there are so many of these things
that some of us know to be necessary whereas from an outsiders view it
might look like the left over of a long-fixed compiler bug or something.

Stefan






More information about the coreboot mailing list