PERFORCE change 28294 for review

Peter Wemm peter at FreeBSD.org
Sat Apr 5 20:38:01 PST 2003


http://perforce.freebsd.org/chv.cgi?CH=28294

Change 28294 by peter at peter_overcee on 2003/04/05 20:37:47

	look for "elf32 *" before "elf *"

Affected files ...

.. //depot/projects/hammer/sys/kern/link_elf.c#10 edit

Differences ...

==== //depot/projects/hammer/sys/kern/link_elf.c#10 (text+ko) ====

@@ -258,7 +258,9 @@
 
     dp = (Elf_Dyn*) &_DYNAMIC;
     modname = NULL;
-    modptr = preload_search_by_type("elf kernel");
+    modptr = preload_search_by_type("elf" __XSTRING(__ELF_WORD_SIZE) " kernel");
+    if (modptr == NULL)
+	modptr = preload_search_by_type("elf kernel");
     if (modptr)
 	modname = (char *)preload_search_info(modptr, MODINFO_NAME);
     if (modname == NULL)
@@ -462,7 +464,9 @@
     baseptr = preload_search_info(modptr, MODINFO_ADDR);
     sizeptr = preload_search_info(modptr, MODINFO_SIZE);
     dynptr = preload_search_info(modptr, MODINFO_METADATA|MODINFOMD_DYNAMIC);
-    if (type == NULL || strcmp(type, "elf module") != 0)
+    if (type == NULL ||
+	(strcmp(type, "elf" __XSTRING(__ELF_WORD_SIZE) " module") != 0 &&
+	 strcmp(type, "elf module") != 0))
 	return (EFTYPE);
     if (baseptr == NULL || sizeptr == NULL || dynptr == NULL)
 	return (EINVAL);


More information about the p4-projects mailing list