PERFORCE change 54972 for review

Peter Wemm peter at FreeBSD.org
Tue Jun 15 01:23:04 GMT 2004


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

Change 54972 by peter at peter_hammer on 2004/06/15 01:22:28

	really fix amd64 kld modules this time.

Affected files ...

.. //depot/projects/hammer/sys/kern/link_elf_obj.c#39 edit

Differences ...

==== //depot/projects/hammer/sys/kern/link_elf_obj.c#39 (text+ko) ====

@@ -747,12 +747,17 @@
 link_elf_symbol_values(linker_file_t lf, c_linker_sym_t sym,
     linker_symval_t *symval)
 {
+	Elf_Addr base;
 	elf_file_t ef = (elf_file_t) lf;
 	const Elf_Sym *es = (const Elf_Sym*) sym;
 
+
 	if (es >= ef->ddbsymtab && es < (ef->ddbsymtab + ef->ddbsymcnt)) {
+		base = findbase(ef, es->st_shndx);
+		if (base == 0)
+			base = (Elf_Addr)ef->address;
 		symval->name = ef->ddbstrtab + es->st_name;
-		symval->value = (caddr_t) ef->address + es->st_value;
+		symval->value = (caddr_t)base + es->st_value;
 		symval->size = es->st_size;
 		return 0;
 	}
@@ -878,6 +883,8 @@
 				break;
 			}
 		}
+		if (ret == 0)
+			return (0);
 		return ret + sym->st_value;
 	}
 


More information about the p4-projects mailing list