El mié, 22-07-2009 a las 19:12 +0800, Bean escribió: > Fix some wrong assumption in types.h and efi header files. For > example, grub_efi_uint_t is defined as unsigned long, but it should be > grub_uint64_t in 64-bit EFI, this problem won't show previously as > unsigned long is 64-bit in elf64 gcc, but it's 32-bit in mingw-w64 > gcc. I think you haven't corrected _all_ such assumptions. For example, in your grub/types.h:
#if GRUB_CPU_SIZEOF_VOID_P == 8 # define GRUB_ULONG_MAX 18446744073709551615UL # define GRUB_LONG_MAX 9223372036854775807L # define GRUB_LONG_MIN (-9223372036854775807L - 1) #else # define GRUB_ULONG_MAX 4294967295UL # define GRUB_LONG_MAX 2147483647L # define GRUB_LONG_MIN (-2147483647L - 1) #endif In mingw64, sizeof(void*) = 8, but ULONG_MAX = 2^32-1. grub/machine/types.h defines a GRUB_TARGET_SIZEOF_LONG that might be suitable for this. Or am I mixing "target" with "host"? -- -- Lazy, Oblivious, Recurrent Disaster -- Habbit
signature.asc
Description: Esto es una parte de mensaje firmado digitalmente
_______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel