Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added Android support, and generalized target triple support
Added PICLevel, RelocKind DarwinCommon/LinuxCommon/AndroidCommon merged into PosixCommon Mangling changed to avoid '@'
- Loading branch information
Showing
39 changed files
with
3,456 additions
and
5,635 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
#include <android/log.h> | ||
|
||
#define BFP_PRINTF(...) __android_log_print(ANDROID_LOG_INFO, "Beef", __VA_ARGS__) | ||
#define BFP_ERRPRINTF(...) __android_log_print(ANDROID_LOG_ERROR, "Beef", __VA_ARGS__) | ||
|
||
#define BFP_HAS_PTHREAD_GETATTR_NP | ||
|
||
#include "../posix/PosixCommon.cpp" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,159 @@ | ||
#pragma once | ||
|
||
#ifdef __LP64__ | ||
#define BF64 | ||
#else | ||
#define BF32 | ||
#endif | ||
|
||
#define BOOST_DETAIL_NO_CONTAINER_FWD | ||
|
||
#include <string> | ||
#include <stdint.h> | ||
#include <stdio.h> | ||
#include <stdlib.h> | ||
#include <pthread.h> | ||
#include <time.h> | ||
#include <assert.h> | ||
#include <sys/time.h> | ||
//#include <libkern/OSAtomic.h> | ||
#include <cstdlib> | ||
#include <unistd.h> | ||
#include <wchar.h> | ||
#include <math.h> | ||
#include <stdarg.h> | ||
#include <string.h> | ||
#include <pthread.h> | ||
#include <wctype.h> | ||
#include <stddef.h> | ||
|
||
//#define offsetof(type, member) __builtin_offsetof (type, member) | ||
|
||
extern "C" | ||
{ | ||
//#define FFI_BUILDING | ||
//#include "third_party/libffi/x86_64-apple-darwin12.5.0/include/ffi.h" | ||
} | ||
|
||
#define BF_ENDIAN_LITTLE | ||
|
||
#define _NOEXCEPT noexcept | ||
#define NTAPI | ||
|
||
//#define FFI_STDCALL FFI_DEFAULT_ABI | ||
//#define FFI_THISCALL FFI_DEFAULT_ABI | ||
//#define FFI_FASTCALL FFI_DEFAULT_ABI | ||
|
||
#define INVALID_SOCKET -1 | ||
|
||
typedef uint64_t uint64; | ||
typedef uint32_t uint32; | ||
typedef uint16_t uint16; | ||
typedef uint8_t uint8; | ||
typedef int64_t int64; | ||
typedef int32_t int32; | ||
typedef int16_t int16; | ||
typedef int8_t int8; | ||
typedef unsigned int uint; | ||
|
||
//#define BF_PLATFORM_SDL | ||
|
||
#define NOP | ||
//#define BF_NOTHROW throw () | ||
//#define BF_NOTHROW noexcept | ||
#define BF_NOTHROW | ||
|
||
#ifdef BF64 | ||
typedef int64 intptr; | ||
typedef uint64 uintptr; | ||
#else | ||
typedef int32 intptr; | ||
typedef uint32 uintptr; | ||
#endif | ||
|
||
typedef wchar_t* BSTR; | ||
typedef int HRESULT; | ||
typedef uint8 BYTE; | ||
typedef uint16 WORD; | ||
typedef uint32 DWORD; | ||
typedef int32 LONG; | ||
|
||
typedef pthread_key_t BFTlsKey; | ||
typedef pthread_t BF_THREADID; | ||
typedef pthread_t BF_THREADHANDLE; | ||
|
||
#define BF_HAS_TLS_DECLSPEC | ||
#define BF_TLS_DECLSPEC thread_local | ||
|
||
//:int64 abs(int64 val); | ||
|
||
#define _stricmp stricmp | ||
#define strnicmp strncasecmp | ||
|
||
struct IID | ||
{ | ||
unsigned long Data1; | ||
unsigned short Data2; | ||
unsigned short Data3; | ||
unsigned char Data4[ 8 ]; | ||
}; | ||
|
||
typedef void* HANDLE; | ||
typedef void* HMODULE; | ||
|
||
// We only need the stdcall attribute for x32? | ||
//#define BFSTDCALL __attribute__((stdcall)) | ||
|
||
//#include "../notwin/NotWin.h" | ||
|
||
#ifdef DEBUG | ||
#define _DEBUG | ||
#endif | ||
|
||
#define NOT_IMPL throw "Unimplemented"; | ||
|
||
//ARM | ||
|
||
#if defined(__x86_64__) || defined(__i386__) | ||
#define BF_FULL_MEMORY_FENCE() __asm__ __volatile__("mfence": : :"memory") | ||
#define BF_SPINWAIT_NOP() __asm__ volatile ("pause\n" : : : "memory" ); | ||
#else | ||
#define BF_FULL_MEMORY_FENCE() __sync_synchronize() | ||
#define BF_SPINWAIT_NOP() ((void) 0) | ||
#endif | ||
|
||
#define BF_COMPILER_FENCE() __asm__ __volatile__("": : :"memory") | ||
#define BF_THREAD_YIELD() sched_yield() | ||
|
||
#if defined _DEBUG || defined BF_DEBUG_ASSERTS | ||
#define BF_ASSERT(_Expression) (void)( (!!(_Expression)) || (Beefy::BFFatalError(#_Expression, __FILE__, __LINE__), 0) ) | ||
#else | ||
#define BF_ASSERT(_Expression) (void)(0) | ||
#endif | ||
|
||
#define BF_ASSERT_REL(_Expression) (void)( (!!(_Expression)) || (Beefy::BFFatalError(#_Expression, __FILE__, __LINE__), 0) ) | ||
#define BF_FATAL(msg) (void) ((Beefy::BFFatalError(msg, __FILE__, __LINE__), 0) ) | ||
|
||
#if defined _DEBUG || defined BF_DEBUG_ASSERTS | ||
#define BF_DBG_FATAL(msg) (void) ((Beefy::BFFatalError(msg, __FILE__, __LINE__), 0) ) | ||
#else | ||
#define BF_DBG_FATAL(msg) | ||
#endif | ||
|
||
#define BF_NOINLINE __attribute__ ((noinline)) | ||
#define BF_NAKED | ||
|
||
#define stricmp strcasecmp | ||
#define _alloca alloca | ||
|
||
#define DIR_SEP_CHAR '/' | ||
#define DIR_SEP_CHAR_ALT '\\' | ||
|
||
static char* itoa(int value, char* str, int base) | ||
{ | ||
if (base == 16) | ||
sprintf(str, "%X", value); | ||
else | ||
sprintf(str, "%d", value); | ||
return str; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
#include "Common.h" | ||
#include "BFPlatform.h" | ||
//#include <CoreFoundation/CFByteOrder.h> | ||
//#include <mach/mach_time.h> | ||
#include <sys/stat.h> | ||
#include <dlfcn.h> | ||
#include <wchar.h> | ||
#include <fcntl.h> | ||
//#include <mach/clock.h> | ||
//#include <mach/mach.h> | ||
#include <time.h> | ||
#include <dirent.h> | ||
|
Oops, something went wrong.