public inbox for linux-arch@vger.kernel.org
 help / color / mirror / Atom feed
* Re: architectures with ARCH_SUPPORTS_AOUT but no binfmt_aout
       [not found]         ` <20080617084235.GA20169@cs181133002.pp.htv.fi>
@ 2008-06-17  9:46           ` David Woodhouse
  2008-06-17 10:11             ` Adrian Bunk
                               ` (3 more replies)
  0 siblings, 4 replies; 31+ messages in thread
From: David Woodhouse @ 2008-06-17  9:46 UTC (permalink / raw)
  To: Adrian Bunk
  Cc: Peter Korsgaard, linux-kernel, sam, dhowells, andi,
	Kirill A. Shutemov, ysato, takata, linux-m32r, kyle, matthew,
	grundler, linux-parisc, lethal, linux-sh, linux-arch

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.

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).

-- 
dwmw2

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: architectures with ARCH_SUPPORTS_AOUT but no binfmt_aout
  2008-06-17  9:46           ` architectures with ARCH_SUPPORTS_AOUT but no binfmt_aout David Woodhouse
@ 2008-06-17 10:11             ` Adrian Bunk
  2008-06-17 10:11               ` Adrian Bunk
                                 ` (2 more replies)
  2008-06-27 21:12             ` [2.6 patch] remove unused asm/a.out.h files Adrian Bunk
                               ` (2 subsequent siblings)
  3 siblings, 3 replies; 31+ messages in thread
From: Adrian Bunk @ 2008-06-17 10:11 UTC (permalink / raw)
  To: David Woodhouse
  Cc: Peter Korsgaard, linux-kernel, sam, dhowells, andi,
	Kirill A. Shutemov, ysato, takata, linux-m32r, kyle, matthew,
	grundler, linux-parisc, lethal, linux-sh, linux-arch

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...

> 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.

> dwmw2

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: architectures with ARCH_SUPPORTS_AOUT but no binfmt_aout
  2008-06-17 10:11             ` Adrian Bunk
@ 2008-06-17 10:11               ` Adrian Bunk
  2008-06-17 10:18               ` David Woodhouse
  2008-06-17 11:28               ` David Woodhouse
  2 siblings, 0 replies; 31+ messages in thread
From: Adrian Bunk @ 2008-06-17 10:11 UTC (permalink / raw)
  To: David Woodhouse
  Cc: Peter Korsgaard, linux-kernel, sam, dhowells, andi,
	Kirill A. Shutemov, ysato, takata, linux-m32r, kyle, matthew,
	grundler, linux-parisc, lethal, linux-sh, linux-arch

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...

> 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.

> dwmw2

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: architectures with ARCH_SUPPORTS_AOUT but no binfmt_aout
  2008-06-17 10:11             ` Adrian Bunk
  2008-06-17 10:11               ` Adrian Bunk
@ 2008-06-17 10:18               ` David Woodhouse
  2008-06-17 10:18                 ` David Woodhouse
  2008-06-17 10:24                 ` Adrian Bunk
  2008-06-17 11:28               ` David Woodhouse
  2 siblings, 2 replies; 31+ messages in thread
From: David Woodhouse @ 2008-06-17 10:18 UTC (permalink / raw)
  To: Adrian Bunk
  Cc: Peter Korsgaard, linux-kernel, sam, dhowells, andi,
	Kirill A. Shutemov, ysato, takata, linux-m32r, kyle, matthew,
	grundler, linux-parisc, lethal, linux-sh, linux-arch

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


^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: architectures with ARCH_SUPPORTS_AOUT but no binfmt_aout
  2008-06-17 10:18               ` David Woodhouse
@ 2008-06-17 10:18                 ` David Woodhouse
  2008-06-17 10:24                 ` Adrian Bunk
  1 sibling, 0 replies; 31+ messages in thread
From: David Woodhouse @ 2008-06-17 10:18 UTC (permalink / raw)
  To: Adrian Bunk
  Cc: Peter Korsgaard, linux-kernel, sam, dhowells, andi,
	Kirill A. Shutemov, ysato, takata, linux-m32r, kyle, matthew,
	grundler, linux-parisc, lethal, linux-sh, linux-arch

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


^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: architectures with ARCH_SUPPORTS_AOUT but no binfmt_aout
  2008-06-17 10:18               ` David Woodhouse
  2008-06-17 10:18                 ` David Woodhouse
@ 2008-06-17 10:24                 ` Adrian Bunk
  2008-06-17 10:24                   ` Adrian Bunk
  1 sibling, 1 reply; 31+ messages in thread
From: Adrian Bunk @ 2008-06-17 10:24 UTC (permalink / raw)
  To: David Woodhouse
  Cc: Peter Korsgaard, linux-kernel, sam, dhowells, andi,
	Kirill A. Shutemov, ysato, takata, linux-m32r, kyle, matthew,
	grundler, linux-parisc, lethal, linux-sh, linux-arch

On Tue, Jun 17, 2008 at 11:18:45AM +0100, David Woodhouse wrote:
> 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
>...

It's already in Linus' tree.

Sorry, you are right, I missed that it takes care of exporting 
linux/a.out.h only when asm/a.out.h exists.

> dwmw2

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: architectures with ARCH_SUPPORTS_AOUT but no binfmt_aout
  2008-06-17 10:24                 ` Adrian Bunk
@ 2008-06-17 10:24                   ` Adrian Bunk
  0 siblings, 0 replies; 31+ messages in thread
From: Adrian Bunk @ 2008-06-17 10:24 UTC (permalink / raw)
  To: David Woodhouse
  Cc: Peter Korsgaard, linux-kernel, sam, dhowells, andi,
	Kirill A. Shutemov, ysato, takata, linux-m32r, kyle, matthew,
	grundler, linux-parisc, lethal, linux-sh, linux-arch

On Tue, Jun 17, 2008 at 11:18:45AM +0100, David Woodhouse wrote:
> 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
>...

It's already in Linus' tree.

Sorry, you are right, I missed that it takes care of exporting 
linux/a.out.h only when asm/a.out.h exists.

> dwmw2

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: architectures with ARCH_SUPPORTS_AOUT but no binfmt_aout
  2008-06-17 10:11             ` Adrian Bunk
  2008-06-17 10:11               ` Adrian Bunk
  2008-06-17 10:18               ` David Woodhouse
@ 2008-06-17 11:28               ` David Woodhouse
  2008-06-17 11:28                 ` David Woodhouse
                                   ` (2 more replies)
  2 siblings, 3 replies; 31+ messages in thread
From: David Woodhouse @ 2008-06-17 11:28 UTC (permalink / raw)
  To: Adrian Bunk
  Cc: Peter Korsgaard, linux-kernel, sam, dhowells, andi,
	Kirill A. Shutemov, ysato, takata, linux-m32r, kyle, matthew,
	grundler, linux-parisc, lethal, linux-sh, linux-arch

On Tue, 2008-06-17 at 13:11 +0300, Adrian Bunk wrote:
> The pattern for this stuff is to provide a HAVE_AOUT kconfig variable 
> that gets select'ed by these architectures.

http://git.infradead.org/users/dwmw2/aout-2.6.git?a=commitdiff;h=a5db5179

Subject: [PATCH] Introduce HAVE_AOUT symbol to remove hard-coded arch list for BINFMT_AOUT

HAVE_AOUT doesn't quite do the same thing as the recently removed
ARCH_SUPPORTS_AOUT config option. That was set even on platforms where
binfmt_aout isn't supported, although it's not entirely clear why.

So it's best just to introduce a new symbol, handled consistently with
other similar HAVE_xxx symbols; with a simple 'select' the arch Kconfig.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
---
 arch/alpha/Kconfig |    1 +
 arch/arm/Kconfig   |    1 +
 arch/m68k/Kconfig  |    1 +
 arch/x86/Kconfig   |    1 +
 fs/Kconfig.binfmt  |    5 ++++-
 5 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig
index 207196e..f80e548 100644
--- a/arch/alpha/Kconfig
+++ b/arch/alpha/Kconfig
@@ -7,6 +7,7 @@ config ALPHA
 	default y
 	select HAVE_IDE
 	select HAVE_OPROFILE
+	select HAVE_AOUT
 	help
 	  The Alpha is a 64-bit general-purpose processor designed and
 	  marketed by the Digital Equipment Corporation of blessed memory,
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 8fd3ab3..2be8bd7 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -14,6 +14,7 @@ config ARM
 	select HAVE_OPROFILE
 	select HAVE_KPROBES if (!XIP_KERNEL)
 	select HAVE_KRETPROBES if (HAVE_KPROBES)
+	select HAVE_AOUT
 	help
 	  The ARM series is a line of low-power-consumption RISC chip designs
 	  licensed by ARM Ltd and targeted at embedded applications and
diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig
index bfb6395..83c4338 100644
--- a/arch/m68k/Kconfig
+++ b/arch/m68k/Kconfig
@@ -6,6 +6,7 @@ config M68K
 	bool
 	default y
 	select HAVE_IDE
+	select HAVE_AOUT
 
 config MMU
 	bool
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 8fdaa70..bd066ae 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -25,6 +25,7 @@ config X86
 	select HAVE_KRETPROBES
 	select HAVE_KVM if ((X86_32 && !X86_VOYAGER && !X86_VISWS && !X86_NUMAQ) || X86_64)
 	select HAVE_ARCH_KGDB if !X86_VOYAGER
+	select HAVE_AOUT if X86_32
 
 config ARCH_DEFCONFIG
 	string
diff --git a/fs/Kconfig.binfmt b/fs/Kconfig.binfmt
index 0999d5c..5592e08 100644
--- a/fs/Kconfig.binfmt
+++ b/fs/Kconfig.binfmt
@@ -59,9 +59,12 @@ config BINFMT_SHARED_FLAT
 	help
 	  Support FLAT shared libraries
 
+config HAVE_AOUT
+       def_bool n
+
 config BINFMT_AOUT
 	tristate "Kernel support for a.out and ECOFF binaries"
-	depends on (X86_32 || ALPHA || ARM || M68K)
+	depends on HAVE_AOUT
 	---help---
 	  A.out (Assembler.OUTput) is a set of formats for libraries and
 	  executables used in the earliest versions of UNIX.  Linux used
-- 
1.5.5.1


-- 
dwmw2


^ permalink raw reply related	[flat|nested] 31+ messages in thread

* Re: architectures with ARCH_SUPPORTS_AOUT but no binfmt_aout
  2008-06-17 11:28               ` David Woodhouse
@ 2008-06-17 11:28                 ` David Woodhouse
  2008-06-17 12:23                 ` Sam Ravnborg
  2008-06-22  9:49                 ` Adrian Bunk
  2 siblings, 0 replies; 31+ messages in thread
From: David Woodhouse @ 2008-06-17 11:28 UTC (permalink / raw)
  To: Adrian Bunk
  Cc: Peter Korsgaard, linux-kernel, sam, dhowells, andi,
	Kirill A. Shutemov, ysato, takata, linux-m32r, kyle, matthew,
	grundler, linux-parisc, lethal, linux-sh, linux-arch

On Tue, 2008-06-17 at 13:11 +0300, Adrian Bunk wrote:
> The pattern for this stuff is to provide a HAVE_AOUT kconfig variable 
> that gets select'ed by these architectures.

http://git.infradead.org/users/dwmw2/aout-2.6.git?a=commitdiff;h=a5db5179

Subject: [PATCH] Introduce HAVE_AOUT symbol to remove hard-coded arch list for BINFMT_AOUT

HAVE_AOUT doesn't quite do the same thing as the recently removed
ARCH_SUPPORTS_AOUT config option. That was set even on platforms where
binfmt_aout isn't supported, although it's not entirely clear why.

So it's best just to introduce a new symbol, handled consistently with
other similar HAVE_xxx symbols; with a simple 'select' the arch Kconfig.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
---
 arch/alpha/Kconfig |    1 +
 arch/arm/Kconfig   |    1 +
 arch/m68k/Kconfig  |    1 +
 arch/x86/Kconfig   |    1 +
 fs/Kconfig.binfmt  |    5 ++++-
 5 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig
index 207196e..f80e548 100644
--- a/arch/alpha/Kconfig
+++ b/arch/alpha/Kconfig
@@ -7,6 +7,7 @@ config ALPHA
 	default y
 	select HAVE_IDE
 	select HAVE_OPROFILE
+	select HAVE_AOUT
 	help
 	  The Alpha is a 64-bit general-purpose processor designed and
 	  marketed by the Digital Equipment Corporation of blessed memory,
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 8fd3ab3..2be8bd7 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -14,6 +14,7 @@ config ARM
 	select HAVE_OPROFILE
 	select HAVE_KPROBES if (!XIP_KERNEL)
 	select HAVE_KRETPROBES if (HAVE_KPROBES)
+	select HAVE_AOUT
 	help
 	  The ARM series is a line of low-power-consumption RISC chip designs
 	  licensed by ARM Ltd and targeted at embedded applications and
diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig
index bfb6395..83c4338 100644
--- a/arch/m68k/Kconfig
+++ b/arch/m68k/Kconfig
@@ -6,6 +6,7 @@ config M68K
 	bool
 	default y
 	select HAVE_IDE
+	select HAVE_AOUT
 
 config MMU
 	bool
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 8fdaa70..bd066ae 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -25,6 +25,7 @@ config X86
 	select HAVE_KRETPROBES
 	select HAVE_KVM if ((X86_32 && !X86_VOYAGER && !X86_VISWS && !X86_NUMAQ) || X86_64)
 	select HAVE_ARCH_KGDB if !X86_VOYAGER
+	select HAVE_AOUT if X86_32
 
 config ARCH_DEFCONFIG
 	string
diff --git a/fs/Kconfig.binfmt b/fs/Kconfig.binfmt
index 0999d5c..5592e08 100644
--- a/fs/Kconfig.binfmt
+++ b/fs/Kconfig.binfmt
@@ -59,9 +59,12 @@ config BINFMT_SHARED_FLAT
 	help
 	  Support FLAT shared libraries
 
+config HAVE_AOUT
+       def_bool n
+
 config BINFMT_AOUT
 	tristate "Kernel support for a.out and ECOFF binaries"
-	depends on (X86_32 || ALPHA || ARM || M68K)
+	depends on HAVE_AOUT
 	---help---
 	  A.out (Assembler.OUTput) is a set of formats for libraries and
 	  executables used in the earliest versions of UNIX.  Linux used
-- 
1.5.5.1


-- 
dwmw2


^ permalink raw reply related	[flat|nested] 31+ messages in thread

* Re: architectures with ARCH_SUPPORTS_AOUT but no binfmt_aout
  2008-06-17 11:28               ` David Woodhouse
  2008-06-17 11:28                 ` David Woodhouse
@ 2008-06-17 12:23                 ` Sam Ravnborg
  2008-06-17 12:23                   ` Sam Ravnborg
  2008-06-17 12:29                   ` David Woodhouse
  2008-06-22  9:49                 ` Adrian Bunk
  2 siblings, 2 replies; 31+ messages in thread
From: Sam Ravnborg @ 2008-06-17 12:23 UTC (permalink / raw)
  To: David Woodhouse
  Cc: Adrian Bunk, Peter Korsgaard, linux-kernel, dhowells, andi,
	Kirill A. Shutemov, ysato, takata, linux-m32r, kyle, matthew,
	grundler, linux-parisc, lethal, linux-sh, linux-arch

On Tue, Jun 17, 2008 at 12:28:33PM +0100, David Woodhouse wrote:
> On Tue, 2008-06-17 at 13:11 +0300, Adrian Bunk wrote:
> > The pattern for this stuff is to provide a HAVE_AOUT kconfig variable 
> > that gets select'ed by these architectures.
> 
> http://git.infradead.org/users/dwmw2/aout-2.6.git?a=commitdiff;h=a5db5179
> 
> Subject: [PATCH] Introduce HAVE_AOUT symbol to remove hard-coded arch list for BINFMT_AOUT
> 
> HAVE_AOUT doesn't quite do the same thing as the recently removed
> ARCH_SUPPORTS_AOUT config option. That was set even on platforms where
> binfmt_aout isn't supported, although it's not entirely clear why.
> 
> So it's best just to introduce a new symbol, handled consistently with
> other similar HAVE_xxx symbols; with a simple 'select' the arch Kconfig.

Looks good.
One minor issue...


> @@ -7,6 +7,7 @@ config ALPHA
>  	default y
>  	select HAVE_IDE
>  	select HAVE_OPROFILE
> +	select HAVE_AOUT
Sorting these alphabetically will result in less merge conflicts when the list grows.

	Sam

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: architectures with ARCH_SUPPORTS_AOUT but no binfmt_aout
  2008-06-17 12:23                 ` Sam Ravnborg
