(99% of the patch is just adding the CONFIG_{ELF,AOUT}_CORE to all the
arch/*/defconfig and arch/*/config.in)
Paul.
--
main(){long i,f,m=19248;f=open("/dev/tty",0);if(!fork())for(;;i++,ioctl(f,m,
(1<<23)+(rand()&2047)),ioctl(f,m+2,rand()%8),sleep(1));} /* Linux Console */
diff -ur linux-2199/arch/alpha/config.in linux/arch/alpha/config.in
--- linux-2199/arch/alpha/config.in Fri May 1 15:47:49 1998
+++ linux/arch/alpha/config.in Fri May 1 15:50:44 1998
@@ -186,7 +186,13 @@
bool 'System V IPC' CONFIG_SYSVIPC
bool 'Sysctl support' CONFIG_SYSCTL
tristate 'Kernel support for a.out (ECOFF) binaries' CONFIG_BINFMT_AOUT
+if [ "$CONFIG_BINFMT_AOUT" != "n" ]; then
+ bool 'Include a.out core dump support' CONFIG_AOUT_CORE
+fi
tristate 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF
+if [ "$CONFIG_BINFMT_ELF" != "n" ]; then
+ bool 'Include ELF core dump support' CONFIG_ELF_CORE
+fi
tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC
if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
tristate 'Kernel support for JAVA binaries (obsolete)' CONFIG_BINFMT_JAVA
diff -ur linux-2199/arch/alpha/defconfig linux/arch/alpha/defconfig
--- linux-2199/arch/alpha/defconfig Mon Mar 30 18:21:39 1998
+++ linux/arch/alpha/defconfig Fri May 1 15:50:44 1998
@@ -53,7 +53,9 @@
CONFIG_SYSVIPC=y
CONFIG_SYSCTL=y
CONFIG_BINFMT_AOUT=y
+CONFIG_AOUT_CORE=y
CONFIG_BINFMT_ELF=y
+CONFIG_ELF_CORE=y
# CONFIG_BINFMT_MISC is not set
CONFIG_BINFMT_EM86=y
# CONFIG_PARPORT is not set
diff -ur linux-2199/arch/arm/config.in linux/arch/arm/config.in
--- linux-2199/arch/arm/config.in Mon Apr 13 04:42:15 1998
+++ linux/arch/arm/config.in Fri May 1 15:58:25 1998
@@ -65,7 +65,13 @@
#bool 'BSD Process Accounting' CONFIG_BSD_PROCESS_ACCT
bool 'Sysctl support' CONFIG_SYSCTL
tristate 'Kernel support for a.out binaries' CONFIG_BINFMT_AOUT
+if [ "$CONFIG_BINFMT_AOUT" != "n" ]; then
+ bool 'Include a.out core dump support' CONFIG_AOUT_CORE
+fi
tristate 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF
+if [ "$CONFIG_BINFMT_ELF" != "n" ]; then
+ bool 'Include ELF core dump support' CONFIG_ELF_CORE
+fi
if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
# tristate 'Kernel support for JAVA binaries' CONFIG_BINFMT_JAVA
define_bool CONFIG_BINFMT_JAVA n
diff -ur linux-2199/arch/arm/defconfig linux/arch/arm/defconfig
--- linux-2199/arch/arm/defconfig Mon Apr 13 04:42:15 1998
+++ linux/arch/arm/defconfig Fri May 1 15:50:44 1998
@@ -36,7 +36,9 @@
CONFIG_SYSVIPC=y
CONFIG_SYSCTL=y
CONFIG_BINFMT_AOUT=y
+CONFIG_AOUT_CORE=y
CONFIG_BINFMT_ELF=m
+CONFIG_ELF_CORE=y
# CONFIG_BINFMT_JAVA is not set
CONFIG_PARPORT=y
CONFIG_PARPORT_PC=y
diff -ur linux-2199/arch/i386/config.in linux/arch/i386/config.in
--- linux-2199/arch/i386/config.in Fri May 1 15:47:49 1998
+++ linux/arch/i386/config.in Fri May 1 15:50:44 1998
@@ -50,7 +50,13 @@
bool 'BSD Process Accounting' CONFIG_BSD_PROCESS_ACCT
bool 'Sysctl support' CONFIG_SYSCTL
tristate 'Kernel support for a.out binaries' CONFIG_BINFMT_AOUT
+if [ "$CONFIG_BINFMT_AOUT" != "n" ]; then
+ bool 'Include a.out core dump support' CONFIG_AOUT_CORE
+fi
tristate 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF
+if [ "$CONFIG_BINFMT_ELF" != "n" ]; then
+ bool 'Include ELF core dump support' CONFIG_ELF_CORE
+fi
tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC
if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
tristate 'Kernel support for JAVA binaries (obsolete)' CONFIG_BINFMT_JAVA
diff -ur linux-2199/arch/i386/defconfig linux/arch/i386/defconfig
--- linux-2199/arch/i386/defconfig Fri May 1 15:47:49 1998
+++ linux/arch/i386/defconfig Fri May 1 15:50:44 1998
@@ -37,7 +37,9 @@
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_SYSCTL=y
CONFIG_BINFMT_AOUT=y
+CONFIG_AOUT_CORE=y
CONFIG_BINFMT_ELF=y
+CONFIG_ELF_CORE=y
CONFIG_BINFMT_MISC=y
# CONFIG_VIDEO_SELECT is not set
# CONFIG_PARPORT is not set
diff -ur linux-2199/arch/m68k/config.in linux/arch/m68k/config.in
--- linux-2199/arch/m68k/config.in Mon Mar 30 06:16:12 1998
+++ linux/arch/m68k/config.in Fri May 1 15:57:36 1998
@@ -68,7 +68,13 @@
bool 'BSD Process Accounting' CONFIG_BSD_PROCESS_ACCT
bool 'Sysctl support' CONFIG_SYSCTL
tristate 'Kernel support for a.out binaries' CONFIG_BINFMT_AOUT
+if [ "$CONFIG_BINFMT_AOUT" != "n" ]; then
+ bool 'Include a.out core dump support' CONFIG_AOUT_CORE
+fi
tristate 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF
+if [ "$CONFIG_BINFMT_ELF" != "n" ]; then
+ bool 'Include ELF core dump support' CONFIG_ELF_CORE
+fi
tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC
if [ "$CONFIG_AMIGA" = "y" ]; then
diff -ur linux-2199/arch/m68k/defconfig linux/arch/m68k/defconfig
--- linux-2199/arch/m68k/defconfig Wed Mar 11 09:43:13 1998
+++ linux/arch/m68k/defconfig Fri May 1 15:50:44 1998
@@ -40,7 +40,9 @@
CONFIG_SYSVIPC=y
CONFIG_SYSCTL=y
CONFIG_BINFMT_AOUT=y
+CONFIG_AOUT_CORE=y
CONFIG_BINFMT_ELF=y
+CONFIG_ELF_CORE=y
CONFIG_ZORRO=y
# CONFIG_AMIGA_GSP is not set
# CONFIG_GSP_RESOLVER is not set
diff -ur linux-2199/arch/mips/config.in linux/arch/mips/config.in
--- linux-2199/arch/mips/config.in Wed Mar 11 09:43:13 1998
+++ linux/arch/mips/config.in Fri May 1 16:00:09 1998
@@ -87,7 +87,9 @@
define_bool CONFIG_FORWARD_KEYBOARD y
fi
define_bool CONFIG_BINFMT_AOUT n
+# bool 'Include a.out core dump support' CONFIG_AOUT_CORE
define_bool CONFIG_BINFMT_ELF y
+bool 'Include ELF core dump support' CONFIG_ELF_CORE
tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC
if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC
diff -ur linux-2199/arch/mips/defconfig linux/arch/mips/defconfig
--- linux-2199/arch/mips/defconfig Thu Dec 11 05:31:09 1997
+++ linux/arch/mips/defconfig Fri May 1 15:50:44 1998
@@ -36,6 +36,7 @@
CONFIG_CPU_LITTLE_ENDIAN=y
# CONFIG_BINFMT_AOUT is not set
CONFIG_BINFMT_ELF=y
+CONFIG_ELF_CORE=y
# CONFIG_BINFMT_MISC is not set
CONFIG_NET=y
CONFIG_SYSVIPC=y
diff -ur linux-2199/arch/ppc/config.in linux/arch/ppc/config.in
--- linux-2199/arch/ppc/config.in Fri May 1 15:47:50 1998
+++ linux/arch/ppc/config.in Fri May 1 15:50:44 1998
@@ -61,6 +61,7 @@
# only elf supported, a.out is not -- Cort
define_bool CONFIG_BINFMT_ELF y
+bool 'Include ELF core dump support' CONFIG_ELF_CORE
define_bool CONFIG_KERNEL_ELF y
tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC
tristate 'Kernel support for JAVA binaries (obsolete)' CONFIG_BINFMT_JAVA
diff -ur linux-2199/arch/ppc/defconfig linux/arch/ppc/defconfig
--- linux-2199/arch/ppc/defconfig Mon Apr 27 23:54:42 1998
+++ linux/arch/ppc/defconfig Fri May 1 15:50:45 1998
@@ -27,6 +27,7 @@
CONFIG_SYSVIPC=y
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_BINFMT_ELF=y
+CONFIG_ELF_CORE=y
CONFIG_KERNEL_ELF=y
# CONFIG_BINFMT_MISC is not set
# CONFIG_BINFMT_JAVA is not set
diff -ur linux-2199/arch/sparc/config.in linux/arch/sparc/config.in
--- linux-2199/arch/sparc/config.in Mon Apr 27 23:54:43 1998
+++ linux/arch/sparc/config.in Fri May 1 15:50:45 1998
@@ -62,7 +62,13 @@
bool 'BSD Process Accounting' CONFIG_BSD_PROCESS_ACCT
bool 'Sysctl support' CONFIG_SYSCTL
tristate 'Kernel support for a.out binaries' CONFIG_BINFMT_AOUT
+if [ "$CONFIG_BINFMT_AOUT" != "n" ]; then
+ bool 'Include a.out core dump support' CONFIG_AOUT_CORE
+fi
tristate 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF
+if [ "$CONFIG_BINFMT_ELF" != "n" ]; then
+ bool 'Include ELF core dump support' CONFIG_ELF_CORE
+fi
tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC
if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
tristate 'Kernel support for JAVA binaries (obsolete)' CONFIG_BINFMT_JAVA
diff -ur linux-2199/arch/sparc/defconfig linux/arch/sparc/defconfig
--- linux-2199/arch/sparc/defconfig Mon Apr 27 23:54:43 1998
+++ linux/arch/sparc/defconfig Fri May 1 15:50:45 1998
@@ -66,7 +66,9 @@
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_SYSCTL=y
CONFIG_BINFMT_AOUT=y
+CONFIG_AOUT_CORE=y
CONFIG_BINFMT_ELF=y
+CONFIG_ELF_CORE=y
CONFIG_BINFMT_MISC=y
CONFIG_BINFMT_JAVA=m
diff -ur linux-2199/arch/sparc64/config.in linux/arch/sparc64/config.in
--- linux-2199/arch/sparc64/config.in Mon Apr 27 23:54:45 1998
+++ linux/arch/sparc64/config.in Fri May 1 15:50:45 1998
@@ -56,9 +56,15 @@
bool 'Sysctl support' CONFIG_SYSCTL
bool 'Kernel support for Linux/Sparc 32bit binary compatibility' CONFIG_SPARC32_COMPAT
tristate 'Kernel support for 64-bit ELF binaries' CONFIG_BINFMT_ELF
+if [ "$CONFIG_BINFMT_ELF" != "n" ]; then
+ bool 'Include ELF core dump support' CONFIG_ELF_CORE
+fi
if [ "$CONFIG_SPARC32_COMPAT" != "n" ]; then
tristate 'Kernel support for 32-bit ELF binaries' CONFIG_BINFMT_ELF32
bool 'Kernel support for 32-bit (ie. SunOS) a.out binaries' CONFIG_BINFMT_AOUT32
+fi
+if [ "$CONFIG_BINFMT_AOUT32" != "n" ]; then
+ bool 'Include a.out core dump support' CONFIG_AOUT_CORE
fi
if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC
diff -ur linux-2199/fs/binfmt_aout.c linux/fs/binfmt_aout.c
--- linux-2199/fs/binfmt_aout.c Mon Apr 27 23:54:59 1998
+++ linux/fs/binfmt_aout.c Fri May 1 15:51:43 1998
@@ -6,6 +6,7 @@
#include <linux/module.h>
+#include <linux/config.h>
#include <linux/sched.h>
#include <linux/kernel.h>
#include <linux/mm.h>
@@ -31,7 +32,11 @@
static int load_aout_binary(struct linux_binprm *, struct pt_regs * regs);
static int load_aout_library(int fd);
+#ifdef CONFIG_AOUT_CORE
static int aout_core_dump(long signr, struct pt_regs * regs);
+#else
+#define aout_core_dump NULL
+#endif
extern void dump_thread(struct pt_regs *, struct user *);
@@ -54,6 +59,8 @@
MAP_FIXED | MAP_PRIVATE, 0);
}
+#ifdef CONFIG_AOUT_CORE
+
/*
* These are the only things you should do on a core-file: use only these
* macros to write out all the necessary info.
@@ -230,6 +237,7 @@
MOD_DEC_USE_COUNT;
return retval;
}
+#endif /* CONFIG_AOUT_CORE */
/*
* create_aout_tables() parses the env- and arg-strings in new user
diff -ur linux-2199/fs/binfmt_elf.c linux/fs/binfmt_elf.c
--- linux-2199/fs/binfmt_elf.c Fri May 1 15:47:53 1998
+++ linux/fs/binfmt_elf.c Fri May 1 15:50:45 1998
@@ -57,7 +57,7 @@
* If we don't support core dumping, then supply a NULL so we
* don't even try.
*/
-#ifdef USE_ELF_CORE_DUMP
+#ifdef CONFIG_ELF_CORE
static int elf_core_dump(long signr, struct pt_regs * regs);
#else
#define elf_core_dump NULL
@@ -909,7 +909,7 @@
* Note that some platforms still use traditional core dumps and not
* the ELF core dump. Each platform can select it as appropriate.
*/
-#ifdef USE_ELF_CORE_DUMP
+#ifdef CONFIG_ELF_CORE
/*
* ELF core dumper
@@ -1326,7 +1326,7 @@
#endif
return has_dumped;
}
-#endif /* USE_ELF_CORE_DUMP */
+#endif /* CONFIG_ELF_CORE */
__initfunc(int init_elf_binfmt(void))
{
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu