This commit is contained in:
Бранимир Караџић
2024-06-16 15:53:44 -07:00
parent 747e6b77eb
commit 03fe74eafb
10 changed files with 44 additions and 39 deletions

View File

@@ -30,7 +30,6 @@
// C Runtime
#define BX_CRT_BIONIC 0
#define BX_CRT_BSD 0
#define BX_CRT_GLIBC 0
#define BX_CRT_LIBCXX 0
#define BX_CRT_MINGW 0
@@ -236,33 +235,19 @@
# if defined(__BIONIC__)
# undef BX_CRT_BIONIC
# define BX_CRT_BIONIC 1
# elif defined(_MSC_VER)
# undef BX_CRT_MSVC
# define BX_CRT_MSVC 1
# elif defined(__GLIBC__)
# undef BX_CRT_GLIBC
# define BX_CRT_GLIBC (__GLIBC__ * 10000 + __GLIBC_MINOR__ * 100)
# elif defined(__MINGW32__) || defined(__MINGW64__)
# undef BX_CRT_MINGW
# define BX_CRT_MINGW 1
# elif defined(__apple_build_version__) || defined(__ORBIS__) || defined(__EMSCRIPTEN__) || defined(__llvm__) || defined(__HAIKU__)
# undef BX_CRT_LIBCXX
# define BX_CRT_LIBCXX 1
# elif BX_PLATFORM_BSD
# undef BX_CRT_BSD
# define BX_CRT_BSD 1
# elif defined(__MINGW32__) || defined(__MINGW64__)
# undef BX_CRT_MINGW
# define BX_CRT_MINGW 1
# elif defined(_MSC_VER)
# undef BX_CRT_MSVC
# define BX_CRT_MSVC 1
# endif //
# if !BX_CRT_BIONIC \
&& !BX_CRT_BSD \
&& !BX_CRT_GLIBC \
&& !BX_CRT_LIBCXX \
&& !BX_CRT_MINGW \
&& !BX_CRT_MSVC \
&& !BX_CRT_NEWLIB
# undef BX_CRT_NONE
# define BX_CRT_NONE 1
# endif // BX_CRT_*
#endif // !BX_CRT_NONE
///
@@ -428,8 +413,6 @@
#if BX_CRT_BIONIC
# define BX_CRT_NAME "Bionic libc"
#elif BX_CRT_BSD
# define BX_CRT_NAME "BSD libc"
#elif BX_CRT_GLIBC
# define BX_CRT_NAME "GNU C Library"
#elif BX_CRT_MSVC
@@ -443,7 +426,7 @@
#elif BX_CRT_NONE
# define BX_CRT_NAME "None"
#else
# error "Unknown BX_CRT!"
# define BX_CRT_NAME "Unknown CRT"
#endif // BX_CRT_
#if BX_ARCH_32BIT

View File

@@ -11,7 +11,7 @@
#if BX_CRT_NONE
#include "crt0.h"
#include <bx/crt0.h>
#define NOT_IMPLEMENTED() \
{ bx::debugPrintf("crtnone: %s not implemented\n", BX_FUNCTION); abort(); }
@@ -511,6 +511,18 @@ extern "C" int prctl(int _option, unsigned long _arg2, unsigned long _arg3, unsi
return -1;
}
extern "C" int getpid()
{
return crt0::processGetId();
}
extern "C" ssize_t readlink(const char* _pathName, char* _buffer, size_t _bufferSize)
{
BX_UNUSED(_pathName, _buffer, _bufferSize);
NOT_IMPLEMENTED();
return 0;
}
extern "C" int chdir(const char* _path)
{
BX_UNUSED(_path);
@@ -635,6 +647,16 @@ void operator delete(void*, size_t)
{
}
extern "C" void* __cxa_begin_catch(void* _unwindArg)
{
BX_UNUSED(_unwindArg);
return NULL;
}
extern "C" void __cxa_end_catch()
{
}
extern "C" void __cxa_pure_virtual(void)
{
}

View File

@@ -9,7 +9,7 @@
#include <inttypes.h> // PRIx*
#if BX_CRT_NONE
# include "crt0.h"
# include <bx/crt0.h>
#elif BX_PLATFORM_ANDROID
# include <android/log.h>
#elif BX_PLATFORM_WINDOWS \

View File

@@ -14,7 +14,7 @@
#endif // BX_CONFIG_CRT_DIRECTORY_READER
#if BX_CRT_NONE
# include "crt0.h"
# include <bx/crt0.h>
#else
# if BX_CONFIG_CRT_DIRECTORY_READER
# include <dirent.h>

View File

@@ -7,13 +7,11 @@
#include <bx/os.h>
#include <bx/readerwriter.h>
#if !BX_CRT_NONE
# if BX_CRT_MSVC
# include <direct.h> // _getcwd
# else
# include <unistd.h> // getcwd
# endif // BX_CRT_MSVC
#endif // !BX_CRT_NONE
#if BX_CRT_MSVC
# include <direct.h> // _getcwd
#else
# include <unistd.h> // getcwd
#endif // BX_CRT_MSVC
#if BX_PLATFORM_WINDOWS
#if !defined(GetModuleFileName)

View File

@@ -9,7 +9,7 @@
#if BX_CRT_NONE
# include <bx/cpu.h>
# include "crt0.h"
# include <bx/crt0.h>
#elif BX_PLATFORM_ANDROID \
|| BX_PLATFORM_LINUX \
|| BX_PLATFORM_IOS \

View File

@@ -13,7 +13,7 @@
#endif
#if BX_CRT_NONE
# include "crt0.h"
# include <bx/crt0.h>
#elif BX_PLATFORM_ANDROID \
|| BX_PLATFORM_LINUX \
|| BX_PLATFORM_IOS \

View File

@@ -6,7 +6,7 @@
#include <bx/timer.h>
#if BX_CRT_NONE
# include "crt0.h"
# include <bx/crt0.h>
#elif BX_PLATFORM_ANDROID
# include <time.h> // clock, clock_gettime
#elif BX_PLATFORM_EMSCRIPTEN

View File

@@ -14,6 +14,7 @@ BX_STATIC_ASSERT(false
|| BX_CRT_MINGW
|| BX_CRT_MSVC
|| BX_CRT_NEWLIB
|| BX_CRT_NONE
);
BX_STATIC_ASSERT(1 == BX_VA_ARGS_COUNT(1) );

View File

@@ -26,12 +26,13 @@ int runAllTests(int _argc, const char* _argv[])
DBG("Compiler: " BX_COMPILER_NAME
", CPU: " BX_CPU_NAME
", Architecture: " BX_ARCH_NAME
", Arch: " BX_ARCH_NAME
", OS: " BX_PLATFORM_NAME
", CRT: " BX_CRT_NAME
", C++: " BX_CPP_NAME
", Date: " __DATE__
", Time: " __TIME__
", C++: " BX_CPP_NAME
);
using namespace Catch;