@ 2008-06-17 12:23                   ` Sam Ravnborg
  2008-06-17 12:29                   ` David Woodhouse
  1 sibling, 0 replies; 31+ messages in thread
From: Sam Ravnborg @ 2008-06-17 12:23 UTC (permalink / raw)
  To: David Woodhouse
  Cc: Adrian Bunk, Peter Korsgaard, linux-kernel, dhowells, andi,
	Kirill A. Shutemov, ysato, takata, linux-m32r, kyle, matthew,
	grundler, linux-parisc, lethal, linux-sh, linux-arch

On Tue, Jun 17, 2008 at 12:28:33PM +0100, David Woodhouse wrote:
> On Tue, 2008-06-17 at 13:11 +0300, Adrian Bunk wrote:
> > The pattern for this stuff is to provide a HAVE_AOUT kconfig variable 
> > that gets select'ed by these architectures.
> 
> http://git.infradead.org/users/dwmw2/aout-2.6.git?a=commitdiff;h=a5db5179
> 
> Subject: [PATCH] Introduce HAVE_AOUT symbol to remove hard-coded arch list for BINFMT_AOUT
> 
> HAVE_AOUT doesn't quite do the same thing as the recently removed
> ARCH_SUPPORTS_AOUT config option. That was set even on platforms where
> binfmt_aout isn't supported, although it's not entirely clear why.
> 
> So it's best just to introduce a new symbol, handled consistently with
> other similar HAVE_xxx symbols; with a simple 'select' the arch Kconfig.

Looks good.
One minor issue...


> @@ -7,6 +7,7 @@ config ALPHA
>  	default y
>  	select HAVE_IDE
>  	select HAVE_OPROFILE
> +	select HAVE_AOUT
Sorting these alphabetically will result in less merge conflicts when the list grows.

	Sam

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: architectures with ARCH_SUPPORTS_AOUT but no binfmt_aout
  2008-06-17 12:23                 ` Sam Ravnborg
  2008-06-17 12:23                   ` Sam Ravnborg
@ 2008-06-17 12:29                   ` David Woodhouse
  2008-06-17 12:37                     ` Sam Ravnborg
  1 sibling, 1 reply; 31+ messages in thread
From: David Woodhouse @ 2008-06-17 12:29 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Adrian Bunk, Peter Korsgaard, linux-kernel, dhowells, andi,
	Kirill A. Shutemov, ysato, takata, linux-m32r, kyle, matthew,
	grundler, linux-parisc, lethal, linux-sh, linux-arch

On Tue, 2008-06-17 at 14:23 +0200, Sam Ravnborg wrote:
> Sorting these alphabetically will result in less merge conflicts when
> the list grows.

Maybe, but it doesn't grow that fast -- and it's small enough that if I
add stuff in the middle, the context will cover the whole thing and
cause a merge conflict either way. And it isn't in alphabetical order
now either :)

-- 
dwmw2

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: architectures with ARCH_SUPPORTS_AOUT but no binfmt_aout
  2008-06-17 12:29                   ` David Woodhouse
@ 2008-06-17 12:37                     ` Sam Ravnborg
  2008-06-17 12:37                       ` Sam Ravnborg
  2008-06-17 12:54                       ` David Woodhouse
  0 siblings, 2 replies; 31+ messages in thread
From: Sam Ravnborg @ 2008-06-17 12:37 UTC (permalink / raw)
  To: David Woodhouse
  Cc: Adrian Bunk, Peter Korsgaard, linux-kernel, dhowells, andi,
	Kirill A. Shutemov, ysato, takata, linux-m32r, kyle, matthew,
	grundler, linux-parisc, lethal, linux-sh, linux-arch

On Tue, Jun 17, 2008 at 01:29:09PM +0100, David Woodhouse wrote:
> On Tue, 2008-06-17 at 14:23 +0200, Sam Ravnborg wrote:
> > Sorting these alphabetically will result in less merge conflicts when
> > the list grows.
> 
> Maybe, but it doesn't grow that fast -- and it's small enough that if I
> add stuff in the middle, the context will cover the whole thing and
> cause a merge conflict either way. And it isn't in alphabetical order
> now either :)
I know and I know.
If someone did the janitorial effort and converted all the
per-arch defined symbols to one single definiton
and select the list would grow rapidly.

	Sam

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: architectures with ARCH_SUPPORTS_AOUT but no binfmt_aout
  2008-06-17 12:37                     ` Sam Ravnborg
@ 2008-06-17 12:37                       ` Sam Ravnborg
  2008-06-17 12:54                       ` David Woodhouse
  1 sibling, 0 replies; 31+ messages in thread
From: Sam Ravnborg @ 2008-06-17 12:37 UTC (permalink / raw)
  To: David Woodhouse
  Cc: Adrian Bunk, Peter Korsgaard, linux-kernel, dhowells, andi,
	Kirill A. Shutemov, ysato, takata, linux-m32r, kyle, matthew,
	grundler, linux-parisc, lethal, linux-sh, linux-arch

On Tue, Jun 17, 2008 at 01:29:09PM +0100, David Woodhouse wrote:
> On Tue, 2008-06-17 at 14:23 +0200, Sam Ravnborg wrote:
> > Sorting these alphabetically will result in less merge conflicts when
> > the list grows.
> 
> Maybe, but it doesn't grow that fast -- and it's small enough that if I
> add stuff in the middle, the context will cover the whole thing and
> cause a merge conflict either way. And it isn't in alphabetical order
> now either :)
I know and I know.
If someone did the janitorial effort and converted all the
per-arch defined symbols to one single definiton
and select the list would grow rapidly.

	Sam

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: architectures with ARCH_SUPPORTS_AOUT but no binfmt_aout
  2008-06-17 12:37                     ` Sam Ravnborg
  2008-06-17 12:37                       ` Sam Ravnborg
@ 2008-06-17 12:54                       ` David Woodhouse
  2008-06-17 12:54                         ` David Woodhouse
  1 sibling, 1 reply; 31+ messages in thread
From: David Woodhouse @ 2008-06-17 12:54 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Adrian Bunk, Peter Korsgaard, linux-kernel, dhowells, andi,
	Kirill A. Shutemov, ysato, takata, linux-m32r, kyle, matthew,
	grundler, linux-parisc, lethal, linux-sh, linux-arch

On Tue, 2008-06-17 at 14:37 +0200, Sam Ravnborg wrote:
> I know and I know.
> If someone did the janitorial effort and converted all the
> per-arch defined symbols to one single definiton
> and select the list would grow rapidly.

http://git.infradead.org/users/dwmw2/aout-2.6.git?a=commitdiff;h=e75fd00c

They're still not in alphabetical order, but I haven't made it worse :)

-- 
dwmw2


^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: architectures with ARCH_SUPPORTS_AOUT but no binfmt_aout
  2008-06-17 12:54                       ` David Woodhouse
@ 2008-06-17 12:54                         ` David Woodhouse
  0 siblings, 0 replies; 31+ messages in thread
From: David Woodhouse @ 2008-06-17 12:54 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Adrian Bunk, Peter Korsgaard, linux-kernel, dhowells, andi,
	Kirill A. Shutemov, ysato, takata, linux-m32r, kyle, matthew,
	grundler, linux-parisc, lethal, linux-sh, linux-arch

On Tue, 2008-06-17 at 14:37 +0200, Sam Ravnborg wrote:
> I know and I know.
> If someone did the janitorial effort and converted all the
> per-arch defined symbols to one single definiton
> and select the list would grow rapidly.

http://git.infradead.org/users/dwmw2/aout-2.6.git?a=commitdiff;h=e75fd00c

They're still not in alphabetical order, but I haven't made it worse :)

-- 
dwmw2


^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: architectures with ARCH_SUPPORTS_AOUT but no binfmt_aout
  2008-06-17 11:28               ` David Woodhouse
  2008-06-17 11:28                 ` David Woodhouse
  2008-06-17 12:23                 ` Sam Ravnborg
@ 2008-06-22  9:49                 ` Adrian Bunk
  2008-06-22  9:49                   ` Adrian Bunk
  2008-06-22 11:40                   ` David Woodhouse
  2 siblings, 2 replies; 31+ messages in thread
From: Adrian Bunk @ 2008-06-22  9:49 UTC (permalink / raw)
  To: David Woodhouse
  Cc: Peter Korsgaard, linux-kernel, sam, dhowells, andi,
	Kirill A. Shutemov, ysato, takata, linux-m32r, kyle, matthew,
	grundler, linux-parisc, lethal, linux-sh, linux-arch, gerg

On Tue, Jun 17, 2008 at 12:28:33PM +0100, David Woodhouse wrote:
> On Tue, 2008-06-17 at 13:11 +0300, Adrian Bunk wrote:
> > The pattern for this stuff is to provide a HAVE_AOUT kconfig variable 
> > that gets select'ed by these architectures.
> 
> http://git.infradead.org/users/dwmw2/aout-2.6.git?a=commitdiff;h=a5db5179
> 
> Subject: [PATCH] Introduce HAVE_AOUT symbol to remove hard-coded arch list for BINFMT_AOUT
> 
> HAVE_AOUT doesn't quite do the same thing as the recently removed
> ARCH_SUPPORTS_AOUT config option. That was set even on platforms where
> binfmt_aout isn't supported, although it's not entirely clear why.
> 
> So it's best just to introduce a new symbol, handled consistently with
> other similar HAVE_xxx symbols; with a simple 'select' the arch Kconfig.
> 
> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
> ---
>  arch/alpha/Kconfig |    1 +
>  arch/arm/Kconfig   |    1 +
>  arch/m68k/Kconfig  |    1 +
>  arch/x86/Kconfig   |    1 +
>  fs/Kconfig.binfmt  |    5 ++++-
>  5 files changed, 8 insertions(+), 1 deletions(-)
>...
> --- a/fs/Kconfig.binfmt
> +++ b/fs/Kconfig.binfmt
> @@ -59,9 +59,12 @@ config BINFMT_SHARED_FLAT
>  	help
>  	  Support FLAT shared libraries
>  
> +config HAVE_AOUT
> +       def_bool n
> +
>  config BINFMT_AOUT
>  	tristate "Kernel support for a.out and ECOFF binaries"
> -	depends on (X86_32 || ALPHA || ARM || M68K)
> +	depends on HAVE_AOUT
>  	---help---
>  	  A.out (Assembler.OUTput) is a set of formats for libraries and
>  	  executables used in the earliest versions of UNIX.  Linux used

What about m68knommu?

I don't know whether it was intentionally available there, but the 
removal in your patch does not seem to be intentional.

> dwmw2

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: architectures with ARCH_SUPPORTS_AOUT but no binfmt_aout
  2008-06-22  9:49                 ` Adrian Bunk
@ 2008-06-22  9:49                   ` Adrian Bunk
  2008-06-22 11:40                   ` David Woodhouse
  1 sibling, 0 replies; 31+ messages in thread
From: Adrian Bunk @ 2008-06-22  9:49 UTC (permalink / raw)
  To: David Woodhouse
  Cc: Peter Korsgaard, linux-kernel, sam, dhowells, andi,
	Kirill A. Shutemov, ysato, takata, linux-m32r, kyle, matthew,
	grundler, linux-parisc, lethal, linux-sh, linux-arch, gerg

On Tue, Jun 17, 2008 at 12:28:33PM +0100, David Woodhouse wrote:
> On Tue, 2008-06-17 at 13:11 +0300, Adrian Bunk wrote:
> > The pattern for this stuff is to provide a HAVE_AOUT kconfig variable 
> > that gets select'ed by these architectures.
> 
> http://git.infradead.org/users/dwmw2/aout-2.6.git?a=commitdiff;h=a5db5179
> 
> Subject: [PATCH] Introduce HAVE_AOUT symbol to remove hard-coded arch list for BINFMT_AOUT
> 
> HAVE_AOUT doesn't quite do the same thing as the recently removed
> ARCH_SUPPORTS_AOUT config option. That was set even on platforms where
> binfmt_aout isn't supported, although it's not entirely clear why.
> 
> So it's best just to introduce a new symbol, handled consistently with
> other similar HAVE_xxx symbols; with a simple 'select' the arch Kconfig.
> 
> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
> ---
>  arch/alpha/Kconfig |    1 +
>  arch/arm/Kconfig   |    1 +
>  arch/m68k/Kconfig  |    1 +
>  arch/x86/Kconfig   |    1 +
>  fs/Kconfig.binfmt  |    5 ++++-
>  5 files changed, 8 insertions(+), 1 deletions(-)
>...
> --- a/fs/Kconfig.binfmt
> +++ b/fs/Kconfig.binfmt
> @@ -59,9 +59,12 @@ config BINFMT_SHARED_FLAT
>  	help
>  	  Support FLAT shared libraries
>  
> +config HAVE_AOUT
> +       def_bool n
> +
>  config BINFMT_AOUT
>  	tristate "Kernel support for a.out and ECOFF binaries"
> -	depends on (X86_32 || ALPHA || ARM || M68K)
> +	depends on HAVE_AOUT
>  	---help---
>  	  A.out (Assembler.OUTput) is a set of formats for libraries and
>  	  executables used in the earliest versions of UNIX.  Linux used

What about m68knommu?

I don't know whether it was intentionally available there, but the 
removal in your patch does not seem to be intentional.

> dwmw2

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: architectures with ARCH_SUPPORTS_AOUT but no binfmt_aout
  2008-06-22  9:49                 ` Adrian Bunk
  2008-06-22  9:49                   ` Adrian Bunk
@ 2008-06-22 11:40                   ` David Woodhouse
  2008-06-22 11:40                     ` David Woodhouse
                                       ` (2 more replies)
  1 sibling, 3 replies; 31+ messages in thread
From: David Woodhouse @ 2008-06-22 11:40 UTC (permalink / raw)
  To: Adrian Bunk
  Cc: Peter Korsgaard, linux-kernel, sam, dhowells, andi,
	Kirill A. Shutemov, ysato, takata, linux-m32r, kyle, matthew,
	grundler, linux-parisc, lethal, linux-sh, linux-arch, gerg

On Sun, 2008-06-22 at 12:49 +0300, Adrian Bunk wrote:
> 
> What about m68knommu?
> 
> I don't know whether it was intentionally available there, but the 
> removal in your patch does not seem to be intentional.

Hm, true. Well spotted. I think it's probably correct though -- I don't
think m68knommu can really support a.out binaries, can it?

-- 
dwmw2

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: architectures with ARCH_SUPPORTS_AOUT but no binfmt_aout
  2008-06-22 11:40                   ` David Woodhouse
