Added code to correctly match and launch o32 and n32 IRIX binaires (note that

there is n support yet in the kernel for running n32 binaries)
This commit is contained in:
manu 2002-01-07 22:07:37 +00:00
parent 0b98511d4a
commit 4398be0cfc
1 changed files with 21 additions and 6 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: exec_conf.c,v 1.64 2002/01/04 06:47:46 thorpej Exp $ */
/* $NetBSD: exec_conf.c,v 1.65 2002/01/07 22:07:37 manu Exp $ */
/*
* Copyright (c) 1993, 1994 Christopher G. Demetriou
@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: exec_conf.c,v 1.64 2002/01/04 06:47:46 thorpej Exp $");
__KERNEL_RCSID(0, "$NetBSD: exec_conf.c,v 1.65 2002/01/07 22:07:37 manu Exp $");
#include "opt_execfmt.h"
#include "opt_compat_freebsd.h"
@ -314,12 +314,27 @@ const struct execsw execsw_builtin[] = {
coredump_elf32 },
#endif
#ifdef COMPAT_IRIX
/* IRIX Elf32 (o32 ABI) */
#ifdef COMPAT_IRIX
/*
* n32 ABI must be before o32 ABI
* See comments in syssrc/sys/compat/irix/irix_exec_elf32.c
*/
/* IRIX Elf32 n32 ABI */
{ sizeof (Elf32_Ehdr),
exec_elf32_makecmds,
{ ELF32NAME2(irix,probe) },
&emul_irix,
{ ELF32NAME2(irix,probe_n32) },
&emul_irix_n32,
EXECSW_PRIO_ANY,
IRIX_AUX_ARGSIZ,
irix_elf32_copyargs,
NULL,
coredump_netbsd },
/* IRIX Elf32 o32 ABI */
{ sizeof (Elf32_Ehdr),
exec_elf32_makecmds,
{ ELF32NAME2(irix,probe_o32) },
&emul_irix_o32,
EXECSW_PRIO_ANY,
IRIX_AUX_ARGSIZ,
irix_elf32_copyargs,