interesting, So even new gcc on x86 still default uint64_t to 32bit alignment?
YH
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