@ 2008-06-22 11:40                     ` David Woodhouse
  2008-06-22 23:53                     ` David McCullough
  2008-06-24 11:46                     ` Adrian Bunk
  2 siblings, 0 replies; 31+ messages in thread
From: David Woodhouse @ 2008-06-22 11:40 UTC (permalink / raw)
  To: Adrian Bunk
  Cc: Peter Korsgaard, linux-kernel, sam, dhowells, andi,
	Kirill A. Shutemov, ysato, takata, linux-m32r, kyle, matthew,
	grundler, linux-parisc, lethal, linux-sh, linux-arch, gerg

On Sun, 2008-06-22 at 12:49 +0300, Adrian Bunk wrote:
> 
> What about m68knommu?
> 
> I don't know whether it was intentionally available there, but the 
> removal in your patch does not seem to be intentional.

Hm, true. Well spotted. I think it's probably correct though -- I don't
think m68knommu can really support a.out binaries, can it?

-- 
dwmw2


^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: architectures with ARCH_SUPPORTS_AOUT but no binfmt_aout
  2008-06-22 11:40                   ` David Woodhouse
  2008-06-22 11:40                     ` David Woodhouse
@ 2008-06-22 23:53                     ` David McCullough
  2008-06-24 11:46                     ` Adrian Bunk
  2 siblings, 0 replies; 31+ messages in thread
From: David McCullough @ 2008-06-22 23:53 UTC (permalink / raw)
  To: David Woodhouse
  Cc: Adrian Bunk, Peter Korsgaard, linux-kernel, sam, dhowells, andi,
	Kirill A. Shutemov, ysato, takata, linux-m32r, kyle, matthew,
	grundler, linux-parisc, lethal, linux-sh, linux-arch, gerg


Jivin David Woodhouse lays it down ...
> On Sun, 2008-06-22 at 12:49 +0300, Adrian Bunk wrote:
> > 
> > What about m68knommu?
> > 
> > I don't know whether it was intentionally available there, but the 
> > removal in your patch does not seem to be intentional.
> 
> Hm, true. Well spotted. I think it's probably correct though -- I don't
> think m68knommu can really support a.out binaries, can it?

No it can't.

-- 
David McCullough,  david_mccullough@securecomputing.com,   Ph:+61 734352815
Secure Computing - SnapGear  http://www.uCdot.org   http://www.snapgear.com

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: architectures with ARCH_SUPPORTS_AOUT but no binfmt_aout
  2008-06-22 11:40                   ` David Woodhouse
  2008-06-22 11:40                     ` David Woodhouse
  2008-06-22 23:53                     ` David McCullough
@ 2008-06-24 11:46                     ` Adrian Bunk
  2008-06-24 11:46                       ` Adrian Bunk
  2008-06-27 16:27                       ` Jeff Dike
  2 siblings, 2 replies; 31+ messages in thread
From: Adrian Bunk @ 2008-06-24 11:46 UTC (permalink / raw)
  To: David Woodhouse
  Cc: Peter Korsgaard, linux-kernel, sam, dhowells, andi,
	Kirill A. Shutemov, ysato, takata, linux-m32r, kyle, matthew,
	grundler, linux-parisc, lethal, linux-sh, linux-arch, gerg, jdike

On Sun, Jun 22, 2008 at 12:40:50PM +0100, David Woodhouse wrote:
> On Sun, 2008-06-22 at 12:49 +0300, Adrian Bunk wrote:
> > 
> > What about m68knommu?
> > 
> > I don't know whether it was intentionally available there, but the 
> > removal in your patch does not seem to be intentional.
> 
> Hm, true. Well spotted. I think it's probably correct though -- I don't
> think m68knommu can really support a.out binaries, can it?

I found another similar case:

X86_32 UML.

a.out is most likely working there?

> dwmw2

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: architectures with ARCH_SUPPORTS_AOUT but no binfmt_aout
  2008-06-24 11:46                     ` Adrian Bunk
@ 2008-06-24 11:46                       ` Adrian Bunk
  2008-06-27 16:27                       ` Jeff Dike
  1 sibling, 0 replies; 31+ messages in thread
From: Adrian Bunk @ 2008-06-24 11:46 UTC (permalink / raw)
  To: David Woodhouse
  Cc: Peter Korsgaard, linux-kernel, sam, dhowells, andi,
	Kirill A. Shutemov, ysato, takata, linux-m32r, kyle, matthew,
	grundler, linux-parisc, lethal, linux-sh, linux-arch, gerg, jdike

On Sun, Jun 22, 2008 at 12:40:50PM +0100, David Woodhouse wrote:
> On Sun, 2008-06-22 at 12:49 +0300, Adrian Bunk wrote:
> > 
> > What about m68knommu?
> > 
> > I don't know whether it was intentionally available there, but the 
> > removal in your patch does not seem to be intentional.
> 
> Hm, true. Well spotted. I think it's probably correct though -- I don't
> think m68knommu can really support a.out binaries, can it?

I found another similar case:

X86_32 UML.

a.out is most likely working there?

> dwmw2

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: architectures with ARCH_SUPPORTS_AOUT but no binfmt_aout
  2008-06-24 11:46                     ` Adrian Bunk
  2008-06-24 11:46                       ` Adrian Bunk
