153ca1f3190680f3e86aebe0f72f7918d63f71e0dCharles Davis/*===- llvm/Support/Solaris.h ------------------------------------*- C++ -*-===*
258a4c5e8e3b12bc4dd4659bda48f2f3188067eeaChris Lattner *
358a4c5e8e3b12bc4dd4659bda48f2f3188067eeaChris Lattner *                     The LLVM Compiler Infrastructure
458a4c5e8e3b12bc4dd4659bda48f2f3188067eeaChris Lattner *
558a4c5e8e3b12bc4dd4659bda48f2f3188067eeaChris Lattner * This file is distributed under the University of Illinois Open Source
658a4c5e8e3b12bc4dd4659bda48f2f3188067eeaChris Lattner * License. See LICENSE.TXT for details.
758a4c5e8e3b12bc4dd4659bda48f2f3188067eeaChris Lattner *
858a4c5e8e3b12bc4dd4659bda48f2f3188067eeaChris Lattner *===----------------------------------------------------------------------===*
958a4c5e8e3b12bc4dd4659bda48f2f3188067eeaChris Lattner *
1058a4c5e8e3b12bc4dd4659bda48f2f3188067eeaChris Lattner * This file contains portability fixes for Solaris hosts.
1158a4c5e8e3b12bc4dd4659bda48f2f3188067eeaChris Lattner *
1258a4c5e8e3b12bc4dd4659bda48f2f3188067eeaChris Lattner *===----------------------------------------------------------------------===*/
1358a4c5e8e3b12bc4dd4659bda48f2f3188067eeaChris Lattner
14674be02d525d4e24bc6943ed9274958c580bcfbcJakub Staszak#ifndef LLVM_SUPPORT_SOLARIS_H
15674be02d525d4e24bc6943ed9274958c580bcfbcJakub Staszak#define LLVM_SUPPORT_SOLARIS_H
1658a4c5e8e3b12bc4dd4659bda48f2f3188067eeaChris Lattner
1758a4c5e8e3b12bc4dd4659bda48f2f3188067eeaChris Lattner#include <sys/types.h>
1858a4c5e8e3b12bc4dd4659bda48f2f3188067eeaChris Lattner#include <sys/regset.h>
1958a4c5e8e3b12bc4dd4659bda48f2f3188067eeaChris Lattner
2001ef4f6982451e6a7c00a713d9ae677d3a15d042Jakob Stoklund Olesen/* Solaris doesn't have endian.h. SPARC is the only supported big-endian ISA. */
2101ef4f6982451e6a7c00a713d9ae677d3a15d042Jakob Stoklund Olesen#define BIG_ENDIAN 4321
2201ef4f6982451e6a7c00a713d9ae677d3a15d042Jakob Stoklund Olesen#define LITTLE_ENDIAN 1234
2301ef4f6982451e6a7c00a713d9ae677d3a15d042Jakob Stoklund Olesen#if defined(__sparc) || defined(__sparc__)
2401ef4f6982451e6a7c00a713d9ae677d3a15d042Jakob Stoklund Olesen#define BYTE_ORDER BIG_ENDIAN
2501ef4f6982451e6a7c00a713d9ae677d3a15d042Jakob Stoklund Olesen#else
2601ef4f6982451e6a7c00a713d9ae677d3a15d042Jakob Stoklund Olesen#define BYTE_ORDER LITTLE_ENDIAN
2701ef4f6982451e6a7c00a713d9ae677d3a15d042Jakob Stoklund Olesen#endif
2801ef4f6982451e6a7c00a713d9ae677d3a15d042Jakob Stoklund Olesen
2958a4c5e8e3b12bc4dd4659bda48f2f3188067eeaChris Lattner#undef CS
3058a4c5e8e3b12bc4dd4659bda48f2f3188067eeaChris Lattner#undef DS
3158a4c5e8e3b12bc4dd4659bda48f2f3188067eeaChris Lattner#undef ES
3258a4c5e8e3b12bc4dd4659bda48f2f3188067eeaChris Lattner#undef FS
3358a4c5e8e3b12bc4dd4659bda48f2f3188067eeaChris Lattner#undef GS
3458a4c5e8e3b12bc4dd4659bda48f2f3188067eeaChris Lattner#undef SS
3558a4c5e8e3b12bc4dd4659bda48f2f3188067eeaChris Lattner#undef EAX
3658a4c5e8e3b12bc4dd4659bda48f2f3188067eeaChris Lattner#undef ECX
3758a4c5e8e3b12bc4dd4659bda48f2f3188067eeaChris Lattner#undef EDX
3858a4c5e8e3b12bc4dd4659bda48f2f3188067eeaChris Lattner#undef EBX
3958a4c5e8e3b12bc4dd4659bda48f2f3188067eeaChris Lattner#undef ESP
4058a4c5e8e3b12bc4dd4659bda48f2f3188067eeaChris Lattner#undef EBP
4158a4c5e8e3b12bc4dd4659bda48f2f3188067eeaChris Lattner#undef ESI
4258a4c5e8e3b12bc4dd4659bda48f2f3188067eeaChris Lattner#undef EDI
4358a4c5e8e3b12bc4dd4659bda48f2f3188067eeaChris Lattner#undef EIP
4458a4c5e8e3b12bc4dd4659bda48f2f3188067eeaChris Lattner#undef UESP
4558a4c5e8e3b12bc4dd4659bda48f2f3188067eeaChris Lattner#undef EFL
4658a4c5e8e3b12bc4dd4659bda48f2f3188067eeaChris Lattner#undef ERR
4758a4c5e8e3b12bc4dd4659bda48f2f3188067eeaChris Lattner#undef TRAPNO
4858a4c5e8e3b12bc4dd4659bda48f2f3188067eeaChris Lattner
4958a4c5e8e3b12bc4dd4659bda48f2f3188067eeaChris Lattner#endif
50