From owner-p4-projects@FreeBSD.ORG Thu Apr 1 17:56:43 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5E3A616A4D0; Thu, 1 Apr 2004 17:56:43 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2E26B16A4CE for ; Thu, 1 Apr 2004 17:56:43 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 27DF243D49 for ; Thu, 1 Apr 2004 17:56:43 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i321ugGe018737 for ; Thu, 1 Apr 2004 17:56:42 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i321uggt018734 for perforce@freebsd.org; Thu, 1 Apr 2004 17:56:42 -0800 (PST) (envelope-from peter@freebsd.org) Date: Thu, 1 Apr 2004 17:56:42 -0800 (PST) Message-Id: <200404020156.i321uggt018734@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 50154 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 02 Apr 2004 01:56:43 -0000 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)