diff options
| author | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-05-05 21:10:18 +0200 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-05-05 21:10:18 +0200 |
| commit | f95d8bf159d10b5a9521dcaa0bc37aa0e9dfc02b (patch) | |
| tree | bf8186f1a0521a64983bb0bca4f7b54883542195 /Private/Source/PEFSharedObjectRT.cxx | |
| parent | 5a903c1d8f80ca8d7bc5fbea0aea710ce0133f9d (diff) | |
MHR-23: Add run_format.sh, kernel patches.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'Private/Source/PEFSharedObjectRT.cxx')
| -rw-r--r-- | Private/Source/PEFSharedObjectRT.cxx | 77 |
1 files changed, 42 insertions, 35 deletions
diff --git a/Private/Source/PEFSharedObjectRT.cxx b/Private/Source/PEFSharedObjectRT.cxx index 7dadbe1d..da12eb05 100644 --- a/Private/Source/PEFSharedObjectRT.cxx +++ b/Private/Source/PEFSharedObjectRT.cxx @@ -35,36 +35,40 @@ using namespace NewOS; /* @brief Library runtime initializer. */ /***********************************************************************************/ -EXTERN_C SharedObjectPtr rt_library_init(void) { - SharedObjectPtr library = tls_new_class<SharedObject>(); +EXTERN_C SharedObjectPtr rt_library_init(void) +{ + SharedObjectPtr library = tls_new_class<SharedObject>(); - if (!library) { - ProcessScheduler::Shared().Leak().GetCurrent().Leak().Crash(); + if (!library) + { + ProcessScheduler::Shared().Leak().GetCurrent().Leak().Crash(); - return nullptr; - } + return nullptr; + } - library->Mount(tls_new_class<SharedObject::SharedObjectTrait>()); + library->Mount(tls_new_class<SharedObject::SharedObjectTrait>()); - if (!library->Get()) { - ProcessScheduler::Shared().Leak().GetCurrent().Leak().Crash(); + if (!library->Get()) + { + ProcessScheduler::Shared().Leak().GetCurrent().Leak().Crash(); - return nullptr; - } + return nullptr; + } - library->Get()->fImageObject = - ProcessScheduler::Shared().Leak().GetCurrent().Leak().Image; + library->Get()->fImageObject = + ProcessScheduler::Shared().Leak().GetCurrent().Leak().Image; - if (!library->Get()->fImageObject) { - ProcessScheduler::Shared().Leak().GetCurrent().Leak().Crash(); + if (!library->Get()->fImageObject) + { + ProcessScheduler::Shared().Leak().GetCurrent().Leak().Crash(); - return nullptr; - } + return nullptr; + } - library->Get()->fImageEntrypointOffset = - library->Load<VoidPtr>(kPefStart, rt_string_len(kPefStart, 0), kPefCode); + library->Get()->fImageEntrypointOffset = + library->Load<VoidPtr>(kPefStart, rt_string_len(kPefStart, 0), kPefCode); - return library; + return library; } /***********************************************************************************/ @@ -73,28 +77,31 @@ EXTERN_C SharedObjectPtr rt_library_init(void) { /* @param SharedObjectPtr the library to free. */ /***********************************************************************************/ -EXTERN_C Void rt_library_free(SharedObjectPtr lib, bool *successful) { - MUST_PASS(successful); +EXTERN_C Void rt_library_free(SharedObjectPtr lib, bool* successful) +{ + MUST_PASS(successful); - // sanity check (will also trigger a bug check if this fails) - if (lib == nullptr) { - *successful = false; - ProcessScheduler::Shared().Leak().GetCurrent().Leak().Crash(); - } + // sanity check (will also trigger a bug check if this fails) + if (lib == nullptr) + { + *successful = false; + ProcessScheduler::Shared().Leak().GetCurrent().Leak().Crash(); + } - delete lib->Get(); - delete lib; + delete lib->Get(); + delete lib; - lib = nullptr; + lib = nullptr; - *successful = true; + *successful = true; } /***********************************************************************************/ /// @brief Unimplemented function (crashes by default) -/// @param -EXTERN_C void __mh_purecall(void) { - ProcessScheduler::Shared().Leak().GetCurrent().Leak().Crash(); - return; +/// @param +EXTERN_C void __mh_purecall(void) +{ + ProcessScheduler::Shared().Leak().GetCurrent().Leak().Crash(); + return; } |
