Christian Franke <[EMAIL PROTECTED]> writes:

> First patch related to the Cygwin port:
>
> struct machine_mmap_entry is sensitive to packing of 64 bit values
> which apparently differs between gcc releases.

Thanks!

> Christian
>
> 2007-10-22  Christian Franke  <[EMAIL PROTECTED]>
>
>       * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
>       Add attribute packed, gcc 3.4.4 on Cygwin aligns this
>       to 64 bit boundary by default.
>       Add compile time assert to check packing.

Can you remove the compile time assert?  We usually check stuff like
this using configure.  If you can send in a patch for configure.ac,
that would be appreciated.

>
>
> --- grub2.orig/include/grub/i386/pc/init.h    2007-07-22 01:32:23.000000000 
> +0200
> +++ grub2/include/grub/i386/pc/init.h 2007-10-13 21:25:24.000000000 +0200
> @@ -40,10 +40,14 @@ grub_uint32_t grub_get_eisa_mmap (void);
>  struct grub_machine_mmap_entry
>  {
>    grub_uint32_t size;
> -  grub_uint64_t addr;
> +  grub_uint64_t addr; /* must be at offset 4, see startup.S */ 

I do not think this comment is required.  It's fixed now :-)

>    grub_uint64_t len;
>    grub_uint32_t type;
> -};
> +} __attribute__((packed));

--
Marco



_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to