From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate.crashing.org (gate.crashing.org [63.228.1.57]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id D3CF5DDF93 for ; Tue, 8 Jul 2008 09:00:45 +1000 (EST) Subject: Re: [PATCH 1/2] elf loader support for auxvec base platform string From: Benjamin Herrenschmidt To: Nathan Lynch In-Reply-To: <20080707221733.GJ9594@localdomain> References: <20080703234140.GC9594@localdomain> <20080704021929.5E9EF1541F5@magilla.localdomain> <1215409693.8970.79.camel@pasglop> <20080707221733.GJ9594@localdomain> Content-Type: text/plain Date: Tue, 08 Jul 2008 09:00:38 +1000 Message-Id: <1215471638.8970.162.camel@pasglop> Mime-Version: 1.0 Cc: linuxppc-dev@ozlabs.org, Paul Mackerras , linux-kernel@vger.kernel.org, Roland McGrath Reply-To: benh@kernel.crashing.org List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On Mon, 2008-07-07 at 17:17 -0500, Nathan Lynch wrote: > Benjamin Herrenschmidt wrote: > > On Thu, 2008-07-03 at 19:19 -0700, Roland McGrath wrote: > > > Why not just use ELF_HWCAP for this? It looks like powerpc only has 3 bits > > > left there (keeping it to 32), but 3 is not 0. If not that, why not use > > > dsocaps? That is, some magic in the vDSO, which glibc already supports on > > > all machines where it uses the vDSO. (For how it works, see the use in > > > arch/x86/vdso/vdso32/note.S for CONFIG_XEN.) > > > > Well, we use strings to represent the platforms already (ie, the actual > > CPU microarchitecture). Fitting those into bits would be annoying, it > > makes sense to have AT_BASE_PLATFORM to be the "base" variant of > > AT_PLATFORM. > > > > _However_ there is a bug in that this patch adds an entry without > > bumping the number of entries in the cached array (ie. > > AT_VECTOR_SIZE_BASE needs to be updated). > > Ugh, yes. I was hoping to work this in such a way that AT_VECTOR_SIZE > (and thus the size of mm_struct) increases only for architectures that > implement AT_BASE_PLATFORM... would it be wrong to account for it in > AT_VECTOR_SIZE_ARCH? Yes. The later is for things added from ARCH_DLINFO. Since the code for AT_BASE_PLATFORM is in the generic binfmt_elf, it would be asking for trouble to not account for it in the base AT_VECTOR_SIZE. Ben.