1 diff -urN linux-2.2.26.orig/linux-2.2.26-ow1/linux-2.2.26-ow1.diff linux-2.2.26/linux-2.2.26-ow1/linux-2.2.26-ow1.diff
2 --- linux-2.2.26.orig/linux-2.2.26-ow1/linux-2.2.26-ow1.diff Sun Feb 29 23:03:19 2004
3 +++ linux-2.2.26/linux-2.2.26-ow1/linux-2.2.26-ow1.diff Mon Nov 1 19:27:52 2004
5 diff -urP linux-2.2.26/Documentation/Configure.help linux/Documentation/Configure.help
6 --- linux-2.2.26/Documentation/Configure.help Wed Mar 5 14:47:02 2003
7 +++ linux/Documentation/Configure.help Sun Feb 29 14:56:39 2004
8 -@@ -1949,6 +1949,12 @@
9 - called binfmt_elf.o. Saying M or N here is dangerous because some
10 - crucial programs on your system might be in ELF format.
12 -+ELF binaries with a.out format interpreters or a.out libraries
13 -+CONFIG_BINFMT_ELF_AOUT
14 -+ The kernel may support ELF executables which use an a.out format
15 -+ interpreter (dynamic linker) and/or a.out shared libraries, in
16 -+ addition to the usual ELF-ELF setups. You shouldn't need this.
18 - Kernel support for A.OUT binaries
20 - A.out (Assembler.OUTput) is a set of formats for libraries and
21 -@@ -1962,13 +1968,11 @@
22 - warrant removing support. However its removal is a good idea if you
23 - wish to ensure that absolutely none of your programs will use this
24 - older executable format. If you don't know what to answer at this
25 -- point then answer Y. If someone told you "You need a kernel with
26 -+ point then answer N. If someone told you "You need a kernel with
27 - QMAGIC support" then you'll have to say Y here. You may answer M to
28 - compile a.out support as a module and later load the module when you
29 - want to use a program or library in a.out format. The module will be
30 -- called binfmt_aout.o. Saying M or N here is dangerous though,
31 -- because some crucial programs on your system might still be in A.OUT
33 -+ called binfmt_aout.o.
35 - Kernel support for JAVA binaries (obsolete)
37 -@@ -15263,6 +15267,109 @@
38 +@@ -16691,6 +16691,108 @@
39 another UltraSPARC-IIi-cEngine boardset with hardware watchdog,
40 you should say N to this option.
43 + Note that this feature will do you no good unless you also configure
44 + your resource limits (in particular, RLIMIT_AS and RLIMIT_NPROC). Most
45 + systems don't need this.
48 - # A couple of things I keep forgetting:
49 - # capitalize: AppleTalk, Ethernet, DOS, DMA, FAT, FTP, Internet,
50 -diff -urP linux-2.2.26/Makefile linux/Makefile
51 ---- linux-2.2.26/Makefile Sun Feb 29 14:55:25 2004
52 -+++ linux/Makefile Sun Feb 29 14:57:46 2004
60 - ARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ -e s/arm.*/arm/ -e s/sa110/arm/)
62 -diff -urP linux-2.2.26/arch/alpha/config.in linux/arch/alpha/config.in
63 ---- linux-2.2.26/arch/alpha/config.in Sun Mar 25 16:37:29 2001
64 -+++ linux/arch/alpha/config.in Sun Feb 29 14:56:39 2004
66 - bool 'Sysctl support' CONFIG_SYSCTL
67 - tristate 'Kernel support for a.out (ECOFF) binaries' CONFIG_BINFMT_AOUT
68 - tristate 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF
69 -+if [ "$CONFIG_BINFMT_ELF" != "n" ]; then
70 -+ bool ' ELF binaries with a.out format interpreters or a.out libraries' CONFIG_BINFMT_ELF_AOUT
72 - tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC
73 - if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
74 - tristate 'Kernel support for JAVA binaries (obsolete)' CONFIG_BINFMT_JAVA
76 - source drivers/sound/Config.in
80 -+source security/Config.in
82 - mainmenu_option next_comment
83 - comment 'Kernel hacking'
84 + IP Security Protocol (IPSEC) (EXPERIMENTAL)
86 diff -urP linux-2.2.26/arch/alpha/defconfig linux/arch/alpha/defconfig
87 --- linux-2.2.26/arch/alpha/defconfig Sun Mar 25 16:31:46 2001
88 +++ linux/arch/alpha/defconfig Sun Feb 29 14:56:39 2004
91 - # CONFIG_BSD_PROCESS_ACCT is not set
93 --CONFIG_BINFMT_AOUT=y
94 -+# CONFIG_BINFMT_AOUT is not set
96 -+# CONFIG_BINFMT_ELF_AOUT is not set
97 - # CONFIG_BINFMT_MISC is not set
98 - CONFIG_BINFMT_EM86=y
99 - # CONFIG_PARPORT is not set
107 -diff -urP linux-2.2.26/arch/arm/config.in linux/arch/arm/config.in
108 ---- linux-2.2.26/arch/arm/config.in Sun Mar 25 16:31:54 2001
109 -+++ linux/arch/arm/config.in Sun Feb 29 14:56:39 2004
111 - tristate 'Math emulation' CONFIG_NWFPE
112 - tristate 'Kernel support for a.out binaries' CONFIG_BINFMT_AOUT
113 - tristate 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF
114 -+if [ "$CONFIG_BINFMT_ELF" != "n" ]; then
115 -+ bool ' ELF binaries with a.out format interpreters or a.out libraries' CONFIG_BINFMT_ELF_AOUT
117 - tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC
118 - if [ "$CONFIG_CPU_32" = "y" ]; then
119 - tristate 'RISC OS personality' CONFIG_ARTHUR
123 - source fs/Config.in
125 -+source security/Config.in
127 - mainmenu_option next_comment
128 - comment 'Kernel hacking'
129 diff -urP linux-2.2.26/arch/arm/defconfig linux/arch/arm/defconfig
130 --- linux-2.2.26/arch/arm/defconfig Sun Mar 25 16:31:54 2001
131 +++ linux/arch/arm/defconfig Sun Feb 29 14:56:39 2004
133 - # CONFIG_BSD_PROCESS_ACCT is not set
136 --CONFIG_BINFMT_AOUT=y
137 -+# CONFIG_BINFMT_AOUT is not set
138 - CONFIG_BINFMT_ELF=y
139 -+# CONFIG_BINFMT_ELF_AOUT is not set
140 - # CONFIG_BINFMT_MISC is not set
141 - # CONFIG_ARTHUR is not set
144 # CONFIG_NLS_ISO8859_9 is not set
145 CONFIG_NLS_ISO8859_15=m
147 diff -urP linux-2.2.26/arch/i386/config.in linux/arch/i386/config.in
148 --- linux-2.2.26/arch/i386/config.in Fri Nov 2 16:39:05 2001
149 +++ linux/arch/i386/config.in Sun Feb 29 14:56:39 2004
151 - bool 'Sysctl support' CONFIG_SYSCTL
152 - tristate 'Kernel support for a.out binaries' CONFIG_BINFMT_AOUT
153 - tristate 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF
154 -+if [ "$CONFIG_BINFMT_ELF" != "n" ]; then
155 -+ bool ' ELF binaries with a.out format interpreters or a.out libraries' CONFIG_BINFMT_ELF_AOUT
157 - tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC
158 - if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
159 - tristate 'Kernel support for JAVA binaries (obsolete)' CONFIG_BINFMT_JAVA
161 if [ "$CONFIG_SOUND" != "n" ]; then
162 source drivers/sound/Config.in
164 diff -urP linux-2.2.26/arch/i386/defconfig linux/arch/i386/defconfig
165 --- linux-2.2.26/arch/i386/defconfig Sun Mar 25 16:37:29 2001
166 +++ linux/arch/i386/defconfig Sun Feb 29 14:56:39 2004
169 - # CONFIG_BSD_PROCESS_ACCT is not set
171 --CONFIG_BINFMT_AOUT=y
172 -+# CONFIG_BINFMT_AOUT is not set
173 - CONFIG_BINFMT_ELF=y
174 --CONFIG_BINFMT_MISC=y
175 -+# CONFIG_BINFMT_ELF_AOUT is not set
176 -+# CONFIG_BINFMT_MISC is not set
177 - # CONFIG_PARPORT is not set
178 - # CONFIG_APM is not set
179 - # CONFIG_TOSHIBA is not set
185 current->tss.error_code = error_code;
186 current->tss.trap_no = 13;
187 -diff -urP linux-2.2.26/arch/m68k/config.in linux/arch/m68k/config.in
188 ---- linux-2.2.26/arch/m68k/config.in Sun Mar 25 16:31:50 2001
189 -+++ linux/arch/m68k/config.in Sun Feb 29 14:56:39 2004
191 - bool 'Sysctl support' CONFIG_SYSCTL
192 - tristate 'Kernel support for a.out binaries' CONFIG_BINFMT_AOUT
193 - tristate 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF
194 -+if [ "$CONFIG_BINFMT_ELF" != "n" ]; then
195 -+ bool ' ELF binaries with a.out format interpreters or a.out libraries' CONFIG_BINFMT_ELF_AOUT
197 - tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC
199 - if [ "$CONFIG_AMIGA" = "y" ]; then
201 - source drivers/video/Config.in
205 -+source security/Config.in
207 - mainmenu_option next_comment
208 - comment 'Kernel hacking'
209 diff -urP linux-2.2.26/arch/m68k/defconfig linux/arch/m68k/defconfig
210 --- linux-2.2.26/arch/m68k/defconfig Sun Mar 25 16:31:50 2001
211 +++ linux/arch/m68k/defconfig Sun Feb 29 14:56:39 2004
216 --CONFIG_BINFMT_AOUT=y
217 -+# CONFIG_BINFMT_AOUT is not set
218 - CONFIG_BINFMT_ELF=y
219 -+# CONFIG_BINFMT_ELF_AOUT is not set
221 - # CONFIG_AMIGA_GSP is not set
222 - # CONFIG_GSP_RESOLVER is not set
225 # CONFIG_SOUND is not set
230 -diff -urP linux-2.2.26/arch/mips/config.in linux/arch/mips/config.in
231 ---- linux-2.2.26/arch/mips/config.in Sun Mar 25 16:31:47 2001
232 -+++ linux/arch/mips/config.in Sun Feb 29 14:56:39 2004
235 - define_bool CONFIG_BINFMT_AOUT n
236 - define_bool CONFIG_BINFMT_ELF y
237 -+bool 'ELF binaries with a.out format interpreters or a.out libraries' CONFIG_BINFMT_ELF_AOUT
238 - tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC
239 - if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
240 - tristate 'Kernel support for JAVA binaries (obsolete)' CONFIG_BINFMT_JAVA
242 - if [ "$CONFIG_SGI" = "y" ]; then
243 - source drivers/sgi/Config.in
246 -+source security/Config.in
248 - mainmenu_option next_comment
249 - comment 'Kernel hacking'
250 diff -urP linux-2.2.26/arch/mips/defconfig linux/arch/mips/defconfig
251 --- linux-2.2.26/arch/mips/defconfig Sun Mar 25 16:31:48 2001
252 +++ linux/arch/mips/defconfig Sun Feb 29 14:56:39 2004
254 - CONFIG_ELF_KERNEL=y
255 - # CONFIG_BINFMT_AOUT is not set
256 - CONFIG_BINFMT_ELF=y
257 -+# CONFIG_BINFMT_ELF_AOUT is not set
258 - # CONFIG_BINFMT_MISC is not set
268 -diff -urP linux-2.2.26/arch/mips/kernel/irixelf.c linux/arch/mips/kernel/irixelf.c
269 ---- linux-2.2.26/arch/mips/kernel/irixelf.c Fri Nov 2 16:39:05 2001
270 -+++ linux/arch/mips/kernel/irixelf.c Sun Feb 29 14:56:39 2004
272 - * Copyright 1993, 1994: Eric Youngdale (ericy@cais.com).
275 -+#include <linux/config.h>
276 - #include <linux/module.h>
278 - #include <linux/fs.h>
280 - static struct linux_binfmt irix_format = {
281 - module: THIS_MODULE,
282 - load_binary: load_irix_binary,
283 -+#ifdef CONFIG_BINFMT_ELF_AOUT
284 - load_shlib: load_irix_library,
286 - core_dump: irix_core_dump,
287 - min_coredump: PAGE_SIZE,
293 -+#ifdef CONFIG_BINFMT_ELF_AOUT
294 - /* This is really simpleminded and specialized - we are loading an
295 - * a.out library that is given an ELF header.
303 - /* Called through irix_syssgi() to map an elf image given an FD,
304 - * a phdr ptr USER_PHDRP in userspace, and a count CNT telling how many
305 diff -urP linux-2.2.26/arch/ppc/config.in linux/arch/ppc/config.in
306 --- linux-2.2.26/arch/ppc/config.in Fri Nov 2 16:39:05 2001
307 +++ linux/arch/ppc/config.in Sun Feb 29 14:56:39 2004
309 - # only elf supported, a.out is not -- Cort
310 - define_bool CONFIG_BINFMT_ELF y
311 - define_bool CONFIG_KERNEL_ELF y
312 -+bool 'ELF binaries with a.out format interpreters or a.out libraries' CONFIG_BINFMT_ELF_AOUT
313 - tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC
314 - tristate 'Kernel support for JAVA binaries (obsolete)' CONFIG_BINFMT_JAVA
320 diff -urP linux-2.2.26/arch/ppc/defconfig linux/arch/ppc/defconfig
321 --- linux-2.2.26/arch/ppc/defconfig Sun Mar 25 16:31:49 2001
322 +++ linux/arch/ppc/defconfig Sun Feb 29 14:56:39 2004
325 - # CONFIG_BSD_PROCESS_ACCT is not set
326 - CONFIG_BINFMT_ELF=y
327 -+# CONFIG_BINFMT_ELF_AOUT is not set
328 - CONFIG_KERNEL_ELF=y
329 --CONFIG_BINFMT_MISC=m
330 -+# CONFIG_BINFMT_MISC is not set
331 - # CONFIG_BINFMT_JAVA is not set
333 - # CONFIG_PARPORT_PC is not set
335 # CONFIG_SOUND_MSNDCLAS is not set
336 # CONFIG_SOUND_MSNDPIN is not set
338 diff -urP linux-2.2.26/arch/s390/config.in linux/arch/s390/config.in
339 --- linux-2.2.26/arch/s390/config.in Sun Mar 25 16:37:30 2001
340 +++ linux/arch/s390/config.in Sun Feb 29 14:56:39 2004
342 - bool 'BSD Process Accounting' CONFIG_BSD_PROCESS_ACCT
343 - bool 'Sysctl support' CONFIG_SYSCTL
344 - tristate 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF
345 -+if [ "$CONFIG_BINFMT_ELF" != "n" ]; then
346 -+ bool ' ELF binaries with a.out format interpreters or a.out libraries' CONFIG_BINFMT_ELF_AOUT
355 diff -urP linux-2.2.26/arch/s390/defconfig linux/arch/s390/defconfig
356 --- linux-2.2.26/arch/s390/defconfig Mon May 20 23:32:34 2002
357 +++ linux/arch/s390/defconfig Sun Feb 29 14:56:39 2004
359 - # CONFIG_BSD_PROCESS_ACCT is not set
361 - CONFIG_BINFMT_ELF=y
362 -+# CONFIG_BINFMT_ELF_AOUT is not set
365 - # S/390 block device drivers
367 # CONFIG_SOLARIS_X86_PARTITION is not set
368 # CONFIG_UNIXWARE_DISKLABEL is not set
370 diff -urP linux-2.2.26/arch/sparc/config.in linux/arch/sparc/config.in
371 --- linux-2.2.26/arch/sparc/config.in Mon Sep 16 16:26:11 2002
372 +++ linux/arch/sparc/config.in Sun Feb 29 14:56:39 2004
374 - bool 'Sysctl support' CONFIG_SYSCTL
375 - tristate 'Kernel support for a.out binaries' CONFIG_BINFMT_AOUT
376 - tristate 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF
377 -+if [ "$CONFIG_BINFMT_ELF" != "n" ]; then
378 -+ bool ' ELF binaries with a.out format interpreters or a.out libraries' CONFIG_BINFMT_ELF_AOUT
380 - tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC
381 - if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
382 - tristate 'Kernel support for JAVA binaries (obsolete)' CONFIG_BINFMT_JAVA
385 tristate 'Software watchdog' CONFIG_SOFT_WATCHDOG
387 diff -urP linux-2.2.26/arch/sparc/defconfig linux/arch/sparc/defconfig
388 --- linux-2.2.26/arch/sparc/defconfig Sun Mar 25 16:37:30 2001
389 +++ linux/arch/sparc/defconfig Sun Feb 29 14:56:39 2004
392 - # CONFIG_BSD_PROCESS_ACCT is not set
394 --CONFIG_BINFMT_AOUT=y
395 -+# CONFIG_BINFMT_AOUT is not set
396 - CONFIG_BINFMT_ELF=y
397 --CONFIG_BINFMT_MISC=m
398 -+# CONFIG_BINFMT_ELF_AOUT is not set
399 -+# CONFIG_BINFMT_MISC is not set
400 - CONFIG_BINFMT_JAVA=m
401 - CONFIG_SUNOS_EMUL=y
407 diff -urP linux-2.2.26/arch/sparc64/config.in linux/arch/sparc64/config.in
408 --- linux-2.2.26/arch/sparc64/config.in Mon May 20 23:32:34 2002
409 +++ linux/arch/sparc64/config.in Sun Feb 29 14:56:39 2004
411 - bool 'Sysctl support' CONFIG_SYSCTL
412 - bool 'Kernel support for Linux/Sparc 32bit binary compatibility' CONFIG_SPARC32_COMPAT
413 - tristate 'Kernel support for 64-bit ELF binaries' CONFIG_BINFMT_ELF
414 -+if [ "$CONFIG_BINFMT_ELF" != "n" ]; then
415 -+ bool ' ELF binaries with a.out format interpreters or a.out libraries' CONFIG_BINFMT_ELF_AOUT
417 - if [ "$CONFIG_SPARC32_COMPAT" != "n" ]; then
418 - tristate 'Kernel support for 32-bit ELF binaries' CONFIG_BINFMT_ELF32
419 - bool 'Kernel support for 32-bit (ie. SunOS) a.out binaries' CONFIG_BINFMT_AOUT32
422 tristate 'Software watchdog' CONFIG_SOFT_WATCHDOG
424 diff -urP linux-2.2.26/arch/sparc64/defconfig linux/arch/sparc64/defconfig
425 --- linux-2.2.26/arch/sparc64/defconfig Sun Mar 25 16:37:30 2001
426 +++ linux/arch/sparc64/defconfig Sun Feb 29 14:56:39 2004
429 - CONFIG_SPARC32_COMPAT=y
430 - CONFIG_BINFMT_ELF=y
431 -+# CONFIG_BINFMT_ELF_AOUT is not set
432 - CONFIG_BINFMT_ELF32=y
433 - # CONFIG_BINFMT_AOUT32 is not set
434 --CONFIG_BINFMT_MISC=m
435 --CONFIG_BINFMT_JAVA=m
436 -+# CONFIG_BINFMT_MISC is not set
437 -+# CONFIG_BINFMT_JAVA is not set
438 - # CONFIG_SUNOS_EMUL is not set
439 - CONFIG_SOLARIS_EMUL=m
442 # CONFIG_NLS_ISO8859_15 is not set
443 # CONFIG_NLS_KOI8_R is not set
444 @@ -995,192 +682,6 @@
446 if (N_MAGIC(ex) == NMAGIC) {
447 /* Fuck me plenty... */
448 -diff -urP linux-2.2.26/fs/binfmt_elf.c linux/fs/binfmt_elf.c
449 ---- linux-2.2.26/fs/binfmt_elf.c Mon Sep 16 16:26:13 2002
450 -+++ linux/fs/binfmt_elf.c Sun Feb 29 14:56:39 2004
452 - #include <linux/elf.h>
454 - static int load_elf_binary(struct linux_binprm * bprm, struct pt_regs * regs);
455 -+#ifdef CONFIG_BINFMT_ELF_AOUT
456 - static int load_elf_library(struct file *file);
458 - extern int dump_fpu (struct pt_regs *, elf_fpregset_t *);
459 - extern void dump_thread(struct pt_regs *, struct user *);
462 - #define ELF_PAGEOFFSET(_v) ((_v) & (ELF_EXEC_PAGESIZE-1))
463 - #define ELF_PAGEALIGN(_v) (((_v) + ELF_EXEC_PAGESIZE - 1) & ~(ELF_EXEC_PAGESIZE - 1))
465 --static struct linux_binfmt elf_format = {
466 -+#ifndef CONFIG_SECURE_STACK
469 -+struct linux_binfmt elf_format = {
470 - module: THIS_MODULE,
471 - load_binary: load_elf_binary,
472 -+#ifdef CONFIG_BINFMT_ELF_AOUT
473 - load_shlib: load_elf_library,
475 - core_dump: elf_core_dump,
476 - min_coredump: ELF_EXEC_PAGESIZE,
482 -+#ifdef CONFIG_BINFMT_ELF_AOUT
483 - static unsigned long load_aout_interp(struct exec * interp_ex,
484 - struct dentry * interpreter_dentry)
493 - * These are the functions used to load ELF style executables and shared
497 - #define INTERPRETER_NONE 0
498 -+#ifdef CONFIG_BINFMT_ELF_AOUT
499 - #define INTERPRETER_AOUT 1
501 - #define INTERPRETER_ELF 2
505 - struct elfhdr elf_ex;
506 - struct elfhdr interp_elf_ex;
507 - struct exec interp_ex;
508 -+#ifdef CONFIG_BINFMT_ELF_AOUT
509 - char passed_fileno[6];
512 - /* Get the exec-header */
513 - elf_ex = *((struct elfhdr *) bprm->buf);
516 - /* Some simple consistency checks for the interpreter */
517 - if (elf_interpreter) {
518 -+#ifdef CONFIG_BINFMT_ELF_AOUT
519 - interpreter_type = INTERPRETER_ELF | INTERPRETER_AOUT;
521 - /* Now figure out which format our binary is */
523 - (N_MAGIC(interp_ex) != ZMAGIC) &&
524 - (N_MAGIC(interp_ex) != QMAGIC))
525 - interpreter_type = INTERPRETER_ELF;
527 -+ interpreter_type = INTERPRETER_ELF;
530 - if (interp_elf_ex.e_ident[0] != 0x7f ||
531 - strncmp(&interp_elf_ex.e_ident[1], "ELF", 3) != 0)
532 -@@ -579,17 +596,20 @@
533 - if (!interpreter_type)
534 - goto out_free_dentry;
536 -+#ifdef CONFIG_BINFMT_ELF_AOUT
537 - /* Make sure only one type was selected */
538 - if ((interpreter_type & INTERPRETER_ELF) &&
539 - interpreter_type != INTERPRETER_ELF) {
540 - printk(KERN_WARNING "ELF: Ambiguous type, using ELF\n");
541 - interpreter_type = INTERPRETER_ELF;
546 - /* OK, we are done with that, now set up the arg stuff,
547 - and then start this sucker up */
549 -+#ifdef CONFIG_BINFMT_ELF_AOUT
550 - if (!bprm->sh_bang) {
554 - if ((long)bprm->p < 0)
555 - goto out_free_dentry;
559 - /* Flush all traces of the currently running executable */
560 - retval = flush_old_exec(bprm);
562 - current->mm->end_code = 0;
563 - current->mm->mmap = NULL;
564 - current->flags &= ~PF_FORKNOEXEC;
565 -+#ifdef CONFIG_SECURE_STACK
566 -+ if (elf_ex.e_flags & EF_STACKEXEC) current->flags |= PF_STACKEXEC;
568 - elf_entry = (unsigned long) elf_ex.e_entry;
570 - /* Do this immediately, since STACK_TOP as used in setup_arg_pages
571 -@@ -699,10 +723,12 @@
572 - end_data += load_bias;
574 - if (elf_interpreter) {
575 -+#ifdef CONFIG_BINFMT_ELF_AOUT
576 - if (interpreter_type == INTERPRETER_AOUT)
577 - elf_entry = load_aout_interp(&interp_ex,
578 - interpreter_dentry);
581 - elf_entry = load_elf_interp(&interp_elf_ex,
582 - interpreter_dentry,
583 - &interp_load_addr);
588 -+#ifdef CONFIG_BINFMT_ELF_AOUT
589 - if (interpreter_type != INTERPRETER_AOUT)
591 - sys_close(elf_exec_fileno);
593 - set_binfmt(&elf_format);
594 -@@ -742,14 +770,20 @@
595 - (interpreter_type == INTERPRETER_ELF ? &elf_ex : NULL),
596 - load_addr, load_bias,
598 -+#ifdef CONFIG_BINFMT_ELF_AOUT
599 - (interpreter_type == INTERPRETER_AOUT ? 0 : 1));
604 - force_sig(SIGSEGV, current);
607 -+#ifdef CONFIG_BINFMT_ELF_AOUT
608 - /* N.B. passed_fileno might not be initialized? */
609 - if (interpreter_type == INTERPRETER_AOUT)
610 - current->mm->arg_start += strlen(passed_fileno) + 1;
612 - current->mm->start_brk = current->mm->brk = elf_brk;
613 - current->mm->end_code = end_code;
614 - current->mm->start_code = start_code;
619 -+#ifdef CONFIG_BINFMT_ELF_AOUT
620 - /* This is really simpleminded and specialized - we are loading an
621 - a.out library that is given an ELF header. */
623 - static int load_elf_library(struct file *file)
625 - struct dentry * dentry;
633 - * Note that some platforms still use traditional core dumps and not
634 diff -urP linux-2.2.26/fs/exec.c linux/fs/exec.c
635 --- linux-2.2.26/fs/exec.c Fri Nov 2 16:39:08 2001
636 +++ linux/fs/exec.c Sun Feb 29 14:56:39 2004
637 @@ -1194,24 +695,6 @@
640 * Here are the actual binaries that will be accepted:
643 - asmlinkage int sys_uselib(const char * library)
645 -+#if defined(CONFIG_BINFMT_AOUT) || defined(CONFIG_BINFMT_ELF_AOUT)
647 - struct file * file;
648 - struct linux_binfmt * fmt;