diff options
-rw-r--r-- | Documentation/feature-removal-schedule.txt | 11 | ||||
-rw-r--r-- | fs/binfmt_elf.c | 8 |
2 files changed, 19 insertions, 0 deletions
diff --git a/Documentation/feature-removal-schedule.txt b/Documentation/feature-removal-schedule.txt index fb8258ebc577..280ec06573e6 100644 --- a/Documentation/feature-removal-schedule.txt +++ b/Documentation/feature-removal-schedule.txt | |||
@@ -82,6 +82,17 @@ Who: Dominik Brodowski <linux@brodo.de> | |||
82 | 82 | ||
83 | --------------------------- | 83 | --------------------------- |
84 | 84 | ||
85 | What: a.out interpreter support for ELF executables | ||
86 | When: 2.6.25 | ||
87 | Files: fs/binfmt_elf.c | ||
88 | Why: Using a.out interpreters for ELF executables was a feature for | ||
89 | transition from a.out to ELF. But now it is unlikely to be still | ||
90 | needed anymore and removing it would simplify the hairy ELF | ||
91 | loader code. | ||
92 | Who: Andi Kleen <ak@suse.de> | ||
93 | |||
94 | --------------------------- | ||
95 | |||
85 | What: remove EXPORT_SYMBOL(kernel_thread) | 96 | What: remove EXPORT_SYMBOL(kernel_thread) |
86 | When: August 2006 | 97 | When: August 2006 |
87 | Files: arch/*/kernel/*_ksyms.c | 98 | Files: arch/*/kernel/*_ksyms.c |
diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c index 3dc6a123fa10..66cd711a6b1a 100644 --- a/fs/binfmt_elf.c +++ b/fs/binfmt_elf.c | |||
@@ -730,6 +730,7 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs) | |||
730 | 730 | ||
731 | /* Some simple consistency checks for the interpreter */ | 731 | /* Some simple consistency checks for the interpreter */ |
732 | if (elf_interpreter) { | 732 | if (elf_interpreter) { |
733 | static int warn; | ||
733 | interpreter_type = INTERPRETER_ELF | INTERPRETER_AOUT; | 734 | interpreter_type = INTERPRETER_ELF | INTERPRETER_AOUT; |
734 | 735 | ||
735 | /* Now figure out which format our binary is */ | 736 | /* Now figure out which format our binary is */ |
@@ -741,6 +742,13 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs) | |||
741 | if (memcmp(loc->interp_elf_ex.e_ident, ELFMAG, SELFMAG) != 0) | 742 | if (memcmp(loc->interp_elf_ex.e_ident, ELFMAG, SELFMAG) != 0) |
742 | interpreter_type &= ~INTERPRETER_ELF; | 743 | interpreter_type &= ~INTERPRETER_ELF; |
743 | 744 | ||
745 | if (interpreter_type == INTERPRETER_AOUT && warn < 10) { | ||
746 | printk(KERN_WARNING "a.out ELF interpreter %s is " | ||
747 | "deprecated and will not be supported " | ||
748 | "after Linux 2.6.25\n", elf_interpreter); | ||
749 | warn++; | ||
750 | } | ||
751 | |||
744 | retval = -ELIBBAD; | 752 | retval = -ELIBBAD; |
745 | if (!interpreter_type) | 753 | if (!interpreter_type) |
746 | goto out_free_dentry; | 754 | goto out_free_dentry; |