svn commit: r277291 - head/sys/boot/common

Roger Pau Monné royger at FreeBSD.org
Sat Jan 17 08:09:08 UTC 2015


Author: royger
Date: Sat Jan 17 08:09:07 2015
New Revision: 277291
URL: https://svnweb.freebsd.org/changeset/base/277291

Log:
  loader: use correct types for parse_modmetadata
  
  Use the proper types in parse_modmetadata for the p_start and p_end
  parameters. This was causing problems in the ARM 32bit loader.
  
  Sponsored by: Citrix Systems R&D
  Reported and Tested by: ian

Modified:
  head/sys/boot/common/load_elf.c

Modified: head/sys/boot/common/load_elf.c
==============================================================================
--- head/sys/boot/common/load_elf.c	Sat Jan 17 07:33:02 2015	(r277290)
+++ head/sys/boot/common/load_elf.c	Sat Jan 17 08:09:07 2015	(r277291)
@@ -77,7 +77,7 @@ static int __elfN(lookup_symbol)(struct 
 static int __elfN(reloc_ptr)(struct preloaded_file *mp, elf_file_t ef,
     Elf_Addr p, void *val, size_t len);
 static int __elfN(parse_modmetadata)(struct preloaded_file *mp, elf_file_t ef,
-    u_int64_t p_start, u_int64_t p_end);
+    Elf_Addr p_start, Elf_Addr p_end);
 static symaddr_fn __elfN(symaddr);
 static char	*fake_modname(const char *name);
 
@@ -300,7 +300,7 @@ __elfN(loadimage)(struct preloaded_file 
     Elf_Size	size;
     u_int	fpcopy;
     Elf_Sym	sym;
-    u_int64_t	p_start, p_end;
+    Elf_Addr	p_start, p_end;
 
     dp = NULL;
     shdr = NULL;
@@ -712,7 +712,7 @@ __elfN(load_modmetadata)(struct preloade
 	Elf_Shdr		*sh_data[2];
 	char			*shstrtab = NULL;
 	size_t			 size;
-	u_int64_t		 p_start, p_end;
+	Elf_Addr		 p_start, p_end;
 
 	bzero(&ef, sizeof(struct elf_file));
 	ef.fd = -1;
@@ -820,7 +820,7 @@ out:
 
 int
 __elfN(parse_modmetadata)(struct preloaded_file *fp, elf_file_t ef,
-    u_int64_t p_start, u_int64_t p_end)
+    Elf_Addr p_start, Elf_Addr p_end)
 {
     struct mod_metadata md;
 #if (defined(__i386__) || defined(__powerpc__)) && __ELF_WORD_SIZE == 64


More information about the svn-src-all mailing list