@ 2008-06-27 16:27                       ` Jeff Dike
  1 sibling, 0 replies; 31+ messages in thread
From: Jeff Dike @ 2008-06-27 16:27 UTC (permalink / raw)
  To: Adrian Bunk
  Cc: David Woodhouse, Peter Korsgaard, linux-kernel, sam, dhowells,
	andi, Kirill A. Shutemov, ysato, takata, linux-m32r, kyle,
	matthew, grundler, linux-parisc, lethal, linux-sh, linux-arch,
	gerg

On Tue, Jun 24, 2008 at 02:46:43PM +0300, Adrian Bunk wrote:
> I found another similar case:
> 
> X86_32 UML.
> 
> a.out is most likely working there?

Yup, if it works on the host, it'll work in UML.

     	   	 Jeff

-- 
Work email - jdike at linux dot intel dot com

^ permalink raw reply	[flat|nested] 31+ messages in thread

* [2.6 patch] remove unused asm/a.out.h files
  2008-06-17  9:46           ` architectures with ARCH_SUPPORTS_AOUT but no binfmt_aout David Woodhouse
  2008-06-17 10:11             ` Adrian Bunk
@ 2008-06-27 21:12             ` Adrian Bunk
  2008-06-27 21:12               ` Adrian Bunk
  2008-09-05 16:27             ` [PATCH 1/2] Remove redundant CONFIG_ARCH_SUPPORTS_AOUT David Woodhouse
  2008-09-05 16:27             ` [PATCH 2/2] Introduce HAVE_AOUT symbol to remove hard-coded arch list for BINFMT_AOUT David Woodhouse
  3 siblings, 1 reply; 31+ messages in thread
From: Adrian Bunk @ 2008-06-27 21:12 UTC (permalink / raw)
  To: David Woodhouse
  Cc: Peter Korsgaard, linux-kernel, sam, dhowells, andi,
	Kirill A. Shutemov, ysato, takata, linux-m32r, kyle, matthew,
	grundler, linux-parisc, lethal, linux-sh, linux-arch

On Tue, Jun 17, 2008 at 10:46:44AM +0100, David Woodhouse wrote:
>...
> I think we can probably get away with removing <asm/a.out.h> from every
> architecture other than Alpha, ARM, m68k and x86,
>...

Patch below.

> dwmw2

cu
Adrian


<--  snip  -->


This patch removes asm/a.out.h from all architectures that do not
provide a.out support.

This patch also includes the required removal of (unused)
#include <asm/a.out.h>'s and #include <linux/a.out.h>'s in the arch/
code for these architectures.

The ppc and v850 architectures that should anyway be removed in 2.6.27 
are not touched by this patch to avoid needless merge conflicts.

Signed-off-by: Adrian Bunk <bunk@kernel.org>

---

 arch/cris/arch-v10/boot/tools/build.c   |    1 
 arch/h8300/kernel/process.c             |    1 
 arch/ia64/mm/init.c                     |    1 
 arch/m68knommu/kernel/process.c         |    1 
 arch/m68knommu/kernel/traps.c           |    1 
 arch/mips/kernel/irixelf.c              |    1 
 arch/mips/kernel/process.c              |    1 
 arch/mips/kernel/syscall.c              |    1 
 arch/powerpc/kernel/softemu8xx.c        |    1 
 arch/powerpc/kernel/traps.c             |    1 
 arch/powerpc/platforms/chrp/setup.c     |    1 
 arch/powerpc/platforms/maple/setup.c    |    1 
 arch/powerpc/platforms/powermac/setup.c |    1 
 arch/powerpc/platforms/pseries/setup.c  |    1 
 include/asm-avr32/a.out.h               |   20 -------------
 include/asm-blackfin/a.out.h            |   19 -------------
 include/asm-cris/a.out.h                |   26 -----------------
 include/asm-h8300/a.out.h               |   20 -------------
 include/asm-ia64/a.out.h                |   32 ---------------------
 include/asm-m32r/a.out.h                |   20 -------------
 include/asm-m68knommu/a.out.h           |    1 
 include/asm-mips/a.out.h                |   35 ------------------------
 include/asm-parisc/a.out.h              |   20 -------------
 include/asm-powerpc/a.out.h             |   20 -------------
 include/asm-sh/a.out.h                  |   20 -------------
 include/asm-xtensa/a.out.h              |   29 -------------------
 26 files changed, 276 deletions(-)

9cd72b780be8d25cd2deb99a923030f2fe2aeba4 diff --git a/arch/cris/arch-v10/boot/tools/build.c b/arch/cris/arch-v10/boot/tools/build.c
index 2f9bbb2..c8adef3 100644
--- a/arch/cris/arch-v10/boot/tools/build.c
+++ b/arch/cris/arch-v10/boot/tools/build.c
@@ -30,7 +30,6 @@
 #include <sys/sysmacros.h>
 #include <unistd.h>	/* contains read/write */
 #include <fcntl.h>
-#include <linux/a.out.h>
 #include <errno.h>
 
 #define MINIX_HEADER 32
diff --git a/arch/h8300/kernel/process.c b/arch/h8300/kernel/process.c
index dfbe7ab..a8ef654 100644
--- a/arch/h8300/kernel/process.c
+++ b/arch/h8300/kernel/process.c
@@ -34,7 +34,6 @@
 #include <linux/ptrace.h>
 #include <linux/slab.h>
 #include <linux/user.h>
-#include <linux/a.out.h>
 #include <linux/interrupt.h>
 #include <linux/reboot.h>
 #include <linux/fs.h>
diff --git a/arch/ia64/mm/init.c b/arch/ia64/mm/init.c
index 200100e..f482a90 100644
--- a/arch/ia64/mm/init.c
+++ b/arch/ia64/mm/init.c
@@ -21,7 +21,6 @@
 #include <linux/bitops.h>
 #include <linux/kexec.h>
 
-#include <asm/a.out.h>
 #include <asm/dma.h>
 #include <asm/ia32.h>
 #include <asm/io.h>
diff --git a/arch/m68knommu/kernel/process.c b/arch/m68knommu/kernel/process.c
index 47502d5..3f2d774 100644
--- a/arch/m68knommu/kernel/process.c
+++ b/arch/m68knommu/kernel/process.c
@@ -25,7 +25,6 @@
 #include <linux/ptrace.h>
 #include <linux/slab.h>
 #include <linux/user.h>
-#include <linux/a.out.h>
 #include <linux/interrupt.h>
 #include <linux/reboot.h>
 #include <linux/fs.h>
diff --git a/arch/m68knommu/kernel/traps.c b/arch/m68knommu/kernel/traps.c
index ec9aea6..0157b9d 100644
--- a/arch/m68knommu/kernel/traps.c
+++ b/arch/m68knommu/kernel/traps.c
@@ -22,7 +22,6 @@
 #include <linux/mm.h>
 #include <linux/module.h>
 #include <linux/types.h>
-#include <linux/a.out.h>
 #include <linux/user.h>
 #include <linux/string.h>
 #include <linux/linkage.h>
diff --git a/arch/mips/kernel/irixelf.c b/arch/mips/kernel/irixelf.c
index 469c723..e068a72 100644
--- a/arch/mips/kernel/irixelf.c
+++ b/arch/mips/kernel/irixelf.c
@@ -18,7 +18,6 @@
 #include <linux/sched.h>
 #include <linux/mm.h>
 #include <linux/mman.h>
-#include <linux/a.out.h>
 #include <linux/errno.h>
 #include <linux/init.h>
 #include <linux/signal.h>
diff --git a/arch/mips/kernel/process.c b/arch/mips/kernel/process.c
index 2c09a44..2040fc5 100644
--- a/arch/mips/kernel/process.c
+++ b/arch/mips/kernel/process.c
@@ -22,7 +22,6 @@
 #include <linux/personality.h>
 #include <linux/sys.h>
 #include <linux/user.h>
-#include <linux/a.out.h>
 #include <linux/init.h>
 #include <linux/completion.h>
 #include <linux/kallsyms.h>
diff --git a/arch/mips/kernel/syscall.c b/arch/mips/kernel/syscall.c
index af1bdc8..0d2b609 100644
--- a/arch/mips/kernel/syscall.c
+++ b/arch/mips/kernel/syscall.c
@@ -7,7 +7,6 @@
  * Copyright (C) 1999, 2000 Silicon Graphics, Inc.
  * Copyright (C) 2001 MIPS Technologies, Inc.
  */
-#include <linux/a.out.h>
 #include <linux/capability.h>
 #include <linux/errno.h>
 #include <linux/linkage.h>
diff --git a/arch/powerpc/kernel/softemu8xx.c b/arch/powerpc/kernel/softemu8xx.c
index 67d6f68..2489493 100644
--- a/arch/powerpc/kernel/softemu8xx.c
+++ b/arch/powerpc/kernel/softemu8xx.c
@@ -23,7 +23,6 @@
 #include <linux/ptrace.h>
 #include <linux/slab.h>
 #include <linux/user.h>
-#include <linux/a.out.h>
 #include <linux/interrupt.h>
 
 #include <asm/pgtable.h>
diff --git a/arch/powerpc/kernel/traps.c b/arch/powerpc/kernel/traps.c
index 4b5b7ff..c7e499e 100644
--- a/arch/powerpc/kernel/traps.c
+++ b/arch/powerpc/kernel/traps.c
@@ -23,7 +23,6 @@
 #include <linux/ptrace.h>
 #include <linux/slab.h>
 #include <linux/user.h>
-#include <linux/a.out.h>
 #include <linux/interrupt.h>
 #include <linux/init.h>
 #include <linux/module.h>
diff --git a/arch/powerpc/platforms/chrp/setup.c b/arch/powerpc/platforms/chrp/setup.c
index 116babb..e6b3fac 100644
--- a/arch/powerpc/platforms/chrp/setup.c
+++ b/arch/powerpc/platforms/chrp/setup.c
@@ -17,7 +17,6 @@
 #include <linux/ptrace.h>
 #include <linux/slab.h>
 #include <linux/user.h>
-#include <linux/a.out.h>
 #include <linux/tty.h>
 #include <linux/major.h>
 #include <linux/interrupt.h>
diff --git a/arch/powerpc/platforms/maple/setup.c b/arch/powerpc/platforms/maple/setup.c
index 3647147..d4c61c3 100644
--- a/arch/powerpc/platforms/maple/setup.c
+++ b/arch/powerpc/platforms/maple/setup.c
@@ -23,7 +23,6 @@
 #include <linux/ptrace.h>
 #include <linux/slab.h>
 #include <linux/user.h>
-#include <linux/a.out.h>
 #include <linux/tty.h>
 #include <linux/string.h>
 #include <linux/delay.h>
diff --git a/arch/powerpc/platforms/powermac/setup.c b/arch/powerpc/platforms/powermac/setup.c
index 00bd016..19c287a 100644
--- a/arch/powerpc/platforms/powermac/setup.c
+++ b/arch/powerpc/platforms/powermac/setup.c
@@ -33,7 +33,6 @@
 #include <linux/ptrace.h>
 #include <linux/slab.h>
 #include <linux/user.h>
-#include <linux/a.out.h>
 #include <linux/tty.h>
 #include <linux/string.h>
 #include <linux/delay.h>
diff --git a/arch/powerpc/platforms/pseries/setup.c b/arch/powerpc/platforms/pseries/setup.c
index f5d29f5..577efcd 100644
--- a/arch/powerpc/platforms/pseries/setup.c
+++ b/arch/powerpc/platforms/pseries/setup.c
@@ -25,7 +25,6 @@
 #include <linux/unistd.h>
 #include <linux/slab.h>
 #include <linux/user.h>
-#include <linux/a.out.h>
 #include <linux/tty.h>
 #include <linux/major.h>
 #include <linux/interrupt.h>
diff --git a/include/asm-avr32/a.out.h b/include/asm-avr32/a.out.h
deleted file mode 100644
index e46375a..0000000
--- a/include/asm-avr32/a.out.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef __ASM_AVR32_A_OUT_H
-#define __ASM_AVR32_A_OUT_H
-
-struct exec
-{
-  unsigned long a_info;		/* Use macros N_MAGIC, etc for access */
-  unsigned a_text;		/* length of text, in bytes */
-  unsigned a_data;		/* length of data, in bytes */
-  unsigned a_bss;		/* length of uninitialized data area for file, in bytes */
-  unsigned a_syms;		/* length of symbol table data in file, in bytes */
-  unsigned a_entry;		/* start address */
-  unsigned a_trsize;		/* length of relocation info for text, in bytes */
-  unsigned a_drsize;		/* length of relocation info for data, in bytes */
-};
-
-#define N_TRSIZE(a)	((a).a_trsize)
-#define N_DRSIZE(a)	((a).a_drsize)
-#define N_SYMSIZE(a)	((a).a_syms)
-
-#endif /* __ASM_AVR32_A_OUT_H */
diff --git a/include/asm-blackfin/a.out.h b/include/asm-blackfin/a.out.h
deleted file mode 100644
index 6c3d652..0000000
--- a/include/asm-blackfin/a.out.h
+++ /dev/null
@@ -1,19 +0,0 @@
-#ifndef __BFIN_A_OUT_H__
-#define __BFIN_A_OUT_H__
-
-struct exec {
-	unsigned long a_info;	/* Use macros N_MAGIC, etc for access */
-	unsigned a_text;	/* length of text, in bytes */
-	unsigned a_data;	/* length of data, in bytes */
-	unsigned a_bss;		/* length of uninitialized data area for file, in bytes */
-	unsigned a_syms;	/* length of symbol table data in file, in bytes */
-	unsigned a_entry;	/* start address */
-	unsigned a_trsize;	/* length of relocation info for text, in bytes */
-	unsigned a_drsize;	/* length of relocation info for data, in bytes */
-};
-
-#define N_TRSIZE(a)	((a).a_trsize)
-#define N_DRSIZE(a)	((a).a_drsize)
-#define N_SYMSIZE(a)	((a).a_syms)
-
-#endif				/* __BFIN_A_OUT_H__ */
diff --git a/include/asm-cris/a.out.h b/include/asm-cris/a.out.h
deleted file mode 100644
index c82e9f9..0000000
--- a/include/asm-cris/a.out.h
+++ /dev/null
@@ -1,26 +0,0 @@
-#ifndef __CRIS_A_OUT_H__
-#define __CRIS_A_OUT_H__
-
-/* we don't support a.out binaries on Linux/CRIS anyway, so this is
- * not really used but still needed because binfmt_elf.c for some reason
- * wants to know about a.out even if there is no interpreter available...
- */
-
-struct exec
-{
-  unsigned long a_info;		/* Use macros N_MAGIC, etc for access */
-  unsigned a_text;		/* length of text, in bytes */
-  unsigned a_data;		/* length of data, in bytes */
-  unsigned a_bss;		/* length of uninitialized data area for file, in bytes */
-  unsigned a_syms;		/* length of symbol table data in file, in bytes */
-  unsigned a_entry;		/* start address */
-  unsigned a_trsize;		/* length of relocation info for text, in bytes */
-  unsigned a_drsize;		/* length of relocation info for data, in bytes */
-};
-
-
-#define N_TRSIZE(a)	((a).a_trsize)
-#define N_DRSIZE(a)	((a).a_drsize)
-#define N_SYMSIZE(a)	((a).a_syms)
-
-#endif
diff --git a/include/asm-h8300/a.out.h b/include/asm-h8300/a.out.h
deleted file mode 100644
index ded780f..0000000
--- a/include/asm-h8300/a.out.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef __H8300_A_OUT_H__
-#define __H8300_A_OUT_H__
-
-struct exec
-{
-  unsigned long a_info;		/* Use macros N_MAGIC, etc for access */
-  unsigned a_text;		/* length of text, in bytes */
-  unsigned a_data;		/* length of data, in bytes */
-  unsigned a_bss;		/* length of uninitialized data area for file, in bytes */
-  unsigned a_syms;		/* length of symbol table data in file, in bytes */
-  unsigned a_entry;		/* start address */
-  unsigned a_trsize;		/* length of relocation info for text, in bytes */
-  unsigned a_drsize;		/* length of relocation info for data, in bytes */
-};
-
-#define N_TRSIZE(a)	((a).a_trsize)
-#define N_DRSIZE(a)	((a).a_drsize)
-#define N_SYMSIZE(a)	((a).a_syms)
-
-#endif /* __H8300_A_OUT_H__ */
diff --git a/include/asm-ia64/a.out.h b/include/asm-ia64/a.out.h
deleted file mode 100644
index 193dcfb..0000000
--- a/include/asm-ia64/a.out.h
+++ /dev/null
@@ -1,32 +0,0 @@
-#ifndef _ASM_IA64_A_OUT_H
-#define _ASM_IA64_A_OUT_H
-
-/*
- * No a.out format has been (or should be) defined so this file is
- * just a dummy that allows us to get binfmt_elf compiled.  It
- * probably would be better to clean up binfmt_elf.c so it does not
- * necessarily depend on there being a.out support.
- *
- * Modified 1998-2002
- *	David Mosberger-Tang <davidm@hpl.hp.com>, Hewlett-Packard Co.
- */
-
-#include <linux/types.h>
-
-struct exec {
-	unsigned long a_info;
-	unsigned long a_text;
-	unsigned long a_data;
-	unsigned long a_bss;
-	unsigned long a_entry;
-};
-
-#define N_TXTADDR(x)	0
-#define N_DATADDR(x)	0
-#define N_BSSADDR(x)	0
-#define N_DRSIZE(x)	0
-#define N_TRSIZE(x)	0
-#define N_SYMSIZE(x)	0
-#define N_TXTOFF(x)	0
-
-#endif /* _ASM_IA64_A_OUT_H */
diff --git a/include/asm-m32r/a.out.h b/include/asm-m32r/a.out.h
deleted file mode 100644
index ab150f5..0000000
--- a/include/asm-m32r/a.out.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef _ASM_M32R_A_OUT_H
-#define _ASM_M32R_A_OUT_H
-
-struct exec
-{
-  unsigned long a_info;		/* Use macros N_MAGIC, etc for access */
-  unsigned a_text;		/* length of text, in bytes */
-  unsigned a_data;		/* length of data, in bytes */
-  unsigned a_bss;		/* length of uninitialized data area for file, in bytes */
-  unsigned a_syms;		/* length of symbol table data in file, in bytes */
-  unsigned a_entry;		/* start address */
-  unsigned a_trsize;		/* length of relocation info for text, in bytes */
-  unsigned a_drsize;		/* length of relocation info for data, in bytes */
-};
-
-#define N_TRSIZE(a)	((a).a_trsize)
-#define N_DRSIZE(a)	((a).a_drsize)
-#define N_SYMSIZE(a)	((a).a_syms)
-
-#endif /* _ASM_M32R_A_OUT_H */
diff --git a/include/asm-m68knommu/a.out.h b/include/asm-m68knommu/a.out.h
deleted file mode 100644
index ce18ef9..0000000
--- a/include/asm-m68knommu/a.out.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <asm-m68k/a.out.h>
diff --git a/include/asm-mips/a.out.h b/include/asm-mips/a.out.h
deleted file mode 100644
index cad8371..0000000
--- a/include/asm-mips/a.out.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * This file is subject to the terms and conditions of the GNU General Public
- * License.  See the file "COPYING" in the main directory of this archive
- * for more details.
- *
- * Copyright (C) 1994 - 1999, 2003 by Ralf Baechle
- */
-#ifndef _ASM_A_OUT_H
-#define _ASM_A_OUT_H
-
-#ifdef __KERNEL__
-
-
-#endif
-
-struct exec
-{
-	unsigned long a_info;	/* Use macros N_MAGIC, etc for access */
-	unsigned a_text;	/* length of text, in bytes */
-	unsigned a_data;	/* length of data, in bytes */
-	unsigned a_bss;		/* length of uninitialized data area for
-				    file, in bytes */
-	unsigned a_syms;	/* length of symbol table data in file,
-				   in bytes */
-	unsigned a_entry;	/* start address */
-	unsigned a_trsize;	/* length of relocation info for text, in
-				    bytes */
-	unsigned a_drsize;	/* length of relocation info for data, in bytes */
-};
-
-#define N_TRSIZE(a)	((a).a_trsize)
-#define N_DRSIZE(a)	((a).a_drsize)
-#define N_SYMSIZE(a)	((a).a_syms)
-
-#endif /* _ASM_A_OUT_H */
diff --git a/include/asm-parisc/a.out.h b/include/asm-parisc/a.out.h
deleted file mode 100644
index eb04e34..0000000
--- a/include/asm-parisc/a.out.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef __PARISC_A_OUT_H__
-#define __PARISC_A_OUT_H__
-
-struct exec
-{
-  unsigned int a_info;		/* Use macros N_MAGIC, etc for access */
-  unsigned a_text;		/* length of text, in bytes */
-  unsigned a_data;		/* length of data, in bytes */
-  unsigned a_bss;		/* length of uninitialized data area for file, in bytes */
-  unsigned a_syms;		/* length of symbol table data in file, in bytes */
-  unsigned a_entry;		/* start address */
-  unsigned a_trsize;		/* length of relocation info for text, in bytes */
-  unsigned a_drsize;		/* length of relocation info for data, in bytes */
-};
-
-#define N_TRSIZE(a)	((a).a_trsize)
-#define N_DRSIZE(a)	((a).a_drsize)
-#define N_SYMSIZE(a)	((a).a_syms)
-
-#endif /* __A_OUT_GNU_H__ */
diff --git a/include/asm-powerpc/a.out.h b/include/asm-powerpc/a.out.h
deleted file mode 100644
index 89cead6..0000000
--- a/include/asm-powerpc/a.out.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef _ASM_POWERPC_A_OUT_H
-#define _ASM_POWERPC_A_OUT_H
-
-struct exec
-{
-	unsigned long a_info;	/* Use macros N_MAGIC, etc for access */
-	unsigned a_text;	/* length of text, in bytes */
-	unsigned a_data;	/* length of data, in bytes */
-	unsigned a_bss;		/* length of uninitialized data area for file, in bytes */
-	unsigned a_syms;	/* length of symbol table data in file, in bytes */
-	unsigned a_entry;	/* start address */
-	unsigned a_trsize;	/* length of relocation info for text, in bytes */
-	unsigned a_drsize;	/* length of relocation info for data, in bytes */
-};
-
-#define N_TRSIZE(a)	((a).a_trsize)
-#define N_DRSIZE(a)	((a).a_drsize)
-#define N_SYMSIZE(a)	((a).a_syms)
-
-#endif /* _ASM_POWERPC_A_OUT_H */
diff --git a/include/asm-sh/a.out.h b/include/asm-sh/a.out.h
deleted file mode 100644
index 1f93130..0000000
--- a/include/asm-sh/a.out.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef __ASM_SH_A_OUT_H
-#define __ASM_SH_A_OUT_H
-
-struct exec
-{
-  unsigned long a_info;		/* Use macros N_MAGIC, etc for access */
-  unsigned a_text;		/* length of text, in bytes */
-  unsigned a_data;		/* length of data, in bytes */
-  unsigned a_bss;		/* length of uninitialized data area for file, in bytes */
-  unsigned a_syms;		/* length of symbol table data in file, in bytes */
-  unsigned a_entry;		/* start address */
-  unsigned a_trsize;		/* length of relocation info for text, in bytes */
-  unsigned a_drsize;		/* length of relocation info for data, in bytes */
-};
-
-#define N_TRSIZE(a)	((a).a_trsize)
-#define N_DRSIZE(a)	((a).a_drsize)
-#define N_SYMSIZE(a)	((a).a_syms)
-
-#endif /* __ASM_SH_A_OUT_H */
diff --git a/include/asm-xtensa/a.out.h b/include/asm-xtensa/a.out.h
deleted file mode 100644
index fdf1370..0000000
--- a/include/asm-xtensa/a.out.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * include/asm-xtensa/a.out.h
- *
- * Dummy a.out file. Xtensa does not support the a.out format, but the kernel
- * seems to depend on it.
- *
- * This file is subject to the terms and conditions of the GNU General Public
- * License.  See the file "COPYING" in the main directory of this archive
- * for more details.
- *
- * Copyright (C) 2001 - 2005 Tensilica Inc.
- */
-
-#ifndef _XTENSA_A_OUT_H
-#define _XTENSA_A_OUT_H
-
-struct exec
-{
-  unsigned long a_info;
-  unsigned a_text;
-  unsigned a_data;
-  unsigned a_bss;
-  unsigned a_syms;
-  unsigned a_entry;
-  unsigned a_trsize;
-  unsigned a_drsize;
-};
-
-#endif /* _XTENSA_A_OUT_H */


^ permalink raw reply related	[flat|nested] 31+ messages in thread

* [2.6 patch] remove unused asm/a.out.h files
  2008-06-27 21:12             ` [2.6 patch] remove unused asm/a.out.h files Adrian Bunk
