interesting, So even new gcc on x86 still default uint64_t to 32bit alignment?<br>
<br>
YH<br><br><div><span class="gmail_quote">On 11/12/05, <b class="gmail_sendername">Eric W. Biederman</b> <<a href="mailto:ebiederman@lnxi.com">ebiederman@lnxi.com</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Stefan Reinauer <<a href="mailto:stepan@openbios.org">stepan@openbios.org</a>> writes:<br><br>> Hi,<br>><br>> what exactly is this structure good for?<br>><br>> declared in src/include/boot/linuxbios_tables.h:
<br>><br>> struct lb_uint64 {<br>>         uint32_t lo;<br>>         uint32_t hi;<br>> };<br>><br>> It is used in the following files:<br>><br>>   src/arch/i386/boot/linuxbios_table.c<br>>   src/arch/ppc/boot/linuxbios_table.c
<br>>   src/boot/elfboot.c<br>><br>> since each machine that can compile LinuxBIOS, ie that has a<br>> (cross-)gcc, does have a uint64_t we should use that one.<br><br>No, it used to be a uint64_t and that caused problems.  For reasons of
<br>backwards compatibility we want 32bit alignment not 64bit alignment.<br>x86 only requires 32bit alignment for a unit64_t but x86_64 requires<br>64bit alignment.<br><br>For all new instances I agree.<br><br>Eric<br><br>
--<br>LinuxBIOS mailing list<br><a href="mailto:LinuxBIOS@openbios.org">LinuxBIOS@openbios.org</a><br><a href="http://www.openbios.org/mailman/listinfo/linuxbios">http://www.openbios.org/mailman/listinfo/linuxbios</a><br>
</blockquote></div><br>