From owner-p4-projects@FreeBSD.ORG Fri Apr 2 11:54:41 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 196C416A4D0; Fri, 2 Apr 2004 11:54:41 -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 DE6E216A4CE for ; Fri, 2 Apr 2004 11:54:40 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C0DAF43D4C for ; Fri, 2 Apr 2004 11:54:40 -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 i32JseGe085189 for ; Fri, 2 Apr 2004 11:54:40 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i32JseCN085186 for perforce@freebsd.org; Fri, 2 Apr 2004 11:54:40 -0800 (PST) (envelope-from peter@freebsd.org) Date: Fri, 2 Apr 2004 11:54:40 -0800 (PST) Message-Id: <200404021954.i32JseCN085186@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 50206 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 19:54:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=50206 Change 50206 by peter@peter_hammer on 2004/04/02 11:54:02 cosmetic tidy up Affected files ... .. //depot/projects/hammer/sys/kern/link_elf_obj.c#26 edit Differences ... ==== //depot/projects/hammer/sys/kern/link_elf_obj.c#26 (text+ko) ==== @@ -500,7 +500,7 @@ vm_object_reference(ef->object); ef->address = (caddr_t) vm_map_min(kernel_map); error = vm_map_find(kernel_map, ef->object, 0, - (vm_offset_t *) &ef->address, mapsize, 1, VM_PROT_ALL, VM_PROT_ALL, 0); + (vm_offset_t *) &ef->address, mapsize, TRUE, VM_PROT_ALL, VM_PROT_ALL, FALSE); if (error) { vm_object_deallocate(ef->object); ef->object = 0; @@ -511,6 +511,7 @@ vm_map_wire(kernel_map, (vm_offset_t)mapbase, (vm_offset_t)mapbase + round_page(mapsize), VM_MAP_WIRE_SYSTEM|VM_MAP_WIRE_NOHOLES); + printf("final mapbase %p, final mapsize %ld\n", mapbase, mapsize); /* Add the base address to the previously calculated/aligned offsets */ @@ -634,8 +635,6 @@ (vm_offset_t) ef->address + (ef->object->size << PAGE_SHIFT)); vm_object_deallocate(ef->object); } - if (ef->address) - free(ef->address, M_LINKER); if (ef->e_shdr) free(ef->e_shdr, M_LINKER); if (ef->ddbsymtab) @@ -879,30 +878,6 @@ return (0); } -#if 0 -const Elf_Sym * -elf_get_sym(linker_file_t lf, Elf_Word symidx) -{ - elf_file_t ef = (elf_file_t)lf; - - if (symidx >= ef->nchains) - return (NULL); - return (ef->symtab + symidx); -} - -const char * -elf_get_symname(linker_file_t lf, Elf_Word symidx) -{ - elf_file_t ef = (elf_file_t)lf; - const Elf_Sym *sym; - - if (symidx >= ef->nchains) - return (NULL); - sym = ef->symtab + symidx; - return (ef->strtab + sym->st_name); -} -#endif - /* * Symbol lookup function that can be used when the symbol index is known (ie * in relocations). It uses the symbol index instead of doing a fully fledged @@ -961,6 +936,11 @@ ret = ((Elf_Addr)linker_file_lookup_symbol(lf, symbol, deps)); printf("STB_GLOBAL: sym %p idx %lx name '%s' -> 0x%lx\n", sym, symidx, symbol, ret); return ret; + + case STB_WEAK: + printf("Weak symbols not supported\n"); + return (0); + default: printf("UNKNOWN BINDING %d\n", ELF64_ST_BIND(sym->st_info)); return (0);