@ 2008-06-27 21:12               ` Adrian Bunk
  0 siblings, 0 replies; 31+ messages in thread
From: Adrian Bunk @ 2008-06-27 21:12 UTC (permalink / raw)
  To: David Woodhouse
  Cc: Peter Korsgaard, linux-kernel, sam, dhowells, andi,
	Kirill A. Shutemov, ysato, takata, linux-m32r, kyle, matthew,
	grundler, linux-parisc, lethal, linux-sh, linux-arch

On Tue, Jun 17, 2008 at 10:46:44AM +0100, David Woodhouse wrote:
>...
> I think we can probably get away with removing <asm/a.out.h> from every
> architecture other than Alpha, ARM, m68k and x86,
>...

Patch below.

> dwmw2

cu
Adrian


<--  snip  -->


This patch removes asm/a.out.h from all architectures that do not
provide a.out support.

This patch also includes the required removal of (unused)
#include <asm/a.out.h>'s and #include <linux/a.out.h>'s in the arch/
code for these architectures.

The ppc and v850 architectures that should anyway be removed in 2.6.27 
are not touched by this patch to avoid needless merge conflicts.

Signed-off-by: Adrian Bunk <bunk@kernel.org>

---

 arch/cris/arch-v10/boot/tools/build.c   |    1 
 arch/h8300/kernel/process.c             |    1 
 arch/ia64/mm/init.c                     |    1 
 arch/m68knommu/kernel/process.c         |    1 
 arch/m68knommu/kernel/traps.c           |    1 
 arch/mips/kernel/irixelf.c              |    1 
 arch/mips/kernel/process.c              |    1 
 arch/mips/kernel/syscall.c              |    1 
 arch/powerpc/kernel/softemu8xx.c        |    1 
 arch/powerpc/kernel/traps.c             |    1 
 arch/powerpc/platforms/chrp/setup.c     |    1 
 arch/powerpc/platforms/maple/setup.c    |    1 
 arch/powerpc/platforms/powermac/setup.c |    1 
 arch/powerpc/platforms/pseries/setup.c  |    1 
 include/asm-avr32/a.out.h               |   20 -------------
 include/asm-blackfin/a.out.h            |   19 -------------
 include/asm-cris/a.out.h                |   26 -----------------
 include/asm-h8300/a.out.h               |   20 -------------
 include/asm-ia64/a.out.h                |   32 ---------------------
 include/asm-m32r/a.out.h                |   20 -------------
 include/asm-m68knommu/a.out.h           |    1 
 include/asm-mips/a.out.h                |   35 ------------------------
 include/asm-parisc/a.out.h              |   20 -------------
 include/asm-powerpc/a.out.h             |   20 -------------
 include/asm-sh/a.out.h                  |   20 -------------
 include/asm-xtensa/a.out.h              |   29 -------------------
 26 files changed, 276 deletions(-)

9cd72b780be8d25cd2deb99a923030f2fe2aeba4 diff --git a/arch/cris/arch-v10/boot/tools/build.c b/arch/cris/arch-v10/boot/tools/build.c
index 2f9bbb2..c8adef3 100644
--- a/arch/cris/arch-v10/boot/tools/build.c
+++ b/arch/cris/arch-v10/boot/tools/build.c
@@ -30,7 +30,6 @@
 #include <sys/sysmacros.h>
 #include <unistd.h>	/* contains read/write */
 #include <fcntl.h>
-#include <linux/a.out.h>
 #include <errno.h>
 
 #define MINIX_HEADER 32
diff --git a/arch/h8300/kernel/process.c b/arch/h8300/kernel/process.c
index dfbe7ab..a8ef654 100644
--- a/arch/h8300/kernel/process.c
+++ b/arch/h8300/kernel/process.c
@@ -34,7 +34,6 @@
 #include <linux/ptrace.h>
 #include <linux/slab.h>
 #include <linux/user.h>
-#include <linux/a.out.h>
 #include <linux/interrupt.h>
 #include <linux/reboot.h>
 #include <linux/fs.h>
diff --git a/arch/ia64/mm/init.c b/arch/ia64/mm/init.c
index 200100e..f482a90 100644
--- a/arch/ia64/mm/init.c
+++ b/arch/ia64/mm/init.c
@@ -21,7 +21,6 @@
 #include <linux/bitops.h>
 #include <linux/kexec.h>
 
-#include <asm/a.out.h>
 #include <asm/dma.h>
 #include <asm/ia32.h>
 #include <asm/io.h>
diff --git a/arch/m68knommu/kernel/process.c b/arch/m68knommu/kernel/process.c
index 47502d5..3f2d774 100644
--- a/arch/m68knommu/kernel/process.c
+++ b/arch/m68knommu/kernel/process.c
@@ -25,7 +25,6 @@
 #include <linux/ptrace.h>
 #include <linux/slab.h>
 #include <linux/user.h>
-#include <linux/a.out.h>
 #include <linux/interrupt.h>
 #include <linux/reboot.h>
 #include <linux/fs.h>
diff --git a/arch/m68knommu/kernel/traps.c b/arch/m68knommu/kernel/traps.c
index ec9aea6..0157b9d 100644
--- a/arch/m68knommu/kernel/traps.c
+++ b/arch/m68knommu/kernel/traps.c
@@ -22,7 +22,6 @@
 #include <linux/mm.h>
 #include <linux/module.h>
 #include <linux/types.h>
-#include <linux/a.out.h>
 #include <linux/user.h>
 #include <linux/string.h>
 #include <linux/linkage.h>
diff --git a/arch/mips/kernel/irixelf.c b/arch/mips/kernel/irixelf.c
index 469c723..e068a72 100644
--- a/arch/mips/kernel/irixelf.c
+++ b/arch/mips/kernel/irixelf.c
@@ -18,7 +18,6 @@
 #include <linux/sched.h>
 #include <linux/mm.h>
 #include <linux/mman.h>
-#include <linux/a.out.h>
 #include <linux/errno.h>
 #include <linux/init.h>
 #include <linux/signal.h>
diff --git a/arch/mips/kernel/process.c b/arch/mips/kernel/process.c
index 2c09a44..2040fc5 100644
--- a/arch/mips/kernel/process.c
+++ b/arch/mips/kernel/process.c
@@ -22,7 +22,6 @@
 #include <linux/personality.h>
 #include <linux/sys.h>
 #include <linux/user.h>
-#include <linux/a.out.h>
 #include <linux/init.h>
 #include <linux/completion.h>
 #include <linux/kallsyms.h>
diff --git a/arch/mips/kernel/syscall.c b/arch/mips/kernel/syscall.c
index af1bdc8..0d2b609 100644
--- a/arch/mips/kernel/syscall.c
+++ b/arch/mips/kernel/syscall.c
@@ -7,7 +7,6 @@
  * Copyright (C) 1999, 2000 Silicon Graphics, Inc.
  * Copyright (C) 2001 MIPS Technologies, Inc.
  */
-#include <linux/a.out.h>
 #include <linux/capability.h>
 #include <linux/errno.h>
 #include <linux/linkage.h>
diff --git a/arch/powerpc/kernel/softemu8xx.c b/arch/powerpc/kernel/softemu8xx.c
index 67d6f68..2489493 100644
--- a/arch/powerpc/kernel/softemu8xx.c
+++ b/arch/powerpc/kernel/softemu8xx.c
@@ -23,7 +23,6 @@
 #include <linux/ptrace.h>
 #include <linux/slab.h>
 #include <linux/user.h>
-#include <linux/a.out.h>
 #include <linux/interrupt.h>
 
 #include <asm/pgtable.h>
diff --git a/arch/powerpc/kernel/traps.c b/arch/powerpc/kernel/traps.c
index 4b5b7ff..c7e499e 100644
--- a/arch/powerpc/kernel/traps.c
+++ b/arch/powerpc/kernel/traps.c
@@ -23,7 +23,6 @@
 #include <linux/ptrace.h>
 #include <linux/slab.h>
 #include <linux/user.h>
-#include <linux/a.out.h>
 #include <linux/interrupt.h>
 #include <linux/init.h>
 #include <linux/module.h>
diff --git a/arch/powerpc/platforms/chrp/setup.c b/arch/powerpc/platforms/chrp/setup.c
index 116babb..e6b3fac 100644
--- a/arch/powerpc/platforms/chrp/setup.c
+++ b/arch/powerpc/platforms/chrp/setup.c
@@ -17,7 +17,6 @@
 #include <linux/ptrace.h>
 #include <linux/slab.h>
 #include <linux/user.h>
-#include <linux/a.out.h>
 #include <linux/tty.h>
 #include <linux/major.h>
 #include <linux/interrupt.h>
diff --git a/arch/powerpc/platforms/maple/setup.c b/arch/powerpc/platforms/maple/setup.c
index 3647147..d4c61c3 100644
--- a/arch/powerpc/platforms/maple/setup.c
+++ b/arch/powerpc/platforms/maple/setup.c
@@ -23,7 +23,6 @@
 #include <linux/ptrace.h>
 #include <linux/slab.h>
 #include <linux/user.h>
-#include <linux/a.out.h>
 #include <linux/tty.h>
 #include <linux/string.h>
 #include <linux/delay.h>
diff --git a/arch/powerpc/platforms/powermac/setup.c b/arch/powerpc/platforms/powermac/setup.c
index 00bd016..19c287a 100644
--- a/arch/powerpc/platforms/powermac/setup.c
+++ b/arch/powerpc/platforms/powermac/setup.c
@@ -33,7 +33,6 @@
 #include <linux/ptrace.h>
 #include <linux/slab.h>
 #include <linux/user.h>
-#include <linux/a.out.h>
 #include <linux/tty.h>
 #include <linux/string.h>
 #include <linux/delay.h>
diff --git a/arch/powerpc/platforms/pseries/setup.c b/arch/powerpc/platforms/pseries/setup.c
index f5d29f5..577efcd 100644
--- a/arch/powerpc/platforms/pseries/setup.c
+++ b/arch/powerpc/platforms/pseries/setup.c
@@ -25,7 +25,6 @@
 #include <linux/unistd.h>
 #include <linux/slab.h>
 #include <linux/user.h>
-#include <linux/a.out.h>
 #include <linux/tty.h>
 #include <linux/major.h>
 #include <linux/interrupt.h>
diff --git a/include/asm-avr32/a.out.h b/include/asm-avr32/a.out.h
deleted file mode 100644
index e46375a..0000000
--- a/include/asm-avr32/a.out.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef __ASM_AVR32_A_OUT_H
-#define __ASM_AVR32_A_OUT_H
-
-struct exec
-{
-  unsigned long a_info;		/* Use macros N_MAGIC, etc for access */
-  unsigned a_text;		/* length of text, in bytes */
-  unsigned a_data;		/* length of data, in bytes */
-  unsigned a_bss;		/* length of uninitialized data area for file, in bytes */
-  unsigned a_syms;		/* length of symbol table data in file, in bytes */
-  unsigned a_entry;		/* start address */
-  unsigned a_trsize;		/* length of relocation info for text, in bytes */
-  unsigned a_drsize;		/* length of relocation info for data, in bytes */
-};
-
-#define N_TRSIZE(a)	((a).a_trsize)
-#define N_DRSIZE(a)	((a).a_drsize)
-#define N_SYMSIZE(a)	((a).a_syms)
-
-#endif /* __ASM_AVR32_A_OUT_H */
diff --git a/include/asm-blackfin/a.out.h b/include/asm-blackfin/a.out.h
deleted file mode 100644
index 6c3d652..0000000
--- a/include/asm-blackfin/a.out.h
+++ /dev/null
@@ -1,19 +0,0 @@
-#ifndef __BFIN_A_OUT_H__
-#define __BFIN_A_OUT_H__
-
-struct exec {
-	unsigned long a_info;	/* Use macros N_MAGIC, etc for access */
-	unsigned a_text;	/* length of text, in bytes */
-	unsigned a_data;	/* length of data, in bytes */
-	unsigned a_bss;		/* length of uninitialized data area for file, in bytes */
-	unsigned a_syms;	/* length of symbol table data in file, in bytes */
-	unsigned a_entry;	/* start address */
-	unsigned a_trsize;	/* length of relocation info for text, in bytes */
-	unsigned a_drsize;	/* length of relocation info for data, in bytes */
-};
-
-#define N_TRSIZE(a)	((a).a_trsize)
-#define N_DRSIZE(a)	((a).a_drsize)
-#define N_SYMSIZE(a)	((a).a_syms)
-
-#endif				/* __BFIN_A_OUT_H__ */
diff --git a/include/asm-cris/a.out.h b/include/asm-cris/a.out.h
deleted file mode 100644
index c82e9f9..0000000
--- a/include/asm-cris/a.out.h
+++ /dev/null
@@ -1,26 +0,0 @@
-#ifndef __CRIS_A_OUT_H__
-#define __CRIS_A_OUT_H__
-
-/* we don't support a.out binaries on Linux/CRIS anyway, so this is
- * not really used but still needed because binfmt_elf.c for some reason
- * wants to know about a.out even if there is no interpreter available...
- */
-
-struct exec
-{
-  unsigned long a_info;		/* Use macros N_MAGIC, etc for access */
-  unsigned a_text;		/* length of text, in bytes */
-  unsigned a_data;		/* length of data, in bytes */
-  unsigned a_bss;		/* length of uninitialized data area for file, in bytes */
-  unsigned a_syms;		/* length of symbol table data in file, in bytes */
-  unsigned a_entry;		/* start address */
-  unsigned a_trsize;		/* length of relocation info for text, in bytes */
-  unsigned a_drsize;		/* length of relocation info for data, in bytes */
-};
-
-
-#define N_TRSIZE(a)	((a).a_trsize)
-#define N_DRSIZE(a)	((a).a_drsize)
-#define N_SYMSIZE(a)	((a).a_syms)
-
-#endif
diff --git a/include/asm-h8300/a.out.h b/include/asm-h8300/a.out.h
deleted file mode 100644
index ded780f..0000000
--- a/include/asm-h8300/a.out.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef __H8300_A_OUT_H__
-#define __H8300_A_OUT_H__
-
-struct exec
-{
-  unsigned long a_info;		/* Use macros N_MAGIC, etc for access */
-  unsigned a_text;		/* length of text, in bytes */
-  unsigned a_data;		/* length of data, in bytes */
-  unsigned a_bss;		/* length of uninitialized data area for file, in bytes */
-  unsigned a_syms;		/* length of symbol table data in file, in bytes */
-  unsigned a_entry;		/* start address */
-  unsigned a_trsize;		/* length of relocation info for text, in bytes */
-  unsigned a_drsize;		/* length of relocation info for data, in bytes */
-};
-
-#define N_TRSIZE(a)	((a).a_trsize)
-#define N_DRSIZE(a)	((a).a_drsize)
-#define N_SYMSIZE(a)	((a).a_syms)
-
-#endif /* __H8300_A_OUT_H__ */
diff --git a/include/asm-ia64/a.out.h b/include/asm-ia64/a.out.h
deleted file mode 100644
index 193dcfb..0000000
--- a/include/asm-ia64/a.out.h
+++ /dev/null
@@ -1,32 +0,0 @@
-#ifndef _ASM_IA64_A_OUT_H
-#define _ASM_IA64_A_OUT_H
-
-/*
- * No a.out format has been (or should be) defined so this file is
- * just a dummy that allows us to get binfmt_elf compiled.  It
- * probably would be better to clean up binfmt_elf.c so it does not
- * necessarily depend on there being a.out support.
- *
- * Modified 1998-2002
- *	David Mosberger-Tang <davidm@hpl.hp.com>, Hewlett-Packard Co.
- */
-
-#include <linux/types.h>
-
-struct exec {
-	unsigned long a_info;
-	unsigned long a_text;
-	unsigned long a_data;
-	unsigned long a_bss;
-	unsigned long a_entry;
-};
-
-#define N_TXTADDR(x)	0
-#define N_DATADDR(x)	0
-#define N_BSSADDR(x)	0
-#define N_DRSIZE(x)	0
-#define N_TRSIZE(x)	0
-#define N_SYMSIZE(x)	0
-#define N_TXTOFF(x)	0
-
-#endif /* _ASM_IA64_A_OUT_H */
diff --git a/include/asm-m32r/a.out.h b/include/asm-m32r/a.out.h
deleted file mode 100644
index ab150f5..0000000
--- a/include/asm-m32r/a.out.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef _ASM_M32R_A_OUT_H
-#define _ASM_M32R_A_OUT_H
-
-struct exec
-{
-  unsigned long a_info;		/* Use macros N_MAGIC, etc for access */
-  unsigned a_text;		/* length of text, in bytes */
-  unsigned a_data;		/* length of data, in bytes */
-  unsigned a_bss;		/* length of uninitialized data area for file, in bytes */
-  unsigned a_syms;		/* length of symbol table data in file, in bytes */
-  unsigned a_entry;		/* start address */
-  unsigned a_trsize;		/* length of relocation info for text, in bytes */
-  unsigned a_drsize;		/* length of relocation info for data, in bytes */
-};
-
-#define N_TRSIZE(a)	((a).a_trsize)
-#define N_DRSIZE(a)	((a).a_drsize)
-#define N_SYMSIZE(a)	((a).a_syms)
-
-#endif /* _ASM_M32R_A_OUT_H */
diff --git a/include/asm-m68knommu/a.out.h b/include/asm-m68knommu/a.out.h
deleted file mode 100644
index ce18ef9..0000000
--- a/include/asm-m68knommu/a.out.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <asm-m68k/a.out.h>
diff --git a/include/asm-mips/a.out.h b/include/asm-mips/a.out.h
deleted file mode 100644
index cad8371..0000000
--- a/include/asm-mips/a.out.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * This file is subject to the terms and conditions of the GNU General Public
- * License.  See the file "COPYING" in the main directory of this archive
- * for more details.
- *
- * Copyright (C) 1994 - 1999, 2003 by Ralf Baechle
- */
-#ifndef _ASM_A_OUT_H
-#define _ASM_A_OUT_H
-
-#ifdef __KERNEL__
-
-
-#endif
-
-struct exec
-{
-	unsigned long a_info;	/* Use macros N_MAGIC, etc for access */
-	unsigned a_text;	/* length of text, in bytes */
-	unsigned a_data;	/* length of data, in bytes */
-	unsigned a_bss;		/* length of uninitialized data area for
-				    file, in bytes */
-	unsigned a_syms;	/* length of symbol table data in file,
-				   in bytes */
-	unsigned a_entry;	/* start address */
-	unsigned a_trsize;	/* length of relocation info for text, in
-				    bytes */
-	unsigned a_drsize;	/* length of relocation info for data, in bytes */
-};
-
-#define N_TRSIZE(a)	((a).a_trsize)
-#define N_DRSIZE(a)	((a).a_drsize)
-#define N_SYMSIZE(a)	((a).a_syms)
-
-#endif /* _ASM_A_OUT_H */
diff --git a/include/asm-parisc/a.out.h b/include/asm-parisc/a.out.h
deleted file mode 100644
index eb04e34..0000000
--- a/include/asm-parisc/a.out.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef __PARISC_A_OUT_H__
-#define __PARISC_A_OUT_H__
-
-struct exec
-{
-  unsigned int a_info;		/* Use macros N_MAGIC, etc for access */
-  unsigned a_text;		/* length of text, in bytes */
-  unsigned a_data;		/* length of data, in bytes */
-  unsigned a_bss;		/* length of uninitialized data area for file, in bytes */
-  unsigned a_syms;		/* length of symbol table data in file, in bytes */
-  unsigned a_entry;		/* start address */
-  unsigned a_trsize;		/* length of relocation info for text, in bytes */
-  unsigned a_drsize;		/* length of relocation info for data, in bytes */
-};
-
-#define N_TRSIZE(a)	((a).a_trsize)
-#define N_DRSIZE(a)	((a).a_drsize)
-#define N_SYMSIZE(a)	((a).a_syms)
-
-#endif /* __A_OUT_GNU_H__ */
diff --git a/include/asm-powerpc/a.out.h b/include/asm-powerpc/a.out.h
deleted file mode 100644
index 89cead6..0000000
--- a/include/asm-powerpc/a.out.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef _ASM_POWERPC_A_OUT_H
-#define _ASM_POWERPC_A_OUT_H
-
-struct exec
-{
-	unsigned long a_info;	/* Use macros N_MAGIC, etc for access */
-	unsigned a_text;	/* length of text, in bytes */
-	unsigned a_data;	/* length of data, in bytes */
-	unsigned a_bss;		/* length of uninitialized data area for file, in bytes */
-	unsigned a_syms;	/* length of symbol table data in file, in bytes */
-	unsigned a_entry;	/* start address */
-	unsigned a_trsize;	/* length of relocation info for text, in bytes */
-	unsigned a_drsize;	/* length of relocation info for data, in bytes */
-};
-
-#define N_TRSIZE(a)	((a).a_trsize)
-#define N_DRSIZE(a)	((a).a_drsize)
-#define N_SYMSIZE(a)	((a).a_syms)
-
-#endif /* _ASM_POWERPC_A_OUT_H */
diff --git a/include/asm-sh/a.out.h b/include/asm-sh/a.out.h
deleted file mode 100644
index 1f93130..0000000
--- a/include/asm-sh/a.out.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef __ASM_SH_A_OUT_H
-#define __ASM_SH_A_OUT_H
-
-struct exec
-{
-  unsigned long a_info;		/* Use macros N_MAGIC, etc for access */
-  unsigned a_text;		/* length of text, in bytes */
-  unsigned a_data;		/* length of data, in bytes */
-  unsigned a_bss;		/* length of uninitialized data area for file, in bytes */
-  unsigned a_syms;		/* length of symbol table data in file, in bytes */
-  unsigned a_entry;		/* start address */
-  unsigned a_trsize;		/* length of relocation info for text, in bytes */
-  unsigned a_drsize;		/* length of relocation info for data, in bytes */
-};
-
-#define N_TRSIZE(a)	((a).a_trsize)
-#define N_DRSIZE(a)	((a).a_drsize)
-#define N_SYMSIZE(a)	((a).a_syms)
-
-#endif /* __ASM_SH_A_OUT_H */
diff --git a/include/asm-xtensa/a.out.h b/include/asm-xtensa/a.out.h
deleted file mode 100644
index fdf1370..0000000
--- a/include/asm-xtensa/a.out.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * include/asm-xtensa/a.out.h
- *
- * Dummy a.out file. Xtensa does not support the a.out format, but the kernel
- * seems to depend on it.
- *
- * This file is subject to the terms and conditions of the GNU General Public
- * License.  See the file "COPYING" in the main directory of this archive
- * for more details.
- *
- * Copyright (C) 2001 - 2005 Tensilica Inc.
- */
-
-#ifndef _XTENSA_A_OUT_H
-#define _XTENSA_A_OUT_H
-
-struct exec
-{
-  unsigned long a_info;
-  unsigned a_text;
-  unsigned a_data;
-  unsigned a_bss;
-  unsigned a_syms;
-  unsigned a_entry;
-  unsigned a_trsize;
-  unsigned a_drsize;
-};
-
-#endif /* _XTENSA_A_OUT_H */


^ permalink raw reply related	[flat|nested] 31+ messages in thread

* [PATCH 1/2] Remove redundant CONFIG_ARCH_SUPPORTS_AOUT
  2008-06-17  9:46           ` architectures with ARCH_SUPPORTS_AOUT but no binfmt_aout David Woodhouse
  2008-06-17 10:11             ` Adrian Bunk
  2008-06-27 21:12             ` [2.6 patch] remove unused asm/a.out.h files Adrian Bunk
