grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Building on the AMD64


From: Marco Gerards
Subject: Building on the AMD64
Date: Tue, 20 Sep 2005 16:17:04 +0200
User-agent: Gnus/5.1007 (Gnus v5.10.7) Emacs/21.3 (gnu/linux)

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  <address@hidden>

        * 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}
 
 address@hidden: #{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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]