[Top][All Lists]
[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
- Building on the AMD64,
Marco Gerards <=