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