1 diff -urPX nopatch linux-2.4.26/Documentation/Configure.help linux/Documentation/Configure.help
2 --- linux-2.4.26/Documentation/Configure.help Sat Apr 17 02:10:25 2004
3 +++ linux/Documentation/Configure.help Sat Apr 17 02:13:54 2004
5 will be called binfmt_elf.o. Saying M or N here is dangerous because
6 some crucial programs on your system might be in ELF format.
8 +ELF binaries with a.out format interpreters or a.out libraries
9 +CONFIG_BINFMT_ELF_AOUT
10 + The kernel may support ELF executables which use an a.out format
11 + interpreter (dynamic linker) and/or a.out shared libraries, in
12 + addition to the usual ELF-ELF setups. You shouldn't need this.
14 Kernel support for a.out binaries
16 A.out (Assembler.OUTput) is a set of formats for libraries and
17 @@ -4635,13 +4641,11 @@
18 warrant removing support. However its removal is a good idea if you
19 wish to ensure that absolutely none of your programs will use this
20 older executable format. If you don't know what to answer at this
21 - point then answer Y. If someone told you "You need a kernel with
22 + point then answer N. If someone told you "You need a kernel with
23 QMAGIC support" then you'll have to say Y here. You may answer M to
24 compile a.out support as a module and later load the module when you
25 want to use a program or library in a.out format. The module will be
26 - called binfmt_aout.o. Saying M or N here is dangerous though,
27 - because some crucial programs on your system might still be in A.OUT
29 + called binfmt_aout.o.
31 OSF/1 v4 readv/writev compatibility
33 diff -urPX nopatch linux-2.4.26/arch/alpha/config.in linux/arch/alpha/config.in
34 --- linux-2.4.26/arch/alpha/config.in Fri Feb 20 10:07:20 2004
35 +++ linux/arch/alpha/config.in Sat Apr 17 02:13:54 2004
39 bool 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF
40 +if [ "$CONFIG_BINFMT_ELF" != "n" ]; then
41 + bool ' ELF binaries with a.out format interpreters or a.out libraries' CONFIG_BINFMT_ELF_AOUT
43 tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC
44 tristate 'Kernel support for Linux/Intel ELF binaries' CONFIG_BINFMT_EM86
45 source drivers/parport/Config.in
46 diff -urPX nopatch linux-2.4.26/arch/alpha/defconfig linux/arch/alpha/defconfig
47 --- linux-2.4.26/arch/alpha/defconfig Fri Feb 20 10:07:20 2004
48 +++ linux/arch/alpha/defconfig Sat Apr 17 02:13:54 2004
50 # CONFIG_KCORE_AOUT is not set
51 # CONFIG_BINFMT_AOUT is not set
53 +# CONFIG_BINFMT_ELF_AOUT is not set
54 # CONFIG_BINFMT_MISC is not set
55 # CONFIG_BINFMT_EM86 is not set
57 diff -urPX nopatch linux-2.4.26/arch/arm/config.in linux/arch/arm/config.in
58 --- linux-2.4.26/arch/arm/config.in Fri Feb 20 10:07:20 2004
59 +++ linux/arch/arm/config.in Sat Apr 17 02:13:54 2004
61 A.OUT CONFIG_KCORE_AOUT" ELF
62 tristate 'Kernel support for a.out binaries' CONFIG_BINFMT_AOUT
63 bool 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF
64 +if [ "$CONFIG_BINFMT_ELF" != "n" ]; then
65 + bool ' ELF binaries with a.out format interpreters or a.out libraries' CONFIG_BINFMT_ELF_AOUT
67 tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC
68 dep_bool 'Power Management support (experimental)' CONFIG_PM $CONFIG_EXPERIMENTAL
69 dep_tristate 'RISC OS personality' CONFIG_ARTHUR $CONFIG_CPU_32
70 diff -urPX nopatch linux-2.4.26/arch/arm/defconfig linux/arch/arm/defconfig
71 --- linux-2.4.26/arch/arm/defconfig Fri Feb 20 10:07:21 2004
72 +++ linux/arch/arm/defconfig Sat Apr 17 02:13:54 2004
76 # CONFIG_KCORE_AOUT is not set
78 +# CONFIG_BINFMT_AOUT is not set
80 +# CONFIG_BINFMT_ELF_AOUT is not set
81 # CONFIG_BINFMT_MISC is not set
82 # CONFIG_PM is not set
83 # CONFIG_ARTHUR is not set
84 diff -urPX nopatch linux-2.4.26/arch/cris/config.in linux/arch/cris/config.in
85 --- linux-2.4.26/arch/cris/config.in Fri Feb 20 10:07:21 2004
86 +++ linux/arch/cris/config.in Sat Apr 17 02:13:54 2004
88 bool 'Sysctl support' CONFIG_SYSCTL
90 bool 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF
91 +if [ "$CONFIG_BINFMT_ELF" != "n" ]; then
92 + bool ' ELF binaries with a.out format interpreters or a.out libraries' CONFIG_BINFMT_ELF_AOUT
95 string 'Kernel command line' CONFIG_ETRAX_CMDLINE "root=/dev/mtdblock3"
97 diff -urPX nopatch linux-2.4.26/arch/cris/defconfig linux/arch/cris/defconfig
98 --- linux-2.4.26/arch/cris/defconfig Fri Feb 20 10:07:21 2004
99 +++ linux/arch/cris/defconfig Sat Apr 17 02:13:54 2004
101 # CONFIG_BSD_PROCESS_ACCT is not set
102 # CONFIG_SYSCTL is not set
104 +# CONFIG_BINFMT_ELF_AOUT is not set
105 # CONFIG_ETRAX_KGDB is not set
106 # CONFIG_ETRAX_WATCHDOG is not set
108 diff -urPX nopatch linux-2.4.26/arch/i386/config.in linux/arch/i386/config.in
109 --- linux-2.4.26/arch/i386/config.in Fri Feb 20 10:07:21 2004
110 +++ linux/arch/i386/config.in Sat Apr 17 02:13:54 2004
113 tristate 'Kernel support for a.out binaries' CONFIG_BINFMT_AOUT
114 bool 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF
115 +if [ "$CONFIG_BINFMT_ELF" != "n" ]; then
116 + bool ' ELF binaries with a.out format interpreters or a.out libraries' CONFIG_BINFMT_ELF_AOUT
118 tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC
119 bool 'Select task to kill on out of memory condition' CONFIG_OOM_KILLER
121 diff -urPX nopatch linux-2.4.26/arch/i386/defconfig linux/arch/i386/defconfig
122 --- linux-2.4.26/arch/i386/defconfig Sat Apr 17 02:10:25 2004
123 +++ linux/arch/i386/defconfig Sat Apr 17 02:23:27 2004
127 # CONFIG_KCORE_AOUT is not set
128 -CONFIG_BINFMT_AOUT=y
129 +# CONFIG_BINFMT_AOUT is not set
131 -CONFIG_BINFMT_MISC=y
132 +# CONFIG_BINFMT_ELF_AOUT is not set
133 +# CONFIG_BINFMT_MISC is not set
134 # CONFIG_OOM_KILLER is not set
136 # CONFIG_APM is not set
137 diff -urPX nopatch linux-2.4.26/arch/ia64/config.in linux/arch/ia64/config.in
138 --- linux-2.4.26/arch/ia64/config.in Fri Feb 20 10:07:21 2004
139 +++ linux/arch/ia64/config.in Sat Apr 17 02:13:54 2004
141 bool 'BSD Process Accounting' CONFIG_BSD_PROCESS_ACCT
142 bool 'Sysctl support' CONFIG_SYSCTL
143 bool 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF
144 +if [ "$CONFIG_BINFMT_ELF" != "n" ]; then
145 + bool ' ELF binaries with a.out format interpreters or a.out libraries' CONFIG_BINFMT_ELF_AOUT
147 tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC
149 if [ "$CONFIG_IA64_HP_SIM" = "n" ]; then
150 diff -urPX nopatch linux-2.4.26/arch/ia64/defconfig linux/arch/ia64/defconfig
151 --- linux-2.4.26/arch/ia64/defconfig Fri Feb 20 10:07:21 2004
152 +++ linux/arch/ia64/defconfig Sat Apr 17 02:13:54 2004
154 # CONFIG_BSD_PROCESS_ACCT is not set
157 +# CONFIG_BINFMT_ELF_AOUT is not set
158 # CONFIG_BINFMT_MISC is not set
161 diff -urPX nopatch linux-2.4.26/arch/m68k/config.in linux/arch/m68k/config.in
162 --- linux-2.4.26/arch/m68k/config.in Fri Feb 20 10:07:22 2004
163 +++ linux/arch/m68k/config.in Sat Apr 17 02:13:55 2004
166 tristate 'Kernel support for a.out binaries' CONFIG_BINFMT_AOUT
167 bool 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF
168 +if [ "$CONFIG_BINFMT_ELF" != "n" ]; then
169 + bool ' ELF binaries with a.out format interpreters or a.out libraries' CONFIG_BINFMT_ELF_AOUT
171 tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC
173 if [ "$CONFIG_AMIGA" = "y" ]; then
174 diff -urPX nopatch linux-2.4.26/arch/m68k/defconfig linux/arch/m68k/defconfig
175 --- linux-2.4.26/arch/m68k/defconfig Fri Feb 20 10:07:22 2004
176 +++ linux/arch/m68k/defconfig Sat Apr 17 02:13:55 2004
180 # CONFIG_KCORE_AOUT is not set
181 -CONFIG_BINFMT_AOUT=y
182 +# CONFIG_BINFMT_AOUT is not set
184 +# CONFIG_BINFMT_ELF_AOUT is not set
185 # CONFIG_BINFMT_MISC is not set
187 # CONFIG_AMIGA_PCMCIA is not set
188 diff -urPX nopatch linux-2.4.26/arch/mips/config-shared.in linux/arch/mips/config-shared.in
189 --- linux-2.4.26/arch/mips/config-shared.in Fri Feb 20 10:07:22 2004
190 +++ linux/arch/mips/config-shared.in Sat Apr 17 02:13:55 2004
192 define_bool CONFIG_KCORE_AOUT n
193 define_bool CONFIG_BINFMT_AOUT n
194 bool 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF
195 +if [ "$CONFIG_BINFMT_ELF" != "n" ]; then
196 + bool ' ELF binaries with a.out format interpreters or a.out libraries' CONFIG_BINFMT_ELF_AOUT
198 dep_bool 'Kernel support for Linux/MIPS 32-bit binary compatibility' CONFIG_MIPS32_COMPAT $CONFIG_MIPS64
199 dep_bool 'Kernel support for o32 binaries' CONFIG_MIPS32_O32 $CONFIG_MIPS32_COMPAT
200 dep_bool 'Kernel support for n32 binaries' CONFIG_MIPS32_N32 $CONFIG_MIPS32_COMPAT
201 diff -urPX nopatch linux-2.4.26/arch/mips/defconfig linux/arch/mips/defconfig
202 --- linux-2.4.26/arch/mips/defconfig Fri Feb 20 10:07:22 2004
203 +++ linux/arch/mips/defconfig Sat Apr 17 02:13:55 2004
205 # CONFIG_KCORE_AOUT is not set
206 # CONFIG_BINFMT_AOUT is not set
208 +# CONFIG_BINFMT_ELF_AOUT is not set
209 # CONFIG_MIPS32_COMPAT is not set
210 # CONFIG_MIPS32_O32 is not set
211 # CONFIG_MIPS32_N32 is not set
212 diff -urPX nopatch linux-2.4.26/arch/mips/kernel/irixelf.c linux/arch/mips/kernel/irixelf.c
213 --- linux-2.4.26/arch/mips/kernel/irixelf.c Mon Aug 25 11:44:40 2003
214 +++ linux/arch/mips/kernel/irixelf.c Sat Apr 17 02:13:55 2004
216 * Copyright 1993, 1994: Eric Youngdale (ericy@cais.com).
219 +#include <linux/config.h>
220 #include <linux/module.h>
222 #include <linux/fs.h>
224 extern int dump_fpu (elf_fpregset_t *);
226 static struct linux_binfmt irix_format = {
227 - NULL, THIS_MODULE, load_irix_binary, load_irix_library,
228 + NULL, THIS_MODULE, load_irix_binary,
229 +#ifdef CONFIG_BINFMT_ELF_AOUT
234 irix_core_dump, PAGE_SIZE
241 +#ifdef CONFIG_BINFMT_ELF_AOUT
242 /* This is really simpleminded and specialized - we are loading an
243 * a.out library that is given an ELF header.
251 /* Called through irix_syssgi() to map an elf image given an FD,
252 * a phdr ptr USER_PHDRP in userspace, and a count CNT telling how many
253 diff -urPX nopatch linux-2.4.26/arch/mips64/defconfig linux/arch/mips64/defconfig
254 --- linux-2.4.26/arch/mips64/defconfig Fri Feb 20 10:07:24 2004
255 +++ linux/arch/mips64/defconfig Sat Apr 17 02:13:55 2004
257 # CONFIG_KCORE_AOUT is not set
258 # CONFIG_BINFMT_AOUT is not set
260 +# CONFIG_BINFMT_ELF_AOUT is not set
261 CONFIG_MIPS32_COMPAT=y
263 # CONFIG_MIPS32_N32 is not set
264 diff -urPX nopatch linux-2.4.26/arch/parisc/config.in linux/arch/parisc/config.in
265 --- linux-2.4.26/arch/parisc/config.in Fri Feb 20 10:07:25 2004
266 +++ linux/arch/parisc/config.in Sat Apr 17 02:13:55 2004
268 bool 'Sysctl support' CONFIG_SYSCTL
269 define_bool CONFIG_KCORE_ELF y
270 bool 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF
271 +if [ "$CONFIG_BINFMT_ELF" != "n" ]; then
272 + bool ' ELF binaries with a.out format interpreters or a.out libraries' CONFIG_BINFMT_ELF_AOUT
274 tristate 'Kernel support for SOM binaries' CONFIG_BINFMT_SOM
275 tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC
277 diff -urPX nopatch linux-2.4.26/arch/parisc/defconfig linux/arch/parisc/defconfig
278 --- linux-2.4.26/arch/parisc/defconfig Fri Feb 20 10:07:25 2004
279 +++ linux/arch/parisc/defconfig Sat Apr 17 02:13:55 2004
284 +# CONFIG_BINFMT_ELF_AOUT is not set
286 # CONFIG_BINFMT_MISC is not set
287 # CONFIG_PM is not set
288 diff -urPX nopatch linux-2.4.26/arch/ppc/config.in linux/arch/ppc/config.in
289 --- linux-2.4.26/arch/ppc/config.in Sat Apr 17 02:10:25 2004
290 +++ linux/arch/ppc/config.in Sat Apr 17 02:13:55 2004
293 define_bool CONFIG_BINFMT_ELF y
294 define_bool CONFIG_KERNEL_ELF y
295 +bool 'ELF binaries with a.out format interpreters or a.out libraries' CONFIG_BINFMT_ELF_AOUT
296 tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC
297 bool 'Select task to kill on out of memory condition' CONFIG_OOM_KILLER
299 diff -urPX nopatch linux-2.4.26/arch/ppc/defconfig linux/arch/ppc/defconfig
300 --- linux-2.4.26/arch/ppc/defconfig Fri Feb 20 10:07:25 2004
301 +++ linux/arch/ppc/defconfig Sat Apr 17 02:13:55 2004
306 -CONFIG_BINFMT_MISC=m
307 +# CONFIG_BINFMT_ELF_AOUT is not set
308 +# CONFIG_BINFMT_MISC is not set
309 # CONFIG_OOM_KILLER is not set
312 diff -urPX nopatch linux-2.4.26/arch/ppc64/config.in linux/arch/ppc64/config.in
313 --- linux-2.4.26/arch/ppc64/config.in Fri Feb 20 10:07:25 2004
314 +++ linux/arch/ppc64/config.in Sat Apr 17 02:13:55 2004
318 bool 'Kernel support for 64 bit ELF binaries' CONFIG_BINFMT_ELF
319 +if [ "$CONFIG_BINFMT_ELF" != "n" ]; then
320 + bool ' ELF binaries with a.out format interpreters or a.out libraries' CONFIG_BINFMT_ELF_AOUT
323 tristate 'Kernel support for 32 bit ELF binaries' CONFIG_BINFMT_ELF32
325 diff -urPX nopatch linux-2.4.26/arch/ppc64/defconfig linux/arch/ppc64/defconfig
326 --- linux-2.4.26/arch/ppc64/defconfig Fri Feb 20 10:07:25 2004
327 +++ linux/arch/ppc64/defconfig Sat Apr 17 02:13:55 2004
329 # CONFIG_BSD_PROCESS_ACCT is not set
332 +# CONFIG_BINFMT_ELF_AOUT is not set
333 CONFIG_BINFMT_ELF32=y
334 # CONFIG_BINFMT_MISC is not set
336 diff -urPX nopatch linux-2.4.26/arch/s390/config.in linux/arch/s390/config.in
337 --- linux-2.4.26/arch/s390/config.in Fri Nov 28 18:26:19 2003
338 +++ linux/arch/s390/config.in Sat Apr 17 02:13:55 2004
340 bool 'Sysctl support' CONFIG_SYSCTL
341 define_bool CONFIG_KCORE_ELF y
342 bool 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF
343 +if [ "$CONFIG_BINFMT_ELF" != "n" ]; then
344 + bool ' ELF binaries with a.out format interpreters or a.out libraries' CONFIG_BINFMT_ELF_AOUT
346 tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC
347 bool 'Show crashed user process info' CONFIG_PROCESS_DEBUG
348 bool 'Pseudo page fault support' CONFIG_PFAULT
349 diff -urPX nopatch linux-2.4.26/arch/s390/defconfig linux/arch/s390/defconfig
350 --- linux-2.4.26/arch/s390/defconfig Fri Feb 20 10:07:26 2004
351 +++ linux/arch/s390/defconfig Sat Apr 17 02:13:55 2004
356 +# CONFIG_BINFMT_ELF_AOUT is not set
357 # CONFIG_BINFMT_MISC is not set
358 # CONFIG_PROCESS_DEBUG is not set
360 diff -urPX nopatch linux-2.4.26/arch/s390x/config.in linux/arch/s390x/config.in
361 --- linux-2.4.26/arch/s390x/config.in Fri Nov 28 18:26:19 2003
362 +++ linux/arch/s390x/config.in Sat Apr 17 02:13:55 2004
364 bool 'Sysctl support' CONFIG_SYSCTL
365 define_bool CONFIG_KCORE_ELF y
366 bool 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF
367 +if [ "$CONFIG_BINFMT_ELF" != "n" ]; then
368 + bool ' ELF binaries with a.out format interpreters or a.out libraries' CONFIG_BINFMT_ELF_AOUT
370 tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC
371 bool 'Show crashed user process info' CONFIG_PROCESS_DEBUG
372 bool 'Pseudo page fault support' CONFIG_PFAULT
373 diff -urPX nopatch linux-2.4.26/arch/s390x/defconfig linux/arch/s390x/defconfig
374 --- linux-2.4.26/arch/s390x/defconfig Fri Feb 20 10:07:26 2004
375 +++ linux/arch/s390x/defconfig Sat Apr 17 02:13:55 2004
380 +# CONFIG_BINFMT_ELF_AOUT is not set
381 # CONFIG_BINFMT_MISC is not set
382 # CONFIG_PROCESS_DEBUG is not set
384 diff -urPX nopatch linux-2.4.26/arch/sh/config.in linux/arch/sh/config.in
385 --- linux-2.4.26/arch/sh/config.in Fri Feb 20 10:07:26 2004
386 +++ linux/arch/sh/config.in Sat Apr 17 02:13:55 2004
388 A.OUT CONFIG_KCORE_AOUT" ELF
390 bool 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF
391 +if [ "$CONFIG_BINFMT_ELF" != "n" ]; then
392 + bool ' ELF binaries with a.out format interpreters or a.out libraries' CONFIG_BINFMT_ELF_AOUT
394 tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC
396 bool 'Select task to kill on out of memory condition' CONFIG_OOM_KILLER
397 diff -urPX nopatch linux-2.4.26/arch/sh/defconfig linux/arch/sh/defconfig
398 --- linux-2.4.26/arch/sh/defconfig Fri Feb 20 10:07:26 2004
399 +++ linux/arch/sh/defconfig Sat Apr 17 02:13:55 2004
402 # CONFIG_KCORE_AOUT is not set
404 +# CONFIG_BINFMT_ELF_AOUT is not set
405 # CONFIG_BINFMT_MISC is not set
408 diff -urPX nopatch linux-2.4.26/arch/sparc/config.in linux/arch/sparc/config.in
409 --- linux-2.4.26/arch/sparc/config.in Fri Feb 20 10:07:26 2004
410 +++ linux/arch/sparc/config.in Sat Apr 17 02:13:55 2004
413 tristate 'Kernel support for a.out binaries' CONFIG_BINFMT_AOUT
414 bool 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF
415 +if [ "$CONFIG_BINFMT_ELF" != "n" ]; then
416 + bool ' ELF binaries with a.out format interpreters or a.out libraries' CONFIG_BINFMT_ELF_AOUT
418 tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC
419 bool 'SunOS binary emulation' CONFIG_SUNOS_EMUL
420 bool 'Select task to kill on out of memory condition' CONFIG_OOM_KILLER
421 diff -urPX nopatch linux-2.4.26/arch/sparc/defconfig linux/arch/sparc/defconfig
422 --- linux-2.4.26/arch/sparc/defconfig Sat Apr 17 02:10:25 2004
423 +++ linux/arch/sparc/defconfig Sat Apr 17 02:13:55 2004
425 # CONFIG_BSD_PROCESS_ACCT is not set
428 -CONFIG_BINFMT_AOUT=y
429 +# CONFIG_BINFMT_AOUT is not set
431 -CONFIG_BINFMT_MISC=m
432 +# CONFIG_BINFMT_ELF_AOUT is not set
433 +# CONFIG_BINFMT_MISC is not set
435 # CONFIG_OOM_KILLER is not set
437 diff -urPX nopatch linux-2.4.26/arch/sparc64/config.in linux/arch/sparc64/config.in
438 --- linux-2.4.26/arch/sparc64/config.in Fri Feb 20 10:07:26 2004
439 +++ linux/arch/sparc64/config.in Sat Apr 17 02:13:55 2004
441 bool ' Kernel support for 32-bit (ie. SunOS) a.out binaries' CONFIG_BINFMT_AOUT32
443 bool 'Kernel support for 64-bit ELF binaries' CONFIG_BINFMT_ELF
444 +if [ "$CONFIG_BINFMT_ELF" != "n" ]; then
445 + bool ' ELF binaries with a.out format interpreters or a.out libraries' CONFIG_BINFMT_ELF_AOUT
447 tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC
448 bool 'SunOS binary emulation' CONFIG_SUNOS_EMUL
449 if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
450 diff -urPX nopatch linux-2.4.26/arch/sparc64/defconfig linux/arch/sparc64/defconfig
451 --- linux-2.4.26/arch/sparc64/defconfig Sat Apr 17 02:10:26 2004
452 +++ linux/arch/sparc64/defconfig Sat Apr 17 02:13:55 2004
454 CONFIG_BINFMT_ELF32=y
455 # CONFIG_BINFMT_AOUT32 is not set
457 -CONFIG_BINFMT_MISC=m
458 +# CONFIG_BINFMT_ELF_AOUT is not set
459 +# CONFIG_BINFMT_MISC is not set
460 # CONFIG_SUNOS_EMUL is not set
461 CONFIG_SOLARIS_EMUL=m
462 # CONFIG_OOM_KILLER is not set
463 diff -urPX nopatch linux-2.4.26/arch/x86_64/config.in linux/arch/x86_64/config.in
464 --- linux-2.4.26/arch/x86_64/config.in Sat Apr 17 02:10:26 2004
465 +++ linux/arch/x86_64/config.in Sat Apr 17 02:13:55 2004
468 #tristate 'Kernel support for a.out binaries' CONFIG_BINFMT_AOUT
469 bool 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF
470 +if [ "$CONFIG_BINFMT_ELF" != "n" ]; then
471 + bool ' ELF binaries with a.out format interpreters or a.out libraries' CONFIG_BINFMT_ELF_AOUT
473 tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC
475 bool 'Power Management support' CONFIG_PM
476 diff -urPX nopatch linux-2.4.26/arch/x86_64/defconfig linux/arch/x86_64/defconfig
477 --- linux-2.4.26/arch/x86_64/defconfig Sat Apr 17 02:10:26 2004
478 +++ linux/arch/x86_64/defconfig Sat Apr 17 02:13:55 2004
483 +# CONFIG_BINFMT_ELF_AOUT is not set
484 # CONFIG_BINFMT_MISC is not set
486 CONFIG_IA32_EMULATION=y
487 diff -urPX nopatch linux-2.4.26/fs/binfmt_elf.c linux/fs/binfmt_elf.c
488 --- linux-2.4.26/fs/binfmt_elf.c Sat Apr 17 02:10:31 2004
489 +++ linux/fs/binfmt_elf.c Sat Apr 17 02:13:55 2004
491 * Copyright 1993, 1994: Eric Youngdale (ericy@cais.com).
494 +#include <linux/config.h>
495 #include <linux/module.h>
497 #include <linux/fs.h>
499 #include <linux/elf.h>
501 static int load_elf_binary(struct linux_binprm * bprm, struct pt_regs * regs);
502 +#ifdef CONFIG_BINFMT_ELF_AOUT
503 static int load_elf_library(struct file*);
505 static unsigned long elf_map (struct file *, unsigned long, struct elf_phdr *, int, int);
506 extern int dump_fpu (struct pt_regs *, elf_fpregset_t *);
507 extern void dump_thread(struct pt_regs *, struct user *);
509 #define ELF_PAGEOFFSET(_v) ((_v) & (ELF_MIN_ALIGN-1))
510 #define ELF_PAGEALIGN(_v) (((_v) + ELF_MIN_ALIGN - 1) & ~(ELF_MIN_ALIGN - 1))
512 -static struct linux_binfmt elf_format = {
513 - NULL, THIS_MODULE, load_elf_binary, load_elf_library, elf_core_dump, ELF_EXEC_PAGESIZE
514 +static struct linux_binfmt elf_format = {
515 + NULL, THIS_MODULE, load_elf_binary,
516 +#ifdef CONFIG_BINFMT_ELF_AOUT
521 + elf_core_dump, ELF_EXEC_PAGESIZE
524 #define BAD_ADDR(x) ((unsigned long)(x) > TASK_SIZE)
529 +#ifdef CONFIG_BINFMT_ELF_AOUT
530 static unsigned long load_aout_interp(struct exec * interp_ex,
531 struct file * interpreter)
540 * These are the functions used to load ELF style executables and shared
544 #define INTERPRETER_NONE 0
545 +#ifdef CONFIG_BINFMT_ELF_AOUT
546 #define INTERPRETER_AOUT 1
548 #define INTERPRETER_ELF 2
552 struct elfhdr elf_ex;
553 struct elfhdr interp_elf_ex;
554 struct exec interp_ex;
555 +#ifdef CONFIG_BINFMT_ELF_AOUT
556 char passed_fileno[6];
558 struct files_struct *files;
560 /* Get the exec-header */
563 /* Some simple consistency checks for the interpreter */
564 if (elf_interpreter) {
565 +#ifdef CONFIG_BINFMT_ELF_AOUT
566 interpreter_type = INTERPRETER_ELF | INTERPRETER_AOUT;
568 /* Now figure out which format our binary is */
570 (N_MAGIC(interp_ex) != ZMAGIC) &&
571 (N_MAGIC(interp_ex) != QMAGIC))
572 interpreter_type = INTERPRETER_ELF;
574 + interpreter_type = INTERPRETER_ELF;
577 if (memcmp(interp_elf_ex.e_ident, ELFMAG, SELFMAG) != 0)
578 interpreter_type &= ~INTERPRETER_ELF;
580 if (!interpreter_type)
581 goto out_free_dentry;
583 +#ifdef CONFIG_BINFMT_ELF_AOUT
584 /* Make sure only one type was selected */
585 if ((interpreter_type & INTERPRETER_ELF) &&
586 interpreter_type != INTERPRETER_ELF) {
588 // printk(KERN_WARNING "ELF: Ambiguous type, using ELF\n");
589 interpreter_type = INTERPRETER_ELF;
592 /* Verify the interpreter has a valid arch */
593 if ((interpreter_type == INTERPRETER_ELF) &&
594 !elf_check_arch(&interp_elf_ex))
596 /* OK, we are done with that, now set up the arg stuff,
597 and then start this sucker up */
599 +#ifdef CONFIG_BINFMT_ELF_AOUT
600 if (!bprm->sh_bang) {
609 /* Flush all traces of the currently running executable */
610 retval = flush_old_exec(bprm);
611 @@ -721,10 +744,12 @@
612 end_data += load_bias;
614 if (elf_interpreter) {
615 +#ifdef CONFIG_BINFMT_ELF_AOUT
616 if (interpreter_type == INTERPRETER_AOUT)
617 elf_entry = load_aout_interp(&interp_ex,
621 elf_entry = load_elf_interp(&interp_elf_ex,
628 +#ifdef CONFIG_BINFMT_ELF_AOUT
629 if (interpreter_type != INTERPRETER_AOUT)
631 sys_close(elf_exec_fileno);
633 set_binfmt(&elf_format);
634 @@ -757,10 +784,14 @@
636 load_addr, load_bias,
638 +#ifdef CONFIG_BINFMT_ELF_AOUT
639 (interpreter_type == INTERPRETER_AOUT ? 0 : 1));
640 /* N.B. passed_fileno might not be initialized? */
641 if (interpreter_type == INTERPRETER_AOUT)
642 current->mm->arg_start += strlen(passed_fileno) + 1;
646 current->mm->start_brk = current->mm->brk = elf_brk;
647 current->mm->end_code = end_code;
648 current->mm->start_code = start_code;
653 +#ifdef CONFIG_BINFMT_ELF_AOUT
654 /* This is really simpleminded and specialized - we are loading an
655 a.out library that is given an ELF header. */
657 static int load_elf_library(struct file *file)
659 struct elf_phdr *elf_phdata;
667 * Note that some platforms still use traditional core dumps and not
668 diff -urPX nopatch linux-2.4.26/fs/exec.c linux/fs/exec.c
669 --- linux-2.4.26/fs/exec.c Fri Feb 20 10:07:36 2004
670 +++ linux/fs/exec.c Sat Apr 17 02:13:55 2004
673 asmlinkage long sys_uselib(const char * library)
675 +#if defined(CONFIG_BINFMT_AOUT) || defined(CONFIG_BINFMT_ELF_AOUT)