summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Jackson <ericj@cvs.openbsd.org>2000-08-31 14:49:08 +0000
committerEric Jackson <ericj@cvs.openbsd.org>2000-08-31 14:49:08 +0000
commit0f46159696ca33137816e63718dc533fefcd77f9 (patch)
tree16b252ce1f2d0dc84fc523cce9180a21beefe5ef
parentdb0b2f67a9758275a6028e0d9beb5b0180b4fd98 (diff)
re-org ecoff headers. move some declarations from exec_ecoff.c to exec_ecoff.h
so they can be used for osf1 emul.
-rw-r--r--sys/arch/alpha/include/ecoff.h100
-rw-r--r--sys/arch/alpha/include/ecoff_machdep.h12
-rw-r--r--sys/kern/exec_ecoff.c7
-rw-r--r--sys/sys/exec_ecoff.h7
4 files changed, 17 insertions, 109 deletions
diff --git a/sys/arch/alpha/include/ecoff.h b/sys/arch/alpha/include/ecoff.h
deleted file mode 100644
index b605b5421f2..00000000000
--- a/sys/arch/alpha/include/ecoff.h
+++ /dev/null
@@ -1,100 +0,0 @@
-/* $OpenBSD: ecoff.h,v 1.6 1996/10/30 22:39:00 niklas Exp $ */
-/* $NetBSD: ecoff.h,v 1.3 1996/05/09 23:47:25 cgd Exp $ */
-
-/*
- * Copyright (c) 1994 Adam Glass
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by Adam Glass.
- * 4. The name of the Author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY Adam Glass ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL Adam Glass BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#define ECOFF_LDPGSZ 4096
-
-#define ECOFF_PAD \
- u_short bldrev; /* XXX */
-
-#define ECOFF_MACHDEP \
- u_int gprmask; \
- u_int fprmask; \
- u_long gp_value
-
-#define ECOFF_MAGIC_ALPHA 0603
-#define ECOFF_MAGIC_NATIVE_ALPHA 0605
-#define ECOFF_BADMAG(ep) \
- ((ep)->f.f_magic != ECOFF_MAGIC_ALPHA && \
- (ep)->f.f_magic != ECOFF_MAGIC_NATIVE_ALPHA)
-
-#define ECOFF_FLAG_EXEC 0002
-#define ECOFF_SEGMENT_ALIGNMENT(ep) \
- (((ep)->f.f_flags & ECOFF_FLAG_EXEC) == 0 ? 8 : 16)
-
-struct ecoff_symhdr {
- int16_t magic;
- int16_t vstamp;
- int32_t lineMax;
- int32_t densenumMax;
- int32_t procMax;
- int32_t lsymMax;
- int32_t optsymMax;
- int32_t auxsymMax;
- int32_t lstrMax;
- int32_t estrMax;
- int32_t fdMax;
- int32_t rfdMax;
- int32_t esymMax;
- long linesize;
- long cbLineOffset;
- long cbDnOffset;
- long cbPdOffset;
- long cbSymOffset;
- long cbOptOffset;
- long cbAuxOffset;
- long cbSsOffset;
- long cbSsExtOffset;
- long cbFdOffset;
- long cbRfdOffset;
- long cbExtOffset;
-};
-
-struct ecoff_extsym {
- long es_value;
- int es_strindex;
- unsigned es_type:6;
- unsigned es_class:5;
- unsigned :1;
- unsigned es_symauxindex:20;
- unsigned es_jmptbl:1;
- unsigned es_cmain:1;
- unsigned es_weakext:1;
- unsigned :29;
- int es_indexfld;
-};
-
-#ifdef _KERNEL
-void cpu_exec_ecoff_setregs
- __P((struct proc *, struct exec_package *, u_long, register_t *));
-#endif
diff --git a/sys/arch/alpha/include/ecoff_machdep.h b/sys/arch/alpha/include/ecoff_machdep.h
index 9f2d2447113..ccc5b080e29 100644
--- a/sys/arch/alpha/include/ecoff_machdep.h
+++ b/sys/arch/alpha/include/ecoff_machdep.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: ecoff_machdep.h,v 1.1 1996/10/30 22:39:01 niklas Exp $ */
+/* $OpenBSD: ecoff_machdep.h,v 1.2 2000/08/31 14:49:06 ericj Exp $ */
/* $NetBSD: ecoff_machdep.h,v 1.3 1996/05/09 23:47:25 cgd Exp $ */
/*
@@ -52,6 +52,11 @@
#define ECOFF_SEGMENT_ALIGNMENT(ep) \
(((ep)->f.f_flags & ECOFF_FLAG_EXEC) == 0 ? 8 : 16)
+#define ECOFF_FLAG_OBJECT_TYPE_MASK 0x3000
+#define ECOFF_OBJECT_TYPE_NO_SHARED 0x1000
+#define ECOFF_OBJECT_TYPE_SHARABLE 0x2000
+#define ECOFF_OBJECT_TYPE_CALL_SHARED 0x3000
+
struct ecoff_symhdr {
int16_t magic;
int16_t vstamp;
@@ -93,3 +98,8 @@ struct ecoff_extsym {
unsigned :29;
int es_indexfld;
};
+
+#ifdef _KERNEL
+void cpu_exec_ecoff_setregs
+ __P((struct proc *, struct exec_package *, u_long, register_t *));
+#endif
diff --git a/sys/kern/exec_ecoff.c b/sys/kern/exec_ecoff.c
index d745255f729..cc560ddba38 100644
--- a/sys/kern/exec_ecoff.c
+++ b/sys/kern/exec_ecoff.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: exec_ecoff.c,v 1.5 1999/01/11 05:12:21 millert Exp $ */
+/* $OpenBSD: exec_ecoff.c,v 1.6 2000/08/31 14:49:06 ericj Exp $ */
/* $NetBSD: exec_ecoff.c,v 1.8 1996/05/19 20:36:06 jonathan Exp $ */
/*
@@ -45,11 +45,6 @@
#include <sys/exec_ecoff.h>
-int exec_ecoff_prep_omagic __P((struct proc *, struct exec_package *));
-int exec_ecoff_prep_nmagic __P((struct proc *, struct exec_package *));
-int exec_ecoff_prep_zmagic __P((struct proc *, struct exec_package *));
-int exec_ecoff_setup_stack __P((struct proc *, struct exec_package *));
-
/*
* exec_ecoff_makecmds(): Check if it's an ecoff-format executable.
*
diff --git a/sys/sys/exec_ecoff.h b/sys/sys/exec_ecoff.h
index 5044ddf40e9..1118e8d6438 100644
--- a/sys/sys/exec_ecoff.h
+++ b/sys/sys/exec_ecoff.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: exec_ecoff.h,v 1.4 1996/05/22 12:05:20 deraadt Exp $ */
+/* $OpenBSD: exec_ecoff.h,v 1.5 2000/08/31 14:49:07 ericj Exp $ */
/* $NetBSD: exec_ecoff.h,v 1.9 1996/05/09 23:42:08 cgd Exp $ */
/*
@@ -34,7 +34,7 @@
#ifndef _SYS_EXEC_ECOFF_H_
#define _SYS_EXEC_ECOFF_H_
-#include <machine/ecoff.h>
+#include <machine/ecoff_machdep.h>
struct ecoff_filehdr {
u_short f_magic; /* magic number */
@@ -106,5 +106,8 @@ struct ecoff_exechdr {
#ifdef _KERNEL
int exec_ecoff_makecmds __P((struct proc *, struct exec_package *));
int cpu_exec_ecoff_hook __P((struct proc *, struct exec_package *));
+int exec_ecoff_prep_omagic __P((struct proc *, struct exec_package *));
+int exec_ecoff_prep_nmagic __P((struct proc *, struct exec_package *));
+int exec_ecoff_prep_zmagic __P((struct proc *, struct exec_package *));
#endif /* _KERNEL */
#endif /* !_SYS_EXEC_ECOFF_H_ */