linux/arch/alpha/kernel
Ivan Kokshaysky 74641f584d alpha: binfmt_aout fix
This fixes the problem introduced by commit 3bfacef412 (get rid of
special-casing the /sbin/loader on alpha): osf/1 ecoff binary segfaults
when binfmt_aout built as module.  That happens because aout binary
handler gets on the top of the binfmt list due to late registration, and
kernel attempts to execute the binary without preparatory work that must
be done by binfmt_loader.

Fixed by changing the registration order of the default binfmt handlers
using list_add_tail() and introducing insert_binfmt() function which
places new handler on the top of the binfmt list.  This might be generally
useful for installing arch-specific frontends for default handlers or just
for overriding them.

Signed-off-by: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Cc: Al Viro <viro@ZenIV.linux.org.uk>
Cc: Richard Henderson <rth@twiddle.net
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-05-02 15:36:10 -07:00
..
.gitignore alpha: .gitignore vmlinux.lds 2009-01-15 16:39:40 -08:00
Makefile alpha: binfmt_aout fix 2009-05-02 15:36:10 -07:00
alpha_ksyms.c Generic semaphore implementation 2008-04-17 10:42:34 -04:00
asm-offsets.c CRED: Separate task security context from task_struct 2008-11-14 10:39:16 +11:00
binfmt_loader.c alpha: binfmt_aout fix 2009-05-02 15:36:10 -07:00
console.c ALPHA: support graphics on non-zero PCI domains 2007-06-01 08:18:29 -07:00
core_apecs.c [PATCH] alpha pt_regs cleanups: machine_check() 2006-10-08 12:32:36 -07:00
core_cia.c [PATCH] alpha pt_regs cleanups: machine_check() 2006-10-08 12:32:36 -07:00
core_irongate.c Introduce flags for reserve_bootmem() 2008-02-07 08:42:25 -08:00
core_lca.c [PATCH] alpha pt_regs cleanups: machine_check() 2006-10-08 12:32:36 -07:00
core_marvel.c alpha: fix RTC on marvel 2009-01-15 16:39:40 -08:00
core_mcpcia.c alpha: fixes for specific machine types 2007-04-17 16:36:27 -07:00
core_polaris.c [PATCH] alpha pt_regs cleanups: machine_check() 2006-10-08 12:32:36 -07:00
core_t2.c alpha: fix compile failures with gcc-4.3 (bug #10438) 2008-06-20 16:46:10 -07:00
core_titan.c alpha: remove remaining __FUNCTION__ occurrences 2008-04-28 08:58:27 -07:00
core_tsunami.c alpha: remove remaining __FUNCTION__ occurrences 2008-04-28 08:58:27 -07:00
core_wildfire.c [PATCH] alpha pt_regs cleanups: machine_check() 2006-10-08 12:32:36 -07:00
entry.S do_pipe cleanup: drop its last user in arch/alpha/ 2009-03-27 14:43:58 -04:00
err_common.c PCI: Cleanup the includes of <linux/pci.h> 2007-05-02 19:02:35 -07:00
err_ev6.c alpha: titan and marvel build fixes 2009-05-02 15:36:10 -07:00
err_ev7.c alpha: titan and marvel build fixes 2009-05-02 15:36:10 -07:00
err_impl.h alpha: titan and marvel build fixes 2009-05-02 15:36:10 -07:00
err_marvel.c alpha: titan and marvel build fixes 2009-05-02 15:36:10 -07:00
err_titan.c alpha: titan and marvel build fixes 2009-05-02 15:36:10 -07:00
es1888.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
gct.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
head.S alpha: convert to use __HEAD and HEAD_TEXT macros. 2009-04-26 09:20:38 -07:00
init_task.c take init_fs to saner place 2008-12-31 18:07:42 -05:00
io.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
irq.c Merge branch 'core/percpu' into percpu-cpumask-x86-for-linus-2 2009-03-27 17:28:43 +01:00
irq_alpha.c sparseirq: use kstat_irqs_cpu on non-x86 architectures too 2009-01-12 20:01:12 +01:00
irq_i8259.c [PATCH] alpha pt_regs cleanups: handle_irq() 2006-10-08 12:32:35 -07:00
irq_impl.h [PATCH] alpha pt_regs cleanups: handle_irq() 2006-10-08 12:32:35 -07:00
irq_pyxis.c [PATCH] alpha pt_regs cleanups: handle_irq() 2006-10-08 12:32:35 -07:00
irq_srm.c alpha: nautilus - fix compile failure with gcc-4.3 2009-01-15 16:39:40 -08:00
machvec_impl.h alpha: fix RTC on marvel 2009-01-15 16:39:40 -08:00
module.c alpha: handle kcalloc failure 2008-04-28 08:58:27 -07:00
ns87312.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
osf_sys.c do_pipe cleanup: drop its last user in arch/alpha/ 2009-03-27 14:43:58 -04:00
pci-noop.c alpha: compile fixes 2009-01-29 18:04:44 -08:00
pci-sysfs.c PCI/alpha: pci sysfs resources 2009-03-19 19:29:36 -07:00
pci.c alpha: convert u64 to unsigned long long 2009-04-01 08:59:16 -07:00
pci_impl.h PCI: alpha: use generic INTx swizzle from PCI core 2009-01-07 11:13:13 -08:00
pci_iommu.c alpha: convert u64 to unsigned long long 2009-04-01 08:59:16 -07:00
process.c Simplify copy_thread() 2009-04-02 19:04:51 -07:00
proto.h alpha: titan and marvel build fixes 2009-05-02 15:36:10 -07:00
ptrace.c alpha: convert to generic sys_ptrace 2007-10-16 09:43:03 -07:00
setup.c alpha: convert u64 to unsigned long long 2009-04-01 08:59:16 -07:00
signal.c alpha: use syscall wrappers 2009-01-29 18:04:44 -08:00
smc37c93x.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
smc37c669.c alpha: convert u64 to unsigned long long 2009-04-01 08:59:16 -07:00
smp.c cpumask: Use cpu_*_mask accessors code: alpha 2009-02-16 17:32:00 +10:30
srm_env.c proc 2/2: remove struct proc_dir_entry::owner 2009-03-31 01:14:44 +04:00
srmcons.c alpha: fix trivial section mismatch warnings 2007-07-16 09:05:37 -07:00
sys_alcor.c alpha: remove remaining __FUNCTION__ occurrences 2008-04-28 08:58:27 -07:00
sys_cabriolet.c [PATCH] alpha pt_regs cleanups: handle_irq() 2006-10-08 12:32:35 -07:00
sys_dp264.c PCI: alpha: use generic pci_swizzle_interrupt_pin() 2009-01-07 11:12:53 -08:00
sys_eb64p.c [PATCH] alpha pt_regs cleanups: handle_irq() 2006-10-08 12:32:35 -07:00
sys_eiger.c PCI: alpha: use generic pci_swizzle_interrupt_pin() 2009-01-07 11:12:53 -08:00
sys_jensen.c alpha: convert u64 to unsigned long long 2009-04-01 08:59:16 -07:00
sys_marvel.c alpha: fix RTC on marvel 2009-01-15 16:39:40 -08:00
sys_miata.c PCI: alpha: use generic pci_swizzle_interrupt_pin() 2009-01-07 11:12:53 -08:00
sys_mikasa.c [PATCH] alpha pt_regs cleanups: machine_check() 2006-10-08 12:32:36 -07:00
sys_nautilus.c alpha: nautilus - fix hang on boot 2009-01-15 16:39:40 -08:00
sys_noritake.c PCI: alpha: use generic pci_swizzle_interrupt_pin() 2009-01-07 11:12:53 -08:00
sys_rawhide.c alpha: fixes for specific machine types 2007-04-17 16:36:27 -07:00
sys_ruffian.c PCI: alpha: use generic pci_swizzle_interrupt_pin() 2009-01-07 11:12:53 -08:00
sys_rx164.c [PATCH] alpha pt_regs cleanups: handle_irq() 2006-10-08 12:32:35 -07:00
sys_sable.c alpha: convert u64 to unsigned long long 2009-04-01 08:59:16 -07:00
sys_sio.c alpha: remove remaining __FUNCTION__ occurrences 2008-04-28 08:58:27 -07:00
sys_sx164.c alpha: more fixes for specific machine types 2007-04-17 16:36:27 -07:00
sys_takara.c [PATCH] alpha pt_regs cleanups: handle_irq() 2006-10-08 12:32:35 -07:00
sys_titan.c cpumask: make irq_set_affinity() take a const struct cpumask 2008-12-13 21:20:26 +10:30
sys_wildfire.c [PATCH] alpha pt_regs cleanups: handle_irq() 2006-10-08 12:32:35 -07:00
systbls.S alpha: use syscall wrappers 2009-01-29 18:04:44 -08:00
time.c alpha: fix RTC on marvel 2009-01-15 16:39:40 -08:00
traps.c alpha: convert u64 to unsigned long long 2009-04-01 08:59:16 -07:00
vmlinux.lds.S alpha: convert to use __HEAD and HEAD_TEXT macros. 2009-04-26 09:20:38 -07:00