aboutsummaryrefslogtreecommitdiff
path: root/libpsn00b/libc/abort.c
diff options
context:
space:
mode:
authorspicyjpeg <88942473+spicyjpeg@users.noreply.github.com>2022-03-12 14:28:11 +0100
committerspicyjpeg <88942473+spicyjpeg@users.noreply.github.com>2022-03-12 14:28:11 +0100
commit8c68b4b8a5bf7757b8e4d6bc2f68f10584b0deb1 (patch)
tree71e7927f56c5f11350f236e32b396adac3f75e3a /libpsn00b/libc/abort.c
parent93f0a6d23ebed50833f565f949f351c2b80853ac (diff)
downloadpsn00bsdk-8c68b4b8a5bf7757b8e4d6bc2f68f10584b0deb1.tar.gz
Minor fixes, add C++ placement new, n00bdemo 573 support
Diffstat (limited to 'libpsn00b/libc/abort.c')
-rw-r--r--libpsn00b/libc/abort.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/libpsn00b/libc/abort.c b/libpsn00b/libc/abort.c
index 1d07037..de4323d 100644
--- a/libpsn00b/libc/abort.c
+++ b/libpsn00b/libc/abort.c
@@ -1,5 +1,8 @@
+
#include <stdio.h>
+/* Standard abort */
+
void abort() {
printf("abort()\n");
@@ -7,9 +10,20 @@ void abort() {
__asm__ volatile("");
}
+/* Internal function used by assert() macro */
+
void _assert_abort(const char *file, int line, const char *expr) {
printf("%s:%d: assert(%s)\n", file, line, expr);
for (;;)
__asm__ volatile("");
}
+
+/* Pure virtual function call (C++) */
+
+void __cxa_pure_virtual(void) {
+ printf("__cxa_pure_virtual()\n");
+
+ for (;;)
+ __asm__ volatile("");
+}