/* Misc system-specific crap */ #ifndef _PORTING_H_ #define _PORTING_H_ #ifdef HAVE_CONFIG_H #include #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #ifdef __LDSO_LDD_SUPPORT__ # include #endif #if defined(_WIN32) || defined(_WINNT) # include "mmap-windows.c" #else # include #endif #ifdef BUILDING_LINKAGE #include /* makefile will include elf.h for us */ #include "bswap.h" #include "dl-defs.h" #endif #ifdef DMALLOC #include #endif #ifndef ARRAY_SIZE # define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0])) #endif /* For SunOS */ #ifndef PATH_MAX #define PATH_MAX _POSIX_PATH_MAX #endif #ifndef UCLIBC_RUNTIME_PREFIX # define UCLIBC_RUNTIME_PREFIX "/" #endif #undef UCLIBC_ENDIAN_HOST #define UCLIBC_ENDIAN_LITTLE 1234 #define UCLIBC_ENDIAN_BIG 4321 #if defined(BYTE_ORDER) # if BYTE_ORDER == LITTLE_ENDIAN # define UCLIBC_ENDIAN_HOST UCLIBC_ENDIAN_LITTLE # elif BYTE_ORDER == BIG_ENDIAN # define UCLIBC_ENDIAN_HOST UCLIBC_ENDIAN_BIG # endif #elif defined(__BYTE_ORDER) # if __BYTE_ORDER == __LITTLE_ENDIAN # define UCLIBC_ENDIAN_HOST UCLIBC_ENDIAN_LITTLE # elif __BYTE_ORDER == __BIG_ENDIAN # define UCLIBC_ENDIAN_HOST UCLIBC_ENDIAN_BIG # endif #endif #if !defined(UCLIBC_ENDIAN_HOST) # error "Unknown host byte order!" #endif #if defined __GNUC__ || defined __ICC # define attribute_noreturn __attribute__ ((__noreturn__)) #else # define attribute_noreturn #endif #endif