Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/kern Added code to correctly match and launch o32 and n3...



details:   https://anonhg.NetBSD.org/src/rev/97fac036cb1b
branches:  trunk
changeset: 520337:97fac036cb1b
user:      manu <manu%NetBSD.org@localhost>
date:      Mon Jan 07 22:07:37 2002 +0000

description:
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)

diffstat:

 sys/kern/exec_conf.c |  27 +++++++++++++++++++++------
 1 files changed, 21 insertions(+), 6 deletions(-)

diffs (50 lines):

diff -r 2e5869632487 -r 97fac036cb1b sys/kern/exec_conf.c
--- a/sys/kern/exec_conf.c      Mon Jan 07 22:05:03 2002 +0000
+++ b/sys/kern/exec_conf.c      Mon Jan 07 22:07:37 2002 +0000
@@ -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 @@
          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,



Home | Main Index | Thread Index | Old Index