summaryrefslogtreecommitdiffhomepage
path: root/Private/Source
diff options
context:
space:
mode:
Diffstat (limited to 'Private/Source')
-rw-r--r--Private/Source/CxxAbi.cxx45
-rw-r--r--Private/Source/IndexableProperty.cxx2
2 files changed, 35 insertions, 12 deletions
diff --git a/Private/Source/CxxAbi.cxx b/Private/Source/CxxAbi.cxx
index 324c878d..4984c81a 100644
--- a/Private/Source/CxxAbi.cxx
+++ b/Private/Source/CxxAbi.cxx
@@ -29,7 +29,8 @@ extern "C" void __stack_chk_fail()
hCore::panic(RUNTIME_CHECK_POINTER);
}
-extern "C" int __cxa_atexit(void (*f)(void *), void *arg, void *dso) {
+extern "C" int __cxa_atexit(void (*f)(void *), void *arg, void *dso)
+{
if (__atexit_func_count >= DSO_MAX_OBJECTS)
return -1;
@@ -42,11 +43,15 @@ extern "C" int __cxa_atexit(void (*f)(void *), void *arg, void *dso) {
return 0;
}
-extern "C" void __cxa_finalize(void *f) {
+extern "C" void __cxa_finalize(void *f)
+{
uarch_t i = __atexit_func_count;
- if (!f) {
- while (i--) {
- if (__atexit_funcs[i].destructor_func) {
+ if (!f)
+ {
+ while (i--)
+ {
+ if (__atexit_funcs[i].destructor_func)
+ {
(*__atexit_funcs[i].destructor_func)(__atexit_funcs[i].obj_ptr);
};
}
@@ -54,26 +59,32 @@ extern "C" void __cxa_finalize(void *f) {
return;
}
- while (i--) {
- if (__atexit_funcs[i].destructor_func) {
+ while (i--)
+ {
+ if (__atexit_funcs[i].destructor_func)
+ {
(*__atexit_funcs[i].destructor_func)(__atexit_funcs[i].obj_ptr);
__atexit_funcs[i].destructor_func = 0;
};
}
}
-namespace cxxabiv1 {
- extern "C" int __cxa_guard_acquire(__guard *g) {
+namespace cxxabiv1
+{
+ extern "C" int __cxa_guard_acquire(__guard *g)
+ {
(void) g;
return 0;
}
- extern "C" int __cxa_guard_release(__guard *g) {
+ extern "C" int __cxa_guard_release(__guard *g)
+ {
*(char *) g = 1;
return 0;
}
- extern "C" void __cxa_guard_abort(__guard *g) {
+ extern "C" void __cxa_guard_abort(__guard *g)
+ {
(void) g;
}
} // namespace cxxabiv1
@@ -87,6 +98,18 @@ namespace cxxkit
for (int i = 0; i < cnt; ++i)
(finis[i])();
}
+
+ extern "C" void __init_local(void(**init)(void), int cnt)
+ {
+ for (int i = 0; i < cnt; ++i)
+ (init[i])();
+ }
+
+ extern "C" void __fini_local(void(**finis)(void), int cnt)
+ {
+ for (int i = 0; i < cnt; ++i)
+ (finis[i])();
+ }
}
#endif
diff --git a/Private/Source/IndexableProperty.cxx b/Private/Source/IndexableProperty.cxx
index bb1393b5..5b49d6c1 100644
--- a/Private/Source/IndexableProperty.cxx
+++ b/Private/Source/IndexableProperty.cxx
@@ -9,7 +9,7 @@
//! @brief hCore NewFS Indexer.
-#include <FSKit/FilesystemIndexer.hxx>
+#include <FSKit/IndexableProperty.hxx>
#include <CompilerKit/Compiler.hpp>
#include <NewKit/MutableArray.hpp>
#include <NewKit/Utils.hpp>