]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
2008-07-16 Pavel Roskin <proski@gnu.org>
authorproski <proski@localhost>
Wed, 16 Jul 2008 06:55:42 +0000 (06:55 +0000)
committerproski <proski@localhost>
Wed, 16 Jul 2008 06:55:42 +0000 (06:55 +0000)
* util/i386/efi/grub-mkimage.c (get_target_address): Return a
pointer, not an integer.  This fixes a warning and prevents
precision loss on 64-bit systems.
(relocate_addresses): Remove unneeded cast.

ChangeLog
util/i386/efi/grub-mkimage.c

index 952d98c6fcb26e30cf0e3f5e590ac64743a56bc5..756fd323864a364246aa5f6500f9a55811ba33c8 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2008-07-16  Pavel Roskin  <proski@gnu.org>
+
+       * util/i386/efi/grub-mkimage.c (get_target_address): Return a
+       pointer, not an integer.  This fixes a warning and prevents
+       precision loss on 64-bit systems.
+       (relocate_addresses): Remove unneeded cast.
+
 2008-07-15  Pavel Roskin  <proski@gnu.org>
 
        * kern/i386/ieee1275/init.c: Include grub/cache.h.
index 57c1fc88d01bb1105c43f26988d00b5ce08e967f..123aaf093ee070ddd067766998c6099767acd76a 100644 (file)
@@ -272,10 +272,10 @@ get_symbol_address (Elf32_Ehdr *e, Elf32_Shdr *s, Elf32_Word i)
 }
 
 /* Return the address of a modified value.  */
-static Elf32_Addr
+static Elf32_Addr *
 get_target_address (Elf32_Ehdr *e, Elf32_Shdr *s, Elf32_Addr offset)
 {
-  return (Elf32_Addr) e + grub_le_to_cpu32 (s->sh_offset) + offset;
+  return (Elf32_Addr *) ((char *) e + grub_le_to_cpu32 (s->sh_offset) + offset);
 }
 
 /* Deal with relocation information. This function relocates addresses
@@ -333,8 +333,7 @@ relocate_addresses (Elf32_Ehdr *e, Elf32_Shdr *sections,
            Elf32_Addr *target;
            
            offset = grub_le_to_cpu32 (r->r_offset);
-           target = (Elf32_Addr *) get_target_address (e, target_section,
-                                                       offset);
+           target = get_target_address (e, target_section, offset);
            info = grub_le_to_cpu32 (r->r_info);
            sym_addr = get_symbol_address (e, symtab_section,
                                           ELF32_R_SYM (info));