Re: architectures with ARCH_SUPPORTS_AOUT but no binfmt_aout

From: David Woodhouse
Date: Tue Jun 17 2008 - 06:19:20 EST


On Tue, 2008-06-17 at 13:11 +0300, Adrian Bunk wrote:
> On Tue, Jun 17, 2008 at 10:46:44AM +0100, David Woodhouse wrote:
> > On Tue, 2008-06-17 at 11:42 +0300, Adrian Bunk wrote:
> > >
> > > > Why _are_ there architectures which define ARCH_SUPPORTS_AOUT and have
> > > > <asm/a.out.h> but don't support binfmt_aout, anyway? How does that make
> > > > sense?
> > >
> > > My guess would be that binfmt_aout isn't actually used there.
> > >
> > > The affected architectures are:
> > > - h8300
> > > - m32r
> > > - parisc
> > > - sh
> > > - v850
> > >
> > > v850 is broken beyond repair, and I hope my patch to remove the
> > > architecture will make it into 2.6.27.
> > >
> > > For the other 4 architectures I have Cc'ed the architecture maintainers.
> >
> > There's another set of architectures which have <asm/a.out.h> but don't
> > define ARCH_SUPPORTS_AOUT. Including PowerPC.
> >
> > I think we can probably get away with removing <asm/a.out.h> from every
> > architecture other than Alpha, ARM, m68k and x86, and killing
> > ARCH_SUPPORTS_AOUT completely.
>
> include/linux/a.out.h contains an #include <asm/a.out.h> and is exported
> to userspace...

Actually, it isn't -- but it _should_ be. But we can do it conditionally.
See http://git.infradead.org/users/dwmw2/aout-2.6.git?a=commitdiff;h=5939c6a41

> > Or maybe, as dhowells suggests, re-defining ARCH_SUPPORTS_AOUT to be set
> > only on Alpha, ARM, m68k and x86 (so BINFMT_AOUT can depend on it).
>
> The pattern for this stuff is to provide a HAVE_AOUT kconfig variable
> that gets select'ed by these architectures.

Or that; it doesn't really matter. I was about to remove
ARCH_SUPPORTS_AOUT completely, but David suggested that it could be used
to kill that hard-coded '(X86_32 || ALPHA || ARM || M68K)' in
fs/Kconfig.binfmt.


--
dwmw2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/