From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1030402AbWHXRZP (ORCPT ); Thu, 24 Aug 2006 13:25:15 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1030413AbWHXRZP (ORCPT ); Thu, 24 Aug 2006 13:25:15 -0400 Received: from pentafluge.infradead.org ([213.146.154.40]:55481 "EHLO pentafluge.infradead.org") by vger.kernel.org with ESMTP id S1030402AbWHXRZN (ORCPT ); Thu, 24 Aug 2006 13:25:13 -0400 Subject: Re: [OLPC-devel] Re: [PATCH 0/4] Compile kernel with -fwhole-program --combine From: David Woodhouse To: Arnd Bergmann Cc: devel@laptop.org, Jan Engelhardt , linux-tiny@selenic.com, linux-kernel@vger.kernel.org In-Reply-To: <200608241915.47451.arnd.bergmann@de.ibm.com> References: <1156429585.3012.58.camel@pmac.infradead.org> <1156433068.3012.115.camel@pmac.infradead.org> <200608241915.47451.arnd.bergmann@de.ibm.com> Content-Type: text/plain Date: Thu, 24 Aug 2006 18:25:07 +0100 Message-Id: <1156440307.3012.165.camel@pmac.infradead.org> Mime-Version: 1.0 X-Mailer: Evolution 2.6.3 (2.6.3-1.fc5.5.dwmw2.1) Content-Transfer-Encoding: 7bit X-SRS-Rewrite: SMTP reverse-path rewritten from by pentafluge.infradead.org See http://www.infradead.org/rpr.html Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 2006-08-24 at 19:15 +0200, Arnd Bergmann wrote: > It's probably true, but the way it's done today gave us CONFIG_MODVERSIONS > and EXPORT_SYMBOL_GPL, which would break when turning EXPORT_SYMBOL into a > simple __attribute__(). ELF can do symbol versioning too. But I don't really see a simple way to make normal ELF linking work with a kernel like that. The vmlinux ELF file is long gone by the time the kernel boots -- it needs its own mechanism for managing its symbols anyway; its own internal dynamic linker. I suppose you _could_ make it work from the standard ELF linkage but I don't think it'd be fun. ObMODVERSIONS: Forgot to mention that my makefile hacks for --combine break that completely. It tries to preprocess all the files together with 'gcc -E -D__GENKSYMS__ *.c' -- and you can't do that. -- dwmw2