All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marco Gerards <metgerards@student.han.nl>
To: grub-devel@gnu.org
Subject: Building on the AMD64
Date: Tue, 20 Sep 2005 16:17:04 +0200	[thread overview]
Message-ID: <87oe6nlt7j.fsf@student.han.nl> (raw)

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  <mgerards@xs4all.nl>

	* 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}
 
 #{@name}: #{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	other threads:[~2005-09-20 14:29 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-09-20 14:17 Marco Gerards [this message]
2005-09-20 17:15 ` Building on the AMD64 Yoshinori K. Okuji
2005-09-20 18:24   ` Marco Gerards
2005-09-21  8:26 ` Guillem Jover
2005-09-21 14:55   ` Marco Gerards

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87oe6nlt7j.fsf@student.han.nl \
    --to=metgerards@student.han.nl \
    --cc=grub-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.