From owner-cvs-all@FreeBSD.ORG Fri Apr 30 09:32:41 2004 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C530C16A4CE; Fri, 30 Apr 2004 09:32:41 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B3AD243D48; Fri, 30 Apr 2004 09:32:41 -0700 (PDT) (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 i3UGWfGe082764; Fri, 30 Apr 2004 09:32:41 -0700 (PDT) (envelope-from peter@repoman.freebsd.org) Received: (from peter@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i3UGWfxJ082763; Fri, 30 Apr 2004 09:32:41 -0700 (PDT) (envelope-from peter) Message-Id: <200404301632.i3UGWfxJ082763@repoman.freebsd.org> From: Peter Wemm Date: Fri, 30 Apr 2004 09:32:40 -0700 (PDT) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/kern link_elf_obj.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 Apr 2004 16:32:42 -0000 peter 2004/04/30 09:32:40 PDT FreeBSD src repository Modified files: sys/kern link_elf_obj.c Log: Checkpoint commit for an alternative WIP kernel module loader that isn't as dependent on binutils features/quirks as the current one. This one loads plain .o files without having to mess with shared object mode. This happens to be essential on amd64, because binutils hasn't implemented all the quirks/features that we need for producing the hack non-PIC shared objects. As it turned out, .o format isn't all that inconvenient after all. It looks like the ability to use the same .o files for linking directly into a static kernel or loading as a module might be worth it. It is still very much a work-in-progress, but it is almost usable. Other changes are still needed in order to use it though, these have not been committed yet. There is still a memory corruption/overrun bug somewhere. For example, test modules load and work, but the machine explodes a few minutes later in vm_forkproc() or the like. Notable missing things include kldxref support, and loader(8) support. I wanted to figure out a working baseline set of code first. Revision Changes Path 1.77 +697 -1060 src/sys/kern/link_elf_obj.c