@ 2008-09-05 16:27             ` David Woodhouse
  2008-09-05 16:28               ` Kyle McMartin
  2008-09-05 16:27             ` [PATCH 2/2] Introduce HAVE_AOUT symbol to remove hard-coded arch list for BINFMT_AOUT David Woodhouse
  3 siblings, 1 reply; 31+ messages in thread
From: David Woodhouse @ 2008-09-05 16:27 UTC (permalink / raw)
  To: linux-kernel, linux-arch

We don't need this any more; arguably we never really did.

Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
---

I think I meant to send these two in for 2.6.27 (since they weren't
suitable during 2.6.26-rc), but I forgot. So I'll queue them up for
2.6.28.

 arch/alpha/Kconfig     |    3 ---
 arch/arm/Kconfig       |    3 ---
 arch/h8300/Kconfig     |    3 ---
 arch/m32r/Kconfig      |    3 ---
 arch/m68k/Kconfig      |    3 ---
 arch/m68knommu/Kconfig |    3 ---
 arch/mn10300/Kconfig   |    3 ---
 arch/parisc/Kconfig    |    3 ---
 arch/um/Kconfig.i386   |    3 ---
 arch/um/Kconfig.x86_64 |    3 ---
 arch/x86/Kconfig       |    5 +----
 fs/Kconfig.binfmt      |    3 +--
 12 files changed, 2 insertions(+), 36 deletions(-)

diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig
index 1bec55d..46f0ddf 100644
--- a/arch/alpha/Kconfig
+++ b/arch/alpha/Kconfig
@@ -68,9 +68,6 @@ config AUTO_IRQ_AFFINITY
 	depends on SMP
 	default y
 
-config ARCH_SUPPORTS_AOUT
-	def_bool y
-
 source "init/Kconfig"
 

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 70dba16..8803c39 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -140,9 +140,6 @@ config GENERIC_CALIBRATE_DELAY
 	bool
 	default y
 
-config ARCH_SUPPORTS_AOUT
-	def_bool y
-
 config ARCH_MAY_HAVE_PC_FDC
 	bool
 
diff --git a/arch/h8300/Kconfig b/arch/h8300/Kconfig
index 396ab05..107cb5b 100644
--- a/arch/h8300/Kconfig
+++ b/arch/h8300/Kconfig
@@ -66,9 +66,6 @@ config TIME_LOW_RES
 	bool
 	default y
 
-config ARCH_SUPPORTS_AOUT
-	def_bool y
-
 config NO_IOPORT
 	def_bool y
 
diff --git a/arch/m32r/Kconfig b/arch/m32r/Kconfig
index a5f864c..8a165cc 100644
--- a/arch/m32r/Kconfig
+++ b/arch/m32r/Kconfig
@@ -36,9 +36,6 @@ config NO_IOPORT
 config NO_DMA
 	def_bool y
 
-config ARCH_SUPPORTS_AOUT
-	def_bool y
-
 config HZ
 	int
 	default 100
diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig
index 8c5e1de..d42b996 100644
--- a/arch/m68k/Kconfig
+++ b/arch/m68k/Kconfig
@@ -53,9 +53,6 @@ config NO_IOPORT
 config NO_DMA
 	def_bool SUN3
 
-config ARCH_SUPPORTS_AOUT
-	def_bool y
-
 config HZ
 	int
 	default 100
diff --git a/arch/m68knommu/Kconfig b/arch/m68knommu/Kconfig
index 2e7515e..0a89983 100644
--- a/arch/m68knommu/Kconfig
+++ b/arch/m68knommu/Kconfig
@@ -73,9 +73,6 @@ config GENERIC_CLOCKEVENTS
 config NO_IOPORT
 	def_bool y
 
-config ARCH_SUPPORTS_AOUT
-	def_bool y
-
 source "init/Kconfig"
 
 menu "Processor type and features"
diff --git a/arch/mn10300/Kconfig b/arch/mn10300/Kconfig
index e856218..dd557c9 100644
--- a/arch/mn10300/Kconfig
+++ b/arch/mn10300/Kconfig
@@ -53,9 +53,6 @@ config QUICKLIST
 config ARCH_HAS_ILOG2_U32
 	def_bool y
 
-config ARCH_SUPPORTS_AOUT
-	def_bool n
-
 # Use the generic interrupt handling code in kernel/irq/
 config GENERIC_HARDIRQS
 	def_bool y
diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig
index a7d4fd3..8313fcc 100644
--- a/arch/parisc/Kconfig
+++ b/arch/parisc/Kconfig
@@ -76,9 +76,6 @@ config IRQ_PER_CPU
 	bool
 	default y
 
-config ARCH_SUPPORTS_AOUT
-	def_bool y
-
 # unless you want to implement ACPI on PA-RISC ... ;-)
 config PM
 	bool
diff --git a/arch/um/Kconfig.i386 b/arch/um/Kconfig.i386
index e09edfa..2a44e5c 100644
--- a/arch/um/Kconfig.i386
+++ b/arch/um/Kconfig.i386
@@ -42,6 +42,3 @@ config ARCH_REUSE_HOST_VSYSCALL_AREA
 config GENERIC_HWEIGHT
 	bool
 	default y
-
-config ARCH_SUPPORTS_AOUT
-	def_bool y
diff --git a/arch/um/Kconfig.x86_64 b/arch/um/Kconfig.x86_64
index 5696e7b..40b3407 100644
--- a/arch/um/Kconfig.x86_64
+++ b/arch/um/Kconfig.x86_64
@@ -37,6 +37,3 @@ config SMP_BROKEN
 config GENERIC_HWEIGHT
 	bool
 	default y
-
-config ARCH_SUPPORTS_AOUT
-	def_bool y
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index ed92864..2e8fa40 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -151,9 +151,6 @@ config AUDIT_ARCH
 	bool
 	default X86_64
 
-config ARCH_SUPPORTS_AOUT
-	def_bool y
-
 config ARCH_SUPPORTS_OPTIMIZED_INLINING
 	def_bool y
 
@@ -1759,7 +1756,7 @@ config IA32_EMULATION
 
 config IA32_AOUT
        tristate "IA32 a.out support"
-       depends on IA32_EMULATION && ARCH_SUPPORTS_AOUT
+       depends on IA32_EMULATION
        help
          Support old a.out binaries in the 32bit emulation.
 
diff --git a/fs/Kconfig.binfmt b/fs/Kconfig.binfmt
index 4a551af..e4df913 100644
--- a/fs/Kconfig.binfmt
+++ b/fs/Kconfig.binfmt
@@ -61,8 +61,7 @@ config BINFMT_SHARED_FLAT
 
 config BINFMT_AOUT
 	tristate "Kernel support for a.out and ECOFF binaries"
-	depends on ARCH_SUPPORTS_AOUT && \
-		(X86_32 || ALPHA || ARM || M68K)
+	depends on (X86_32 || ALPHA || ARM || M68K)
 	---help---
 	  A.out (Assembler.OUTput) is a set of formats for libraries and
 	  executables used in the earliest versions of UNIX.  Linux used
-- 
1.5.5.1

-- 
David Woodhouse                            Open Source Technology Centre
David.Woodhouse@intel.com                              Intel Corporation

^ permalink raw reply related	[flat|nested] 31+ messages in thread

* [PATCH 2/2] Introduce HAVE_AOUT symbol to remove hard-coded arch list for BINFMT_AOUT
  2008-06-17  9:46           ` architectures with ARCH_SUPPORTS_AOUT but no binfmt_aout David Woodhouse
                               ` (2 preceding siblings ...)
  2008-09-05 16:27             ` [PATCH 1/2] Remove redundant CONFIG_ARCH_SUPPORTS_AOUT David Woodhouse
