From owner-cvs-all@FreeBSD.ORG Tue Jul 22 12:52:51 2008 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 60FE51065681; Tue, 22 Jul 2008 12:52:51 +0000 (UTC) (envelope-from des@des.no) Received: from tim.des.no (tim.des.no [194.63.250.121]) by mx1.freebsd.org (Postfix) with ESMTP id 1EB7C8FC0C; Tue, 22 Jul 2008 12:52:51 +0000 (UTC) (envelope-from des@des.no) Received: from ds4.des.no (des.no [84.49.246.2]) by smtp.des.no (Postfix) with ESMTP id BABE0208F; Tue, 22 Jul 2008 14:36:44 +0200 (CEST) From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= To: "Peter Wemm" References: <200807101635.m6AGZv7I090311@svn.freebsd.org> <20080710233721.GA55073@dragon.NUXI.org> Date: Tue, 22 Jul 2008 14:36:44 +0200 In-Reply-To: (Peter Wemm's message of "Thu\, 10 Jul 2008 17\:00\:02 -0700") Message-ID: <86k5fep02r.fsf@ds4.des.no> User-Agent: Gnus/5.110006 (No Gnus v0.6) Emacs/23.0.60 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Cc: cvs-src@freebsd.org, src-committers@freebsd.org, "cvs-all@freebsd.org" , obrien@freebsd.org Subject: Re: svn commit: r180431 - in head/sys: kern sys X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 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: Tue, 22 Jul 2008 12:52:51 -0000 "Peter Wemm" writes: > I think you should leave it in Juniper's tree for a tad longer: > ../../../kern/link_elf_obj.c:88: error: redefinition of 'struct elf_file' > ../../../kern/link_elf_obj.c:119: error: redefinition of typedef 'elf_fil= e_t' > ../../../sys/link_elf.h:133: error: previous declaration of > 'elf_file_t' was here > [...] > I forgot to mention.. the fact that kld's happen to currently be ELF > is very specifically and deliberately not part of any public API. All > references go via linker_* because there is no guarantee about elf, > a.out, pecoff, raw binary, whatever. Speaking of which, as the compiler error demonstrates, amd64 uses a different file format and a different linker for kernel modules than the other platforms (ELF relocatable object vs ELF shared object). I never understood the reason for this. I ran into it when I tried to hack the kernel linker to ignore debugging information when loading a module, so we wouldn't have to install two copies of every module. IIRC, it was easy to do for shared objects but hard to do for relocatable objects. Can you bring any light to this issue? DES --=20 Dag-Erling Sm=C3=B8rgrav - des@des.no