interesting, So even new gcc on x86 still default uint64_t to 32bit alignment?

YH

On 11/12/05, Eric W. Biederman <ebiederman@lnxi.com> wrote:
Stefan Reinauer <stepan@openbios.org> writes:

> Hi,
>
> what exactly is this structure good for?
>
> declared in src/include/boot/linuxbios_tables.h:
>
> struct lb_uint64 {
>         uint32_t lo;
>         uint32_t hi;
> };
>
> It is used in the following files:
>
>   src/arch/i386/boot/linuxbios_table.c
>   src/arch/ppc/boot/linuxbios_table.c
>   src/boot/elfboot.c
>
> since each machine that can compile LinuxBIOS, ie that has a
> (cross-)gcc, does have a uint64_t we should use that one.

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.

For all new instances I agree.

Eric

--
LinuxBIOS mailing list
LinuxBIOS@openbios.org
http://www.openbios.org/mailman/listinfo/linuxbios