diff options
author | Eric Jackson <ericj@cvs.openbsd.org> | 2000-08-31 14:49:08 +0000 |
---|---|---|
committer | Eric Jackson <ericj@cvs.openbsd.org> | 2000-08-31 14:49:08 +0000 |
commit | 0f46159696ca33137816e63718dc533fefcd77f9 (patch) | |
tree | 16b252ce1f2d0dc84fc523cce9180a21beefe5ef | |
parent | db0b2f67a9758275a6028e0d9beb5b0180b4fd98 (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.h | 100 | ||||
-rw-r--r-- | sys/arch/alpha/include/ecoff_machdep.h | 12 | ||||
-rw-r--r-- | sys/kern/exec_ecoff.c | 7 | ||||
-rw-r--r-- | sys/sys/exec_ecoff.h | 7 |
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_ */ |