Module Name:    src
Committed By:   matt
Date:           Sat Sep 12 19:25:23 UTC 2009

Modified Files:
        src/sys/compat/irix [matt-nb5-mips64]: files.irix irix_exec.h
            irix_exec_elf32.c
Added Files:
        src/sys/compat/irix [matt-nb5-mips64]: irix_exec_elf64.c

Log Message:
Add elf64 version.  XXX needs work for netbsd32


To generate a diff of this commit:
cvs rdiff -u -r1.25 -r1.25.124.1 src/sys/compat/irix/files.irix
cvs rdiff -u -r1.25.14.1 -r1.25.14.2 src/sys/compat/irix/irix_exec.h
cvs rdiff -u -r1.15.18.1 -r1.15.18.2 src/sys/compat/irix/irix_exec_elf32.c
cvs rdiff -u -r0 -r1.1.2.1 src/sys/compat/irix/irix_exec_elf64.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/irix/files.irix
diff -u src/sys/compat/irix/files.irix:1.25 src/sys/compat/irix/files.irix:1.25.124.1
--- src/sys/compat/irix/files.irix:1.25	Sat Nov  9 09:03:58 2002
+++ src/sys/compat/irix/files.irix	Sat Sep 12 19:25:23 2009
@@ -1,4 +1,4 @@
-#	$NetBSD: files.irix,v 1.25 2002/11/09 09:03:58 manu Exp $
+#	$NetBSD: files.irix,v 1.25.124.1 2009/09/12 19:25:23 matt Exp $
 #
 
 file	arch/mips/mips/irix_syscall.c		compat_irix
@@ -7,6 +7,7 @@
 file	compat/irix/irix_errno.c		compat_irix
 file	compat/irix/irix_exec.c			compat_irix
 file	compat/irix/irix_exec_elf32.c		compat_irix & exec_elf32
+file	compat/irix/irix_exec_elf64.c		compat_irix & exec_elf64
 file	compat/irix/irix_fcntl.c		compat_irix
 file	compat/irix/irix_ioctl.c		compat_irix
 file	compat/irix/irix_kmem.c			compat_irix

Index: src/sys/compat/irix/irix_exec.h
diff -u src/sys/compat/irix/irix_exec.h:1.25.14.1 src/sys/compat/irix/irix_exec.h:1.25.14.2
--- src/sys/compat/irix/irix_exec.h:1.25.14.1	Wed Aug 26 03:46:40 2009
+++ src/sys/compat/irix/irix_exec.h	Sat Sep 12 19:25:23 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: irix_exec.h,v 1.25.14.1 2009/08/26 03:46:40 matt Exp $ */
+/*	$NetBSD: irix_exec.h,v 1.25.14.2 2009/09/12 19:25:23 matt Exp $ */
 
 /*-
  * Copyright (c) 2001-2002 The NetBSD Foundation, Inc.
@@ -93,7 +93,7 @@
 int irix_elf64_copyargs(struct lwp *, struct exec_package *,
     struct ps_strings *, char **, void *);
 
-int irix_elf64_probe(struct lwp *, struct exec_package *, void *,
+int irix_elf64_probe_n64(struct lwp *, struct exec_package *, void *,
     char *, vaddr_t *);
 #endif
 

Index: src/sys/compat/irix/irix_exec_elf32.c
diff -u src/sys/compat/irix/irix_exec_elf32.c:1.15.18.1 src/sys/compat/irix/irix_exec_elf32.c:1.15.18.2
--- src/sys/compat/irix/irix_exec_elf32.c:1.15.18.1	Thu Sep 10 01:52:34 2009
+++ src/sys/compat/irix/irix_exec_elf32.c	Sat Sep 12 19:25:23 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: irix_exec_elf32.c,v 1.15.18.1 2009/09/10 01:52:34 matt Exp $ */
+/*	$NetBSD: irix_exec_elf32.c,v 1.15.18.2 2009/09/12 19:25:23 matt Exp $ */
 
 /*-
  * Copyright (c) 2001 The NetBSD Foundation, Inc.
@@ -30,15 +30,13 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: irix_exec_elf32.c,v 1.15.18.1 2009/09/10 01:52:34 matt Exp $");
+__KERNEL_RCSID(0, "$NetBSD: irix_exec_elf32.c,v 1.15.18.2 2009/09/12 19:25:23 matt Exp $");
 
 #ifndef ELFSIZE
-#ifdef _LP64
-#define ELFSIZE		64	/* XXX should die */
-#else
 #define ELFSIZE		32	/* XXX should die */
 #endif
