From 03fe74eafb4e5fbb756a946b8fd50c99ec8f1dc1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D1=80=D0=B0=D0=BD=D0=B8=D0=BC=D0=B8=D1=80=20=D0=9A?= =?UTF-8?q?=D0=B0=D1=80=D0=B0=D1=9F=D0=B8=D1=9B?= Date: Sun, 16 Jun 2024 15:53:44 -0700 Subject: [PATCH] Cleanup. --- include/bx/platform.h | 31 +++++++------------------------ src/crtnone.cpp | 24 +++++++++++++++++++++++- src/debug.cpp | 2 +- src/file.cpp | 2 +- src/filepath.cpp | 12 +++++------- src/mutex.cpp | 2 +- src/thread.cpp | 2 +- src/timer.cpp | 2 +- tests/macros_test.cpp | 1 + tests/run_test.cpp | 5 +++-- 10 files changed, 44 insertions(+), 39 deletions(-) diff --git a/include/bx/platform.h b/include/bx/platform.h index 0989ec4..007ff07 100644 --- a/include/bx/platform.h +++ b/include/bx/platform.h @@ -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 diff --git a/src/crtnone.cpp b/src/crtnone.cpp index 9bc0887..a06a09e 100644 --- a/src/crtnone.cpp +++ b/src/crtnone.cpp @@ -11,7 +11,7 @@ #if BX_CRT_NONE -#include "crt0.h" +#include #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) { } diff --git a/src/debug.cpp b/src/debug.cpp index 334bfb1..6d6cb0e 100644 --- a/src/debug.cpp +++ b/src/debug.cpp @@ -9,7 +9,7 @@ #include // PRIx* #if BX_CRT_NONE -# include "crt0.h" +# include #elif BX_PLATFORM_ANDROID # include #elif BX_PLATFORM_WINDOWS \ diff --git a/src/file.cpp b/src/file.cpp index 52a9e04..dfe56b8 100644 --- a/src/file.cpp +++ b/src/file.cpp @@ -14,7 +14,7 @@ #endif // BX_CONFIG_CRT_DIRECTORY_READER #if BX_CRT_NONE -# include "crt0.h" +# include #else # if BX_CONFIG_CRT_DIRECTORY_READER # include diff --git a/src/filepath.cpp b/src/filepath.cpp index 32f7cdb..f18d40c 100644 --- a/src/filepath.cpp +++ b/src/filepath.cpp @@ -7,13 +7,11 @@ #include #include -#if !BX_CRT_NONE -# if BX_CRT_MSVC -# include // _getcwd -# else -# include // getcwd -# endif // BX_CRT_MSVC -#endif // !BX_CRT_NONE +#if BX_CRT_MSVC +# include // _getcwd +#else +# include // getcwd +#endif // BX_CRT_MSVC #if BX_PLATFORM_WINDOWS #if !defined(GetModuleFileName) diff --git a/src/mutex.cpp b/src/mutex.cpp index 23acaf7..a29134c 100644 --- a/src/mutex.cpp +++ b/src/mutex.cpp @@ -9,7 +9,7 @@ #if BX_CRT_NONE # include -# include "crt0.h" +# include #elif BX_PLATFORM_ANDROID \ || BX_PLATFORM_LINUX \ || BX_PLATFORM_IOS \ diff --git a/src/thread.cpp b/src/thread.cpp index fd13d4f..94cb2a4 100644 --- a/src/thread.cpp +++ b/src/thread.cpp @@ -13,7 +13,7 @@ #endif #if BX_CRT_NONE -# include "crt0.h" +# include #elif BX_PLATFORM_ANDROID \ || BX_PLATFORM_LINUX \ || BX_PLATFORM_IOS \ diff --git a/src/timer.cpp b/src/timer.cpp index 4fcd042..3047ad1 100644 --- a/src/timer.cpp +++ b/src/timer.cpp @@ -6,7 +6,7 @@ #include #if BX_CRT_NONE -# include "crt0.h" +# include #elif BX_PLATFORM_ANDROID # include // clock, clock_gettime #elif BX_PLATFORM_EMSCRIPTEN diff --git a/tests/macros_test.cpp b/tests/macros_test.cpp index e41268e..0a5ad8d 100644 --- a/tests/macros_test.cpp +++ b/tests/macros_test.cpp @@ -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) ); diff --git a/tests/run_test.cpp b/tests/run_test.cpp index b1f8d58..a67f549 100644 --- a/tests/run_test.cpp +++ b/tests/run_test.cpp @@ -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;