PERFORCE change 50154 for review

Peter Wemm peter at FreeBSD.org
Thu Apr 1 17:56:43 PST 2004


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

Change 50154 by peter at peter_hammer on 2004/04/01 17:56:27

	actually load all of the symbol table

Affected files ...

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

Differences ...

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

@@ -380,9 +380,11 @@
 	/* Space for symbol table */
 	ef->ddbsymcnt = shdr[symtabindex].sh_size / sizeof(Elf_Sym);
 	ef->ddbsymtab = malloc(shdr[symtabindex].sh_size, M_LINKER, M_WAITOK);
+printf("symbol table at %p, size 0x%lx\n", ef->ddbsymtab, shdr[symtabindex].sh_size);
 
 	ef->ddbstrcnt = shdr[symstrindex].sh_size;
 	ef->ddbstrtab = malloc(shdr[symstrindex].sh_size, M_LINKER, M_WAITOK);
+printf("string table at %p, size 0x%lx\n", ef->ddbstrtab, shdr[symstrindex].sh_size);
 
 	if (ef->ddbsymtab == NULL || ef->ddbstrtab == NULL) {
 		error = ENOMEM;
@@ -477,14 +479,14 @@
 printf("reading symbols\n");
 	/* Load the symbol table. */
 	error = vn_rdwr(UIO_READ, nd.ni_vp,
-	    (void *)ef->ddbsymtab, ef->ddbsymcnt, shdr[symtabindex].sh_offset,
+	    (void *)ef->ddbsymtab, shdr[symtabindex].sh_size, shdr[symtabindex].sh_offset,
 	    UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, NOCRED,
 	    &resid, td);
 	if (error)
 		goto out;
 printf("reading strings\n");
 	error = vn_rdwr(UIO_READ, nd.ni_vp,
-	    ef->ddbstrtab, ef->ddbstrcnt, shdr[symstrindex].sh_offset,
+	    ef->ddbstrtab, shdr[symstrindex].sh_size, shdr[symstrindex].sh_offset,
 	    UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, NOCRED,
 	    &resid, td);
 	if (error)


More information about the p4-projects mailing list