From owner-p4-projects@FreeBSD.ORG Tue Mar 30 09:21:10 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 888AB16A4D0; Tue, 30 Mar 2004 09:21:10 -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 5807516A4CE for ; Tue, 30 Mar 2004 09:21:10 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5005243D2F for ; Tue, 30 Mar 2004 09:21:10 -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 i2UHLAGe066451 for ; Tue, 30 Mar 2004 09:21:10 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i2UHL9F0066445 for perforce@freebsd.org; Tue, 30 Mar 2004 09:21:09 -0800 (PST) (envelope-from peter@freebsd.org) Date: Tue, 30 Mar 2004 09:21:09 -0800 (PST) Message-Id: <200403301721.i2UHL9F0066445@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 49977 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: Tue, 30 Mar 2004 17:21:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=49977 Change 49977 by peter@peter_daintree on 2004/03/30 09:21:07 GC some crud Affected files ... .. //depot/projects/hammer/sys/kern/link_elf_obj.c#7 edit Differences ... ==== //depot/projects/hammer/sys/kern/link_elf_obj.c#7 (text+ko) ==== @@ -207,14 +207,8 @@ Elf_Ehdr *hdr; caddr_t firstpage; int nbytes, i; - Elf_Phdr *phdr; - Elf_Phdr *phlimit; - Elf_Phdr *segs[2]; int nsegs; - caddr_t mapbase; size_t mapsize; - Elf_Off base_offset; - Elf_Addr base_vaddr; Elf_Addr base_vlimit; int error = 0; int resid, flags; @@ -232,6 +226,7 @@ shdr = NULL; lf = NULL; + mapsize = 0; NDINIT(&nd, LOOKUP, FOLLOW, UIO_SYSSPACE, filename, td); flags = FREAD; @@ -321,13 +316,7 @@ error = ENOMEM; goto out; } - ef = (elf_file_t) lf; - ef->address = malloc(mapsize, M_LINKER, M_WAITOK); - if (!ef->address) { - error = ENOMEM; - goto out; - } /* * Scan the program header entries, and save key information. @@ -502,33 +491,6 @@ /* XXX *************** STEP 4 GOES HERE ************* XXX */ - /* - * Allocate the entire address space of the object, to stake out our - * contiguous region, and to establish the base address for relocation. - */ - base_offset = trunc_page(segs[0]->p_offset); - base_vaddr = trunc_page(segs[0]->p_vaddr); - base_vlimit = round_page(segs[1]->p_vaddr + segs[1]->p_memsz); - mapsize = base_vlimit - base_vaddr; - - mapbase = ef->address; - - /* - * Read the text and data sections and zero the bss. - */ - for (i = 0; i < 2; i++) { - caddr_t segbase = mapbase + segs[i]->p_vaddr - base_vaddr; - error = vn_rdwr(UIO_READ, nd.ni_vp, - segbase, segs[i]->p_filesz, segs[i]->p_offset, - UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, NOCRED, - &resid, td); - if (error) { - goto out; - } - bzero(segbase + segs[i]->p_filesz, - segs[i]->p_memsz - segs[i]->p_filesz); - } - lf->address = ef->address; lf->size = mapsize;