Hi, Here is a patch to make it possible to build GRUB 2 on the AMD64. I hope this is the cleanest way to solve this, but please correct me if I am wrong; I am not that familiar with autoconf, etc.
I have added a new set of types starting with `grub_host_'. The types like grub_size_t had a size depending on the host machine, which meant grub-setup etc. also used a grub_size_t depending on the host size. Still we need a grub_size_t specific for the host and it should be accessible from grub-mkimage (otherwise the grub_module header created on the AMD64 is too big). The result from compiling on the AMD64 was tested on a PC and it worked perfectly. I also tried if it still compiles on a PC and it still did. What I didn't do is testing the result on an AMD64 box, I will do that later (it means rebooting my desktop, which I prefer not to do that often...). There are some warnings on the AMD64 that do not show up on the PC. I have included all warnings in this email. Especially the warnings about the differ in signedness confuses me, I hope someone else knows where it comes from and how to solve it. I want to commit this patch ASAP. I will commit it this Friday unless someone has a problem with that. I need this patch applied so I can work on the PC port again, or at least test it now. Thanks, Marco 2005-09-20 Marco Gerards <[EMAIL PROTECTED]> * configure.ac: Accept `x86_64' as host_cpu. In that case add `-m32' to CFLAGS. * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when linking. * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'. (COMMON_LDFLAGS): New variable. (kernel_img_LDFLAGS): Include `COMMON_FLAGS'. (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS) (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS) (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS) (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS) (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS) (help_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS) (vga_mod_LDFLAGS, font_mod_LDFLAGS, terminfo_mod_LDFLAGS) (serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS, multiboot_mod_LDFLAGS) (amiga_mod_LDFLAGS, apple_mod_LDFLAGS, pc_mod_LDFLAGS) (sun_mod_LDFLAGS, loopback_mod_LDFLAGS, default_mod_LDFLAGS) (timeout_mod_LDFLAGS, configfile_mod_LDFLAGS, vbe_mod_LDFLAGS) (vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS, vbetest_mod_LDFLAGS) (search_mod_LDFLAGS, gzio_mod_LDFLAGS): New variables. (normal_mod_ASFLAGS): Add `-m32'. * include/grub/types.h (grub_host_addr_t, grub_host_off_t) (grub_host_size_t, grub_host_ssize_t): New types. (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type dependant of `GRUB_CPU_SIZEOF_VOID_P' instead on `GRUB_HOST_SIZEOF_VOID_P'. * include/grub/kernel.h (struct grub_module_header): Type of member offset changed to `grub_host_off_t'. Type of member size change to `grub_host_size_t'. (struct grub_module_info): Type of member offset changed to `grub_host_off_t'. Type of member size change to `grub_host_size_t'. Index: configure.ac =================================================================== RCS file: /cvsroot/grub/grub2/configure.ac,v retrieving revision 1.13 diff -u -p -u -p -r1.13 configure.ac --- configure.ac 21 Aug 2005 18:42:53 -0000 1.13 +++ configure.ac 20 Sep 2005 13:13:06 -0000 @@ -22,6 +22,7 @@ AC_CANONICAL_HOST case "$host_cpu" in i[[3456]]86) host_cpu=i386 ;; + x86_64) host_cpu=i386 amd64=1 ;; powerpc) ;; sparc64) ;; *) AC_MSG_ERROR([unsupported CPU type]) ;; @@ -78,6 +79,10 @@ if test "x$default_CFLAGS" = xyes; then fi fi + if test "x$amd64" = x1; then + tmp_CFLAGS="$tmp_CFLAGS -m32" + fi + CFLAGS="$tmp_CFLAGS" fi AC_SUBST(CFLAGS) @@ -122,10 +127,12 @@ fi # Test the C compiler for the build environment. tmp_CC="$CC" tmp_CFLAGS="$CFLAGS" +tmp_LDFLAGS="$LDFLAGS" tmp_CPPFLAGS="$CPPFLAGS" CC="$BUILD_CC" CFLAGS="$BUILD_CFLAGS" CPPFLAGS="$BUILD_CPPFLAGS" +LDFLAGS="$BUILD_LDDFLAGS" # Identify characteristics of the build architecture. AC_C_BIGENDIAN Index: genmk.rb =================================================================== RCS file: /cvsroot/grub/grub2/genmk.rb,v retrieving revision 1.16 diff -u -p -u -p -r1.16 genmk.rb --- genmk.rb 7 Aug 2005 17:12:51 -0000 1.16 +++ genmk.rb 20 Sep 2005 13:13:06 -0000 @@ -118,12 +118,12 @@ UNDSYMFILES += #{undsym} [EMAIL PROTECTED]: #{pre_obj} #{mod_obj} -rm -f $@ - $(LD) -r -d -o $@ $^ + $(LD) $(#{prefix}_LDFLAGS) $(LDFLAGS) -r -d -o $@ $^ $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R .comment $@ #{pre_obj}: #{objs_str} -rm -f $@ - $(LD) -r -d -o $@ $^ + $(LD) $(#{prefix}_LDFLAGS) -r -d -o $@ $^ #{mod_obj}: #{mod_src} $(CC) $(CPPFLAGS) $(CFLAGS) $(#{prefix}_CFLAGS) -c -o $@ $< Index: conf/i386-pc.rmk =================================================================== RCS file: /cvsroot/grub/grub2/conf/i386-pc.rmk,v retrieving revision 1.45 diff -u -p -u -p -r1.45 i386-pc.rmk --- conf/i386-pc.rmk 3 Sep 2005 16:54:26 -0000 1.45 +++ conf/i386-pc.rmk 20 Sep 2005 13:13:06 -0000 @@ -1,7 +1,8 @@ # -*- makefile -*- COMMON_ASFLAGS = -nostdinc -fno-builtin -COMMON_CFLAGS = -fno-builtin -mrtd -mregparm=3 +COMMON_CFLAGS = -fno-builtin -mrtd -mregparm=3 -m32 +COMMON_LDFLAGS = -melf_i386 # Images. pkgdata_IMAGES = boot.img diskboot.img kernel.img pxeboot.img @@ -37,7 +38,7 @@ kernel_img_HEADERS = arg.h boot.h device machine/vbe.h kernel_img_CFLAGS = $(COMMON_CFLAGS) kernel_img_ASFLAGS = $(COMMON_ASFLAGS) -kernel_img_LDFLAGS = -nostdlib -Wl,-N,-Ttext,8200 +kernel_img_LDFLAGS = -nostdlib -Wl,-N,-Ttext,8200 $(COMMON_CFLAGS) MOSTLYCLEANFILES += symlist.c kernel_syms.lst DEFSYMFILES += kernel_syms.lst @@ -120,50 +121,62 @@ pkgdata_MODULES = _chain.mod _linux.mod # For _chain.mod. _chain_mod_SOURCES = loader/i386/pc/chainloader.c _chain_mod_CFLAGS = $(COMMON_CFLAGS) +_chain_mod_LDFLAGS = $(COMMON_LDFLAGS) # For chain.mod. chain_mod_SOURCES = loader/i386/pc/chainloader_normal.c chain_mod_CFLAGS = $(COMMON_CFLAGS) +chain_mod_LDFLAGS = $(COMMON_LDFLAGS) # For fshelp.mod. fshelp_mod_SOURCES = fs/fshelp.c fshelp_mod_CFLAGS = $(COMMON_CFLAGS) +fshelp_mod_LDFLAGS = $(COMMON_LDFLAGS) # For fat.mod. fat_mod_SOURCES = fs/fat.c fat_mod_CFLAGS = $(COMMON_CFLAGS) +fat_mod_LDFLAGS = $(COMMON_LDFLAGS) # For ext2.mod. ext2_mod_SOURCES = fs/ext2.c ext2_mod_CFLAGS = $(COMMON_CFLAGS) +ext2_mod_LDFLAGS = $(COMMON_LDFLAGS) # For ufs.mod. ufs_mod_SOURCES = fs/ufs.c ufs_mod_CFLAGS = $(COMMON_CFLAGS) +ufs_mod_LDFLAGS = $(COMMON_LDFLAGS) # For minix.mod. minix_mod_SOURCES = fs/minix.c minix_mod_CFLAGS = $(COMMON_CFLAGS) +minix_mod_LDFLAGS = $(COMMON_LDFLAGS) # For hfs.mod. hfs_mod_SOURCES = fs/hfs.c hfs_mod_CFLAGS = $(COMMON_CFLAGS) +hfs_mod_LDFLAGS = $(COMMON_LDFLAGS) # For jfs.mod. jfs_mod_SOURCES = fs/jfs.c jfs_mod_CFLAGS = $(COMMON_CFLAGS) +jfs_mod_LDFLAGS = $(COMMON_LDFLAGS) # For iso9660.mod. iso9660_mod_SOURCES = fs/iso9660.c iso9660_mod_CFLAGS = $(COMMON_CFLAGS) +iso9660_mod_LDFLAGS = $(COMMON_LDFLAGS) # For _linux.mod. _linux_mod_SOURCES = loader/i386/pc/linux.c _linux_mod_CFLAGS = $(COMMON_CFLAGS) - +_linux_mod_LDFLAGS = $(COMMON_LDFLAGS) + # For linux.mod. linux_mod_SOURCES = loader/i386/pc/linux_normal.c linux_mod_CFLAGS = $(COMMON_CFLAGS) +linux_mod_LDFLAGS = $(COMMON_LDFLAGS) # For normal.mod. normal_mod_SOURCES = normal/arg.c normal/cmdline.c normal/command.c \ @@ -171,120 +184,150 @@ normal_mod_SOURCES = normal/arg.c normal normal/menu.c normal/menu_entry.c normal/misc.c \ normal/i386/setjmp.S normal_mod_CFLAGS = $(COMMON_CFLAGS) -normal_mod_ASFLAGS = $(COMMON_ASFLAGS) +normal_mod_ASFLAGS = $(COMMON_ASFLAGS) -m32 +normal_mod_LDFLAGS = $(COMMON_LDFLAGS) # For hello.mod. hello_mod_SOURCES = hello/hello.c hello_mod_CFLAGS = $(COMMON_CFLAGS) +hello_mod_LDFLAGS = $(COMMON_LDFLAGS) # For boot.mod. boot_mod_SOURCES = commands/boot.c boot_mod_CFLAGS = $(COMMON_CFLAGS) +boot_mod_LDFLAGS = $(COMMON_LDFLAGS) # For terminal.mod. terminal_mod_SOURCES = commands/terminal.c terminal_mod_CFLAGS = $(COMMON_CFLAGS) +terminal_mod_LDFLAGS = $(COMMON_LDFLAGS) # For ls.mod. ls_mod_SOURCES = commands/ls.c ls_mod_CFLAGS = $(COMMON_CFLAGS) +ls_mod_LDFLAGS = $(COMMON_LDFLAGS) # For cmp.mod. cmp_mod_SOURCES = commands/cmp.c cmp_mod_CFLAGS = $(COMMON_CFLAGS) +cmp_mod_LDFLAGS = $(COMMON_LDFLAGS) # For cat.mod. cat_mod_SOURCES = commands/cat.c cat_mod_CFLAGS = $(COMMON_CFLAGS) +cat_mod_LDFLAGS = $(COMMON_LDFLAGS) # For help.mod. help_mod_SOURCES = commands/help.c help_mod_CFLAGS = $(COMMON_CFLAGS) +help_mod_LDFLAGS = $(COMMON_LDFLAGS) # For reboot.mod. reboot_mod_SOURCES = commands/i386/pc/reboot.c reboot_mod_CFLAGS = $(COMMON_CFLAGS) +reboot_mod_LDFLAGS = $(COMMON_LDFLAGS) # For halt.mod. halt_mod_SOURCES = commands/i386/pc/halt.c halt_mod_CFLAGS = $(COMMON_CFLAGS) +halt_mod_LDFLAGS = $(COMMON_LDFLAGS) # For vga.mod. vga_mod_SOURCES = term/i386/pc/vga.c vga_mod_CFLAGS = $(COMMON_CFLAGS) +vga_mod_LDFLAGS = $(COMMON_LDFLAGS) # For font.mod. font_mod_SOURCES = font/manager.c font_mod_CFLAGS = $(COMMON_CFLAGS) +font_mod_LDFLAGS = $(COMMON_LDFLAGS) # For terminfo.mod. terminfo_mod_SOURCES = term/terminfo.c term/tparm.c terminfo_mod_CFLAGS = $(COMMON_CFLAGS) +terminfo_mod_LDFLAGS = $(COMMON_LDFLAGS) # For serial.mod. serial_mod_SOURCES = term/i386/pc/serial.c serial_mod_CFLAGS = $(COMMON_CFLAGS) +serial_mod_LDFLAGS = $(COMMON_LDFLAGS) # For _multiboot.mod. _multiboot_mod_SOURCES = loader/i386/pc/multiboot.c _multiboot_mod_CFLAGS = $(COMMON_CFLAGS) +_multiboot_mod_LDFLAGS = $(COMMON_LDFLAGS) # For multiboot.mod. multiboot_mod_SOURCES = loader/i386/pc/multiboot_normal.c multiboot_mod_CFLAGS = $(COMMON_CFLAGS) +multiboot_mod_LDFLAGS = $(COMMON_LDFLAGS) # For amiga.mod amiga_mod_SOURCES = partmap/amiga.c amiga_mod_CFLAGS = $(COMMON_CFLAGS) +amiga_mod_LDFLAGS = $(COMMON_LDFLAGS) # For apple.mod apple_mod_SOURCES = partmap/apple.c apple_mod_CFLAGS = $(COMMON_CFLAGS) +apple_mod_LDFLAGS = $(COMMON_LDFLAGS) # For pc.mod pc_mod_SOURCES = partmap/pc.c pc_mod_CFLAGS = $(COMMON_CFLAGS) +pc_mod_LDFLAGS = $(COMMON_LDFLAGS) # For sun.mod sun_mod_SOURCES = partmap/sun.c sun_mod_CFLAGS = $(COMMON_CFLAGS) +sun_mod_LDFLAGS = $(COMMON_LDFLAGS) # For loopback.mod loopback_mod_SOURCES = disk/loopback.c loopback_mod_CFLAGS = $(COMMON_CFLAGS) +loopback_mod_LDFLAGS = $(COMMON_LDFLAGS) # For default.mod default_mod_SOURCES = commands/default.c default_mod_CFLAGS = $(COMMON_CFLAGS) +default_mod_LDFLAGS = $(COMMON_LDFLAGS) # For timeout.mod timeout_mod_SOURCES = commands/timeout.c timeout_mod_CFLAGS = $(COMMON_CFLAGS) +timeout_mod_LDFLAGS = $(COMMON_LDFLAGS) # For configfile.mod configfile_mod_SOURCES = commands/configfile.c configfile_mod_CFLAGS = $(COMMON_CFLAGS) +configfile_mod_LDFLAGS = $(COMMON_LDFLAGS) # For vbe.mod. vbe_mod_SOURCES = video/i386/pc/vbe.c vbe_mod_CFLAGS = $(COMMON_CFLAGS) +vbe_mod_LDFLAGS = $(COMMON_LDFLAGS) # For vesafb.mod. vesafb_mod_SOURCES = term/i386/pc/vesafb.c vesafb_mod_CFLAGS = $(COMMON_CFLAGS) +vesafb_mod_LDFLAGS = $(COMMON_LDFLAGS) # For vbeinfo.mod. vbeinfo_mod_SOURCES = commands/i386/pc/vbeinfo.c vbeinfo_mod_CFLAGS = $(COMMON_CFLAGS) +vbeinfo_mod_LDFLAGS = $(COMMON_LDFLAGS) # For vbetest.mod. vbetest_mod_SOURCES = commands/i386/pc/vbetest.c vbetest_mod_CFLAGS = $(COMMON_CFLAGS) +vbetest_mod_LDFLAGS = $(COMMON_LDFLAGS) # For search.mod. search_mod_SOURCES = commands/search.c search_mod_CFLAGS = $(COMMON_CFLAGS) +search_mod_LDFLAGS = $(COMMON_LDFLAGS) # For gzio.mod. gzio_mod_SOURCES = io/gzio.c gzio_mod_CFLAGS = $(COMMON_CFLAGS) +gzio_mod_LDFLAGS = $(COMMON_LDFLAGS) Index: include/grub/kernel.h =================================================================== RCS file: /cvsroot/grub/grub2/include/grub/kernel.h,v retrieving revision 1.6 diff -u -p -u -p -r1.6 kernel.h --- include/grub/kernel.h 15 Feb 2005 00:07:01 -0000 1.6 +++ include/grub/kernel.h 20 Sep 2005 13:13:06 -0000 @@ -26,9 +26,9 @@ struct grub_module_header { /* The offset of object code. */ - grub_off_t offset; + grub_host_off_t offset; /* The size of object code plus this header. */ - grub_size_t size; + grub_host_size_t size; }; /* "gmim" (GRUB Module Info Magic). */ @@ -39,9 +39,9 @@ struct grub_module_info /* Magic number so we know we have modules present. */ grub_uint32_t magic; /* The offset of the modules. */ - grub_off_t offset; + grub_host_off_t offset; /* The size of all modules plus this header. */ - grub_size_t size; + grub_host_size_t size; }; extern grub_addr_t grub_arch_modules_addr (void); Index: include/grub/types.h =================================================================== RCS file: /cvsroot/grub/grub2/include/grub/types.h,v retrieving revision 1.5 diff -u -p -u -p -r1.5 types.h --- include/grub/types.h 4 Apr 2004 13:46:00 -0000 1.5 +++ include/grub/types.h 20 Sep 2005 13:13:06 -0000 @@ -70,6 +70,18 @@ typedef unsigned long long grub_uint64_t /* Misc types. */ #if GRUB_HOST_SIZEOF_VOID_P == 8 +typedef grub_uint64_t grub_host_addr_t; +typedef grub_uint64_t grub_host_off_t; +typedef grub_uint64_t grub_host_size_t; +typedef grub_int64_t grub_host_ssize_t; +#else +typedef grub_uint32_t grub_host_addr_t; +typedef grub_uint32_t grub_host_off_t; +typedef grub_uint32_t grub_host_size_t; +typedef grub_int32_t grub_host_ssize_t; +#endif + +#if GRUB_CPU_SIZEOF_VOID_P == 8 typedef grub_uint64_t grub_addr_t; typedef grub_uint64_t grub_off_t; typedef grub_uint64_t grub_size_t; util/i386/pc/grub-mkimage.c: In function 'compress_kernel': util/i386/pc/grub-mkimage.c:67: warning: pointer targets in passing argument 1 of 'lzo1x_999_compress' differ in signedness util/i386/pc/grub-mkimage.c:67: warning: pointer targets in passing argument 3 of 'lzo1x_999_compress' differ in signedness kern/misc.c:176: warning: conflicting types for built-in function 'memcmp' fs/fat.c: In function 'grub_fat_mount': fs/fat.c:246: warning: large integer implicitly truncated to unsigned type fs/fat.c:300: warning: large integer implicitly truncated to unsigned type fs/fat.c: In function 'grub_fat_read_data': fs/fat.c:325: warning: comparison is always false due to limited range of data type fs/fat.c: In function 'grub_fat_find_dir': fs/fat.c:560: warning: pointer targets in passing argument 1 of 'grub_utf16_to_utf8' differ in signedness fs/fat.c:620: warning: large integer implicitly truncated to unsigned type fs/fat.c: In function 'grub_fat_label': fs/fat.c:782: warning: pointer targets in passing argument 1 of 'grub_strndup' differ in signedness fs/ufs.c: In function 'grub_ufs_lookup_symlink': fs/ufs.c:366: warning: pointer targets in passing argument 2 of 'grub_strcpy' differ in signedness fs/hfs.c: In function 'grub_hfs_mount': fs/hfs.c:380: warning: pointer targets in passing argument 1 of 'grub_strcpy' differ in signedness fs/hfs.c:380: warning: pointer targets in passing argument 2 of 'grub_strcpy' differ in signedness fs/hfs.c: In function 'grub_hfs_cmp_catkeys': fs/hfs.c:416: warning: pointer targets in passing argument 1 of 'grub_strncasecmp' differ in signedness fs/hfs.c:416: warning: pointer targets in passing argument 2 of 'grub_strncasecmp' differ in signedness fs/hfs.c: In function 'grub_hfs_find_dir': fs/hfs.c:696: warning: pointer targets in passing argument 1 of 'grub_strcpy' differ in signedness fs/hfs.c: In function 'dir_hook': fs/hfs.c:740: warning: pointer targets in passing argument 2 of 'grub_strncpy' differ in signedness fs/hfs.c: In function 'grub_hfs_label': fs/hfs.c:857: warning: pointer targets in passing argument 1 of 'grub_strndup' differ in signedness fs/jfs.c: In function 'grub_jfs_mount': fs/jfs.c:345: warning: pointer targets in passing argument 1 of 'grub_strncmp' differ in signedness fs/jfs.c: In function 'grub_jfs_opendir': fs/jfs.c:401: warning: pointer targets in assignment differ in signedness fs/jfs.c: In function 'grub_jfs_getent': fs/jfs.c:533: warning: pointer targets in passing argument 1 of 'grub_utf16_to_utf8' differ in signedness fs/jfs.c: In function 'grub_jfs_lookup_symlink': fs/jfs.c:706: warning: pointer targets in passing argument 2 of 'grub_strncpy' differ in signedness fs/jfs.c: In function 'grub_jfs_label': fs/jfs.c:854: warning: pointer targets in passing argument 1 of 'grub_strndup' differ in signedness commands/cmp.c: In function 'grub_cmd_cmp': commands/cmp.c:56: warning: format '%d' expects type 'int', but argument 2 has type 'grub_ssize_t' commands/cmp.c:56: warning: format '%d' expects type 'int', but argument 4 has type 'grub_ssize_t' commands/ls.c: In function 'print_files_long': commands/ls.c:109: warning: format '%-12d' expects type 'int', but argument 2 has type 'grub_ssize_t' commands/ls.c:130: warning: format '%-12d' expects type 'int', but argument 2 has type 'grub_ssize_t' disk/loopback.c: In function 'grub_loopback_open': disk/loopback.c:179: warning: cast from pointer to integer of different size fs/fat.c: In function 'grub_fat_mount': fs/fat.c:246: warning: large integer implicitly truncated to unsigned type fs/fat.c:300: warning: large integer implicitly truncated to unsigned type fs/fat.c: In function 'grub_fat_read_data': fs/fat.c:325: warning: comparison is always false due to limited range of data type fs/fat.c: In function 'grub_fat_find_dir': fs/fat.c:560: warning: pointer targets in passing argument 1 of 'grub_utf16_to_utf8' differ in signedness fs/fat.c:620: warning: large integer implicitly truncated to unsigned type fs/fat.c: In function 'grub_fat_label': fs/fat.c:782: warning: pointer targets in passing argument 1 of 'grub_strndup' differ in signedness fs/hfs.c: In function 'grub_hfs_mount': fs/hfs.c:380: warning: pointer targets in passing argument 1 of 'grub_strcpy' differ in signedness fs/hfs.c:380: warning: pointer targets in passing argument 2 of 'grub_strcpy' differ in signedness fs/hfs.c: In function 'grub_hfs_cmp_catkeys': fs/hfs.c:416: warning: pointer targets in passing argument 1 of 'grub_strncasecmp' differ in signedness fs/hfs.c:416: warning: pointer targets in passing argument 2 of 'grub_strncasecmp' differ in signedness fs/hfs.c: In function 'grub_hfs_find_dir': fs/hfs.c:696: warning: pointer targets in passing argument 1 of 'grub_strcpy' differ in signedness fs/hfs.c: In function 'dir_hook': fs/hfs.c:740: warning: pointer targets in passing argument 2 of 'grub_strncpy' differ in signedness fs/hfs.c: In function 'grub_hfs_label': fs/hfs.c:857: warning: pointer targets in passing argument 1 of 'grub_strndup' differ in signedness fs/iso9660.c: In function 'grub_iso9660_susp_iterate': fs/iso9660.c:172: warning: pointer targets in passing argument 1 of 'grub_strncmp' differ in signedness fs/iso9660.c:176: warning: pointer targets in passing argument 1 of 'grub_strncmp' differ in signedness fs/iso9660.c: In function 'susp_iterate': fs/iso9660.c:218: warning: pointer targets in passing argument 1 of 'grub_strncmp' differ in signedness fs/iso9660.c: In function 'grub_iso9660_mount': fs/iso9660.c:239: warning: pointer targets in passing argument 1 of 'grub_strncmp' differ in signedness fs/iso9660.c:285: warning: pointer targets in passing argument 1 of 'grub_strncmp' differ in signedness fs/iso9660.c: In function 'susp_iterate_sl': fs/iso9660.c:337: warning: pointer targets in passing argument 2 of 'grub_strncmp' differ in signedness fs/iso9660.c:359: warning: pointer targets in passing argument 1 of 'add_part' differ in signedness fs/iso9660.c: In function 'susp_iterate_dir': fs/iso9660.c:435: warning: pointer targets in passing argument 2 of 'grub_strncmp' differ in signedness fs/iso9660.c:460: warning: pointer targets in passing argument 2 of 'grub_strncpy' differ in signedness fs/iso9660.c:465: warning: pointer targets in passing argument 1 of 'grub_strncmp' differ in signedness fs/iso9660.c: In function 'grub_iso9660_label': fs/iso9660.c:745: warning: pointer targets in passing argument 1 of 'grub_strndup' differ in signedness fs/jfs.c: In function 'grub_jfs_mount': fs/jfs.c:345: warning: pointer targets in passing argument 1 of 'grub_strncmp' differ in signedness fs/jfs.c: In function 'grub_jfs_opendir': fs/jfs.c:401: warning: pointer targets in assignment differ in signedness fs/jfs.c: In function 'grub_jfs_getent': fs/jfs.c:533: warning: pointer targets in passing argument 1 of 'grub_utf16_to_utf8' differ in signedness fs/jfs.c: In function 'grub_jfs_lookup_symlink': fs/jfs.c:706: warning: pointer targets in passing argument 2 of 'grub_strncpy' differ in signedness fs/jfs.c: In function 'grub_jfs_label': fs/jfs.c:854: warning: pointer targets in passing argument 1 of 'grub_strndup' differ in signedness fs/ufs.c: In function 'grub_ufs_lookup_symlink': fs/ufs.c:366: warning: pointer targets in passing argument 2 of 'grub_strcpy' differ in signedness io/gzio.c: In function 'test_header': io/gzio.c:179: warning: pointer targets in passing argument 2 of 'grub_file_read' differ in signedness io/gzio.c:195: warning: pointer targets in passing argument 2 of 'grub_file_read' differ in signedness io/gzio.c:209: warning: pointer targets in passing argument 2 of 'grub_file_read' differ in signedness io/gzio.c: In function 'get_byte': io/gzio.c:369: warning: pointer targets in passing argument 2 of 'grub_file_read' differ in signedness kern/dl.c: In function 'grub_dl_resolve_symbols': kern/dl.c:358: warning: cast from pointer to integer of different size kern/dl.c:369: warning: cast from pointer to integer of different size kern/dl.c:371: warning: cast to pointer from integer of different size kern/dl.c:377: warning: cast from pointer to integer of different size kern/dl.c:379: warning: cast to pointer from integer of different size kern/dl.c:383: warning: cast to pointer from integer of different size kern/dl.c:385: warning: cast to pointer from integer of different size kern/dl.c:390: warning: cast from pointer to integer of different size kern/misc.c:176: warning: conflicting types for built-in function 'memcmp' normal/menu.c: In function 'print_entry': normal/menu.c:114: warning: pointer targets in passing argument 2 of 'grub_utf8_to_ucs4' differ in signedness partmap/amiga.c: In function 'amiga_partition_map_iterate': partmap/amiga.c:101: warning: pointer targets in passing argument 1 of 'grub_strcmp' differ in signedness kern/misc.c:176: warning: conflicting types for built-in function 'memcmp' fs/fat.c: In function 'grub_fat_mount': fs/fat.c:246: warning: large integer implicitly truncated to unsigned type fs/fat.c:300: warning: large integer implicitly truncated to unsigned type fs/fat.c: In function 'grub_fat_read_data': fs/fat.c:325: warning: comparison is always false due to limited range of data type fs/fat.c: In function 'grub_fat_find_dir': fs/fat.c:560: warning: pointer targets in passing argument 1 of 'grub_utf16_to_utf8' differ in signedness fs/fat.c:620: warning: large integer implicitly truncated to unsigned type fs/fat.c: In function 'grub_fat_label': fs/fat.c:782: warning: pointer targets in passing argument 1 of 'grub_strndup' differ in signedness fs/ufs.c: In function 'grub_ufs_lookup_symlink': fs/ufs.c:366: warning: pointer targets in passing argument 2 of 'grub_strcpy' differ in signedness fs/hfs.c: In function 'grub_hfs_mount': fs/hfs.c:380: warning: pointer targets in passing argument 1 of 'grub_strcpy' differ in signedness fs/hfs.c:380: warning: pointer targets in passing argument 2 of 'grub_strcpy' differ in signedness fs/hfs.c: In function 'grub_hfs_cmp_catkeys': fs/hfs.c:416: warning: pointer targets in passing argument 1 of 'grub_strncasecmp' differ in signedness fs/hfs.c:416: warning: pointer targets in passing argument 2 of 'grub_strncasecmp' differ in signedness fs/hfs.c: In function 'grub_hfs_find_dir': fs/hfs.c:696: warning: pointer targets in passing argument 1 of 'grub_strcpy' differ in signedness fs/hfs.c: In function 'dir_hook': fs/hfs.c:740: warning: pointer targets in passing argument 2 of 'grub_strncpy' differ in signedness fs/hfs.c: In function 'grub_hfs_label': fs/hfs.c:857: warning: pointer targets in passing argument 1 of 'grub_strndup' differ in signedness fs/jfs.c: In function 'grub_jfs_mount': fs/jfs.c:345: warning: pointer targets in passing argument 1 of 'grub_strncmp' differ in signedness fs/jfs.c: In function 'grub_jfs_opendir': fs/jfs.c:401: warning: pointer targets in assignment differ in signedness fs/jfs.c: In function 'grub_jfs_getent': fs/jfs.c:533: warning: pointer targets in passing argument 1 of 'grub_utf16_to_utf8' differ in signedness fs/jfs.c: In function 'grub_jfs_lookup_symlink': fs/jfs.c:706: warning: pointer targets in passing argument 2 of 'grub_strncpy' differ in signedness fs/jfs.c: In function 'grub_jfs_label': fs/jfs.c:854: warning: pointer targets in passing argument 1 of 'grub_strndup' differ in signedness /usr/bin/ld: warning: i386:x86-64 architecture of input file `kernel_img-kern_i386_pc_startup.o' is incompatible with i386 output fs/fat.c: In function 'grub_fat_find_dir': fs/fat.c:560: warning: pointer targets in passing argument 1 of 'grub_utf16_to_utf8' differ in signedness fs/fat.c: In function 'grub_fat_label': fs/fat.c:782: warning: pointer targets in passing argument 1 of 'grub_strndup' differ in signedness fs/ext2.c: In function 'grub_ext2_read_block': fs/ext2.c:196: warning: 'blknr' may be used uninitialized in this function fs/ufs.c: In function 'grub_ufs_lookup_symlink': fs/ufs.c:366: warning: pointer targets in passing argument 2 of 'grub_strcpy' differ in signedness fs/hfs.c: In function 'grub_hfs_mount': fs/hfs.c:380: warning: pointer targets in passing argument 1 of 'grub_strcpy' differ in signedness fs/hfs.c:380: warning: pointer targets in passing argument 2 of 'grub_strcpy' differ in signedness fs/hfs.c: In function 'grub_hfs_cmp_catkeys': fs/hfs.c:416: warning: pointer targets in passing argument 1 of 'grub_strncasecmp' differ in signedness fs/hfs.c:416: warning: pointer targets in passing argument 2 of 'grub_strncasecmp' differ in signedness fs/hfs.c: In function 'grub_hfs_find_dir': fs/hfs.c:696: warning: pointer targets in passing argument 1 of 'grub_strcpy' differ in signedness fs/hfs.c: In function 'dir_hook': fs/hfs.c:740: warning: pointer targets in passing argument 2 of 'grub_strncpy' differ in signedness fs/hfs.c: In function 'grub_hfs_label': fs/hfs.c:857: warning: pointer targets in passing argument 1 of 'grub_strndup' differ in signedness fs/jfs.c: In function 'grub_jfs_mount': fs/jfs.c:345: warning: pointer targets in passing argument 1 of 'grub_strncmp' differ in signedness fs/jfs.c: In function 'grub_jfs_opendir': fs/jfs.c:401: warning: pointer targets in assignment differ in signedness fs/jfs.c: In function 'grub_jfs_getent': fs/jfs.c:533: warning: pointer targets in passing argument 1 of 'grub_utf16_to_utf8' differ in signedness fs/jfs.c: In function 'grub_jfs_lookup_symlink': fs/jfs.c:706: warning: pointer targets in passing argument 2 of 'grub_strncpy' differ in signedness fs/jfs.c: In function 'grub_jfs_label': fs/jfs.c:854: warning: pointer targets in passing argument 1 of 'grub_strndup' differ in signedness normal/menu.c: In function 'print_entry': normal/menu.c:114: warning: pointer targets in passing argument 2 of 'grub_utf8_to_ucs4' differ in signedness font/manager.c: In function 'grub_font_get_glyph': font/manager.c:203: warning: pointer targets in passing argument 2 of 'grub_file_read' differ in signedness term/tparm.c: In function 'get_space': term/tparm.c:169: warning: empty body in an if-statement term/tparm.c: In function 'grub_terminfo_tparm': term/tparm.c:476: warning: 'popcount' may be used uninitialized in this function partmap/amiga.c: In function 'amiga_partition_map_iterate': partmap/amiga.c:101: warning: pointer targets in passing argument 1 of 'grub_strcmp' differ in signedness io/gzio.c: In function 'test_header': io/gzio.c:179: warning: pointer targets in passing argument 2 of 'grub_file_read' differ in signedness io/gzio.c:195: warning: pointer targets in passing argument 2 of 'grub_file_read' differ in signedness io/gzio.c:209: warning: pointer targets in passing argument 2 of 'grub_file_read' differ in signedness io/gzio.c: In function 'get_byte': io/gzio.c:369: warning: pointer targets in passing argument 2 of 'grub_file_read' differ in signedness _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel