source:
freewrt/target/linux/generic-2.4/patches/108-optional_aout_support.patch@
a3abab6
| Last change on this file since a3abab6 was 475ad56, checked in by , 20 years ago | |
|---|---|
|
|
| File size: 24.7 KB | |
-
Documentation/Configure.help
diff -urPX nopatch linux-2.4.26/Documentation/Configure.help linux/Documentation/Configure.help
old new 4622 4622 will be called binfmt_elf.o. Saying M or N here is dangerous because 4623 4623 some crucial programs on your system might be in ELF format. 4624 4624 4625 ELF binaries with a.out format interpreters or a.out libraries 4626 CONFIG_BINFMT_ELF_AOUT 4627 The kernel may support ELF executables which use an a.out format 4628 interpreter (dynamic linker) and/or a.out shared libraries, in 4629 addition to the usual ELF-ELF setups. You shouldn't need this. 4630 4625 4631 Kernel support for a.out binaries 4626 4632 CONFIG_BINFMT_AOUT 4627 4633 A.out (Assembler.OUTput) is a set of formats for libraries and … … 4635 4641 warrant removing support. However its removal is a good idea if you 4636 4642 wish to ensure that absolutely none of your programs will use this 4637 4643 older executable format. If you don't know what to answer at this 4638 point then answer Y. If someone told you "You need a kernel with4644 point then answer N. If someone told you "You need a kernel with 4639 4645 QMAGIC support" then you'll have to say Y here. You may answer M to 4640 4646 compile a.out support as a module and later load the module when you 4641 4647 want to use a program or library in a.out format. The module will be 4642 called binfmt_aout.o. Saying M or N here is dangerous though, 4643 because some crucial programs on your system might still be in A.OUT 4644 format. 4648 called binfmt_aout.o. 4645 4649 4646 4650 OSF/1 v4 readv/writev compatibility 4647 4651 CONFIG_OSF4_COMPAT -
arch/alpha/config.in
diff -urPX nopatch linux-2.4.26/arch/alpha/config.in linux/arch/alpha/config.in
old new 315 315 fi 316 316 317 317 bool 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF 318 if [ "$CONFIG_BINFMT_ELF" != "n" ]; then 319 bool ' ELF binaries with a.out format interpreters or a.out libraries' CONFIG_BINFMT_ELF_AOUT 320 fi 318 321 tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC 319 322 tristate 'Kernel support for Linux/Intel ELF binaries' CONFIG_BINFMT_EM86 320 323 source drivers/parport/Config.in -
arch/alpha/defconfig
diff -urPX nopatch linux-2.4.26/arch/alpha/defconfig linux/arch/alpha/defconfig
old new 72 72 # CONFIG_KCORE_AOUT is not set 73 73 # CONFIG_BINFMT_AOUT is not set 74 74 CONFIG_BINFMT_ELF=y 75 # CONFIG_BINFMT_ELF_AOUT is not set 75 76 # CONFIG_BINFMT_MISC is not set 76 77 # CONFIG_BINFMT_EM86 is not set 77 78 -
arch/arm/config.in
diff -urPX nopatch linux-2.4.26/arch/arm/config.in linux/arch/arm/config.in
old new 499 499 A.OUT CONFIG_KCORE_AOUT" ELF 500 500 tristate 'Kernel support for a.out binaries' CONFIG_BINFMT_AOUT 501 501 bool 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF 502 if [ "$CONFIG_BINFMT_ELF" != "n" ]; then 503 bool ' ELF binaries with a.out format interpreters or a.out libraries' CONFIG_BINFMT_ELF_AOUT 504 fi 502 505 tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC 503 506 dep_bool 'Power Management support (experimental)' CONFIG_PM $CONFIG_EXPERIMENTAL 504 507 dep_tristate 'RISC OS personality' CONFIG_ARTHUR $CONFIG_CPU_32 -
arch/arm/defconfig
diff -urPX nopatch linux-2.4.26/arch/arm/defconfig linux/arch/arm/defconfig
old new 83 83 CONFIG_NWFPE=y 84 84 CONFIG_KCORE_ELF=y 85 85 # CONFIG_KCORE_AOUT is not set 86 CONFIG_BINFMT_AOUT=y 86 # CONFIG_BINFMT_AOUT is not set 87 87 CONFIG_BINFMT_ELF=y 88 # CONFIG_BINFMT_ELF_AOUT is not set 88 89 # CONFIG_BINFMT_MISC is not set 89 90 # CONFIG_PM is not set 90 91 # CONFIG_ARTHUR is not set -
arch/cris/config.in
diff -urPX nopatch linux-2.4.26/arch/cris/config.in linux/arch/cris/config.in
old new 31 31 bool 'Sysctl support' CONFIG_SYSCTL 32 32 33 33 bool 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF 34 if [ "$CONFIG_BINFMT_ELF" != "n" ]; then 35 bool ' ELF binaries with a.out format interpreters or a.out libraries' CONFIG_BINFMT_ELF_AOUT 36 fi 34 37 35 38 string 'Kernel command line' CONFIG_ETRAX_CMDLINE "root=/dev/mtdblock3" 36 39 -
arch/cris/defconfig
diff -urPX nopatch linux-2.4.26/arch/cris/defconfig linux/arch/cris/defconfig
old new 18 18 # CONFIG_BSD_PROCESS_ACCT is not set 19 19 # CONFIG_SYSCTL is not set 20 20 CONFIG_BINFMT_ELF=y 21 # CONFIG_BINFMT_ELF_AOUT is not set 21 22 # CONFIG_ETRAX_KGDB is not set 22 23 # CONFIG_ETRAX_WATCHDOG is not set 23 24 -
arch/i386/config.in
diff -urPX nopatch linux-2.4.26/arch/i386/config.in linux/arch/i386/config.in
old new 327 327 fi 328 328 tristate 'Kernel support for a.out binaries' CONFIG_BINFMT_AOUT 329 329 bool 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF 330 if [ "$CONFIG_BINFMT_ELF" != "n" ]; then 331 bool ' ELF binaries with a.out format interpreters or a.out libraries' CONFIG_BINFMT_ELF_AOUT 332 fi 330 333 tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC 331 334 bool 'Select task to kill on out of memory condition' CONFIG_OOM_KILLER 332 335 -
arch/i386/defconfig
diff -urPX nopatch linux-2.4.26/arch/i386/defconfig linux/arch/i386/defconfig
old new 110 110 CONFIG_SYSCTL=y 111 111 CONFIG_KCORE_ELF=y 112 112 # CONFIG_KCORE_AOUT is not set 113 CONFIG_BINFMT_AOUT=y 113 # CONFIG_BINFMT_AOUT is not set 114 114 CONFIG_BINFMT_ELF=y 115 CONFIG_BINFMT_MISC=y 115 # CONFIG_BINFMT_ELF_AOUT is not set 116 # CONFIG_BINFMT_MISC is not set 116 117 # CONFIG_OOM_KILLER is not set 117 118 CONFIG_PM=y 118 119 # CONFIG_APM is not set -
arch/ia64/config.in
diff -urPX nopatch linux-2.4.26/arch/ia64/config.in linux/arch/ia64/config.in
old new 124 124 bool 'BSD Process Accounting' CONFIG_BSD_PROCESS_ACCT 125 125 bool 'Sysctl support' CONFIG_SYSCTL 126 126 bool 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF 127 if [ "$CONFIG_BINFMT_ELF" != "n" ]; then 128 bool ' ELF binaries with a.out format interpreters or a.out libraries' CONFIG_BINFMT_ELF_AOUT 129 fi 127 130 tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC 128 131 129 132 if [ "$CONFIG_IA64_HP_SIM" = "n" ]; then -
arch/ia64/defconfig
diff -urPX nopatch linux-2.4.26/arch/ia64/defconfig linux/arch/ia64/defconfig
old new 60 60 # CONFIG_BSD_PROCESS_ACCT is not set 61 61 CONFIG_SYSCTL=y 62 62 CONFIG_BINFMT_ELF=y 63 # CONFIG_BINFMT_ELF_AOUT is not set 63 64 # CONFIG_BINFMT_MISC is not set 64 65 CONFIG_ACPI=y 65 66 CONFIG_ACPI_EFI=y -
arch/m68k/config.in
diff -urPX nopatch linux-2.4.26/arch/m68k/config.in linux/arch/m68k/config.in
old new 99 99 fi 100 100 tristate 'Kernel support for a.out binaries' CONFIG_BINFMT_AOUT 101 101 bool 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF 102 if [ "$CONFIG_BINFMT_ELF" != "n" ]; then 103 bool ' ELF binaries with a.out format interpreters or a.out libraries' CONFIG_BINFMT_ELF_AOUT 104 fi 102 105 tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC 103 106 104 107 if [ "$CONFIG_AMIGA" = "y" ]; then -
arch/m68k/defconfig
diff -urPX nopatch linux-2.4.26/arch/m68k/defconfig linux/arch/m68k/defconfig
old new 44 44 CONFIG_SYSCTL=y 45 45 CONFIG_KCORE_ELF=y 46 46 # CONFIG_KCORE_AOUT is not set 47 CONFIG_BINFMT_AOUT=y 47 # CONFIG_BINFMT_AOUT is not set 48 48 CONFIG_BINFMT_ELF=y 49 # CONFIG_BINFMT_ELF_AOUT is not set 49 50 # CONFIG_BINFMT_MISC is not set 50 51 CONFIG_ZORRO=y 51 52 # CONFIG_AMIGA_PCMCIA is not set -
arch/mips/config-shared.in
diff -urPX nopatch linux-2.4.26/arch/mips/config-shared.in linux/arch/mips/config-shared.in
old new 944 944 define_bool CONFIG_KCORE_AOUT n 945 945 define_bool CONFIG_BINFMT_AOUT n 946 946 bool 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF 947 if [ "$CONFIG_BINFMT_ELF" != "n" ]; then 948 bool ' ELF binaries with a.out format interpreters or a.out libraries' CONFIG_BINFMT_ELF_AOUT 949 fi 947 950 dep_bool 'Kernel support for Linux/MIPS 32-bit binary compatibility' CONFIG_MIPS32_COMPAT $CONFIG_MIPS64 948 951 dep_bool 'Kernel support for o32 binaries' CONFIG_MIPS32_O32 $CONFIG_MIPS32_COMPAT 949 952 dep_bool 'Kernel support for n32 binaries' CONFIG_MIPS32_N32 $CONFIG_MIPS32_COMPAT -
arch/mips/defconfig
diff -urPX nopatch linux-2.4.26/arch/mips/defconfig linux/arch/mips/defconfig
old new 139 139 # CONFIG_KCORE_AOUT is not set 140 140 # CONFIG_BINFMT_AOUT is not set 141 141 CONFIG_BINFMT_ELF=y 142 # CONFIG_BINFMT_ELF_AOUT is not set 142 143 # CONFIG_MIPS32_COMPAT is not set 143 144 # CONFIG_MIPS32_O32 is not set 144 145 # CONFIG_MIPS32_N32 is not set -
arch/mips/kernel/irixelf.c
diff -urPX nopatch linux-2.4.26/arch/mips/kernel/irixelf.c linux/arch/mips/kernel/irixelf.c
old new 8 8 * Copyright 1993, 1994: Eric Youngdale (ericy@cais.com). 9 9 */ 10 10 11 #include <linux/config.h> 11 12 #include <linux/module.h> 12 13 13 14 #include <linux/fs.h> … … 48 49 extern int dump_fpu (elf_fpregset_t *); 49 50 50 51 static struct linux_binfmt irix_format = { 51 NULL, THIS_MODULE, load_irix_binary, load_irix_library, 52 NULL, THIS_MODULE, load_irix_binary, 53 #ifdef CONFIG_BINFMT_ELF_AOUT 54 load_irix_library, 55 #else 56 NULL, 57 #endif 52 58 irix_core_dump, PAGE_SIZE 53 59 }; 54 60 … … 787 793 goto out; 788 794 } 789 795 796 #ifdef CONFIG_BINFMT_ELF_AOUT 790 797 /* This is really simpleminded and specialized - we are loading an 791 798 * a.out library that is given an ELF header. 792 799 */ … … 863 870 kfree(elf_phdata); 864 871 return 0; 865 872 } 873 #endif 866 874 867 875 /* Called through irix_syssgi() to map an elf image given an FD, 868 876 * a phdr ptr USER_PHDRP in userspace, and a count CNT telling how many -
arch/mips64/defconfig
diff -urPX nopatch linux-2.4.26/arch/mips64/defconfig linux/arch/mips64/defconfig
old new 137 137 # CONFIG_KCORE_AOUT is not set 138 138 # CONFIG_BINFMT_AOUT is not set 139 139 CONFIG_BINFMT_ELF=y 140 # CONFIG_BINFMT_ELF_AOUT is not set 140 141 CONFIG_MIPS32_COMPAT=y 141 142 CONFIG_MIPS32_O32=y 142 143 # CONFIG_MIPS32_N32 is not set -
arch/parisc/config.in
diff -urPX nopatch linux-2.4.26/arch/parisc/config.in linux/arch/parisc/config.in
old new 89 89 bool 'Sysctl support' CONFIG_SYSCTL 90 90 define_bool CONFIG_KCORE_ELF y 91 91 bool 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF 92 if [ "$CONFIG_BINFMT_ELF" != "n" ]; then 93 bool ' ELF binaries with a.out format interpreters or a.out libraries' CONFIG_BINFMT_ELF_AOUT 94 fi 92 95 tristate 'Kernel support for SOM binaries' CONFIG_BINFMT_SOM 93 96 tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC 94 97 -
arch/parisc/defconfig
diff -urPX nopatch linux-2.4.26/arch/parisc/defconfig linux/arch/parisc/defconfig
old new 56 56 CONFIG_SYSCTL=y 57 57 CONFIG_KCORE_ELF=y 58 58 CONFIG_BINFMT_ELF=y 59 # CONFIG_BINFMT_ELF_AOUT is not set 59 60 CONFIG_BINFMT_SOM=y 60 61 # CONFIG_BINFMT_MISC is not set 61 62 # CONFIG_PM is not set -
arch/ppc/config.in
diff -urPX nopatch linux-2.4.26/arch/ppc/config.in linux/arch/ppc/config.in
old new 384 384 fi 385 385 define_bool CONFIG_BINFMT_ELF y 386 386 define_bool CONFIG_KERNEL_ELF y 387 bool 'ELF binaries with a.out format interpreters or a.out libraries' CONFIG_BINFMT_ELF_AOUT 387 388 tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC 388 389 bool 'Select task to kill on out of memory condition' CONFIG_OOM_KILLER 389 390 -
arch/ppc/defconfig
diff -urPX nopatch linux-2.4.26/arch/ppc/defconfig linux/arch/ppc/defconfig
old new 59 59 CONFIG_KCORE_ELF=y 60 60 CONFIG_BINFMT_ELF=y 61 61 CONFIG_KERNEL_ELF=y 62 CONFIG_BINFMT_MISC=m 62 # CONFIG_BINFMT_ELF_AOUT is not set 63 # CONFIG_BINFMT_MISC is not set 63 64 # CONFIG_OOM_KILLER is not set 64 65 CONFIG_PCI_NAMES=y 65 66 CONFIG_HOTPLUG=y -
arch/ppc64/config.in
diff -urPX nopatch linux-2.4.26/arch/ppc64/config.in linux/arch/ppc64/config.in
old new 82 82 fi 83 83 84 84 bool 'Kernel support for 64 bit ELF binaries' CONFIG_BINFMT_ELF 85 if [ "$CONFIG_BINFMT_ELF" != "n" ]; then 86 bool ' ELF binaries with a.out format interpreters or a.out libraries' CONFIG_BINFMT_ELF_AOUT 87 fi 85 88 86 89 tristate 'Kernel support for 32 bit ELF binaries' CONFIG_BINFMT_ELF32 87 90 -
arch/ppc64/defconfig
diff -urPX nopatch linux-2.4.26/arch/ppc64/defconfig linux/arch/ppc64/defconfig
old new 56 56 # CONFIG_BSD_PROCESS_ACCT is not set 57 57 CONFIG_KCORE_ELF=y 58 58 CONFIG_BINFMT_ELF=y 59 # CONFIG_BINFMT_ELF_AOUT is not set 59 60 CONFIG_BINFMT_ELF32=y 60 61 # CONFIG_BINFMT_MISC is not set 61 62 CONFIG_PCI_NAMES=y -
arch/s390/config.in
diff -urPX nopatch linux-2.4.26/arch/s390/config.in linux/arch/s390/config.in
old new 58 58 bool 'Sysctl support' CONFIG_SYSCTL 59 59 define_bool CONFIG_KCORE_ELF y 60 60 bool 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF 61 if [ "$CONFIG_BINFMT_ELF" != "n" ]; then 62 bool ' ELF binaries with a.out format interpreters or a.out libraries' CONFIG_BINFMT_ELF_AOUT 63 fi 61 64 tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC 62 65 bool 'Show crashed user process info' CONFIG_PROCESS_DEBUG 63 66 bool 'Pseudo page fault support' CONFIG_PFAULT -
arch/s390/defconfig
diff -urPX nopatch linux-2.4.26/arch/s390/defconfig linux/arch/s390/defconfig
old new 46 46 CONFIG_SYSCTL=y 47 47 CONFIG_KCORE_ELF=y 48 48 CONFIG_BINFMT_ELF=y 49 # CONFIG_BINFMT_ELF_AOUT is not set 49 50 # CONFIG_BINFMT_MISC is not set 50 51 # CONFIG_PROCESS_DEBUG is not set 51 52 CONFIG_PFAULT=y -
arch/s390x/config.in
diff -urPX nopatch linux-2.4.26/arch/s390x/config.in linux/arch/s390x/config.in
old new 61 61 bool 'Sysctl support' CONFIG_SYSCTL 62 62 define_bool CONFIG_KCORE_ELF y 63 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 66 fi 64 67 tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC 65 68 bool 'Show crashed user process info' CONFIG_PROCESS_DEBUG 66 69 bool 'Pseudo page fault support' CONFIG_PFAULT -
arch/s390x/defconfig
diff -urPX nopatch linux-2.4.26/arch/s390x/defconfig linux/arch/s390x/defconfig
old new 47 47 CONFIG_SYSCTL=y 48 48 CONFIG_KCORE_ELF=y 49 49 CONFIG_BINFMT_ELF=y 50 # CONFIG_BINFMT_ELF_AOUT is not set 50 51 # CONFIG_BINFMT_MISC is not set 51 52 # CONFIG_PROCESS_DEBUG is not set 52 53 CONFIG_PFAULT=y -
arch/sh/config.in
diff -urPX nopatch linux-2.4.26/arch/sh/config.in linux/arch/sh/config.in
old new 283 283 A.OUT CONFIG_KCORE_AOUT" ELF 284 284 fi 285 285 bool 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF 286 if [ "$CONFIG_BINFMT_ELF" != "n" ]; then 287 bool ' ELF binaries with a.out format interpreters or a.out libraries' CONFIG_BINFMT_ELF_AOUT 288 fi 286 289 tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC 287 290 288 291 bool 'Select task to kill on out of memory condition' CONFIG_OOM_KILLER -
arch/sh/defconfig
diff -urPX nopatch linux-2.4.26/arch/sh/defconfig linux/arch/sh/defconfig
old new 48 48 CONFIG_KCORE_ELF=y 49 49 # CONFIG_KCORE_AOUT is not set 50 50 CONFIG_BINFMT_ELF=y 51 # CONFIG_BINFMT_ELF_AOUT is not set 51 52 # CONFIG_BINFMT_MISC is not set 52 53 53 54 # -
arch/sparc/config.in
diff -urPX nopatch linux-2.4.26/arch/sparc/config.in linux/arch/sparc/config.in
old new 74 74 fi 75 75 tristate 'Kernel support for a.out binaries' CONFIG_BINFMT_AOUT 76 76 bool 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF 77 if [ "$CONFIG_BINFMT_ELF" != "n" ]; then 78 bool ' ELF binaries with a.out format interpreters or a.out libraries' CONFIG_BINFMT_ELF_AOUT 79 fi 77 80 tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC 78 81 bool 'SunOS binary emulation' CONFIG_SUNOS_EMUL 79 82 bool 'Select task to kill on out of memory condition' CONFIG_OOM_KILLER -
arch/sparc/defconfig
diff -urPX nopatch linux-2.4.26/arch/sparc/defconfig linux/arch/sparc/defconfig
old new 49 49 # CONFIG_BSD_PROCESS_ACCT is not set 50 50 CONFIG_SYSCTL=y 51 51 CONFIG_KCORE_ELF=y 52 CONFIG_BINFMT_AOUT=y 52 # CONFIG_BINFMT_AOUT is not set 53 53 CONFIG_BINFMT_ELF=y 54 CONFIG_BINFMT_MISC=m 54 # CONFIG_BINFMT_ELF_AOUT is not set 55 # CONFIG_BINFMT_MISC is not set 55 56 CONFIG_SUNOS_EMUL=y 56 57 # CONFIG_OOM_KILLER is not set 57 58 -
arch/sparc64/config.in
diff -urPX nopatch linux-2.4.26/arch/sparc64/config.in linux/arch/sparc64/config.in
old new 77 77 bool ' Kernel support for 32-bit (ie. SunOS) a.out binaries' CONFIG_BINFMT_AOUT32 78 78 fi 79 79 bool 'Kernel support for 64-bit ELF binaries' CONFIG_BINFMT_ELF 80 if [ "$CONFIG_BINFMT_ELF" != "n" ]; then 81 bool ' ELF binaries with a.out format interpreters or a.out libraries' CONFIG_BINFMT_ELF_AOUT 82 fi 80 83 tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC 81 84 bool 'SunOS binary emulation' CONFIG_SUNOS_EMUL 82 85 if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then -
arch/sparc64/defconfig
diff -urPX nopatch linux-2.4.26/arch/sparc64/defconfig linux/arch/sparc64/defconfig
old new 56 56 CONFIG_BINFMT_ELF32=y 57 57 # CONFIG_BINFMT_AOUT32 is not set 58 58 CONFIG_BINFMT_ELF=y 59 CONFIG_BINFMT_MISC=m 59 # CONFIG_BINFMT_ELF_AOUT is not set 60 # CONFIG_BINFMT_MISC is not set 60 61 # CONFIG_SUNOS_EMUL is not set 61 62 CONFIG_SOLARIS_EMUL=m 62 63 # CONFIG_OOM_KILLER is not set -
arch/x86_64/config.in
diff -urPX nopatch linux-2.4.26/arch/x86_64/config.in linux/arch/x86_64/config.in
old new 118 118 fi 119 119 #tristate 'Kernel support for a.out binaries' CONFIG_BINFMT_AOUT 120 120 bool 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF 121 if [ "$CONFIG_BINFMT_ELF" != "n" ]; then 122 bool ' ELF binaries with a.out format interpreters or a.out libraries' CONFIG_BINFMT_ELF_AOUT 123 fi 121 124 tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC 122 125 123 126 bool 'Power Management support' CONFIG_PM -
arch/x86_64/defconfig
diff -urPX nopatch linux-2.4.26/arch/x86_64/defconfig linux/arch/x86_64/defconfig
old new 67 67 CONFIG_SYSCTL=y 68 68 CONFIG_KCORE_ELF=y 69 69 CONFIG_BINFMT_ELF=y 70 # CONFIG_BINFMT_ELF_AOUT is not set 70 71 # CONFIG_BINFMT_MISC is not set 71 72 CONFIG_PM=y 72 73 CONFIG_IA32_EMULATION=y -
fs/binfmt_elf.c
diff -urPX nopatch linux-2.4.26/fs/binfmt_elf.c linux/fs/binfmt_elf.c
old new 9 9 * Copyright 1993, 1994: Eric Youngdale (ericy@cais.com). 10 10 */ 11 11 12 #include <linux/config.h> 12 13 #include <linux/module.h> 13 14 14 15 #include <linux/fs.h> … … 43 44 #include <linux/elf.h> 44 45 45 46 static int load_elf_binary(struct linux_binprm * bprm, struct pt_regs * regs); 47 #ifdef CONFIG_BINFMT_ELF_AOUT 46 48 static int load_elf_library(struct file*); 49 #endif 47 50 static unsigned long elf_map (struct file *, unsigned long, struct elf_phdr *, int, int); 48 51 extern int dump_fpu (struct pt_regs *, elf_fpregset_t *); 49 52 extern void dump_thread(struct pt_regs *, struct user *); … … 73 76 #define ELF_PAGEOFFSET(_v) ((_v) & (ELF_MIN_ALIGN-1)) 74 77 #define ELF_PAGEALIGN(_v) (((_v) + ELF_MIN_ALIGN - 1) & ~(ELF_MIN_ALIGN - 1)) 75 78 76 static struct linux_binfmt elf_format = { 77 NULL, THIS_MODULE, load_elf_binary, load_elf_library, elf_core_dump, ELF_EXEC_PAGESIZE 79 static struct linux_binfmt elf_format = { 80 NULL, THIS_MODULE, load_elf_binary, 81 #ifdef CONFIG_BINFMT_ELF_AOUT 82 load_elf_library, 83 #else 84 NULL, 85 #endif 86 elf_core_dump, ELF_EXEC_PAGESIZE 78 87 }; 79 88 80 89 #define BAD_ADDR(x) ((unsigned long)(x) > TASK_SIZE) … … 369 378 return error; 370 379 } 371 380 381 #ifdef CONFIG_BINFMT_ELF_AOUT 372 382 static unsigned long load_aout_interp(struct exec * interp_ex, 373 383 struct file * interpreter) 374 384 { … … 413 423 out: 414 424 return elf_entry; 415 425 } 426 #endif 416 427 417 428 /* 418 429 * These are the functions used to load ELF style executables and shared … … 420 431 */ 421 432 422 433 #define INTERPRETER_NONE 0 434 #ifdef CONFIG_BINFMT_ELF_AOUT 423 435 #define INTERPRETER_AOUT 1 436 #endif 424 437 #define INTERPRETER_ELF 2 425 438 426 439 … … 444 457 struct elfhdr elf_ex; 445 458 struct elfhdr interp_elf_ex; 446 459 struct exec interp_ex; 460 #ifdef CONFIG_BINFMT_ELF_AOUT 447 461 char passed_fileno[6]; 462 #endif 448 463 struct files_struct *files; 449 464 450 465 /* Get the exec-header */ … … 556 571 557 572 /* Some simple consistency checks for the interpreter */ 558 573 if (elf_interpreter) { 574 #ifdef CONFIG_BINFMT_ELF_AOUT 559 575 interpreter_type = INTERPRETER_ELF | INTERPRETER_AOUT; 560 576 561 577 /* Now figure out which format our binary is */ … … 563 579 (N_MAGIC(interp_ex) != ZMAGIC) && 564 580 (N_MAGIC(interp_ex) != QMAGIC)) 565 581 interpreter_type = INTERPRETER_ELF; 582 #else 583 interpreter_type = INTERPRETER_ELF; 584 #endif 566 585 567 586 if (memcmp(interp_elf_ex.e_ident, ELFMAG, SELFMAG) != 0) 568 587 interpreter_type &= ~INTERPRETER_ELF; … … 571 590 if (!interpreter_type) 572 591 goto out_free_dentry; 573 592 593 #ifdef CONFIG_BINFMT_ELF_AOUT 574 594 /* Make sure only one type was selected */ 575 595 if ((interpreter_type & INTERPRETER_ELF) && 576 596 interpreter_type != INTERPRETER_ELF) { … … 578 598 // printk(KERN_WARNING "ELF: Ambiguous type, using ELF\n"); 579 599 interpreter_type = INTERPRETER_ELF; 580 600 } 601 #endif 581 602 /* Verify the interpreter has a valid arch */ 582 603 if ((interpreter_type == INTERPRETER_ELF) && 583 604 !elf_check_arch(&interp_elf_ex)) … … 590 611 /* OK, we are done with that, now set up the arg stuff, 591 612 and then start this sucker up */ 592 613 614 #ifdef CONFIG_BINFMT_ELF_AOUT 593 615 if (!bprm->sh_bang) { 594 616 char * passed_p; 595 617 … … 605 627 } 606 628 } 607 629 } 630 #endif 608 631 609 632 /* Flush all traces of the currently running executable */ 610 633 retval = flush_old_exec(bprm); … … 721 744 end_data += load_bias; 722 745 723 746 if (elf_interpreter) { 747 #ifdef CONFIG_BINFMT_ELF_AOUT 724 748 if (interpreter_type == INTERPRETER_AOUT) 725 749 elf_entry = load_aout_interp(&interp_ex, 726 750 interpreter); 727 751 else 752 #endif 728 753 elf_entry = load_elf_interp(&interp_elf_ex, 729 754 interpreter, 730 755 &interp_load_addr); … … 743 768 744 769 kfree(elf_phdata); 745 770 771 #ifdef CONFIG_BINFMT_ELF_AOUT 746 772 if (interpreter_type != INTERPRETER_AOUT) 773 #endif 747 774 sys_close(elf_exec_fileno); 748 775 749 776 set_binfmt(&elf_format); … … 757 784 &elf_ex, 758 785 load_addr, load_bias, 759 786 interp_load_addr, 787 #ifdef CONFIG_BINFMT_ELF_AOUT 760 788 (interpreter_type == INTERPRETER_AOUT ? 0 : 1)); 761 789 /* N.B. passed_fileno might not be initialized? */ 762 790 if (interpreter_type == INTERPRETER_AOUT) 763 791 current->mm->arg_start += strlen(passed_fileno) + 1; 792 #else 793 1); 794 #endif 764 795 current->mm->start_brk = current->mm->brk = elf_brk; 765 796 current->mm->end_code = end_code; 766 797 current->mm->start_code = start_code; … … 838 869 goto out; 839 870 } 840 871 872 #ifdef CONFIG_BINFMT_ELF_AOUT 841 873 /* This is really simpleminded and specialized - we are loading an 842 874 a.out library that is given an ELF header. */ 843 844 875 static int load_elf_library(struct file *file) 845 876 { 846 877 struct elf_phdr *elf_phdata; … … 911 942 out: 912 943 return error; 913 944 } 945 #endif 914 946 915 947 /* 916 948 * Note that some platforms still use traditional core dumps and not -
fs/exec.c
diff -urPX nopatch linux-2.4.26/fs/exec.c linux/fs/exec.c
old new 109 109 */ 110 110 asmlinkage long sys_uselib(const char * library) 111 111 { 112 #if defined(CONFIG_BINFMT_AOUT) || defined(CONFIG_BINFMT_ELF_AOUT) 112 113 struct file * file; 113 114 struct nameidata nd; 114 115 int error; … … 155 156 exit: 156 157 path_release(&nd); 157 158 goto out; 159 #else 160 return -ENOSYS; 161 #endif 158 162 } 159 163 160 164 /*
Note:
See TracBrowser
for help on using the repository browser.
