Home | History | Annotate | Line # | Download | only in include
aout_machdep.h revision 1.2
      1 /*
      2  * Copyright (c) 1993 Christopher G. Demetriou
      3  * All rights reserved.
      4  *
      5  * Redistribution and use in source and binary forms, with or without
      6  * modification, are permitted provided that the following conditions
      7  * are met:
      8  * 1. Redistributions of source code must retain the above copyright
      9  *    notice, this list of conditions and the following disclaimer.
     10  * 2. Redistributions in binary form must reproduce the above copyright
     11  *    notice, this list of conditions and the following disclaimer in the
     12  *    documentation and/or other materials provided with the distribution.
     13  * 3. The name of the author may not be used to endorse or promote products
     14  *    derived from this software withough specific prior written permission
     15  *
     16  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
     17  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
     18  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
     19  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
     20  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
     21  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
     22  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
     23  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     24  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
     25  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     26  *
     27  *	exec.h,v 1.3 1993/06/04 01:12:04 cgd Exp
     28  */
     29 
     30 #ifndef _SUN3_EXEC_H_
     31 #define _SUN3_EXEC_H_
     32 
     33 /*
     34  * the following, if defined, prepares a set of vmspace commands for
     35  * a given exectable package defined by epp.
     36  * The standard executable formats are taken care of automatically;
     37  * machine-specific ones can be defined using this function.
     38  */
     39 #define cpu_exec_makecmds(p,epp)        ENOEXEC
     40 
     41 /*
     42  * the following function/macro checks to see if a given machine
     43  * type (a_mid) field is valid for this architecture
     44  * a non-zero return value indicates that the machine type is correct.
     45  */
     46 #define cpu_exec_checkmid(mid) (mid == MID_SUN3)
     47 
     48 #define __LDPGSZ	8192
     49 
     50 /* Relocation format. */
     51 struct relocation_info_sun3 {
     52 	int r_address;			/* offset in text or data segment */
     53 	unsigned int r_symbolnum : 24,	/* ordinal number of add symbol */
     54 			 r_pcrel :  1,	/* 1 if value should be pc-relative */
     55 			r_length :  2,	/* log base 2 of value's width */
     56 			r_extern :  1,	/* 1 if need to add symbol to value */
     57 		       r_baserel :  1,	/* linkage table relative */
     58 		      r_jmptable :  1,	/* relocate to jump table */
     59 		      r_relative :  1,	/* load address relative */
     60 			  r_copy :  1;	/* run time copy */
     61 };
     62 #define relocation_info	relocation_info_sun3
     63 
     64 #endif  /* _SUN3_EXEC_H_ */
     65