Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 5 Apr 2003 20:37:58 -0800 (PST)
From:      Peter Wemm <peter@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 28294 for review
Message-ID:  <200304060437.h364bwCY067422@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=28294

Change 28294 by peter@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);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200304060437.h364bwCY067422>