diff options
author | Patrick Williams <iawillia@us.ibm.com> | 2010-05-18 15:55:03 -0500 |
---|---|---|
committer | Patrick Williams <iawillia@us.ibm.com> | 2010-05-18 15:55:03 -0500 |
commit | cf138201c24fdc83ee7835b65cce67e7d7a85e70 (patch) | |
tree | 16650f82ac519ff60bc9100b4e90868463bd987d /src/libc++/builtins.C | |
parent | 9ea98f274e18a3407ce109a331553e1c910274d9 (diff) | |
download | talos-hostboot-cf138201c24fdc83ee7835b65cce67e7d7a85e70.tar.gz talos-hostboot-cf138201c24fdc83ee7835b65cce67e7d7a85e70.zip |
Create simple console.
Diffstat (limited to 'src/libc++/builtins.C')
-rw-r--r-- | src/libc++/builtins.C | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/libc++/builtins.C b/src/libc++/builtins.C new file mode 100644 index 000000000..ed373c8cc --- /dev/null +++ b/src/libc++/builtins.C @@ -0,0 +1,33 @@ +#include <stdint.h> + +extern "C" int __cxa_guard_acquire(volatile uint64_t* gv) +{ + // 0 .. uninitialized + // 1 .. locked + // 2 .. unlocked, initialized + if (0 == *gv) + { + *gv = 1; + return 1; + } + else if (1 == *gv) + { + while(1 == *gv); + } + + return 0; +} + +extern "C" void __cxa_guard_release(volatile uint64_t* gv) +{ + *gv = 2; + return; +} + + +extern "C" int __cxa_atexit(void (*)(void*), void*, void*) +{ + return 0; +} + +void* __dso_handle = (void*) &__dso_handle; |