Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 1 Apr 2004 17:56:42 -0800 (PST)
From:      Peter Wemm <peter@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 50154 for review
Message-ID:  <200404020156.i321uggt018734@repoman.freebsd.org>

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

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



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