1 /* 2 * Copyright (c) 2006 - 2010, Nils R. Weller 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 * 9 * 1. Redistributions of source code must retain the above copyright 10 * notice, this list of conditions and the following disclaimer. 11 * 2. Redistributions in binary form must reproduce the above copyright 12 * notice, this list of conditions and the following disclaimer in the 13 * documentation and/or other materials provided with the distribution. 14 * 15 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 16 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 19 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 20 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 21 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 22 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 23 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 24 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 25 * POSSIBILITY OF SUCH DAMAGE. 26 */ 27 #ifndef ARCHDEFS_H 28 #define ARCHDEFS_H 29 30 #define ARCH_X86 1 31 #define ARCH_PA 2 32 #define ARCH_POWER 3 33 #define ARCH_MIPS 4 34 #define ARCH_ITANIUM 5 35 #define ARCH_SPARC 6 36 #define ARCH_ALPHA 7 37 #define ARCH_AMD64 8 38 #define ARCH_ARM 9 39 #define ARCH_SH 10 40 41 /* 42 * XXX This only lists the ABI in cases where more than one is available. 43 * On systems like x86 where we use SysV, the ABI flags are not set or 44 * used. This needs to be overhauled (and much of misc.c and in the 45 * backends really belongs here) 46 */ 47 #define ABI_MIPS_N32 1 48 #define ABI_MIPS_N64 2 49 #define ABI_POWER64 5 50 #define ABI_POWER32 6 51 #define ABI_SPARC32 7 52 #define ABI_SPARC64 8 53 54 #define OS_LINUX 1 55 /* 56 * FreeBSD includes close derivatives like MidnightBSD 57 */ 58 #define OS_FREEBSD 2 59 #define OS_OPENBSD 3 60 #define OS_NETBSD 4 61 #define OS_AIX 5 62 #define OS_IRIX 6 63 #define OS_SOLARIS 7 64 #define OS_OSX 8 65 /* 66 * DragonFly and MirBSD cannot be combined with FreeBSD and OpenBSD 67 * because they use different linker flags 68 */ 69 #define OS_DRAGONFLYBSD 9 70 #define OS_MIRBSD 10 71 72 #endif 73 74