-#endif
+
+#include "opt_execfmt.h"
 
 #include <sys/param.h>
 #include <sys/types.h>
@@ -60,17 +58,13 @@
 
 #include <compat/irix/irix_exec.h>
 
-#ifdef EXEC_ELF32
+#if ELFSIZE == 32
 /*
  * IRIX o32 ABI probe function
  */
 int
-ELFNAME2(irix,probe_o32)(l, epp, eh, itp, pos)
-	struct lwp *l;
-	struct exec_package *epp;
-	void *eh;
-	char *itp;
-	vaddr_t *pos;
+ELFNAME2(irix,probe_o32)(struct lwp *l, struct exec_package *epp, void *eh,
+	char *itp, vaddr_t *pos)
 {
 	int error = 0;
 
@@ -95,7 +89,7 @@
 	printf("epp->ep_vm_minaddr = 0x%lx\n", epp->ep_vm_minaddr);
 #endif
 	epp->ep_vm_minaddr = epp->ep_vm_minaddr & ~0xfUL;
-	l->l_proc->l_md.md_abi = _MIP_BSD_API_O32;
+	l->l_proc->p_md.md_abi = _MIPS_BSD_API_O32;
 	return 0;
 }
 
@@ -103,12 +97,8 @@
  * IRIX n32 ABI probe function
  */
 int
-ELFNAME2(irix,probe_n32)(l, epp, eh, itp, pos)
-	struct lwp *l;
-	struct exec_package *epp;
-	void *eh;
-	char *itp;
-	vaddr_t *pos;
+ELFNAME2(irix,probe_n32)(struct lwp *l, struct exec_package *epp, void *eh,
+	char *itp, vaddr_t *pos)
 {
 	int error = 0;
 
@@ -132,22 +122,18 @@
 	printf("epp->ep_vm_minaddr = 0x%lx\n", epp->ep_vm_minaddr);
 #endif
 	epp->ep_vm_minaddr = epp->ep_vm_minaddr & ~0xfUL;
-	l->l_proc->l_md.md_abi = _MIP_BSD_API_N32;
+	l->l_proc->p_md.md_abi = _MIPS_BSD_API_N32;
 	return 0;
 }
-#endif /* EXEC_ELF32 */
+#endif /* ELFSIZE == 32 */
 
-#ifdef EXEC_ELF64
+#if ELFSIZE == 64
 /*
- * IRIX n32 ABI probe function
+ * IRIX n64 ABI probe function
  */
 int
-ELFNAME2(irix,probe_n64)(l, epp, eh, itp, pos)
-	struct lwp *l;
-	struct exec_package *epp;
-	void *eh;
-	char *itp;
-	vaddr_t *pos;
+irix_elf64_probe_n64(struct lwp *l, struct exec_package *epp, void *eh,
+	char *itp, vaddr_t *pos)
 {
 	int error = 0;
 
@@ -171,9 +157,10 @@
 	printf("epp->ep_vm_minaddr = 0x%lx\n", epp->ep_vm_minaddr);
 #endif
 	epp->ep_vm_minaddr = epp->ep_vm_minaddr & ~0xfUL;
-	l->l_proc->l_md.md_abi = _MIP_BSD_API_N32;
+	l->l_proc->p_md.md_abi = _MIPS_BSD_API_N32;
 	return 0;
 }
+#endif /* ELFSIZE == 64 */
 
 int
 ELFNAME2(irix,copyargs)(l, pack, arginfo, stackp, argp)

Added files:

Index: src/sys/compat/irix/irix_exec_elf64.c
diff -u /dev/null src/sys/compat/irix/irix_exec_elf64.c:1.1.2.1
--- /dev/null	Sat Sep 12 19:25:23 2009
+++ src/sys/compat/irix/irix_exec_elf64.c	Sat Sep 12 19:25:23 2009
@@ -0,0 +1,5 @@
+/* $NetBSD: irix_exec_elf64.c,v 1.1.2.1 2009/09/12 19:25:23 matt Exp $ */
+
+#define ELFSIZE 64
+
+#include "irix_exec_elf32.c"

Reply via email to