112SN/A/* 212SN/A * Taken from NetBSD arch/alpha/ecoff_machdep.h 312SN/A */ 412SN/A 512SN/A/* $NetBSD: ecoff_machdep.h,v 1.5 1999/04/27 02:32:33 cgd Exp $ */ 612SN/A 712SN/A/* 812SN/A * Copyright (c) 1994 Adam Glass 912SN/A * All rights reserved. 1012SN/A * 1112SN/A * Redistribution and use in source and binary forms, with or without 1212SN/A * modification, are permitted provided that the following conditions 1312SN/A * are met: 1412SN/A * 1. Redistributions of source code must retain the above copyright 1512SN/A * notice, this list of conditions and the following disclaimer. 1612SN/A * 2. Redistributions in binary form must reproduce the above copyright 1712SN/A * notice, this list of conditions and the following disclaimer in the 1812SN/A * documentation and/or other materials provided with the distribution. 1912SN/A * 3. All advertising materials mentioning features or use of this software 2012SN/A * must display the following acknowledgement: 2112SN/A * This product includes software developed by Adam Glass. 2212SN/A * 4. The name of the Author may not be used to endorse or promote products 2312SN/A * derived from this software without specific prior written permission. 2412SN/A * 2512SN/A * THIS SOFTWARE IS PROVIDED BY Adam Glass ``AS IS'' AND 2612SN/A * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 2712SN/A * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 2812SN/A * ARE DISCLAIMED. IN NO EVENT SHALL Adam Glass BE LIABLE 2912SN/A * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 3012SN/A * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 3112SN/A * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 3212SN/A * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 3312SN/A * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 3412SN/A * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 3512SN/A * SUCH DAMAGE. 3612SN/A */ 3712SN/A 3812SN/A// 3912SN/A// Define COFF/ECOFF integer type sizes 4012SN/A// 4112SN/Atypedef int16_t coff_short; 4212SN/Atypedef uint16_t coff_ushort; 4312SN/Atypedef int32_t coff_int; 4412SN/Atypedef uint32_t coff_uint; 4512SN/Atypedef int64_t coff_long; 4612SN/Atypedef uint64_t coff_ulong; 4712SN/Atypedef uint64_t coff_addr; 4812SN/A 4912SN/A#define ECOFF_LDPGSZ 4096 5012SN/A 5112SN/A#define ECOFF_PAD \ 5212SN/A coff_ushort bldrev; /* XXX */ 5312SN/A 5412SN/A#define ECOFF_MACHDEP \ 5512SN/A coff_uint gprmask; \ 5612SN/A coff_uint fprmask; \ 5712SN/A coff_ulong gp_value 5812SN/A 5912SN/A#define ECOFF_MAGIC_ALPHA 0603 6012SN/A#define ECOFF_MAGIC_NETBSD_ALPHA 0605 6112SN/A#define ECOFF_BADMAG(ep) \ 6212SN/A ((ep)->f.f_magic != ECOFF_MAGIC_ALPHA && \ 6312SN/A (ep)->f.f_magic != ECOFF_MAGIC_NETBSD_ALPHA) 6412SN/A 6512SN/A#define ECOFF_FLAG_EXEC 0002 6612SN/A#define ECOFF_SEGMENT_ALIGNMENT(ep) \ 6712SN/A (((ep)->f.f_flags & ECOFF_FLAG_EXEC) == 0 ? 8 : 16) 6812SN/A 6912SN/A#define ECOFF_FLAG_OBJECT_TYPE_MASK 0x3000 7012SN/A#define ECOFF_OBJECT_TYPE_NO_SHARED 0x1000 7112SN/A#define ECOFF_OBJECT_TYPE_SHARABLE 0x2000 7212SN/A#define ECOFF_OBJECT_TYPE_CALL_SHARED 0x3000 7312SN/A 74