@ 2008-09-05 16:27             ` David Woodhouse
  3 siblings, 0 replies; 31+ messages in thread
From: David Woodhouse @ 2008-09-05 16:27 UTC (permalink / raw)
  To: linux-kernel, linux-arch

HAVE_AOUT doesn't quite do the same thing as the recently removed
ARCH_SUPPORTS_AOUT config option. That was set even on platforms where
binfmt_aout isn't supported, although it's not entirely clear why.

So it's best just to introduce a new symbol, handled consistently with
other similar HAVE_xxx symbols; with a simple 'select' in the arch Kconfig.

Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
---
 arch/alpha/Kconfig   |    1 +
 arch/arm/Kconfig     |    1 +
 arch/m68k/Kconfig    |    1 +
 arch/um/Kconfig.i386 |    5 +++--
 arch/x86/Kconfig     |    1 +
 fs/Kconfig.binfmt    |    5 ++++-
 6 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig
index 46f0ddf..ee35226 100644
--- a/arch/alpha/Kconfig
+++ b/arch/alpha/Kconfig
@@ -5,6 +5,7 @@
 config ALPHA
 	bool
 	default y
+	select HAVE_AOUT
 	select HAVE_IDE
 	select HAVE_OPROFILE
 	help
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 8803c39..2f7ef54 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -8,6 +8,7 @@ mainmenu "Linux Kernel Configuration"
 config ARM
 	bool
 	default y
+	select HAVE_AOUT
 	select HAVE_IDE
 	select RTC_LIB
 	select SYS_SUPPORTS_APM_EMULATION
diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig
index d42b996..41e5bf0 100644
--- a/arch/m68k/Kconfig
+++ b/arch/m68k/Kconfig
@@ -5,6 +5,7 @@
 config M68K
 	bool
 	default y
+	select HAVE_AOUT
 	select HAVE_IDE
 
 config MMU
diff --git a/arch/um/Kconfig.i386 b/arch/um/Kconfig.i386
index 2a44e5c..1f57c11 100644
--- a/arch/um/Kconfig.i386
+++ b/arch/um/Kconfig.i386
@@ -9,8 +9,9 @@ config UML_X86
 	default y
 
 config X86_32
-       bool
-       default y
+	bool
+	default y
+  	select HAVE_AOUT
 
 config RWSEM_XCHGADD_ALGORITHM
 	def_bool y
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 2e8fa40..59b1d65 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -18,6 +18,7 @@ config X86_64
 ### Arch settings
 config X86
 	def_bool y
+	select HAVE_AOUT if X86_32
 	select HAVE_UNSTABLE_SCHED_CLOCK
 	select HAVE_IDE
 	select HAVE_OPROFILE
diff --git a/fs/Kconfig.binfmt b/fs/Kconfig.binfmt
index e4df913..17c9c5e 100644
--- a/fs/Kconfig.binfmt
+++ b/fs/Kconfig.binfmt
@@ -59,9 +59,12 @@ config BINFMT_SHARED_FLAT
 	help
 	  Support FLAT shared libraries
 
+config HAVE_AOUT
+       def_bool n
+
 config BINFMT_AOUT
 	tristate "Kernel support for a.out and ECOFF binaries"
-	depends on (X86_32 || ALPHA || ARM || M68K)
+	depends on HAVE_AOUT
 	---help---
 	  A.out (Assembler.OUTput) is a set of formats for libraries and
 	  executables used in the earliest versions of UNIX.  Linux used
-- 
1.5.5.1
-- 
David Woodhouse                            Open Source Technology Centre
David.Woodhouse@intel.com                              Intel Corporation

^ permalink raw reply related	[flat|nested] 31+ messages in thread

* Re: [PATCH 1/2] Remove redundant CONFIG_ARCH_SUPPORTS_AOUT
  2008-09-05 16:27             ` [PATCH 1/2] Remove redundant CONFIG_ARCH_SUPPORTS_AOUT David Woodhouse
@ 2008-09-05 16:28               ` Kyle McMartin
  2008-09-05 17:17                 ` [PATCH 3/2] Remove asm/a.out.h files for all architectures without a.out support David Woodhouse
  2008-09-05 17:17                 ` [PATCH 1/2] Remove redundant CONFIG_ARCH_SUPPORTS_AOUT David Woodhouse
  0 siblings, 2 replies; 31+ messages in thread
From: Kyle McMartin @ 2008-09-05 16:28 UTC (permalink / raw)
  To: David Woodhouse; +Cc: linux-kernel, linux-arch

On Fri, Sep 05, 2008 at 05:27:01PM +0100, David Woodhouse wrote:
> diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig
> index a7d4fd3..8313fcc 100644
> --- a/arch/parisc/Kconfig
> +++ b/arch/parisc/Kconfig
> @@ -76,9 +76,6 @@ config IRQ_PER_CPU
>  	bool
>  	default y
>  
> -config ARCH_SUPPORTS_AOUT
> -	def_bool y
> -
>  # unless you want to implement ACPI on PA-RISC ... ;-)
>  config PM
>  	bool

This isn't even correct. PA-RISC only supports SOM or ELF...

^ permalink raw reply	[flat|nested] 31+ messages in thread

* [PATCH 3/2] Remove asm/a.out.h files for all architectures without a.out support.
  2008-09-05 16:28               ` Kyle McMartin
@ 2008-09-05 17:17                 ` David Woodhouse
  2008-09-05 17:17                 ` [PATCH 1/2] Remove redundant CONFIG_ARCH_SUPPORTS_AOUT David Woodhouse
  1 sibling, 0 replies; 31+ messages in thread
From: David Woodhouse @ 2008-09-05 17:17 UTC (permalink / raw)
  To: linux-kernel, linux-arch; +Cc: Kyle McMartin, Adrian Bunk

From: Adrian Bunk <bunk@kernel.org>

This patch also includes the required removal of (unused) inclusion of
<asm/a.out.h> <linux/a.out.h>'s in the arch/ code for these
architectures.

[dwmw2: updated for 2.6.27-rc]
Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
---
 arch/avr32/include/asm/a.out.h          |   20 -----------------
 arch/blackfin/include/asm/a.out.h       |   19 ----------------
 arch/cris/arch-v10/boot/tools/build.c   |    1 -
 arch/h8300/include/asm/a.out.h          |   20 -----------------
 arch/h8300/kernel/process.c             |    1 -
 arch/ia64/include/asm/a.out.h           |   32 ----------------------------
 arch/ia64/mm/init.c                     |    1 -
 arch/m68knommu/include/asm/a.out.h      |    1 -
 arch/m68knommu/kernel/process.c         |    1 -
 arch/m68knommu/kernel/traps.c           |    1 -
 arch/mips/kernel/process.c              |    1 -
 arch/mips/kernel/syscall.c              |    1 -
 arch/powerpc/include/asm/a.out.h        |   20 -----------------
 arch/powerpc/kernel/softemu8xx.c        |    1 -
 arch/powerpc/kernel/traps.c             |    1 -
 arch/powerpc/platforms/chrp/setup.c     |    1 -
 arch/powerpc/platforms/maple/setup.c    |    1 -
 arch/powerpc/platforms/powermac/setup.c |    1 -
 arch/powerpc/platforms/pseries/setup.c  |    1 -
 include/asm-cris/a.out.h                |   26 -----------------------
 include/asm-m32r/a.out.h                |   20 -----------------
 include/asm-mips/a.out.h                |   35 -------------------------------
 include/asm-parisc/a.out.h              |   20 -----------------
 include/asm-xtensa/a.out.h              |   29 -------------------------
 24 files changed, 0 insertions(+), 255 deletions(-)
 delete mode 100644 arch/avr32/include/asm/a.out.h
 delete mode 100644 arch/blackfin/include/asm/a.out.h
 delete mode 100644 arch/h8300/include/asm/a.out.h
 delete mode 100644 arch/ia64/include/asm/a.out.h
 delete mode 100644 arch/m68knommu/include/asm/a.out.h
 delete mode 100644 arch/powerpc/include/asm/a.out.h
 delete mode 100644 include/asm-cris/a.out.h
 delete mode 100644 include/asm-m32r/a.out.h
 delete mode 100644 include/asm-mips/a.out.h
 delete mode 100644 include/asm-parisc/a.out.h
 delete mode 100644 include/asm-xtensa/a.out.h

diff --git a/arch/avr32/include/asm/a.out.h b/arch/avr32/include/asm/a.out.h
deleted file mode 100644
index e46375a..0000000
--- a/arch/avr32/include/asm/a.out.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef __ASM_AVR32_A_OUT_H
-#define __ASM_AVR32_A_OUT_H
-
-struct exec
-{
-  unsigned long a_info;		/* Use macros N_MAGIC, etc for access */
-  unsigned a_text;		/* length of text, in bytes */
-  unsigned a_data;		/* length of data, in bytes */
-  unsigned a_bss;		/* length of uninitialized data area for file, in bytes */
-  unsigned a_syms;		/* length of symbol table data in file, in bytes */
-  unsigned a_entry;		/* start address */
-  unsigned a_trsize;		/* length of relocation info for text, in bytes */
-  unsigned a_drsize;		/* length of relocation info for data, in bytes */
-};
-
-#define N_TRSIZE(a)	((a).a_trsize)
-#define N_DRSIZE(a)	((a).a_drsize)
-#define N_SYMSIZE(a)	((a).a_syms)
-
-#endif /* __ASM_AVR32_A_OUT_H */
diff --git a/arch/blackfin/include/asm/a.out.h b/arch/blackfin/include/asm/a.out.h
deleted file mode 100644
index 6c3d652..0000000
--- a/arch/blackfin/include/asm/a.out.h
+++ /dev/null
@@ -1,19 +0,0 @@
-#ifndef __BFIN_A_OUT_H__
-#define __BFIN_A_OUT_H__
-
-struct exec {
-	unsigned long a_info;	/* Use macros N_MAGIC, etc for access */
-	unsigned a_text;	/* length of text, in bytes */
-	unsigned a_data;	/* length of data, in bytes */
-	unsigned a_bss;		/* length of uninitialized data area for file, in bytes */
-	unsigned a_syms;	/* length of symbol table data in file, in bytes */
-	unsigned a_entry;	/* start address */
-	unsigned a_trsize;	/* length of relocation info for text, in bytes */
-	unsigned a_drsize;	/* length of relocation info for data, in bytes */
-};
-
-#define N_TRSIZE(a)	((a).a_trsize)
-#define N_DRSIZE(a)	((a).a_drsize)
-#define N_SYMSIZE(a)	((a).a_syms)
-
-#endif				/* __BFIN_A_OUT_H__ */
diff --git a/arch/cris/arch-v10/boot/tools/build.c b/arch/cris/arch-v10/boot/tools/build.c
index 2f9bbb2..c8adef3 100644
--- a/arch/cris/arch-v10/boot/tools/build.c
+++ b/arch/cris/arch-v10/boot/tools/build.c
@@ -30,7 +30,6 @@
 #include <sys/sysmacros.h>
 #include <unistd.h>	/* contains read/write */
 #include <fcntl.h>
-#include <linux/a.out.h>
 #include <errno.h>
 
 #define MINIX_HEADER 32
diff --git a/arch/h8300/include/asm/a.out.h b/arch/h8300/include/asm/a.out.h
deleted file mode 100644
index ded780f..0000000
--- a/arch/h8300/include/asm/a.out.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef __H8300_A_OUT_H__
-#define __H8300_A_OUT_H__
-
-struct exec
-{
-  unsigned long a_info;		/* Use macros N_MAGIC, etc for access */
-  unsigned a_text;		/* length of text, in bytes */
-  unsigned a_data;		/* length of data, in bytes */
-  unsigned a_bss;		/* length of uninitialized data area for file, in bytes */
-  unsigned a_syms;		/* length of symbol table data in file, in bytes */
-  unsigned a_entry;		/* start address */
-  unsigned a_trsize;		/* length of relocation info for text, in bytes */
-  unsigned a_drsize;		/* length of relocation info for data, in bytes */
-};
-
-#define N_TRSIZE(a)	((a).a_trsize)
-#define N_DRSIZE(a)	((a).a_drsize)
-#define N_SYMSIZE(a)	((a).a_syms)
-
-#endif /* __H8300_A_OUT_H__ */
diff --git a/arch/h8300/kernel/process.c b/arch/h8300/kernel/process.c
index dfbe7ab..a8ef654 100644
--- a/arch/h8300/kernel/process.c
+++ b/arch/h8300/kernel/process.c
@@ -34,7 +34,6 @@
 #include <linux/ptrace.h>
 #include <linux/slab.h>
 #include <linux/user.h>
-#include <linux/a.out.h>
 #include <linux/interrupt.h>
 #include <linux/reboot.h>
 #include <linux/fs.h>
diff --git a/arch/ia64/include/asm/a.out.h b/arch/ia64/include/asm/a.out.h
deleted file mode 100644
index 193dcfb..0000000
--- a/arch/ia64/include/asm/a.out.h
+++ /dev/null
@@ -1,32 +0,0 @@
-#ifndef _ASM_IA64_A_OUT_H
-#define _ASM_IA64_A_OUT_H
-
-/*
- * No a.out format has been (or should be) defined so this file is
- * just a dummy that allows us to get binfmt_elf compiled.  It
- * probably would be better to clean up binfmt_elf.c so it does not
- * necessarily depend on there being a.out support.
- *
- * Modified 1998-2002
- *	David Mosberger-Tang <davidm@hpl.hp.com>, Hewlett-Packard Co.
- */
-
-#include <linux/types.h>
-
-struct exec {
-	unsigned long a_info;
-	unsigned long a_text;
-	unsigned long a_data;
-	unsigned long a_bss;
-	unsigned long a_entry;
-};
-
-#define N_TXTADDR(x)	0
-#define N_DATADDR(x)	0
-#define N_BSSADDR(x)	0
-#define N_DRSIZE(x)	0
-#define N_TRSIZE(x)	0
-#define N_SYMSIZE(x)	0
-#define N_TXTOFF(x)	0
-
-#endif /* _ASM_IA64_A_OUT_H */
diff --git a/arch/ia64/mm/init.c b/arch/ia64/mm/init.c
index 200100e..f482a90 100644
--- a/arch/ia64/mm/init.c
+++ b/arch/ia64/mm/init.c
@@ -21,7 +21,6 @@
 #include <linux/bitops.h>
 #include <linux/kexec.h>
 
-#include <asm/a.out.h>
 #include <asm/dma.h>
 #include <asm/ia32.h>
 #include <asm/io.h>
diff --git a/arch/m68knommu/include/asm/a.out.h b/arch/m68knommu/include/asm/a.out.h
deleted file mode 100644
index ce18ef9..0000000
--- a/arch/m68knommu/include/asm/a.out.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <asm-m68k/a.out.h>
diff --git a/arch/m68knommu/kernel/process.c b/arch/m68knommu/kernel/process.c
index 47502d5..3f2d774 100644
--- a/arch/m68knommu/kernel/process.c
+++ b/arch/m68knommu/kernel/process.c
@@ -25,7 +25,6 @@
 #include <linux/ptrace.h>
 #include <linux/slab.h>
 #include <linux/user.h>
-#include <linux/a.out.h>
 #include <linux/interrupt.h>
 #include <linux/reboot.h>
 #include <linux/fs.h>
diff --git a/arch/m68knommu/kernel/traps.c b/arch/m68knommu/kernel/traps.c
index 46f8f9d..5d5d56b 100644
--- a/arch/m68knommu/kernel/traps.c
+++ b/arch/m68knommu/kernel/traps.c
@@ -22,7 +22,6 @@
 #include <linux/mm.h>
 #include <linux/module.h>
 #include <linux/types.h>
-#include <linux/a.out.h>
 #include <linux/user.h>
 #include <linux/string.h>
 #include <linux/linkage.h>
diff --git a/arch/mips/kernel/process.c b/arch/mips/kernel/process.c
index b16facd..17edc69 100644
--- a/arch/mips/kernel/process.c
+++ b/arch/mips/kernel/process.c
@@ -22,7 +22,6 @@
 #include <linux/personality.h>
 #include <linux/sys.h>
 #include <linux/user.h>
-#include <linux/a.out.h>
 #include <linux/init.h>
 #include <linux/completion.h>
 #include <linux/kallsyms.h>
