diff options
Diffstat (limited to 'miasm/runtime/int_endianness.h')
| -rw-r--r-- | miasm/runtime/int_endianness.h | 114 |
1 files changed, 0 insertions, 114 deletions
diff --git a/miasm/runtime/int_endianness.h b/miasm/runtime/int_endianness.h deleted file mode 100644 index def046c3..00000000 --- a/miasm/runtime/int_endianness.h +++ /dev/null @@ -1,114 +0,0 @@ -//===-- int_endianness.h - configuration header for compiler-rt -----------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// -// This file is a configuration header for compiler-rt. -// This file is not part of the interface of this library. -// -//===----------------------------------------------------------------------===// - -#ifndef INT_ENDIANNESS_H -#define INT_ENDIANNESS_H - -#if defined(__BYTE_ORDER__) && defined(__ORDER_BIG_ENDIAN__) && \ - defined(__ORDER_LITTLE_ENDIAN__) - -// Clang and GCC provide built-in endianness definitions. -#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ -#define _YUGA_LITTLE_ENDIAN 0 -#define _YUGA_BIG_ENDIAN 1 -#elif __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ -#define _YUGA_LITTLE_ENDIAN 1 -#define _YUGA_BIG_ENDIAN 0 -#endif // __BYTE_ORDER__ - -#else // Compilers other than Clang or GCC. - -#if defined(__SVR4) && defined(__sun) -#include <sys/byteorder.h> - -#if defined(_BIG_ENDIAN) -#define _YUGA_LITTLE_ENDIAN 0 -#define _YUGA_BIG_ENDIAN 1 -#elif defined(_LITTLE_ENDIAN) -#define _YUGA_LITTLE_ENDIAN 1 -#define _YUGA_BIG_ENDIAN 0 -#else // !_LITTLE_ENDIAN -#error "unknown endianness" -#endif // !_LITTLE_ENDIAN - -#endif // Solaris and AuroraUX. - -// .. - -#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__DragonFly__) || \ - defined(__minix) -#include <sys/endian.h> - -#if _BYTE_ORDER == _BIG_ENDIAN -#define _YUGA_LITTLE_ENDIAN 0 -#define _YUGA_BIG_ENDIAN 1 -#elif _BYTE_ORDER == _LITTLE_ENDIAN -#define _YUGA_LITTLE_ENDIAN 1 -#define _YUGA_BIG_ENDIAN 0 -#endif // _BYTE_ORDER - -#endif // *BSD - -#if defined(__OpenBSD__) -#include <machine/endian.h> - -#if _BYTE_ORDER == _BIG_ENDIAN -#define _YUGA_LITTLE_ENDIAN 0 -#define _YUGA_BIG_ENDIAN 1 -#elif _BYTE_ORDER == _LITTLE_ENDIAN -#define _YUGA_LITTLE_ENDIAN 1 -#define _YUGA_BIG_ENDIAN 0 -#endif // _BYTE_ORDER - -#endif // OpenBSD - -// .. - -// Mac OSX has __BIG_ENDIAN__ or __LITTLE_ENDIAN__ automatically set by the -// compiler (at least with GCC) -#if defined(__APPLE__) || defined(__ellcc__) - -#ifdef __BIG_ENDIAN__ -#if __BIG_ENDIAN__ -#define _YUGA_LITTLE_ENDIAN 0 -#define _YUGA_BIG_ENDIAN 1 -#endif -#endif // __BIG_ENDIAN__ - -#ifdef __LITTLE_ENDIAN__ -#if __LITTLE_ENDIAN__ -#define _YUGA_LITTLE_ENDIAN 1 -#define _YUGA_BIG_ENDIAN 0 -#endif -#endif // __LITTLE_ENDIAN__ - -#endif // Mac OSX - -// .. - -#if defined(_WIN32) - -#define _YUGA_LITTLE_ENDIAN 1 -#define _YUGA_BIG_ENDIAN 0 - -#endif // Windows - -#endif // Clang or GCC. - -// . - -#if !defined(_YUGA_LITTLE_ENDIAN) || !defined(_YUGA_BIG_ENDIAN) -#error Unable to determine endian -#endif // Check we found an endianness correctly. - -#endif // INT_ENDIANNESS_H |