diff --git a/arch/mips/kernel/syscall.c b/arch/mips/kernel/syscall.c
index 343015a..37970d9 100644
--- a/arch/mips/kernel/syscall.c
+++ b/arch/mips/kernel/syscall.c
@@ -7,7 +7,6 @@
  * Copyright (C) 1999, 2000 Silicon Graphics, Inc.
  * Copyright (C) 2001 MIPS Technologies, Inc.
  */
-#include <linux/a.out.h>
 #include <linux/capability.h>
 #include <linux/errno.h>
 #include <linux/linkage.h>
diff --git a/arch/powerpc/include/asm/a.out.h b/arch/powerpc/include/asm/a.out.h
deleted file mode 100644
index 89cead6..0000000
--- a/arch/powerpc/include/asm/a.out.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef _ASM_POWERPC_A_OUT_H
-#define _ASM_POWERPC_A_OUT_H
-
-struct exec
-{
-	unsigned long a_info;	/* Use macros N_MAGIC, etc for access */
-	unsigned a_text;	/* length of text, in bytes */
-	unsigned a_data;	/* length of data, in bytes */
-	unsigned a_bss;		/* length of uninitialized data area for file, in bytes */
-	unsigned a_syms;	/* length of symbol table data in file, in bytes */
-	unsigned a_entry;	/* start address */
-	unsigned a_trsize;	/* length of relocation info for text, in bytes */
-	unsigned a_drsize;	/* length of relocation info for data, in bytes */
-};
-
-#define N_TRSIZE(a)	((a).a_trsize)
-#define N_DRSIZE(a)	((a).a_drsize)
-#define N_SYMSIZE(a)	((a).a_syms)
-
-#endif /* _ASM_POWERPC_A_OUT_H */
diff --git a/arch/powerpc/kernel/softemu8xx.c b/arch/powerpc/kernel/softemu8xx.c
index c906c4b..23c8c5e 100644
--- a/arch/powerpc/kernel/softemu8xx.c
+++ b/arch/powerpc/kernel/softemu8xx.c
@@ -23,7 +23,6 @@
 #include <linux/ptrace.h>
 #include <linux/slab.h>
 #include <linux/user.h>
-#include <linux/a.out.h>
 #include <linux/interrupt.h>
 
 #include <asm/pgtable.h>
diff --git a/arch/powerpc/kernel/traps.c b/arch/powerpc/kernel/traps.c
index 81ccb8d..f5def6c 100644
--- a/arch/powerpc/kernel/traps.c
+++ b/arch/powerpc/kernel/traps.c
@@ -23,7 +23,6 @@
 #include <linux/ptrace.h>
 #include <linux/slab.h>
 #include <linux/user.h>
-#include <linux/a.out.h>
 #include <linux/interrupt.h>
 #include <linux/init.h>
 #include <linux/module.h>
diff --git a/arch/powerpc/platforms/chrp/setup.c b/arch/powerpc/platforms/chrp/setup.c
index 1ba7ce5..272d79a 100644
--- a/arch/powerpc/platforms/chrp/setup.c
+++ b/arch/powerpc/platforms/chrp/setup.c
@@ -17,7 +17,6 @@
 #include <linux/ptrace.h>
 #include <linux/slab.h>
 #include <linux/user.h>
-#include <linux/a.out.h>
 #include <linux/tty.h>
 #include <linux/major.h>
 #include <linux/interrupt.h>
diff --git a/arch/powerpc/platforms/maple/setup.c b/arch/powerpc/platforms/maple/setup.c
index 3647147..d4c61c3 100644
--- a/arch/powerpc/platforms/maple/setup.c
+++ b/arch/powerpc/platforms/maple/setup.c
@@ -23,7 +23,6 @@
 #include <linux/ptrace.h>
 #include <linux/slab.h>
 #include <linux/user.h>
-#include <linux/a.out.h>
 #include <linux/tty.h>
 #include <linux/string.h>
 #include <linux/delay.h>
diff --git a/arch/powerpc/platforms/powermac/setup.c b/arch/powerpc/platforms/powermac/setup.c
index 88ccf3a..82c14d2 100644
--- a/arch/powerpc/platforms/powermac/setup.c
+++ b/arch/powerpc/platforms/powermac/setup.c
@@ -33,7 +33,6 @@
 #include <linux/ptrace.h>
 #include <linux/slab.h>
 #include <linux/user.h>
-#include <linux/a.out.h>
 #include <linux/tty.h>
 #include <linux/string.h>
 #include <linux/delay.h>
diff --git a/arch/powerpc/platforms/pseries/setup.c b/arch/powerpc/platforms/pseries/setup.c
index 7b01d67..ec34170 100644
--- a/arch/powerpc/platforms/pseries/setup.c
+++ b/arch/powerpc/platforms/pseries/setup.c
@@ -25,7 +25,6 @@
 #include <linux/unistd.h>
 #include <linux/slab.h>
 #include <linux/user.h>
-#include <linux/a.out.h>
 #include <linux/tty.h>
 #include <linux/major.h>
 #include <linux/interrupt.h>
diff --git a/include/asm-cris/a.out.h b/include/asm-cris/a.out.h
deleted file mode 100644
index c82e9f9..0000000
--- a/include/asm-cris/a.out.h
+++ /dev/null
@@ -1,26 +0,0 @@
-#ifndef __CRIS_A_OUT_H__
-#define __CRIS_A_OUT_H__
-
-/* we don't support a.out binaries on Linux/CRIS anyway, so this is
- * not really used but still needed because binfmt_elf.c for some reason
- * wants to know about a.out even if there is no interpreter available...
- */
-
-struct exec
-{
-  unsigned long a_info;		/* Use macros N_MAGIC, etc for access */
-  unsigned a_text;		/* length of text, in bytes */
-  unsigned a_data;		/* length of data, in bytes */
-  unsigned a_bss;		/* length of uninitialized data area for file, in bytes */
-  unsigned a_syms;		/* length of symbol table data in file, in bytes */
-  unsigned a_entry;		/* start address */
-  unsigned a_trsize;		/* length of relocation info for text, in bytes */
-  unsigned a_drsize;		/* length of relocation info for data, in bytes */
-};
-
-
-#define N_TRSIZE(a)	((a).a_trsize)
-#define N_DRSIZE(a)	((a).a_drsize)
-#define N_SYMSIZE(a)	((a).a_syms)
-
-#endif
diff --git a/include/asm-m32r/a.out.h b/include/asm-m32r/a.out.h
deleted file mode 100644
index ab150f5..0000000
--- a/include/asm-m32r/a.out.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef _ASM_M32R_A_OUT_H
-#define _ASM_M32R_A_OUT_H
-
-struct exec
-{
-  unsigned long a_info;		/* Use macros N_MAGIC, etc for access */
-  unsigned a_text;		/* length of text, in bytes */
-  unsigned a_data;		/* length of data, in bytes */
-  unsigned a_bss;		/* length of uninitialized data area for file, in bytes */
-  unsigned a_syms;		/* length of symbol table data in file, in bytes */
-  unsigned a_entry;		/* start address */
-  unsigned a_trsize;		/* length of relocation info for text, in bytes */
-  unsigned a_drsize;		/* length of relocation info for data, in bytes */
-};
-
-#define N_TRSIZE(a)	((a).a_trsize)
-#define N_DRSIZE(a)	((a).a_drsize)
-#define N_SYMSIZE(a)	((a).a_syms)
-
-#endif /* _ASM_M32R_A_OUT_H */
diff --git a/include/asm-mips/a.out.h b/include/asm-mips/a.out.h
deleted file mode 100644
index cad8371..0000000
--- a/include/asm-mips/a.out.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * This file is subject to the terms and conditions of the GNU General Public
- * License.  See the file "COPYING" in the main directory of this archive
- * for more details.
- *
- * Copyright (C) 1994 - 1999, 2003 by Ralf Baechle
- */
-#ifndef _ASM_A_OUT_H
-#define _ASM_A_OUT_H
-
-#ifdef __KERNEL__
-
-
-#endif
-
-struct exec
-{
-	unsigned long a_info;	/* Use macros N_MAGIC, etc for access */
-	unsigned a_text;	/* length of text, in bytes */
-	unsigned a_data;	/* length of data, in bytes */
-	unsigned a_bss;		/* length of uninitialized data area for
-				    file, in bytes */
-	unsigned a_syms;	/* length of symbol table data in file,
-				   in bytes */
-	unsigned a_entry;	/* start address */
-	unsigned a_trsize;	/* length of relocation info for text, in
-				    bytes */
-	unsigned a_drsize;	/* length of relocation info for data, in bytes */
-};
-
-#define N_TRSIZE(a)	((a).a_trsize)
-#define N_DRSIZE(a)	((a).a_drsize)
-#define N_SYMSIZE(a)	((a).a_syms)
-
-#endif /* _ASM_A_OUT_H */
diff --git a/include/asm-parisc/a.out.h b/include/asm-parisc/a.out.h
deleted file mode 100644
index eb04e34..0000000
--- a/include/asm-parisc/a.out.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef __PARISC_A_OUT_H__
-#define __PARISC_A_OUT_H__
-
-struct exec
-{
-  unsigned int a_info;		/* Use macros N_MAGIC, etc for access */
-  unsigned a_text;		/* length of text, in bytes */
-  unsigned a_data;		/* length of data, in bytes */
-  unsigned a_bss;		/* length of uninitialized data area for file, in bytes */
-  unsigned a_syms;		/* length of symbol table data in file, in bytes */
-  unsigned a_entry;		/* start address */
-  unsigned a_trsize;		/* length of relocation info for text, in bytes */
-  unsigned a_drsize;		/* length of relocation info for data, in bytes */
-};
-
-#define N_TRSIZE(a)	((a).a_trsize)
-#define N_DRSIZE(a)	((a).a_drsize)
-#define N_SYMSIZE(a)	((a).a_syms)
-
-#endif /* __A_OUT_GNU_H__ */
diff --git a/include/asm-xtensa/a.out.h b/include/asm-xtensa/a.out.h
deleted file mode 100644
index fdf1370..0000000
--- a/include/asm-xtensa/a.out.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * include/asm-xtensa/a.out.h
- *
- * Dummy a.out file. Xtensa does not support the a.out format, but the kernel
- * seems to depend on it.
- *
- * This file is subject to the terms and conditions of the GNU General Public
- * License.  See the file "COPYING" in the main directory of this archive
- * for more details.
- *
- * Copyright (C) 2001 - 2005 Tensilica Inc.
- */
-
-#ifndef _XTENSA_A_OUT_H
-#define _XTENSA_A_OUT_H
-
-struct exec
-{
-  unsigned long a_info;
-  unsigned a_text;
-  unsigned a_data;
-  unsigned a_bss;
-  unsigned a_syms;
-  unsigned a_entry;
-  unsigned a_trsize;
-  unsigned a_drsize;
-};
-
-#endif /* _XTENSA_A_OUT_H */
-- 
1.5.5.1
-- 
David Woodhouse                            Open Source Technology Centre
David.Woodhouse@intel.com                              Intel Corporation

^ permalink raw reply related	[flat|nested] 31+ messages in thread

* Re: [PATCH 1/2] Remove redundant CONFIG_ARCH_SUPPORTS_AOUT
  2008-09-05 16:28               ` Kyle McMartin
  2008-09-05 17:17                 ` [PATCH 3/2] Remove asm/a.out.h files for all architectures without a.out support David Woodhouse
@ 2008-09-05 17:17                 ` David Woodhouse
  1 sibling, 0 replies; 31+ messages in thread
From: David Woodhouse @ 2008-09-05 17:17 UTC (permalink / raw)
  To: Kyle McMartin; +Cc: linux-kernel, linux-arch, bunk

On Fri, 2008-09-05 at 12:28 -0400, Kyle McMartin wrote:
> On Fri, Sep 05, 2008 at 05:27:01PM +0100, David Woodhouse wrote:
> > diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig
> > index a7d4fd3..8313fcc 100644
> > --- a/arch/parisc/Kconfig
> > +++ b/arch/parisc/Kconfig
> > @@ -76,9 +76,6 @@ config IRQ_PER_CPU
> >  	bool
> >  	default y
> >  
> > -config ARCH_SUPPORTS_AOUT
> > -	def_bool y
> > -
> >  # unless you want to implement ACPI on PA-RISC ... ;-)
> >  config PM
> >  	bool
> 
> This isn't even correct. PA-RISC only supports SOM or ELF...

Yeah, ARCH_SUPPORTS_AOUT was a bit b0rked from the beginning.

Hm, that reminds me -- I was supposed to pick up Adrian's patch to
remove a bunch of pointless <asm/a.out.h> files... now added to my tree
and sent.

-- 
David Woodhouse                            Open Source Technology Centre
David.Woodhouse@intel.com                              Intel Corporation

^ permalink raw reply	[flat|nested] 31+ messages in thread

end of thread, other threads:[~2008-09-05 17:17 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <1213565555.26255.522.camel@pmac.infradead.org>
     [not found] ` <1213604973-7073-1-git-send-email-jacmet@sunsite.dk>
     [not found]   ` <1213617663.26255.708.camel@pmac.infradead.org>
     [not found]     ` <20080616121727.GB10854@cs181133002.pp.htv.fi>
     [not found]       ` <1213619214.26255.721.camel@pmac.infradead.org>
     [not found]         ` <20080617084235.GA20169@cs181133002.pp.htv.fi>
2008-06-17  9:46           ` architectures with ARCH_SUPPORTS_AOUT but no binfmt_aout David Woodhouse
2008-06-17 10:11             ` Adrian Bunk
2008-06-17 10:11               ` Adrian Bunk
2008-06-17 10:18               ` David Woodhouse
2008-06-17 10:18                 ` David Woodhouse
2008-06-17 10:24                 ` Adrian Bunk
2008-06-17 10:24                   ` Adrian Bunk
2008-06-17 11:28               ` David Woodhouse
2008-06-17 11:28                 ` David Woodhouse
2008-06-17 12:23                 ` Sam Ravnborg
2008-06-17 12:23                   ` Sam Ravnborg
2008-06-17 12:29                   ` David Woodhouse
2008-06-17 12:37                     ` Sam Ravnborg
2008-06-17 12:37                       ` Sam Ravnborg
2008-06-17 12:54                       ` David Woodhouse
2008-06-17 12:54                         ` David Woodhouse
2008-06-22  9:49                 ` Adrian Bunk
2008-06-22  9:49                   ` Adrian Bunk
2008-06-22 11:40                   ` David Woodhouse
2008-06-22 11:40                     ` David Woodhouse
2008-06-22 23:53                     ` David McCullough
2008-06-24 11:46                     ` Adrian Bunk
2008-06-24 11:46                       ` Adrian Bunk
2008-06-27 16:27                       ` Jeff Dike
2008-06-27 21:12             ` [2.6 patch] remove unused asm/a.out.h files Adrian Bunk
2008-06-27 21:12               ` Adrian Bunk
2008-09-05 16:27             ` [PATCH 1/2] Remove redundant CONFIG_ARCH_SUPPORTS_AOUT David Woodhouse
2008-09-05 16:28               ` Kyle McMartin
2008-09-05 17:17                 ` [PATCH 3/2] Remove asm/a.out.h files for all architectures without a.out support David Woodhouse
2008-09-05 17:17                 ` [PATCH 1/2] Remove redundant CONFIG_ARCH_SUPPORTS_AOUT David Woodhouse
2008-09-05 16:27             ` [PATCH 2/2] Introduce HAVE_AOUT symbol to remove hard-coded arch list for BINFMT_AOUT David Woodhouse

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox